mdadm raid1 以及 4k 驱动器上的块大小(或块大小)是多少?

mdadm raid1 以及 4k 驱动器上的块大小(或块大小)是多少?

我想在 mdadm raid1 设置中使用两个 3 TB 驱动器(使用 Debian Sequeeze)。

这些驱动器使用 4k 硬件扇区,而不是传统的 512 字节扇区。

我有点困惑,因为一方面内核报告:

$ 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

编辑:经过一番测试,我注意到以下几点:

看起来初始重新同步是使用 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/sec)

除此之外,下面/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建议的输出)。

谷歌搜索了一下,发现了一些关于 WD 磁盘的报告,这些报告没有报告 4k 大小 - 幸运的是,这个 3 TB WD 磁盘没有这样做 - 也许 WD 修复了当前磁盘的固件。

答案1

块大小不适用于 raid1,因为没有条带化;本质上整个磁盘就是一个块。简而言之,您无需担心 4k 物理扇区大小。 mdadm 的最新版本使用来自内核的信息来确保数据的开头与 4kb 边界对齐。只需确保您使用的是 1.x 元数据格式。

相关内容