我が家のファイルサーバーのバックアップ方法についてご紹介します。
我が家のファイルサーバー
我が家は自作パソコン+Ubuntu Linuxをファイルサーバーにしています。
この自作パソコンのスペックは以下です。
- CPU:Celeron J1900(Asrock Q1900B-ITXというマザーボード直付けのCPU)
- メモリ:DDR3-10600 8GB
- HDD:SATA内臓 2TB×2、USB3.0外付け 2TB + 4TB
Q1900B-ITXはファンレスなので、静穏電源と組み合わせると、ほぼHDDアクセス音しかしない静穏サーバーが作れます。
ケースは20年くらい前に初めての自作パソコン用に買ったものをまだ使っています。
割とコンパクトなのにフルサイズのATXまで対応していて使い勝手が良いんです。
このファイルサーバーに家中のコンピューターからアクセス可能になっています。Windowsパソコンとファイルのやり取りをするときに必須なSambaはもちろん、Raspberry PiなどのLinuxマシンとのやり取りに便利なnfsも使えるようにしています。
思い出の写真やビデオや音楽など、大事なデータはすべてこのファイルサーバーに入っています。
なので、データが消えたら、私自身がショックなのはもちろん、家族からブーイングの嵐になることは必至です。(それでは済まないかも。。((((;゚Д゚))))ガクガクブルブル)
なんとしてでも、そのような事態は避ける必要があります。
バックアップの方法
そこで、大事なデータは内臓の2TBのHDDに格納し、もう一個の内臓の2TBのHDDにバックアップしています。
バックアップはcronで毎夜以下のようにrsyncコマンドを実行することで実現しています。
rsync -avz --delete <バックアップ元のディレクトリ> <バックアップ先のディレクトリ>
-deleteオプションは、バックアップ元から消したデータをバックアップ先からも消すという指定です。バックアップ元でデータの削除・追加を繰り返すと、バックアップ先のHDDがいっぱいになってしまう可能性があるため、指定しています。
すごくシンプルなバックアップ方法ですが、圧縮したファイルを展開するような手間なしで復旧できることがメリットかなと思っています。
2台HDDがあるならRAIDを使えば良いのでは?と思う方もいらっしゃると思いますが、私がそうしないのは、RAIDコントローラーの品質を信用していないからです。
仕事場でB社やI社のNASを使ってきましたが、何度もRAIDコントローラーの故障に見舞われ、痛い目にあっています。
私はなんでもシンプルが一番だと思っている(ただ複雑なことが考えられないだけ)のもあって、rsyncを採用しました。
大事なデータの消失は他人事ではありません!
みなさん、本当にバックアップは大事です。
私も以前は自分だけが交通事故には遭わないと思い込むのと同様に、HDDのデータが突然無くなるなんてことはないと思っていましたが、その日は突然やってきます。
過去にまだファイルサーバーがWindowsだった頃、HDDの設定ミス(パーティションの切り間違え)をやってしまい、あやうくすべてのデータを失うところでした。
このときはデータ復旧ソフトのお世話になり、なんとかなりましたが、大量に嫌な汗をかきました。
HDD故障に限らず、人為的なミスでも一瞬で大量のデータを失うこことはあり得ますので、定期的なバックアップをおすすめします。