mdadm raid1 및 4k 드라이브에서 어떤 청크 크기 (또는 블록 크기)?


13

mdadm raid1 설정에서 Debian Sequeeze를 사용하여 2 개의 3TB 드라이브를 사용하고 싶습니다.

드라이브는 기존의 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매뉴얼 페이지 청크 크기 및 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

mdadm512 바이트의 블록 크기를 사용 합니까 ? (양방향 거울이기 때문에 / 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 / 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 크기를보고하지 않습니다. 다행히도 3TB WD 디스크는 그렇게하지 않습니다. 아마도 WD는 펌웨어를 현재 디스크로 수정했을 것입니다.

답변:


16

스트라이핑이 없기 때문에 청크 크기는 raid1에 적용되지 않습니다. 본질적으로 전체 디스크는 하나의 청크입니다. 즉, 4k 물리 섹터 크기에 대해 걱정할 필요가 없습니다. 최신 버전의 mdadm은 커널의 정보를 사용하여 데이터 시작이 4kb 경계에 맞춰 지도록합니다. 1.x 메타 데이터 형식을 사용하고 있는지 확인하십시오.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.