あるディスクを別のディスクにコピーする必要があります。次のコマンドを試してみましたが、ペデロから1 TBのディスクをコピーするのにほぼ1日かかりました。
dd if=/dev/sda of=/dev/sdb
以下のコマンドを使用してUnix(HP-UX)システムで同じことを試みましたが、数時間以内に完了しました。
dd if=/dev/sda of=/dev/rdsk
ディスクからディスクにすばやくコピーするには、どのような方法を使用できますか?
ベストアンサー1
dd
(奇妙な)オプションがたくさんあります。仕事(1)。
バッファサイズを明示的に指定する必要があるため、試してみてください。
dd if=/dev/sda of=/dev/sdb bs=16M
IIRCの場合、デフォルトのバッファサイズはわずか512バイトです。上記のコマンドはこれを16MBに設定します。より小さいもの(例bs=1M
:)を試すことはできますが、デフォルトよりも多くを使用する必要があります(特に4 KBセクタを持つ最新のディスクハードウェアの場合、つまり高度なフォーマット)。私は少なくとも1メガバイトの2勝を無実に推薦したいと思います。
デフォルトのバッファサイズである512バイトを使用しているようです(しかし非常に間違っている可能性があります)。ハードウェアカーネルは512バイトブロックあたり4Kを送信する必要があります。
についてrdsk
、標準偏差(4)マニュアルページには次のように記載されています。
現在、ブロックデバイスのみが利用可能です。生のデバイスはまだ実装されていません。
ddのバッファサイズを大きくすると、読み書き動作のパフォーマンスが向上します。すべてのディスクにハードウェアの読み取り/書き込みバッファがあります。しかし、ddのバッファサイズをハードウェアバッファ以上に増やすと、ddが最初のディスクから読み取られるのに対し、2番目のディスクはそれ自体のハードウェアバッファからすべてを書き込むため、パフォーマンスが低下します。bs
毎回異なるデバイスに異なるddコマンドオプションを設定する必要があります。