robocopy高速バックアップ設定方法 4TB NASを安全かつ最速で同期する実測手順

以前紹介した古いNASから新しいNASへデータの移行という記事を書きました。しかし、その時はたかだか4TBのデータを移動するのに数日もかかってしまいました。

今回はオプションを見直して、私の環境では最速で安全なバックアップ方法にしてみました。

本記事では、実際に4TB級のデータをNASからローカルHDDへ移行検証した結果をもとに、速度・安全性・運用性のすべてを満たす最適解を体系的にまとめます。

公式Microsoft:
robocopy
https://learn.microsoft.com/ja-jp/windows-server/administration/windows-commands/robocopy

はじめに

大量の動画やアーカイブデータをNASからPCへコピーする場合、エクスプローラーのドラッグ&ドロップでは驚くほど時間がかかります。

数TB規模になると「残り10時間以上」という表示も珍しくありません。

そこで活躍するのが、Windowsに標準搭載されているrobocopyです。

robocopyはMicrosoftが提供する公式ファイル転送コマンドであり、業務用途でも使われる堅牢なコピーエンジンです。
正しく設定すれば、通常コピーとは比較にならない速度と安定性を実現できます。

本記事では、実際に4TBの実データを転送した検証ログをもとに、安全かつ高速な最適構成を体系的に解説します。

検証環境と前提条件

まずは、今回の検証に使用した環境を明示します。
実測値の再現性を担保するために、ハードウェア構成とネットワーク条件を具体的に公開します。

PC構成

  • Intel Core i5-14600
  • DDR5 32GB
  • NVMe SSD(読み書き3,000MB/s級)

NAS構成

  • RAID 1(HDDミラーリング)

ネットワーク

  • 2.5GbE 有線LAN
  • Wi-Fi 7ルーター
    Buffalo AirStation WXR9300BE6P

本記事の数値は、理論値ではなく家庭環境における実運用速度です。

robocopyとは何か

robocopyは単なるコピーコマンドではありません。
大容量データのバックアップや差分同期を前提に設計された、業務向け転送ツールです。

公式仕様はMicrosoftのドキュメントで公開されています。

主な特徴は次の通りです。

差分のみコピー

変更されたファイルだけ転送するため、2回目以降は高速に完了します。

並列転送

マルチスレッド処理により、ネットワーク帯域を最大限活用できます。

ログと再実行性

失敗箇所の特定や再試行が容易で、長時間処理でも安心して運用できます。

最初に遭遇した失敗例

robocopyは便利ですが、設定を誤ると事故につながります。
ここでは実際にハマった失敗例を紹介します。

/MIR の危険性

robocopy Z:\data E:\data /MIR

このオプションは「ミラーリング」を意味します。

コピー元に存在しないファイルは、コピー先から削除されます。
つまりバックアップではなく完全同期(削除あり)です。

家庭用途では非常に危険なため、基本的に使用しないことを強く推奨します。

速度低下の原因になったオプション

速度が出ない場合、ネットワークよりも設定が原因であることが多いです。
特に影響が大きかったのが /Z でした。

Q
/Zは必要ですか?
A

停電リスクの高い業務用途以外では不要です。

/Z(再開可能モード)が遅くなる理由

/Z は途中再開を可能にする安全機能ですが、

  • 細かなチェックポイント保存
  • 追加I/Oの発生
  • 転送効率の低下

これらのオーバーヘッドが発生します。

安定したLAN環境では不要であり、実測では15〜25%速度が低下しました。
常時接続のNASバックアップでは/Zを外す方が高速です。

実測結果と転送時間

実際に4TBをコピーした結果をまとめます。
理論値ではなく、連続転送での平均速度です。

2.5GbE 有線LAN

約260〜280MB/s
完了時間:約4.5時間

Wi-Fi 7 無線

約140〜180MB/s
完了時間:約7〜9時間

無線でも十分実用的ですが、やはり 有線が最速かつ安定 という結果でした。

初回フルコピーの最適設定

初回は全データをコピーします。
削除を伴わない安全構成を採用します。

推奨コマンド

robocopy "Z:\data" "E:\data" /E /MT:32 /R:1 /W:1 /NP /NFL /NDL /LOG:"E:\full.log"

ポイント

  • 削除なし
  • 並列化で高速
  • ログで確認可能

もっとも安全な初期コピー手順です。

2回目以降の差分バックアップ

初回完了後は、変更分だけコピーする運用に切り替えます。
これにより数時間かかっていた処理が数分で終わるようになります。

完成形コマンド

robocopy "Z:\data" "E:\data" /E /XO /XJ /MT:32 /R:1 /W:1 /NP /TEE /LOG+:"E:\diff.log"

メリット

  • 既存ファイルはスキップ
  • 削除しない
  • ログ追記で履歴管理
  • 何度でも安全に再実行可能

家庭バックアップ用途では、この構成が最もバランスに優れています。


macOSとの比較

Windows以外の選択肢も気になる方がいるでしょう。
macOSではrsyncが標準搭載されています。

これはAppleが提供するUNIX系転送ツールですが、Windows環境でNASを扱う場合はrobocopyの方が操作性と親和性に優れています。

無理に置き換える必要はありません。

その他のrobocopyのオプション説明

実際に使ってみて、これは安易に使わない方がいいと思ったオプションについて触れてみたいと思います。

絶対使わない/MOVE

コピー後削除。もうこの言葉に尽きると思います。途中でコピーが失敗したらデータ消失します。絶対に使わないオプションです。

