2020年02月16日
_ [computer] NAS間のデータ引っ越し
HDDも大きくしたQNAPのNASですが、色々入れたので、あれよあれよと言う間に使用量が容量ギリギリまで来てしまいました。
8Tとかのもっと大きなHDDにする事も考えましたが、やはり今は6Tが一番効率が良さそうなので、小さな容量で運用している他のNASのHDDを大きな物に入れ替えてデータを分ける事にしました。
ついでに、以前買ってそのままで、使っていなかったMicroServerGen8をFreeNASでNASとして運用し、MicroServerと交換することしました。結構入れ換えは多くて、それに伴ってのデータ移動も多いのでどうしたものかと思い、ここは基本rsyncで転送する事にしました。
当然、NASにはそのNASのバックアップアプリがあるのですが、何だか分かりにくいんですよねぇ、それでFreeNASではコマンドラインでtarとか使っていたのですが、さすがにそろそろrsyncも使うべきかと、、
使ってみると、どのNASもrsyncは使えるようになっているので、実際バックアップアプリを操作してコピーするより、シェルからコマンドラインでrsyncコマンドを書いた方がずっとシンプルで分かりやすくて良い様に私には思います。
自分への備忘録なので、各OSでデータの場所を書いておきますと、
FreeNASは "/mnt/.."
Synologyは "/volume1/public/.."
QNAPは "/share/Public/.."
まずは、SynologyからMicroServerGen8のFreeNASへコピーしてみました。
Synologyでsshを有効にして、Windowsからsshでログインしてコマンド入力します。
$ rsync -av /volume1/public/ (Gen8'user)@(Gen8_IP_address):/mnt/Mirror_3T/share
って感じです。最初は動作確認のみのオプション"-n"を追加して、"-avn"で確認してから、後で-nを消して実行した方がよいです。
このrsync実行で困るのは、Windowsのターミナルソフトからのログインなので、rsyncの時間がかかって、ターミナルソフトが切れてしまった場合、いつ終わったかよく分からない事です。その時は"ps"で、プロセスがまだ走っているかどうかで確認しましたが、Synology自体でシェルのコマンドラインが実行できるアプリは無いかと探したところ、synocommunityのGateOneと言うのを見つけました。
インストールの仕方は、パッケージセンターの設定から、"http://packages.synocommunity.com/"をパッケージソースとして追加して暫くすると、インストール可能なアプリが沢山出てきますので、その中からGateOneをインストールします。実行中のGateOneを開いて、ポート番号を指定してあるURLを開いてログインします。
FreeNASみたいに、Synology管理の画面内にウィンドが出るのかと思ったのですが、それとは違いましたが、一旦ブラウザを閉じてしまっても、GateOneのURLを開くと実行中の画面が同じように開きますので、今どうなっているのかが追えますので便利です。
その後、SynologyのHDDを6Tに交換。各セットアップ後に、停止するMicroServerのFreeNASからデータを移します。これは、FreeNASのシェルから、
$ rsync -av /mnt/RAID-Mirror/share/ (user)@(IP_address):/volume1/public
ここも困った事に、ブラウザを閉じてFreeNASの管理画面から一旦離れると、再び接続しても、今どうなっているのか確認できないのでした。仕方ないので、ここも時折プロセスを確認して、まだ走っているか、もう終わったかを判断するしか無いですね。
これでやっと一杯になったQNAPから一部データをSynologyに移します。今まで、データ元の方からrsyncしていたので、今回もQNAPにsshで入ってrsyncしてみましたが、動作確認の"-avn"オプション時に、最後にエラーが出てしまいます。何だか、コピーが終わって最後の処理時にエラーが出るみたいです。そういえば、以前QNAPで外部HDDにバックアップした祭に、最後にエラーが出て困った事がありました。あの時は別なバックアップアプリを使用する事で、何とかバックアップ終わりましたが、どうもQNAPのrsyncには、そういう問題があるみたいですね。
仕方ないので、受け取り手のSynologyの方から、上記のGateOneを使って、
$ rsync -av (QNAP'user)@(IP_address):/share/Public/xxxxx /volume1/public
とコピーしました。