Mdadm

mdadm raid1 和 4k 驅動器上的塊大小(或塊大小)?

  • July 19, 2014

我想在 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

在 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/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建議的輸出)。

Google搜尋一下導致了一些關於 WD 磁碟的報告,這些報告沒有報告 4k 大小 - 幸運的是這個 3 TB WD 磁碟沒有這樣做 - 也許 WD 用目前磁碟修復了他們的韌體。

塊大小不適用於 raid1,因為沒有條帶化;基本上整個磁碟是一個塊。簡而言之,您無需擔心 4k 物理扇區大小。最新版本的 mdadm 使用來自核心的資訊來確保數據的開頭與 4kb 邊界對齊。只要確保您使用的是 1.x 元數據格式。

引用自:https://unix.stackexchange.com/questions/13956