mdadm raid1および4kドライブのブロックサイズ(またはブロックサイズ)はいくらですか?

mdadm raid1および4kドライブのブロックサイズ(またはブロックサイズ)はいくらですか?

mdadm raid1設定(Debian Sequeezeを使用)で2つの3TBドライブを使用したいと思います。

これらのドライブは、従来の512バイトセクタの代わりに4kハードウェアセクタを使用します。

一方では、カーネルが次のように報告しているので、私は少し混乱しています。

$ cat /sys/block/sdb/queue/hw_sector_size
512

しかし、一方、fdisk報告書は次のように述べた。

# fdisk -l /dev/sdb
Disk /dev/sdb: 3000.6 GB, 3000592982016 bytes
255 heads, 63 sectors/track, 364801 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Sector size (logical/physical): 512 bytes / 4096 bytes
I/O size (minimum/optimal): 4096 bytes / 4096 bytes

そのため、カーネルはドライブが4kセクターを使用していることを知っているようです。

マニュアルmdadmページは、ブロックサイズとraid1に対して少し秘密です。

   -c, --chunk=
          Specify chunk size of kibibytes.  The default when  creating  an
          array  is 512KB.  To ensure compatibility with earlier versions,
          the default when Building and array with no persistent  metadata
          is  64KB.   This  is  only  meaningful  for RAID0, RAID4, RAID5,
          RAID6, and RAID10.

raid1にはなぜ意味がありませんか?

/proc/mdstat、 raid1 デバイス md8 には 2930265424 ブロックがあります。つまり

3000591794176/2930265424/2 = 512

mdadmそれでは、512バイトのブロックサイズを使用する必要がありますか? (双方向ミラーなので/2)

ブロックサイズとブロックサイズは異なる概念ですか?

許可しようmdadm 説明するデバイス:

# mdadm -E /dev/sdb -v -v
Avail Dev Size : 5860531120 (2794.52 GiB 3000.59 GB)
Array Size : 5860530848 (2794.52 GiB 3000.59 GB)

どこ

3000591794176/5860530848 = 512

mkfs.xfsデフォルトでは、MDデバイスは以下を報告します。

sectsz=512
bsize=4096

電話して問題を解決しました。mkfs.xfs -s size=4096 /dev/md8

編集する:いくつかのテストを行った後、次のことがわかりました。

初期再同期は、512バイトではなく128kのブロックサイズを使用して行われたようです。

md: resync of RAID array md8
md: minimum _guaranteed_  speed: 1000 KB/sec/disk.
md: using maximum available idle IO bandwidth (but not more than 200000 KB/sec) for resync.
md: using 128k window, over a total of 2930265424 blocks.

表示された速度は/proc/mdstatこのブロックサイズに対して一貫しています(512バイトの場合、パフォーマンスの低下が予想されます)。

[>....................]  resync =  3.0% (90510912/2930265424) finish=381.1min speed=124166K/sec

(たとえば、書き込みキャッシュを無効にすると、表示される速度は直ちに18m /秒に低下します。)

それに加えて、/sys実際には以下にもっと関連文書がありますhw_sector_size

# cat /sys/block/sdb/queue/physical_block_size
4096
# cat  /sys/block/sdb/queue/logical_block_size
512

これは、ドライバが4kセクタサイズに関してカーネルに嘘をつかず、カーネルがいくつかの4kセクタサポートを持っていることを意味します(fstab -l出力で提案されています)。

インターネット検索では、4kサイズを報告していないWDディスクに関するいくつかのレポートが表示されました。幸いなことに、この3TB WDディスクはそうしませんでした。おそらく、WDが現在のディスクのファームウェアを修正した可能性があります。

ベストアンサー1

デフォルトでは、ディスク全体が1つのブロックなので、ブロックサイズはraid1では機能しません。つまり、4k物理セクタサイズについて心配する必要はありません。最新バージョンの mdadm では、カーネルの情報を使用して、データの先頭が 4kb 境界に揃うようにします。 1.xメタデータ形式を使用していることを確認してください。

おすすめ記事