会社の大切なファイルのバックアップは常日頃からされていると思いますが最近ではBCP対策を重視する企業も多く、バックアップデータを更に別の場所へバックアップすることを検討されている方も多いのではないでしょうか。
そこで、今回はQNAPの機能として標準搭載されているRsyncの機能を用いてQNAPからQNAPへファイルの複製を行う方法をご紹介します。
構成
(1)qnap-a
型番:TS-219P II
容量:2TB(RAID1)
ファームウェアバージョン:4.2.2 Build 20160901
IPアドレス:10.10.10.1
(2)qnap-b
型番:TVS-863
容量:11TB(RAID6)
ファームウェアバージョン:4.2.0 Build 20151118
IPアドレス:10.10.10.2
今回はqnap-aのデータをqnap-bに転送します。
イメージはこんな感じです。
Rsyncを行うにはまずリモート側(qnap-b)でRsyncサーバを有効にする必要があります。
[バックアップマネージャ] → [Rsyncサーバ]
と開き、「リモートサーバからローカルホストへのバックアップを有効にする」にチェックを付けます。
続いてローカル側(qnap-a)の設定を行います。
今回はqnap-aに「share」という名前で共有フォルダを作り、
その中にa.test, b.test, c.test, d.testという500MBのファイルを4つ用意しました。
ところでリモートレプリケーションには「NAS to NAS」「Rsync」 「RTRR」の3種類があります。
それぞれの違いをざっくり説明するとこんな感じです。
・NAS to NAS
QNAP同士でのリモートレプリケーションを行う。
・Rsync
QNAP以外のRsyncサーバに対してもリモートレプリケーションができる。
・RTRR
リアルタイムでリモートレプリケーションを行う。
今回の場合はQNAP同士でレプリケーションを行うので「NAS to NAS」を使います。
[バックアップマネージャ] → [リモートレプリケーション] → [NAS to NAS]
を開き、「レプリケーションジョブの作成」を クリックします。
ジョブ作成画面に移るのでリモートレプリケーションジョブの名前を適当に設定し、
リモートサイトの右にある「設定」ボタンをクリックします。
ここでリモート側(qnap-b)のIPアドレスと有効なユーザ名パスワードを入力し「適用」ボタンをクリックします。
正しい値が入力されていれば、ソースフォルダと宛先フォルダに共有フォルダの一覧が表示されます。今回は先程用意した「share」フォルダをqnap-bの「testdir」フォルダにレプリケートします。バックアップスケジュールは「バックアップ周期」ボタンから設定できますがここでは割愛します。ここでレプリケーションの細かい設定を行うために「オプション」ボタンをクリックします。
ここで転送時の設定を行うことができます。
「コピー先のファイルと異なるファイルのみをコピーする」にチェックを付けると変更があったファイルだけ転送してくれるので効率的です。
「リモート宛先の余分なファイルを削除する」にチェックを付けるとローカル側で削除したファイルはリモート側で削除されます。容量を無駄に使わずに済むのでチェック推奨です。
「バックアップをただちに実行します。」にチェックをつけていたのでジョブ作成と共にバックアップが始まりました。
ログを見ると2分30秒程度で転送完了しているようです。
実際にリモート側の共有フォルダを見に行くとローカル側で作成した4つのファイルが転送されているのが分かります。
今回は一瞬で転送が終わりましたが実際の運用では支社から本社などへWANを介してレプリケートを行うケースが多いので、転送時間については予めテストしておく必要があると思います。
また、2回目移行のバックアップは増分バックアップなので転送量が少なくて済みますが、初回はフルバックアップになるのでその点も考慮する必要がありますね。
おまけ
「コピー先のファイルと異なるファイルのみをコピーする」の判断基準について
ファイルの中身が同じでもタイムスタンプが異なったら転送されるのか気になったので、
検証してみた所以下の結果になりました。
LinuxのRsyncコマンドだと判断基準をタイムスタンプとかチェックサムとか色々指定できるのですがGUIで設定する以上細かい設定は出来ないみたいですね。
技術部 技術1課