J'ai migré un pool zfs raidz sous Linux vers de nouveaux disques via des périphériques virtuels qui étaient des fichiers épars. J'ai utilisé des partitions sur les disques car les disques sont de tailles différentes de 1,9T chacun. Le dernier disque à ajouter est un disque de 4 To et je l'ai partitionné comme les autres avec une partition de 1,9 To à ajouter au pool. Il utilise une table de partition GPT. Lorsque j'essaie de remplacer le dernier fichier par la partition 1.9T sur le disque 4T, j'obtiens ce qui suit
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
Comment puis-je changer la taille du secteur de partition à 512 comme les autres, ou à défaut, est-il possible de changer les autres périphériques de pool en 4024? Apparemment, les tailles de secteurs logiques sont toutes 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
Comme j'ai repartitionné le disque qui contenait le 4ème périphérique basé sur le fichier d'origine que j'essaie de remplacer mais cela n'a pas fonctionné, j'ai recréé le fichier du périphérique donc il est en train de le resilver.
sortie d'état 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)