仮想ハードディスクファイルのバックアップに時間がかかる

以前に

で書きましたが、次のような組み合わせでバックアップをしようとしています。

  • バックアップ元:VMwareの仮想HDDファイル
  • バックアップ先:USB接続の外付けHDD(ext3フォーマット)
  • OS:CentOS 5
  • ツール:rsync

バックアップ元は、Windowsで使っているファイルシステムが入った仮想HDDファイルです。次のような特徴があります。

  • 巨大なバイナリファイルである
  • ファイルのあちこちが書き換わる

これを毎日rsyncを使ってバックアップしています。転送時間は次のようになっています。

sent 27428695249 bytes  received 1142 bytes  8051870.36 bytes/sec
total size is 35550724096  speedup is 1.30

real    56m47.774s
user    51m49.588s
sys     4m7.207s

フルバックアップより少ないとはいえ、やはり転送量は多いです。差分転送しているとしたら、バックアップ先のHDDからも読み込みをしていることが考えられます。1時間弱もフルに読み書きをしているとしたら、ちょっとバックアップ先のHDDを酷使しすぎているような気もします。

そこで、仮想HDDファイルのバックアップは1ヶ月に1回程度にして、Windowsのバックアップを使おうと考えました。Windowsのバックアップなら、バックアップ方式を差分や増分にすることで、変更のあったファイルのみを転送できます。現在、Pythonでバックアップスクリプトを作成しています。

まとめると

  • VMware上のゲストが使っている仮想HDDファイルを、ホストのrsyncを使ってバックアップすると、時間がかかる
  • ゲスト側でバックアップすることを検討する