NASからNASにRsyncで同期型バックアップをするには

使いやすいと評判のDiskStation DS224+から、OpenMediaVaultで構築したNASにRsyncで同期型バックアップを実施する方法を、設定手順を中心に紹介します。

DS224+をなぜバックアップする?

筆者はDiskStation DS224+(NAS)をRAID1のミラーリング構成としています。HDDが1台故障してもホットスワップ可能で、その点は安心です。しかしながら、NAS本体が故障したら交換が完了するまでデータにアクセスできません。さらにHDDが2台同時に壊れると、当然データは消失してしまいます。
そこで、中古PCにLinuxのOpenMediaVault(OMV)をインストールし、NASに仕上げ、rsyncで定期的に同期をとることにより、バックアップを取ることにしました。

Rsyncとは

rsyncにより、手動のバックアップが不要になります。そして常にオリジナルと同じデータが同期されているので、NASの一方が壊れても、もう一方にアクセスすれば常にデータを取得することができます。もっとも、実際の同期はリアルタイムで反映されるわけではありません。同期が完了するまでの時間差分はデータ保証できませんが、それは一般的なバックアップも同様です。
そもそもrsyncとは、主にUNIX系OSで使用されるコマンドおよびプログラムで、ファイルやディレクトリを効率的に同期・コピーするためのツールです。一般的に販売されているNASでは標準でrsyncの機能が搭載されていることが多いと言えます。
syncは、変更されたファイルのみを転送する「インクリメンタル転送」技術を使用します。これにより、転送時間と帯域幅を節約できます。
cronと呼ばれるジョブの自動実行機能を併用して、定期的なバックアップを自動化できます。これにより、手動でのバックアップ作業が不要になります。

rsyncをバックアップに使用する際のウィークポイントとしては、以下のようなことでしょうか。

  1. rsyncのオプションや設定は非常に多岐にわたるため、適切な設定を行うには一定の知識と経験が必要な場合があります。誤った設定をすると、意図しない結果を招くことがあります。事前に実験やテストで検証しておくのが安全といえます。
  2. 同期式のバックアップとなるため、オリジナルと同じ容量のストレージが必要です。
  3. rsyncは基本的にスケジュールされたバックアップに適しており、リアルタイムでのバックアップには対応していません。リアルタイムのデータ保護が必要な場合には、他のツールや方法を検討する必要があります。
    筆者は逆に、この非リアルタイム性をメリットととらえています。オリジナルを誤って削除してしまった場合、バックアップに反映されるまでの時間間隔があれば、同期される前にバックアップから復旧手段を施せるわけです。
  4. 本稿のように、ネットワーク越しにバックアップを行う場合、rsyncは大量のデータを転送こともあるため、ネットワーク帯域を大きく消費する可能性があります。同期を始める時間を深夜にするなどの配慮が必要かもしれません。

オリジナル側NAS(DS224+)の設定方法とは

オリジナルのNAS側では、rsyncを有効にし、外部のサーバからデータ取得のリクエストを受け付ける設定を行います。

DS224+のOSであるDSMから、コントロールパネルを起動します。

ファイルサービスを起動します。

下の番号は上の図の番号に対応しています。

  1. [rsync]タブを選択します
  2. 「rsyncサービスを有効にする」にチェック
  3. 「rsyncアカウントを有効にする」にチェック
  4. 「rsyncアカウントを編集」を押します
  5. 「rsyncアカウント」画面の[追加]を押します
    rsyncの要求を受付けるユーザを指定します。
  6. ユーザを指定します

「rsyncアカウント」画面を閉じ、最後にコントロールパネルの[適用]を押します。
これでDS224+側の設定は完了です。

バックアップ側OpenMediaVault(OMV)の設定とは

ブラウザからOMVの管理画面を開きます。
メニューから[サービス]>[Rsync]>[タスク]を開きます。

上図(+)アイコンの作成ボタンを押します。

各項目を筆者は上のように設定しました。

ソースサーバの設定は迷う方が多いところでしょう。図の「ds1.local」の部分は、オリジナルNAS側のIPアドレスに置き換える必要があることがあります。下図はDS224+(オリジナル側)のガジェットでIPアドレスを確認したところです。

筆者はNAS をインターネットに公開しない前提で、認証タイプを「パスワード」とし、オリジナル側の管理者アカウントのパスワードを入力しました。

上の画面の続きです。
次のセクションは同期のスケジュールを組むところです。rsync のタスクを実行する頻度と時刻を設定します。
バックアップ側への同期は、毎月1日0時0分としました。
前述のように、オリジナルを誤って削除してしまった場合、バックアップに反映されるまでの時間間隔を最大1か月とすることで、同期される前にバックアップから復旧できるようにしました。

さらに続きです。
rsyncの実行オプションを指定するセクションです。
「テスト実行」にチェックすると、ファイルの同期を行わずにオリジナルNAS側との接続できるかを試すことができます。正常に接続できると、同期対象のオリジナルファイルが表示されます。バックアップ対象(ソース)となるフォルダの指定が正しいかどうかをチェックできます。
検証後は、チェックを外します。チェックを外し忘れると同期はされません。
筆者は「削除」にもチェックしました。オリジナル側で削除されたファイルはバックアップからも削除されるようになります。

上記の画面から[保存]を押します。

上の画面から✔アイコンの適用ボタンを押すとシステムに変更が反映されます。

上の図のとおり、①タスクを選択し、②の実行ボタンを押すと直ちにrsyncが実行され、同期が始まります。上述のテスト実行も同様の手順です。

おわりに

rsyncのサーバ側にDiskStation DS224+、クライアント側にOpenMediaVault(OMV)を設置した場合のそれぞれの設定を紹介しました。
筆者の環境ではそれぞれに物理サーバを建てていますが、今後は長年使用したOMVを廃止し、外付けHDDにバックアップする方法に移行しようと考えています。スペースと電気代の節約したいためです。