web-dev-qa-db-ja.com

ハードドライブのハードウェアブロック読み取りサイズを確認するにはどうすればよいですか?

Ddを使用して、ハードドライブから大容量のコピーを作成するのに最適なサイズを見つけようとしています。私はそれを使用するのに最適なブロックサイズを見つけ出そうとしています。これは、そのドライブのハードウェアブロックサイズであると想定しています。

48
Flame

lsblkコマンドはこれに最適です。

lsblk -o NAME,PHY-SeC

結果:

NAME   PHY-SEC 
sda        512 
├─sda1     512 
├─sda2     512 
└─sda5     512 
45
Thomas Bratt

Linuxはファイルの物理セクターサイズを公開します/sys/block/sdX/queue/physical_block_size。ただし、最高のパフォーマンスを得るには、さまざまなサイズと測定値で少しテストを行う必要があります。 notfindaclearanswer 物理ブロックサイズを正確に使用する最適な結果が得られます(ただし、これは悪い選択ではないと思います)。

32
hlovdal
$ Sudo hdparm -I /dev/sda | grep -i physical
Physical Sector size:                  4096 bytes

http://wayback.archive.org/web/20150921015457/https://nxadm.wordpress.com/2010/04/30/4096-physical-block-size-drives/

29
Sepero

鉱山は完全な答えを意図したものではありませんが、それも役立つことを願っています。

これが http://mark.koli.ch/2009/05/howto-whole-disk-backups-with-dd-gzip-and-p7Zip.html からの小さなものです。


3-適切なブロックサイズを決定する

より迅速なバックアップの場合、バックアップするディスクデバイスの最適なブロックサイズを特定するのに役立ちます。/dev/sdaをバックアップする場合、fdiskコマンドを使用して最適なブロックサイズを決定する方法を次に示します。

rescuecd#/> /sbin/fdisk -l /dev/sda | grep Units

Units = cylinders of 16065 * 512 = 8225280 bytes

Fdiskの出力に「16065 * 512のシリンダー」と表示されていることに注意してください。これは、ディスク上のブロックごとに512バイトがあることを意味します。ブロックサイズを2〜4の倍数で増やすことにより、バックアップの速度を大幅に向上させることができます。この場合、最適なブロックサイズは1k(512 * 2)または2k(512 * 4)です。ところで、貪欲になり、5k(512 * 10)のブロックサイズまたは過度のブロックを使用しても効果はありません。 最終的にシステムはデバイス自体でボトルネックになり、バックアッププロセスから追加のパフォーマンスを絞り出すことができなくなります。(強調を追加)


データセットが巨大でない限り、特定の構成の最適に近いブロックサイズと最適なブロックサイズのパフォーマンスの違いは無視できると思います。実際、FixUnix(2007年からの投稿)のユーザーは、最適な時間は次善の時間よりも5%だけ速いと主張しました。 「クラスター」サイズまたはファイルシステムブロックサイズの倍数を使用することで、もう少し効率を上げることができます。

もちろん、最適なブロックサイズのどちらかの側に離れすぎると、問題が発生します。

最終的には、絶対的に最適なブロックサイズでパフォーマンスが約5%(つまり、1時間あたり3分)しか得られない可能性があるので、さらに調査する時間と労力を費やす価値があるかどうかを検討してください。 。極端な値から離れている限り、あなたは苦しむべきではありません。

7
Mark C

各ディスク転送は、プロセッサが処理する必要のある割り込みを生成します。典型的な50Mb/sディスクは、512bのブロックサイズで毎秒100000を生成する必要があります。通常のプロセッサは数万を処理するため、より大きな(2 ^ x)ブロックサイズがより便利です(デフォルトとして4k FS 64kまでのほとんどのシステムのブロックサイズISA DMA size)がより実用的です...

4
ZaB

さらに、lshwの出力を調べて他の結果を確認することもできます(また、ディストリビューションでhdparmを使用できないようになっているためです)。これにより、絞り込みに役立つ場合があります。

Sudo lshw | awk 'BEGIN {IGNORECASE=1;} /SCSI/,!//{print}'
1
Elliptical view