俺はバックアップをしっかりやる方である。ディジタルデータの儚さを、身をもって何度も痛感させられているからだ。
 そして、いわゆるCD-RとかDVD-Rといった光学メディアを絶対に使わない。容量は少なく単価は高く速度は遅く信頼性まで低いとあっては、とてもじゃないが大事なバックアップを任せる気にはなれない。
 だからバックアップはすべてHDである。それ専用に200GBのHDも用意してるし、小春の余ってる部分に予備バックアップもしている。サイトのデータなんかは深雪紗菜でミラーリングし、それを雪子へバックアップし、さらにバックアップ専用HDへも取るので、同じデータが4つある計算になる。
 しかも、siteCTSのデータは大きな変更があるたびに世代バックアップされていて、過去のデータも残っている。

[  / KB ] これはPublic Editionの世代バックアップ。
つまり、その気になればこれだけの数のsiteCTSをアップできたりする。

 だけど、これだけの量のデータをバックアップするのは、かなり骨の折れる作業だ。一応差分バックアップツールで全自動ではあるものの、かかる時間が半端でない。それはつまり「面倒くさい」に直結し、バックアップの頻度を落とし、そして損失の危険へとつながる。

 そこで、バックアップを高速化しようと考えた。
 使っているツールはBackupだが、これはフォルダ検索→不要フォルダ削除→不要ファイル削除→フォルダ作成→ファイル複製の5ステップ構造になっていて、あまり速い方ではない。比較するファイルが万単位になると遅さが目立つ。俺の場合は日付をチェックする総数が60万回を余裕で超えてるから、速いマシンでも数十分はかかってしまうのだ。(HDの速さに依存するのでCPUはあまり関係ない)
 でも2001.2.20からずっと使ってるし、今さら乗り換える気はしない。使い勝手も良いし。

 ツールを変えないのであれば、バックアップするデータの方をなんとかしなければならない。

 だけど、「なんとかする」と言ったって、ファイルを削除したりバックアップの対象から外したりしては本末転倒だ。
 ツールは変えない、データも減らせない、じゃあどうすればいいのか。

 フォルダとファイルの数を減らすのである。

 たとえば、1万個のファイルがある。これをバックアップする時、更新がなくても、1万個のファイルのタイムスタンプをひとつひとつ確認しなければならない。
 では、この1万個のファイルをZIPかなにかでアーカイブし、ひとつのファイルにまとめたらどうか。タイムスタンプをチェックするのはZIPファイルひとつだけでよくなる。チェックを9999回も省略できるわけだ。

 「データ」には、2種類がある。「まだ変更されるデータ」と「もう変更されないデータ」だ。しかし、日常の差分バックアップというのは、通常フォルダ単位で行われるので、「データ」とは「フォルダ」と解釈した方がいいだろう。
 日記を書くとする。一月につき1ファイルで、それを年ごとにフォルダ分けする。この場合、2004年のフォルダが「まだ変更されるデータ」で、2003年より前が「もう変更されないデータ」だ。これを圧縮してしまえばいい。MeやXPではZIPファイルをフォルダのように扱えるから、見る時にいちいち解凍する必要もないし、そのまま開いてそのまま編集してそのまま上書き保存できる。

 ただ、アーカイブにしてしまうと利便性を損ねるケースもある。HTMLのように、CSSやJavaScriptといった「外部のファイルを呼び出す」ことができないので、いちいち解凍しないといけない。
 こういう場合は「イメージ化」する。圧縮はされないものの、変更がなければバックアップの対象にならないため、サイズは関係ない。あくまでもフォルダとファイルの数を減らすのが目的だ。

 フリーのイメージ作成ツールは色々あるけど、俺はDeepBurner Free→日本語化パッチ)を使っている。フォルダやファイルをまとめてISOにしてくれ、使い勝手が大変よろしい。(本来は焼きソフトなんだが)
 こうして作ったイメージをDaemonToolsなどでマウントすれば、仮想ドライブを通してCD-ROMと同じように扱える。この方法ならPCには「CD-ROMに入ってるファイル」にしか見えず、HTMLも普通に開ける。
 また、イメージはそのままCDやDVDに焼けるから、使い勝手も良い。
 ちなみに、CD革命Virtualとか市販のツールには、圧縮とイメージ化を同時にできるやつもある。

■イメージを簡単にマウントする方法
.iso の関連付けで以下のようにコマンドラインをセットするだけ。ダブルクリックで即マウントできるのでおすすめ。
    →レジストリエディタから
    →フォルダオプションから

バッチファイルを使って「送る」方法もある。
    →「送る」メニューから(バッチファイル)

要するにコマンドラインを渡せばいいわけだから、当然こんな方法でもできる。
    →HTMLから(JScript)
動くかどうかはIEのセキュリティ設定に依存っていうか、これは冗談。

 そうして、「もう変更されないデータ」をISOでアーカイブしてみた。
 特に効果のあった _Archives フォルダと Xドライブのプロパティを見ると、

[ _Archivesフォルダのプロパティ(50675個 → 962個) / 5KB ] [ Xドライブのプロパティ(72026個 → 40631個) / 3KB ]

 その効果は、ご覧のように劇的と言ってもまだ足りない。特に _Archives は「もう変更されないデータ」を入れるフォルダであり、その分効果も著しくてファイル数が50分の1になってしまった。
 閲覧する時にいちいちマウントする手間はあるが、それで日常のバックアップが劇的に高速化するなら大歓迎だ。

 見ての通り、イメージ化ではファイル数をいくら減らしてもサイズの節約にはならない。むしろ増える。(「サイズ」より「ディスク上のサイズ」の方が小さいのは、NTFS圧縮を有効にしているため)
 なに、HDが足りなければいくらでも買ってやる。どんどん増えてくれい。

[ 差分バックアップの結果画面 / 7KB ]
ダイエット後のXドライブを差分バックアップ。
正確な数ではないけど、イメージ化でまとめられたことにより、36562個のファイルが削除されたことがわかる。
次からXドライブの差分バックアップは、タイムスタンプのチェックが36562回くらい減るということだ。

 実際にどれくらい高速化したのかは計ってない(というかバックアップ内容によって大きく異なるので意味がない)けど、更新がなにもなければ半分以下になってるのは間違いない。

これだけの労力を惜しまないくせ、ミラーリングRAIDには手を出そうとしない。
だって、持ち逃げHDにバックアップしておかないと、火事が起きたらRAIDも糞もないじゃん?



Page Index
日付 題名 記事の要約
2004.11.5 RAIDが危険(正常) -80GB
2004.11.6 寺目前 +200GB
2004.11.7 奇跡の化け物 現実に動く5インチHD
2004.11.11 突くピン挟むピン 小物工具
2004.11.12 バックアップ高速化作戦 ファイル数ダイエット
2004.11.13 Multi Opener Nepo 1.01 秀丸マクロバージョンアップ
2004.11.15 スパムの缶詰 POPFile導入記
2004.11.16 斜めに貼りつけて 大量貼付の罠
2004.11.19 Multi Opener Nepo 1.02 秀丸マクロバージョンアップ
2004.11.22 紗菜☆557時間 連続起動記録挑戦記
2004.11.23 Multi Opener Nepo 1.03 秀丸マクロバージョンアップ