読者です 読者をやめる 読者になる 読者になる

LOVE PENTAXYZ

News & Tips about PENTAX products, and daily photos by PENTAX cameras.

写真のバックアップ環境をさらしてみる (【緩募】もっと快適ナBackup環境)


新たに追加したHDD

写真のバックアップに使っていたハードディスク(HDD)がいっぱいになったので、新たに3TBのHDDを追加した。故障しなければ5~6年は、これで大丈夫そう。

 
今のHDDでも、失敗写真や不要っぽい写真を選別して削除すれば、それなりに空き容量は確保できそうではあるけど、『選別と削除にかかる手間を考えると (→時間的コストを時給換算すると)、まるっと全部バックアップできるHDDを買った方が安い』よなぁと。それにしてもHDDってここまで安くなったかと思うと何だか感慨深い。昔は540MBのHDDが(以下略

それはさておき、HDDを追加した記念(?)に、我が家のバックアップ環境を晒してみることにしました。

タイトルに記載の通り、もっといい感じの(快適な)バックアップ環境をゆるく募集しております。
もっといい方法がアルヨ!』って方はTwitterの方にでもメンションを飛ばしてもらえると嬉しいです。

ハードウェア構成

 とりあえず、家のバックアップ環境はこんな構成にしている。

 
 

作業用PC

光ファイバが通っているリビングから離れた位置に自室があり、自室内で作業用のデスクトップPCを用いて写真を現像したりプリントしたりしている。Windows PC。
 
1000BASE-T(1000Mbpsの有線)を使って、バックアップ用PCに写真をバックアップしている。一時期バックアップ先を無線ネットワーク越しにリビングに置いていたが、体感で遅くなるのでやめた。
 
余談になるが、バックアップ用PCとGB単位でファイルを送受信するためか、M/B onboardのLANチップは早々にダメになったので、intel製のNICを追加している。昔から、onboardのLANチップにはロクな思い出がない(高負荷をかけると通信不能になる)のだけれど、うちだけだろうか…。
 

バックアップ用PC (ファイルサーバ)

我が家のバックアップ用PC(ファイルサーバ)
デスクトップPCが壊れたときのことを考えて、写真は同じく自室内に置いたバックアップ用PC(ファイルサーバ)に随時バックアップしている。(バックアップ方法は後述)
 
写真のバックアップ程度のことにファイルサーバは大げさとも思われそうだが、時系列をさかのぼると、もともとは外付けHDDやNASを使っていた。が、外付けHDDは、常時ファイルの書き込み(写真のバックアップ)をしていたところ数年で故障、NASは、1000BASE-Tで接続するタイプだったが書き込み速度がいまいち(調べた感じでは、CPUが貧弱なため)で、ある日自室に入ってきた娘が振り回して壊れた。
 
娘に振り回されて壊れたNASに罪はないが、バックアップ時間の短縮のため、もっと高速な書き込み速度を実現したかったのと、長時間(というか常時)動作させることを念頭において設計されているものの方が安心だなぁという想いから、ファイルサーバを導入するに至った。
 
ファイルサーバには、当時amazonやNTT-Xでよく安売りされていた格安サーバを使っている。安いといっても、サーバ用に製造されているだけあり電気部品やシャーシの構造がコンシューマPCとは異なっており圧倒的に安心感がある。小型ボディながら、シャーシはメンテナンス性も確保されておりとてもいい。搭載されているCPUはコンシューマ用としては貧弱な廉価CPUだが、市販のNASに比べれば圧倒的に高速でファイルサーバには十分すぎる性能。手に入れてすぐに『これはいいものだ』と思った。
 

ネットワーク構成

サーバの左に写ってる小さな黒いやつが無線コンバータ兼ハブ
リビングから自室内のデスクトップPCまで有線ケーブルを這わせるのは嫌だったので、リビングから自室までは、NECのルータ2台を無線コンバータとして繋げている。作業用PCをインターネットに繋げるときのボトルネックになりにくいように、理論値で1300Mbpsでの通信ができるタイプを選んだ。このルータは1000BASE-Tのハブも兼ねている。
 
もともと安定性の問題や速度面で問題があり、無線のコンバータと1000BASE-Tのハブは別々に用意していたが、このルータにしてからハブとして使いながら(の高負荷環境下)でも高速に安定動作するのでこれ1台にまとめた。
 
ベンチマークをとったら、無線間通信でも実測値で900Mbpsくらい出ていたのでかなり気に入っている。GB単位でファイルを送受信していても通信は安定している(購入してから今のところノートラブルで使えている)ので、コストパフォーマンスを気にする必要がなければおススメ。


ソフトウェア構成

ファイルサーバのOS

ファイルサーバのOSには、FreeNASを利用している。LinuxでなくFreeBSDベースのOSなので強そう(ロバストそう)、というどうでもいい私感が多分にあるが、そんなことはさておき、小規模で使うにはとてもいい感じのパッケージなので昔から事あるたびに使っている。
 
FreeNASはUSBメモリにインストールして、HDDは全域バックアップ領域に充てている。HDDのフォーマットをZFSにしている。このおかげで、今回新たに追加したHDDをフォーマットするだけで特殊な操作なしに、今回追加したHDDと今まで使っていたHDDとを合わせて単一のドライブとして扱えている。
 
既存のHDDはそのままに、HDDを追加できる(イメージとしては、HDDの容量をあとから増量できる)のはとても気持ちいいので、みんなもZFSフォーマットを使おうZ(うざい)。

作業用PCのバックアップ用ソフト

バックアップに使っているBATファイル
すぐ叩けるようデスクトップに置いてる。
ざっくり概要を書くと
  • Windowsのシャットダウンのタイミング
  • ファイルサーバにファイルをコピーする(バックアップする)
ようにしている。ファイルのコピーは、Windowsに標準添付のRobocopyを利用。具体的には、下記記事のバッチファイル(BATファイル)を使っている。
シャットダウンを実行する代わりに、上記BATファイルを実行すると、バックアップが自動的に行われて、勝手に電源が切れる感じ。ポイントは、シャットダウンのタイミングでバックアップすること。このタイミングなら、バックアップに時間がかかっても作業の邪魔にならないので。
 

課題

『邪魔にならない』と書いておきながら何なのだけれど、最近ファイル数が4万ファイルを越えて、それなりにバックアップに時間がかかるようになってしまった。
 
Robocopyはいい感じに差分コピーを行ってくれるのだけれど、ファイル・フォルダ数が多いために差分の検出自体にそこそこ時間がかかってしまっている雰囲気。(今の環境だと、ファイルのコピー自体は十分速い)
 
一瞬、『差分の検出を高速に行えるように前回バックアップ時の情報をローカルに作成するか…』、とか考えたんだけど、ちょっとめんどくさい(し、例外処理を網羅するように上手く設計できる気がしない)。
 
というわけで、もっといい感じのナウいバックアップ方法(ソフトウェアなりなんなり)があれば知りたいです。 ご一報・マサカリはこちらまで → Twitter