mdadm raid1と4kドライブのチャンクサイズ(またはブロックサイズ)は?


13

mdadm raid1セットアップで2つの3 TBドライブを使用したい(Debian Sequeezeを使用)。

ドライブは、従来の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セクターを使用しているという考えを持っているようです。

mdadmmanページには、チャンクサイズと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.xfsmdデバイスのデフォルトでは、以下を報告します。

sectsz=512
bsize=4096

の呼び出しでこれを修正しました mkfs.xfs -s size=4096 /dev/md8

編集:少しテストして、次のことに気付きました:

最初の再同期は、ブロックサイズ128k(512バイトではない)で行われているようです:

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セクターサイズについてカーネルに嘘をつかず、カーネルが(fstab -l提案の出力として)いくつかの4kセクターをサポートしていることを意味します。

少しグーグルすると、WDディスクに関するいくつかのレポートが生成されましたが、4kサイズをレポートしません-幸い、この3 TB WDディスクはそれを行いません-おそらくWDは現在のディスクでファームウェアを修正しました。

回答:


16

ストライピングがないため、チャンクサイズはraid1には適用されません。基本的に、ディスク全体が1つのチャンクです。つまり、4kの物理セクターサイズを心配する必要はありません。mdadmの最近のバージョンは、カーネルからの情報を使用して、データの開始が4kb境界に揃えられていることを確認します。1.xメタデータ形式を使用していることを確認してください。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.