狐の王国

人は誰でも心に王国を持っている。

全自動バックアップのススメ

記者日記:パソコン不信という新聞のコラムが話題にあがっていた。

要するにバックアップも取らずに使っていたパソコンのハードディスクが飛んでしまい、仕事のデータをかなり失ってしまった、という話。HDDは消耗品だという意識が無いとやはり悲しい目にあうものだ。

こういう話は普通に見ると「お気の毒」なのだが、これを「パソコンは信頼できない」とか書かれたもので、思わず激昂してしまった。どうやらid:FTTHさんにご心配をおかけしてしまったくらい激昂してたらしい。お心使い、ありがとうございます。

まあこの手の話はいろいろとストレスの源で、人為的トラブルをPCやエンジニアのせいに(以下愚痴なので略)。

しかしながら、実際のところバックアップ作業というのは非常にめんどくさいものである。USBメモリなりCDなりにコピーしておけばすむ話なのだが、それを毎日の習慣とするのは非常に難しい。そんなマメなこと、俺もやっとれん。

というわけで、俺は光学メディアへのバックアップを諦め、HDDへ全自動バックアップを行うというのを数年前からやっている。具体的には以下の図のような形。

HDDは3台用意し、うち2台をRAID1でミラーリング。もう1台はpdumpfsというツールを使い、HDD1とHDD2に入っているデータを定期的にHDD3へ差分コピーしている。*1

pdumpfsはハードリンクという仕組みを使い、変更のあったファイルだけを更新して日付のついたディレクトリにHDDのファイル群をまるごと再現してくれる。何年何月何日のスナップショット、という形で保存してくれるわけで、非常に便利だ。

こうすることでpdumpfsの実行だけをcronなどのスケジューラで自動化してしまえば、人間は何もしなくても自動的にバックアップが完了する。3台のディスクのうち1台だけ生き延びててくれればいいのだから、2台までは同時に壊れてもまあなんとかなる。最近うちでは3台目のディスクを玄箱に入れて、nfsマウントしてバックアップするようにした。これならPC1台まるごと死んでも玄箱が生きててくれればどうにかなる。pdumpfsはssh経由でもバックアップできるけどね。

もっとも、pdumpfsは古いファイルを削除してくれないので、意外とすぐバックアップディスクが埋まってしまう。pdumpfs-cleanを併用して解決にあたる。*2

こういうやり方なら世代間バックアップも取れてるので、ディスク故障だけでなく、うっかり削除したファイルの復活やファイルシステム破損時のデータ復旧にも使える。うまく運用していれば数年前のファイルを復活、などという使い方も出来る。復元も普通にファイルが見えてるだけなのでコピーしてくるだけでいい。いろいろと便利なのである。

光学メディアやテープなどへのバックアップのほうが信頼性という面では強いはずなのだが、そもそも人間の作業に頼る時点で「バックアップを忘れる」という危険性が高い。特にズボラな俺みたいな人間だとついつい忘れてしまう。
だったらメディアの信頼性を落してでも、全自動でバックアップさせた方が総合的には信頼性が高いのではないかと思うのである。

これらのツールRubyPerlで書かれており、Windowsでも動かすことができる(はず)。ただ若干インストールは難しいかもしれない。

そこでMacのススメですよ

ということで俺がやってるバックアップは全自動ではあるのだが、ただPCを道具として使ってるだけというような人がやるのはちょっと難しいかもしれない。だが、このようなバックアップシステムを備えたOSが存在するのである。

それがMac OS X Leopardだ。

Time Machineという名前で、pdumpfsと同じようにハードリンク*3を使い、世代間バックアップを本体とは違うディスクに保存してくれる。Time CapsuleというNAS+NAT BOXな製品を用意しておけば、ネットワーク経由でもバックアップ可能だ*4

これならTime Capsuleを用意するか外付けHDDでも挿しておくだけで、全自動バックアップが可能になる。1時間毎の差分バックアップを延々とバックグラウンドで続けてくれるので、バックアップの存在を意識する必要が無い。ディスクがいっぱいになったら自動的に古いものを消してくれるようなので、ディスク溢れの心配も無いだろう。

Windows Vistaに搭載されるはずだったWinFSが、SQLデータベースのスナップショット機能などを使って似たような全自動バックアップシステムを実現できるのではないかと思ってたのだが、残念ながらこれは開発中止とあいなってる。次期WindowsでTime Machineに対抗できるバックアップシステムをぜひ搭載してもらいたいものだが*5

というわけで、誰でも使えそうな環境でなおかつ全自動バックアップが可能という意味でも、今のところPCに詳しくない人にはMacをおすすめしてたりする。WindowsXPほどの「完成形」ではないので安定性に若干不安があったりもする*6のだが、普通の人が普通に使う分にはWindowsより便利な面が多い。
バックアップという面だけでなく、iPhotoによる写真の管理は非常に便利だし、Windowsでは評判の悪いQuickTimeiTunesMacでなら自然に使える。

や、面倒見させられるときにWindows触りたくないというのが本音なのではあるが。

Apple MacBook 2.1GHz Core 2 Duo/13.3/1G/120G/24xCombo/Gigabit/BT/DVI MB402J/A

Apple MacBook 2.1GHz Core 2 Duo/13.3/1G/120G/24xCombo/Gigabit/BT/DVI MB402J/A

Apple Time Capsule 500GB MB276J/A

Apple Time Capsule 500GB MB276J/A

*1:参考:pdumpfs: Plan9もどきのバックアップシステム

*2:参考:tach.arege.net: pdumpfs-clean: pdumpfs のバックアップを掃除するツール

*3:なにやら高速化のために若干違う種類のハードリンクを採用してるという話も聞く

*4:実はちょっと隠し設定をいじるだけで普通のNASにもバックアップ可能だったりする。ただし実際にやってみたのだがよくバックアップ先の仮想ディスクが壊れるのでおすすめはしない

*5:現行のWindowsが採用してるNTFSにもハードリンクはある(pdumpfsもWindowsで動くときはそれを使ってるはず)なので、探せばtime machineと似たような挙動をしてくれるバックアップツールがあるかもしれない

*6:スリープからの復旧時になぜかパスワード入力画面が出てくれなかったりとかね……。コマンドライン系の比較的マイナーな機能はセキュリティホールがあっても潰してくれないとかさあ。もうUNIX部分はDebianにでもしてくれ

Sugano `Koshian' Yoshihisa(E) <koshian@foxking.org>