/MIRの系譜である/PURGE

/PURGEは削除専用のオプションです。説明不要の不要オプション。

家庭環境では悪影響

/COPYALL /SEC、これらはアクセス権までコピーをします。家庭環境では権限破壊の原因になります。

危険性はないけれどrobocopyの良さを打ち消すもの

色々と悪いことを書いてきましたが、それは本当に扱い方ひとつで壊滅状態になるほど危ないものだからです。

ここからは悪くはないけれど、速度に影響がでるものについて扱いたいと思います。

速度を殺すオプション/Z

robocopyには/Zを付けると一見便利に見えますが、ネットワーク経由での大容量コピーでは逆に遅くなるケースが多いです
公式ドキュメントでも/Zは中断再開を実現するものであるとあるが、常時安定したネットワーク環境では不要です。

  • 中断再開のために細かいチェックポイントが発生する
  • 余計なI/Oが発生して全体スループットが低下する

家庭LANではメリットを感じられないと思います。これらが体感として「遅い」と感じる一因です。ただ、業務用では有用だと思います。

古いNAS用のオプション

/FFTというオプションなのですが、令和の時代、このオプションが必要なNASを使っている人はいないのではないかと思います。

/FFTの意味は2秒丸めて比較をすることです。Windows11とNASでは意味が無く、余計なコストとなります。

数時間停止する罠オプション

/R:1000000 /W:30 事実上の無限リトライオプションです。壊れた1つのファイルで数時間robocopyが停止することがあります。家庭用途では次のようにすると良いと思います。

/R:1 /W:1

実測値:2.5GbE vs Wi-Fi

実際に下記のオプションを付けてrobocopyを実行してみました。同じマシンです。なるべく同じ環境で行いましたが、Wi-Fiの方は完全に同じ状況と言えるかはわかりません。

環境実効速度4TB転送時間
有線 2.5GbE約 270 MB/s約 4.5 時間
Wi-Fi 5GHz約 80〜110 MB/s10〜14 時間

この速度差はネットワーク帯域の限界をそのまま反映していると思います。
有線接続なら帯域をほぼ使い切ることができるので、数時間で終わるという実感が得られることが分かりました。

robocopy最良オプション設定例

今回再調整し最適化してみたものです。初回にフルコピーをする場合は最速モードを使ってください。粘り強く速い仕様です。

初回フルコピーの最適設定

robocopy "Z:\data" "E:\data" /E /MT:32 /R:1 /W:1 /NP /NFL /NDL /LOG:"E:\full.log"

オプションの意味について説明します。

オプション意味
/E全サブディレクトリをコピー
/MT:3232並列の高速転送
/R:1リトライ1回
/W:1リトライ待ち1秒
/NP進捗非表示
/NFL /NDLログ軽量化
/LOGログ出力

中身の詳細はいいから、とにかくエラーで止まらずに、最速でバックアップを終わらせて結果だけ教えて!と言っている感じです。最初のフルバックアップなのでログ関係は最低限にしてあります。

他にも有用なオプションがたくさんあります。そちらはMicrosoft公式のrobocopy全オプション一覧(リンク先)で確認してください。

差分バックアップ(2回目以降)

2回目以降はきっちりしなくてもいいかなと思いました。差分ファイルをコピーする感覚で打ち込みます。実際、私はフルコピーをする必要はないので、今こちらを使っています。

robocopy "Z:\data" "E:\data" /E /XO /XJ /MT:32 /R:1 /W:1 /NP /TEE /LOG+:"E:\diff.log"

今回のオプションの説明をします。

オプション意味
/XO古いファイルはコピーしない
/XJジャンクション除外
/TEEコンソール & ログ同時出力
/LOG+追記ログ

フルコピー版と差分コピー版の違い

  • フルコピー版(/LOG): 実行するたびにログがリセットされる「一発勝負」のフルバックアップ。
  • 差分コピー版(/XO, /LOG+): 日々の追加分だけを足していく「メンテナンス・同期」用。

差分でもっと速くしたいのであれば、条件が整いさえすれば、このコマンドでもいいかもしれません。

robocopy "Z:\data" "E:\data" /E /XO /XJ /MT:32 /R:1 /W:1 /NP /TEE /LOG+:"E:\robocopy_speedy.log"

よくある質問

Q
/MTはいくつが最適ですか?
A

16〜32が最速帯です。64以上は逆に効率が下がる場合があります。

Q
/MIRは使ってはいけませんか?
A

バックアップ用途では非推奨です。削除事故の原因になります。家庭用ならば「/E + /XO」で十分です。
どうしても使いたいという場合は、「robocopy Z:\data E:\data /MIR /L」これで事前に「何が消えるか」を確認できます。

Q
/Zは本当に必要ないですか?
A

停電など不足の事態がある業務系なら役に立ちます。安定したLANでは不要です。むしろ速度低下要因になります。

まとめ

robocopyは非常に強力です。しかしオプション設計を間違えると事故や速度低下がすぐに起こります。
この記事で紹介した設定は、実際の失敗から練り上げた速度・安全性・運用性の全てを満たす最適解です。

速さを最優先するのならば次のことを守れば良いと思います。

  • /MIR を使わない
  • /Z を外す
  • /MT で並列化
  • ログを残す

この4点だけで、4TBのコピーが数時間で完了します。

大量データ転送に悩んでいる方は、思い切ってこの設定を試してみてください。

参考リンク

関連記事

コメント