私は、ファイルサーバーとして機能する古い2003サーバーの使用を停止している最中で、ファイルリポジトリを新しいWindows Storage Server 2012ボックスに移行する試運転を試みています。私はファイルをコピーするためにrobocopyを使用しています。現在、最終的な変更を行う前に、所要時間を確認するためにいくつかのテストを実行しています。
初めてrobocopyを実行したとき、次のスイッチを指定しました:オプション:。/S/E/COPYALL/PURGE/MIR/MT:128/R:100000/W:30正常に実行されました(ただし、/rスイッチと/ wスイッチは完了するまでに時間がかかるため、お勧めしません!)2回目に次のスイッチを使用して実行しました(宛先ディレクトリには、最初に実行したときのソース宛先のコピーがすでに含まれています) 、/ MIRにより確実に更新されます):オプション:。/S/E/COPYALL/PURGE/MIR/MT:128/R:0/W:0
これにより、ジョブが開始してから約5分後にサーバーがハングしました。完全にハングし、再起動するには手動で電源を入れ直す必要がありました。ログは何が問題だったかを示すものではありません-/ mt:128が問題を引き起こしたと考えられていましたが、最初にそのスイッチを指定したので問題ありませんでした。
2回目に/ r:0と/ w:0にいくつかのスイッチを変更しますが、これらが原因でハングすることは想像できません。
最後に、宛先が以前にソースから既にコピーされているので、問題のある/ MIRを選択したという事実です-ミラーリングの唯一の潜在的な欠点は、もはやソースにない宛先。誰かが問題の原因を突き止めることができれば、次に試してみるときに、問題が起こらないことが保証されます。
編集:上記で説明したスイッチは、robocopyログファイルから取得されたものであり、ある意味では、これらは指定したスイッチの解釈でした。/MIR/ COPY:DATSOU/MT:128/R/W
2番目の編集:問題のサーバーには、組み込みのWindows Server NIC teamingを使用してチーム化されたデュアルNICがあります。これは重要な情報だと思います。私が最初に質問を投稿したときは伝えませんでした。これを調査します。NICはIntel(R)82574Lギガビットネットワーク接続です。NICチームは「Microsoftネットワークアダプタマルチプレクサドライバ」です。
確かに、ネットワークカードドライバーの問題のようです。これがデュアルNIC設定のバグかどうかを確認するには、IPGパラメータを約20ミリ秒に調整し、/ MT:128パラメータを削除します(/ IPGと/ MTには互換性がないため)。元の投稿で「指定したスイッチ」行を使用すると、次のようになります。
/MIR /COPYALL /R /W /IPG:20 /Z
/ IPG:20(パケット間ギャップ)は、伝送をかなり遅くしますが、安定性を提供します。
/ Z(再起動可能モード)は、ネットワークが中断した場合(不良カード、ドライバー、または実際のネットワークの問題が原因)、コピーが中断したところから再開できるため、ネットワーク経由のコピーにとって重要です。
これが正常に完了する場合は、ネットワークドライバーに問題があります。問題は、使用しているドライバが/ IPG:0のスループットを処理できないことです。
NICドライバがサーバーがハングする根本的な原因であるとするための棺の最後の釘は、カードを交換し、ハングする原因となったコマンドを再実行することです。それとは別に、多重化が発生しないように接続の1つを取り外し、エラーを生成したコマンドを実行します。
Technetのcb42から提案がありました。
...そしてss64 rocks(ただ言うだけ!) http://ss64.com/nt/robocopy.html
RobocopyはA)バギーであり、B)バグが発生したときにシステム全体が非常に不安定になる可能性がある方法でカーネルにフックしているように見えます。これがかなり頻繁に発生するのを見てきました(特にMTオプションを使用した場合)、かなり高速のリンクで同期しているWANリンク(20Mbps-100Mbps)。したがって、 NICドライバーにトラフィック量の問題があることは間違いありません-これよりもはるかに悪用する運用を行っていますが、Cisco UCSの10Gbps LAN接続でもこれが見られます/ VMWare 5.5。すべてのパッチが最新で、Robocopy v6.3.9600.17415は2014年10月28日。
私たち全員が愚かなことをしていることを誰かが明確に証明できれば私はそれが好きですが、Microsoftが信じられないほど危険なコードを出しているようです。
/S
と/E
を併用する理由それは反対のようです。また、/E + /Purge
は/Mirror
と同じです。/MT:128は高すぎると思います。減らす必要があります。試してください:
/S /MIRROR /COPYALL /MT:64 /R:10 /W:60