2016/07/10(日)NAS間バックアップ(rsyncファイルコピー)

PC::NAS

NAS間バックアップ(rsyncファイルコピー)

20160710_01.png

QNAP TS-219P+の準備ができたので、Synology DS216jのデータをQNAP TS-219P+にバックアップしてみます。

QNAP TS-219P+側のrsyncサーバー設定

k248p1.5:前回のRsyncサーバー設定を参照。

Synology DS216jからのバックアップ(Hyper Backup)

パッケージセンターにHyper Backupというツールがあったのでまずはこれを試してみます。

  1. パッケージセンターからHyper Backupをインストール
    20160710_02.png
  2. インストール後、Hyper Backupを開くとバックアップウィザードになるので、リモートrsyncサーバーを選択。
    20160710_03.png
  3. QNAP TS-219P+側のIPアドレスやrsyncユーザー名・パスワードを入力。その後、バックアップモジュール(QNAP TS-219P+側の共有フォルダ)を選択します。
    20160710_04.png
  4. ディレクトリは適当な名前を入力。
    20160710_05.png
  5. バックアップしたいを共有フォルダを選択します。
    20160710_06.png
  6. アプリケーションもバックアップできるようですが、今回は設定せずに次へ。
    20160710_07.png
  7. 好きなタスク名を入力し、スケジュールを設定。
    20160710_08.png
  8. バックアップローテーションはとりあえず未設定にしました。
    20160710_09.png
  9. 適用をクリックすると、今すぐバックアップするか聞かれるので、はいをクリックするとバックアップが始まります。
    20160710_10.png

この方法でバックアップした場合、バックアップ形式はHyper Backupの独自形式になり直接バックアップ先のファイルを閲覧することはできません。

バックアップウィザードの最初の選択肢で、リモートデータコピーを選ぶと単純コピーになるようですが、設定途中でエラーが出てうまくいきませんでした。

20160710_11.png

Synology DS216jからのバックアップ(rsyncコマンド)

トラブル時はバックアップ先のファイルを直接参照したいので、rsyncコマンドで単純なコピーによるバックアップを設定してみます。

  1. sshでDS216jに接続します。
  2. 適当なフォルダに以下のようなrsyncコマンドを呼ぶシェルスクリプトを作成します。(ssh接続前に共有フォルダ上に作成してもOK)
    #!/bin/sh
    rsync -rltxW --inplace --delete --stats --password-file=/volume1/data/tools/rsync.passwd --log-file=/volume1/data/tools/backup.log /volume1/data/test/ rsync://rsync@192.168.11.100/data1/test/
    
    • 今回は、data共有フォルダ内に、toolsというフォルダを作成して、backup.shを設置。
    • deleteオプションはコピー先のファイルを削除してしまうので、初回はつけない方が良いかも。
    • inplaceオプションはコピー先ファイルを直接上書きするので不安なら外す。
    • コピー元は、共有フォルダdata内のtestフォルダ。
    • コピー先は、共有フォルダdata1内のtestフォルダ。
  3. 作成したシェルスクリプトに実行権限を付与します。
    chmod 755 /volume1/data/tools/backup.sh
    
  4. パスワードファイル(中にパスワードを書いただけのファイル)を作成し、chmod 600しておきます。
    echo "PassWord" > /volume1/data/tools/rsync.passwd
    chmod 600 /volume1/data/tools/rsync.passwd
    
  5. (動作確認をしたい場合は、ここでシェルスクリプトを実行してみます。)
    /volume1/data/tools/backup.sh
    
  6. ブラウザでNASにログインし、コントロールパネル→タスクスケジューラーを開き、作成→予約タスク→ユーザー指定のスクリプトを選択。
    20160710_12.png
  7. タスク名を入力。ユーザーはssh接続したときと同じユーザーを選択。
    20160710_13.png
  8. スケジュールを設定。
    20160710_14.png
  9. ユーザー指定のスクリプト欄に、先ほど作成したシェルスクリプトのパスを入力。
    20160710_15.png
  10. OKをクリックするとタスクが登録されます。
rsyncの転送速度
20160710_16.png

QNAP TS-219P+側のCPUがボトルネックになっているようで、20MB/sくらいの転送速度でした。普通のファイルコピーだと50MB/sだったので、もうちょっと速くなって欲しい気もしますが、rsync結構重いんですね^^;

このペースだと1日でやっと1.7TBですが、大量ファイルコピーは初回バックアップぐらいなので、まあ大丈夫でしょう。