Linux에서 zfs raidz pool에 대한 파티션의 섹터 크기를 변경할 수 있습니까?


9

나는 희소 파일 인 가상 장치를 통해 리눅스의 zfs raidz 풀을 새로운 디스크로 마이그레이션하고 있습니다. 디스크의 크기가 각각 1.9T로 다르기 때문에 디스크의 파티션을 사용했습니다. 마지막으로 추가 할 디스크는 4Tb 디스크이며 풀에 추가 할 1.9T 파티션으로 다른 디스크로 분할했습니다. GPT 파티션 테이블을 사용하고 있습니다. 마지막 파일을 4T 디스크의 1.9T 파티션으로 바꾸려고하면 다음과 같은 결과가 나타납니다.

zpool replace -f zfs_raid /zfs_jbod/zfs_raid/zfs.2 /dev/sdd1 
cannot replace /zfs_jbod/zfs_raid/zfs.2 with /dev/sdd1: devices have different sector alignment

파티션 섹터 크기를 다른 섹터와 같이 512로 변경하거나 다른 풀 장치를 4024로 변경할 수없는 방법은 무엇입니까? 분명히 논리 섹터 크기는 모두 512입니다.

cat /sys/block/sdd/queue/hw_sector_size
Disk /dev/sdd: 4000.8 GB, 4000787030016 bytes, 7814037168 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 4096 bytes
I/O size (minimum/optimal): 4096 bytes / 4096 bytes

교체하려고하는 원래 4 번째 파일 기반 장치가 포함 된 디스크를 다시 분할했지만 작동하지 않아서 장치 파일을 다시 작성하여 현재 다시 은도금하고 있습니다.

zpool 상태 출력 :

NAME                            STATE     READ WRITE CKSUM
zfs_raid                        DEGRADED     0     0     0
  raidz1-0                      DEGRADED     0     0     0
    sda3                        ONLINE       0     0     0
    sdc2                        ONLINE       0     0     0
    sdb1                        ONLINE       0     0     0
    replacing-3                 OFFLINE      0     0     0
      /zfs_jbod/zfs_raid/zfs.2  OFFLINE      0     0     0
      /mnt/butter2/zfs.4        ONLINE       0     0     0  (resilvering)

대신 zfs는 zfs_raid <file> <device>를 연결할 수없고 동기화 후 zfs detach zfs_raid <file>
BitsOfNix

다섯 번째 장치를 연결하지 않으면 배열을 되돌릴 수 없게 확장합니까? 아니면 여분을 추가하는 것과 같은 것을 의미합니까?
barrymac

여분의 디스크를 추가하거나 새 디스크를 추가하지 않고 zpool attach pool old_device new_device를 수행하면 old_device를 new_device에 미러링 한 다음 resilver 후 old_device를 미러에서 분리합니다. docs.oracle.com/cd/E26502_01/html/E29007/ gayrd.html # scrolltoc <-첨부 / 분리 및 추가와 첨부의 차이점에 대한 정보.
BitsOfNix

불행히도 "/ dev / sdd1을 /zfs_jbod/zfs_raid/zfs.2에 연결할 수 없습니다 : 미러 및 최상위 디스크에만 연결할 수 있습니다"
barrymac

RAID 레이아웃을보기 위해 현재 zpool 상태 zfs_raid 출력을 넣을 수 있습니까?
BitsOfNix

답변:


4

필요한 옵션을 찾았습니다! 풀은 현재 다음 명령을 실행 한 후 새 파티션을 리 실버 링합니다.

 zpool replace  -o ashift=9 zfs_raid <virtual device> /dev/sdd1

이것이 가능하지만 4k 유형 드라이브를 512b로 작성하여 끔찍한 성능을 얻으므로 권장하지 않습니다. 나는 추가해야하는 어려운 방법을 배웠다

-o ashift=12 

생성 할 때 현재 4k 섹터 크기로 '이주'할 수 없으므로 나중에 다시 생성하지 않아도됩니다.

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