新旧NASデータ移行を高速化する方法

Windows PowerShellとrobocopy、rsyncを使えば、NASの大量ファイル移行は安全かつ高速に完了します。本記事では3.8TB実体験と公式仕様を根拠に、失敗しない正攻法のみ解説します。

古いNASから新しいNASへコピーするとき、エクスプローラーのドラッグ操作では途中停止や再開不可が頻発します。拙も26万ファイルの転送で停止し、半日を失いました。
そこで「再開可能」「差分同期」「ログ取得」が可能なrobocopyとrsyncを使用したところ、安定して完了しました。本記事はその具体的手順のまとめです。

NAS移行の結論

最速かつ最も安全なのはrsync、Windowsのみならrobocopy、エクスプローラーコピーは大量データでは非推奨です。迷ったらこの選択で失敗しません。

  • rsyncが使えるならrsyncが最速かつ最も安全
  • Windowsのみで完結するのならばrobocopyが最適
  • エクスプローラーのドラッグコピーは大量データではお勧めできない

rsyncもrobocopyも両コマンドともに「再開可能」「差分同期」「ログ取得可能」という特徴があり、途中停止しても最初からやり直す必要がありません。

rsyncが最速

NAS同士がrsync対応ならこれ一択です。PC不要かつ最速です。

NAS間で直接差分転送されるため、転送量が最小化されます。電源を切って放置できる点も最大の利点です。

Windowsはrobocopy

Windows環境のみならrobocopyが最適解です。

Microsoft公式の「Robust File Copy」で、再開・差分・ログ出力・マルチスレッドに対応します。追加インストール不要です。

エクスプローラーは非推奨

大量ファイル移行では使用しない。

途中停止すると最初からやり直しになるため、時間を浪費します。

検証環境

再現性確保のため私の実環境を公開します。

OS:Windows 11
シェル:Windows PowerShell 5.1 / PowerShell 7
接続:Wi-Fi 5GHz
データ量:3.8TB 約26万ファイル
旧NASのIP:192.168.1.10
新NASのIP:192.168.1.20

※有線LANが推奨されていますが、自宅事情でWi-Fi 5GHz接続です。それでも問題無く完走することができました。

robocopy実行手順

robocopyの背景技術と公式仕様を説明します。robocopyはMicrosoft公式ドキュメントで「Robust File Copy」と定義されているWindows標準コマンドです。
ディレクトリツリー全体のコピー、再試行、再開、ログ出力を備えた業務用途向けのファイル転送ツールです。

  • 中断再開機能
  • 差分コピ
  • マルチスレッド転送
  • アクセス権保持
  • Windows標準搭載で追加インストール不要

このような特徴を備えています。つまり「エクスプローラーの完全上位互換」と考えて差し支えありません。

robocopyコピペ用コマンド

Windowsだけで完結する最も現実的なコピーの方法です。スクリプトにしてみましたので、需要があれば使ってください。

IPアドレスと共有フォルダ名を自分の環境に合わせて変えることで、コピペで使うことができます。

robocopy "\192.168.1.10\disk1" "\192.168.1.20\disk2" /E /Z /MT:16 /R:2 /W:2 /XO /FFT /TEE /LOG:copy.log

オプション解説

最低限重要なもののみ説明します。
/E すべてのサブフォルダをコピー
/Z 再開可能モード
/MT:16 並列16スレッドで高速化
/R /W 失敗時の再試行回数
/XO 新しいファイルを上書きしない
/FFT Network Attached Storage時刻差対策
/LOG ログ保存

10GBのデータを転送したところ、私の環境ではエクスプローラーの約4倍の速度で完了しました。

再開方法

同じコマンドを再実行するだけです。未完了分のみ自動転送されます。

rsyncの基本

rsyncはUnix系システムで広く利用される差分転送ツールです。変更されたブロックのみを転送するため転送量が最小化され、大容量環境で非常に高速な転送を実現しています。

多くのNAS製品(Synology DiskStation Manager、QNAP Systemsなど)が標準対応しています。どれも人気製品を出している会社であるため、rsyncに対応しているNASは多いでしょう。

  • 差分ブロック同期
  • 再開可能
  • 圧縮転送
  • NAS同士の直接コピー

このような特徴があります。NAS同士で直接コピーをするのでPCは不要です。設定を済ませたら電源を落としても構わない点が大きなメリットです。

基本コマンド

私の環境ではrsyncに対応していないので、公式から引っ張ってきました。

rsync -avh --progress /volume1/data/ user@192.168.1.20:/volume2/data/
  • PC不要
  • 長時間放置可能
  • 転送速度最速
  • 安定性が非常に高い

rsyncが標準になれば他のNAS間の転送方法はいらなくなるかもしれません。rsyncに対応しているのならば完全な最適解です。

転送方法の比較

用途に応じて最適解を選べるよう整理しました。

方式速度安定性PC必要対象
rsync最速非常に高い不要対応NAS利用者
robocopy高速高い必要Windows利用者
エクスプローラー遅い低い必要少量のみ

実体験レビュー

実際に移行した際の経験を書きます。

最初からrobocopyを使うべきでした。

エクスプローラーコピーは約1万ファイルで停止。再開不能。半日が消えました。
robocopyに切り替えると3.8TB約26万ファイルを完走。ログも残り安心感がまったく違いました。
失敗込みで4日。最初から専用コマンドを使うべきでした。

FAQ

Q
途中で停止した場合の復旧方法は?
A

robocopyは/Zオプション、rsyncは再実行するだけで自動的に続きから再開されます。最初からやり直す必要はありません。

Q
大量ファイルで速度が極端に遅い場合のチェックポイントは?
A

有線接続か確認、/MT値を増やす、NASのCPU負荷確認、ウイルス対策ソフト停止で改善することが多いです。

Q
アクセス権エラーが出たらどうしたらいいか?
A

管理者権限でPowerShellを起動し、NASの共有権限をフルコントロールに設定します。認証情報を保存して再実行します。

まとめ

NASのデータ移行は、正しい方法を選ぶだけで安全性と速度が劇的に改善します。
rsyncまたはrobocopyを使うことが失敗しない唯一の近道です。大量ファイル環境では必ず専用コマンドを利用してください。

関連記事

コメント