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セクターを使用するという考えを持っているようです。
mdadm
のmanページは、チャンクサイズと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面ミラーだから/ 2)
チャンクサイズはブロックサイズとは異なる概念ですか?
mdadm
explainをデバイスに許可しようとしています:
# 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
Mdデバイスのデフォルトmkfs.xfs
では、次のように報告されます。
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が現在のディスクでファームウェアを修正しました。
ストライピングがないため、チャンクサイズはraid1には適用されません。基本的に、ディスク全体は1つのチャンクです。つまり、4kの物理セクターサイズを気にする必要はありません。 mdadmの最近のバージョンでは、カーネルからの情報を使用して、データの先頭が4kb境界に揃えられていることを確認しています。 1.xメタデータ形式を使用していることを確認してください。