NTFS の圧縮バックアップ

<< 戻る   トップ >>

NTFSのバックアップをとりたい。とりかたにもいろいろあって、ハードディスクパーティションのイメージをとる方法、ファイルをまとめて tar ball にする方法などである。また、Office を初めとするアプリケーションを満載した NTFS パーティションでは優に 16GB にはなる。そこで、圧縮する必要がでてくるのだが、圧縮率その所要時間は不幸にしてトレードオフの関係にある。

そこで、圧縮後のファイルサイズと圧縮に要する時間を調べてみた。ntfsclone はディスクイメージをとり、tar はファイルをまとめる手法である。圧縮効率には優れるとされる bzip2 と圧縮速度に優れる GNU zip を比較してみた。

dump/archivebzip2gzip
ntfsclone116min/ 9.52GB 30min/ 9.64GB
tar -cp[z|j]140min/ 8.77GB40min/ 9.07GB

bzip2 は、確かに圧縮率に優れる。といっても ntfsclone では 1.3%、tar でも 3.3 % だ。これで3倍以上の時間がかかる。圧縮率が至上の問題ならともかく、この程度の差なら gzip がよい。

圧縮後のファイルサイズだけに注目すると、tar は ntfsclone より優れている。しかし、圧縮に要する時間では ntfsclone が優れている。さらに、業務上問題となる展開については、厳密な測定ではないが次のようになる。

手法所要時間
gunzip | ntfsclone20min/ 9.64GB
tar -xpz40min/ 9.07GB

こうなってくると、容量は最大だが ntfsclone + gzip という組み合わせが実務上の実効速度で最良となる。しかもこの方法なら例の "desktop.ini" 問題も回避できる。

次はこのように展開した clone をなんとか別の名前を持つホストに化けさせたい、という問題だ。Windows 98 の時代なら ${WINDOWS}/system.dat の中身を置換するだけで何とかなったものだが、NT系ではそうもいかないようだ。 Microsoft Windows レジストリの説明によれば、HKEY_CURRENT_USER 以外のすべてのハイブに対するファイルは、${WINDOWS}\System32\Config フォルダに、HKEY_CURRENT_USER に対するサポート ファイルは、${WINDOWS}\Profiles\Username にあるとのことだ。編集方法 (ed エディタの使い方) を含め、もうちょっと「Linux から Windows のホスト名を変更する」方法について追求してみたい。あと、いま変更の対称となっているホスト名が悪いことに mon00 だから、monitor-xx と重複しているのではないか、という懸念がある。

さらにもうヒト押し、計画しているのが圧縮ファイルの配布方法だ。"a few" クライアントに展開するならば、NFS 経由で問題は発生しないが、"a lot of" クライアントでは転送時間が問題となる。このあたりを bittorrent を使って解決しよう、と思っている。bittorrent を使う場合には、ダウンロードしたファイルを標準出力へ回せない、という問題がある。bittorrent の動作機序からいっても無理してパイプ動作をさせない方がよいだろう。幸い、問題のPC には HDD の空き領域がある。ここにダウンロードして、展開するという手法が使える。

展開方法としては "a few" を展開するモードと、"a lot of" を展開する二つのモードを準備しようと思っている。


作成: 2007-09-04 12:31:27.0更新: 2007-09-04 20:18:19.0
http://museo-anonimo.jp/nanban/?id=542,http://museo-anonimo.jp/nanban/tr/542