Recent Comments

BIND+PHPによるDiCEで更新可能なダイナミックDNSサーバ構築
 [09/04] marijuana growing様
 [09/04] cotto vs chavez jr様
 [09/04] Celebrex cost様
日記:CPU交換でサーバが劇的に軽くなった
 [09/01] Scarencah様
 [08/26] exexattDawitY様
 [08/23] ClidoDorpbodo様
DiCEのプラグイン編集
 [08/31] Elke Abrew様
 [08/29] hentai様
 [08/28] koniSorn様
Linux:cocotで文字コードの違うシステムにssh接続
 [08/29] sonneandgone様
 [08/25] Plalayfef様
 [08/24] melissagibso様
買った:メガネ21 Fit-mini
 [08/23] ケンタロウ様

Profile

名前:げんき
職業:ねじ屋さん
趣味:機械いじり
  買ったものや試したことを日記混じりで書きつづっております。

中の人

なかのひと
Graph 2010.9.4
Year:  Month:  Day

<<< 日記:Windows7RCがDVDドライブを認識しない <<<  ||  >>> PHP:自作ログローテーション >>>

日記:稼働中のサーバ上のrsyncで低負荷バックアップ(失敗)

2009年05月16日

rsync 3.xがリリースされて、ファイル数が大量にあっても快適にバックアップが取れるようになったので、写メあぷのデータ用ドライブを新調してデータ移行。

データだけでもこまごまとしたのが100万ファイル以上あるので、rsync 2.xでバックアップすると無茶な時間とメモリ消費で結構大変。
rsync2.xが、一旦すべてのファイルを走査して比較するのに対してrsync 3.xはコピー元・コピー先を同時に走査しながらコピーしていくので、メモリ消費が少なく動作が軽いという記述をそこらで見かけるので、これを使ってみた。

rsync 3.0.5を本家から頂いてきてmakeし、/usr/bin/にコピーして、

$ sudo rsync -av /home/shameapu/ /mnt/hdd1/
とやってみるものの、これがもうひっじょーーーーーーに重くて、WEBサーバへのアクセスがままならない悲惨な状況に。
原因はディスクI/Oやりすぎ。

てことで、転送速度を制限してリトライ

$ sudo rsync -av --bwlimit=2048 /home/shameapu/ /mnt/hdd1/
なんとも快適にコピーが始まりました。
60GBほどあるので8時間半ぐらいの計算なので、負荷が大きくならないことを小一時間ほど確認してから放置。
4時間後、ちょっと自分のサイトを見ようとしたら重くて開かん。
Load Averageが30超え。

topで見ても特にrsyncがメモリやCPUを占有してるわけじゃないけど、

$ sudo kill -s SIGSTOP `pidof rsync`
としてやると軽くなるので、重い原因はrsyncで間違いないみたい。

どこまで進んだのか確認して、ディレクトリごとにコピーを実行していってみると、どうやらファイル数の非常に多いディレクトリに入ると重くなる模様。

コピー元とコピー先を比較するために、ディレクトリ内のファイル数を確認しようと、「linux ディレクトリ ファイル数」でググったら、1つのディレクトリに入れるファイル数は1万前後が限度っぽい記述がやたら目に入った。
あちゃー。ファイル数3万オーバーのディレクトリとか普通にある・・・

重くなるだけで止まるわけではないので無理矢理コピーを取ったが、そもそも1つのディレクトリに入るファイル数が多くなりすぎない運用が必要な模様。
現状、一ヶ月ごとに作ってるディレクトリを、週ごとに作るか毎日作ればこれから先の分は解決するわけだけど、サービスの性質上、すでにあるファイルの場所を変えるのは出来ない。
どうしたものか・・・

<<< 日記:Windows7RCがDVDドライブを認識しない <<<  ||  >>> PHP:自作ログローテーション >>>

アンケート

このページの内容はいかがでしたか?
片手間にポチっと送信してやってください。
役に立った 3
おもしろかった 2
ふつー 0
つまらなかった 0
欲しい情報と違った 0
Score:8

トラックバック

このエントリーのトラックバックURL:
http://www.genkikko.net/mt/mt-tb.cgi/137

コメント (1)

この記事を読んで、rsync3.0.7に移行してみました。
1つのディレクトリに入れるファイル数にも限界があるのですね。

コメントを投稿