
大きなファイルをネットワーク ドライブ上の 1 つの場所から同じネットワーク ドライブ上の別の場所にコピーすると、ローカルにコピーするよりもずっと時間がかかることに気付きました。ファイルをローカルにコピーする代わりに、ネットワーク コンピューターはファイルをリモート コンピューターに送信し、リモート コンピューターは同じネットワーク コンピューターに送り返します。つまり、ファイルはネットワーク経由でまったく不必要に転送されていることになります。この問題を解決する方法はありますか? ネットワーク ドライブ上のビデオ ファイルの管理が本当に面倒になってきています。
注: これは、Windows と Linux (Samba を使用) の両方のネットワーク フォルダーに当てはまります。
答え1
これは予想通りです。コピーは自分のコンピューターから開始されます。コンピューターは、ファイルがコピーされる媒体です。psexec などを実行して、リモート コンピューターからコピー コマンドを開始してみてください。
http://technet.microsoft.com/en-us/sysinternals/bb897553.aspx
答え2
joeqwerty の発言を少し補足すると、コピー操作は実質的にメモリ ベースです。つまり、まずソースがメモリに完全に、またはセグメント単位で読み込まれ、次に宛先に書き出されます。特殊なトリックを使わない限り、このメモリ部分がネットワーク共有で発生することはありません。クライアントから見れば、ネットワーク共有は単なるリモート ディスク ドライブにすぎません。FTP などでも同じ問題が発生します。
答え3
ファイルを移動してもペナルティは発生せず、コピーするだけです。
歴史的な話ですが、企業ネットワークの黎明期、NetWare が主流で、トークン リングが一般的で、イーサネットが何らかの同軸ケーブルを必要としていた頃、Novell はこの問題に遭遇しました。NCOPY コマンドは理論的には、サーバーにポイント A からポイント B にファイルをコピーするように指示しますが、DOS の COPY コマンドはネットワーク経由でファイルをメモリにコピーしてから、ネットワーク経由で新しい場所に再度書き出します。MOVE のように、これはかなり高速でした (コピーと比較すると)。時が経ち、Windows NetWare クライアントの必要性が出てきたため、NCOPY はなくなりました。コピーは DOS でいつものように機能しました。
既知の世界の他のすべては、ジョンとジョーが説明したように動作します。つまり、過去 20 年間に書かれたものはすべて、そのように動作します。