Ich habe einen zfs-raidz-Pool unter Linux über virtuelle Geräte, bei denen es sich um spärliche Dateien handelte, auf neue Datenträger migriert. Ich habe Partitionen auf den Discs verwendet, da die Discs unterschiedliche Größen von jeweils 1,9 t haben. Die letzte hinzuzufügende Disc ist eine 4-TB-Disc, und ich habe sie wie die anderen mit einer 1,9-TB-Partition partitioniert, um sie dem Pool hinzuzufügen. Es wird eine GPT-Partitionstabelle verwendet. Wenn ich versuche, die letzte Datei durch die 1.9T-Partition auf der 4T-Disc zu ersetzen, wird Folgendes angezeigt
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
Wie kann ich die Größe des Partitionssektors wie die anderen auf 512 ändern oder andernfalls die anderen Poolgeräte auf 4024 ändern? Anscheinend sind die logischen Sektorgrößen alle 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
Da ich die Disc neu partitioniert habe, die das ursprüngliche 4-Datei-basierte Gerät enthielt, das ich ersetzen möchte, aber nicht funktioniert hat, habe ich die Gerätedatei neu erstellt, sodass sie derzeit stabilisiert wird.
Ausgabe des Zpool-Status:
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)