mdadm raid1 và những gì chunkize (hoặc chặn) trên các ổ đĩa 4k?


13

Tôi muốn sử dụng hai ổ đĩa 3 TB trong thiết lập mdadm raid1 (sử dụng Debian Sequeeze).

Các ổ đĩa sử dụng các lĩnh vực phần cứng 4k thay vì 512 byte truyền thống.

Tôi hơi bối rối vì một mặt kernel báo cáo:

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

Nhưng mặt khác fdiskbáo cáo:

# 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

Vì vậy, có vẻ như kernel có một số ý tưởng rằng ổ đĩa sử dụng các sector 4k.

Các mdadmtrang người đàn ông là một chút khó hiểu về kích thước đoạn và 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.

Tại sao nó không có ý nghĩa cho raid1?

Nhìn vào /proc/mdstat, thiết bị raid1 md8 có 2930265424 khối, tức là

3000591794176/2930265424/2 = 512

mdadmsử dụng sau đó một kích thước khối 512 byte? (/ 2 vì nó là gương hai chiều)

Và kích thước chunk là một khái niệm khác với kích thước khối?

Đang cố gắng mdadm giải thích một thiết bị:

# 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)

Ở đâu

3000591794176/5860530848 = 512

Với mặc định mkfs.xfstrên thiết bị md, nó báo cáo:

sectsz=512
bsize=4096

Tôi đã sửa lỗi này bằng một cuộc gọi của mkfs.xfs -s size=4096 /dev/md8

Chỉnh sửa: Kiểm tra một chút xung quanh tôi nhận thấy những điều sau đây:

Có vẻ như việc đồng bộ lại ban đầu được thực hiện với kích thước khối là 128k (chứ không phải 512 byte):

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.

Tốc độ được hiển thị thông qua /proc/mdstatphù hợp với kích thước khối đó (đối với 512byte, người ta sẽ mong đợi một cú đánh hiệu suất):

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

(Ví dụ: khi tắt bộ đệm ghi, tốc độ hiển thị ngay lập tức giảm xuống 18m / giây)

Bên dưới /systhực tế có một số tập tin liên quan hơn bên cạnh hw_sector_size:

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

Điều đó có nghĩa là ổ đĩa không nói dối với kernel về kích thước cung 4k của nó và kernel có hỗ trợ sector 4k (như đầu ra của fstab -lđề xuất).

Googling một chút xung quanh dẫn đến một vài báo cáo về các đĩa WD, không báo cáo kích thước 4k - may mắn thay, đĩa WD 3 TB này không làm điều đó - có lẽ WD đã sửa phần sụn của chúng bằng các đĩa hiện tại.

Câu trả lời:


16

Kích thước chunk không áp dụng cho raid1 vì không có dải; về cơ bản toàn bộ đĩa là một khối. Nói tóm lại, bạn không cần phải lo lắng về quy mô ngành vật lý 4k. Các phiên bản gần đây của mdadm sử dụng thông tin từ kernel để đảm bảo rằng phần bắt đầu của dữ liệu được căn chỉnh theo ranh giới 4kb. Chỉ cần đảm bảo rằng bạn đang sử dụng định dạng siêu dữ liệu 1.x.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.