ฉันได้ทำการโยกย้าย zfs raidz pool บน linux ไปยังดิสก์ใหม่ผ่านอุปกรณ์เสมือนซึ่งเป็นไฟล์ที่กระจัดกระจาย ฉันใช้พาร์ติชั่นบนแผ่นดิสก์เพราะแผ่นแต่ละแผ่นมีขนาดต่างกัน 1.9T ดิสก์สุดท้ายที่จะเพิ่มคือดิสก์ 4Tb และฉันแบ่งพาร์ติชันเป็นดิสก์อื่นที่มีพาร์ติชัน 1.9T เพื่อเพิ่มลงในพูล กำลังใช้ตารางพาร์ติชัน GPT เมื่อฉันพยายามแทนที่ไฟล์ล่าสุดด้วยพาร์ติชัน 1.9T ในดิสก์ 4T ฉันได้รับต่อไปนี้
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)