手順06 backupの選択肢

NAS

Raspberrypiにおけるbackup

一般的なNAS製品である場合、ディスクが2本以上ある場合だとRAID 0,1などが利用できます。

RAID 1である場合は、ミラーリングとも呼ばれ、堅牢なシステムにはなるのかもしれませんが、

・同時故障リスクが怖い

・物理故障でなくユーザのミスによる故障(誤消去など)に対応できない

など、家庭用NAS利用として個人的には採用に疑問が残る仕様との認識です。

当Raspberrypiでは、rsyncを利用して、2.5インチHDDから2.5インチHDDへのバックアップを定期的に取得することで運用を堅牢なものとしています。

こちらもhmparmと同様、UIでの指定方法とcmdでの指定方法があり、2方法とも紹介しますが私は後者を採用しています。

Raid 0に関して

・同時故障リスクが怖い

・物理故障でなくユーザのミスによる故障(誤消去になど)に対応できない

UIからのバックアップ(usbbackup)

プラグインでは、usbbackupを選択できます。(私はつかったことないので有用性は確認できていない)

UIからのバックアップ(rsync)

rsyncでもバックアップが可能なようですが、以下の観点から採用を見送っています

  • フルバックアップのみの模様
  • ストレージで定義したフォルダのみしかrcync対応ができない(ストレージ全てなどができない)

スケジュールタスクによるbackup

私が採用しているものです

スケジュールタスクでは様々なコマンドをスケジュール指定して登録できますが、

ここでrsyncを利用することで、UI設定時にできなかった

・rsyncの様々な柔軟な利用方法

・ストレージ全体などの柔軟な指定   が可能です

以下に、SSD1T >HDD 4Tにバックアップする際のコマンドをご紹介します。2種類です。

フルバックアップ

docsフォルダからdocs_bkフォルダへのrsyncをする場合

週次で取得する履歴差分バックアップを運用にのせるため、初回のみフルバックアップを取得

フルバックアップをlatestに格納

rsync -avh /srv/dev-disk-by-uuid-xxxx/docs/ /srv/dev-disk-by-uuid-yyyy/docs_BK/latest

履歴差分バックアップ

週次の履歴差分バックアップ 最新のパスとlatestを比較してrsyncし、結果を日付フォルダに格納する

ハードリンク構造であるため、結果は表面上最新のパスと同じものが格納される

rsync -avh --link-dest=../latest /srv/dev-disk-by-uuid-xxxx/docs/ /srv/dev-disk-by-uuid-yyyy/docs_BK/temporary && echo && mv -v /srv/dev-disk-by-uuid-yyyy/docs_BK/latest "/srv/dev-disk-by-uuid-yyyy/docs_BK/backup-$(date +%Y%m%d-%H%M%S)" && echo && mv -v /srv/dev-disk-by-uuid-yyyy/docs_BK/temporary /srv/dev-disk-by-uuid-yyyy/docs_BK/latest

こちらのコードが何を指すかは次回説明します。

結果として、 以下のような構造になります。

日付のフォルダは、フォルダ内には全て当時の最新の状態が確保されている

バックアップからの復旧時はこのパスからcpしてあげればよい

ハードリンク構造であるため、実質的には増分のみの容量増加が都度発生するのみです