Mon système Ubuntu 12.04 a deux zpools: rpool (contenant le système de fichiers racine) et rdata (contenant toutes les autres données). rdata était à l'origine 2 disques de 1 To en miroir.
Comme je ne pouvais pas mettre à niveau rdata vers des disques de 3 To (ashift erroné), j'ai dû créer un nouveau zpool à partir des nouveaux disques de 3 To: initialement appelé datapool. J'ai ensuite synchronisé toutes les données, exporté rdata, importé datapool en tant que rdata et Bob est votre oncle. J'ai ensuite éteint et enlevé les anciens disques. Toutefois...
À la mise sous tension, le statut de zpool indique
pool: rdata
state: UNAVAIL
status: One or more devices could not be used because the label is missing
or invalid. There are insufficient replicas for the pool to continue
functioning.
action: Destroy and re-create the pool from
a backup source.
see: http://zfsonlinux.org/msg/ZFS-8000-5E
scan: none requested
config:
NAME STATE READ WRITE CKSUM
rdata UNAVAIL 0 0 0 insufficient replicas
mirror-0 UNAVAIL 0 0 0 insufficient replicas
scsi-SATA_WDC_WD10EADS-00_WD-WCAU47275172-part1 UNAVAIL 0 0 0
scsi-SATA_WDC_WD10EADS-00_WD-WCAU47283913-part1 UNAVAIL 0 0 0
pool: rpool
state: ONLINE
scan: scrub repaired 0 in 0h23m with 0 errors on Tue Jun 4 11:33:29 2013
config:
NAME STATE READ WRITE CKSUM
rpool ONLINE 0 0 0
ata-Maxtor_6Y120L0_Y31J3CLE-part2 ONLINE 0 0 0
errors: No known data errors
Comme vous pouvez le constater, l’état de zpool affiche toujours l’ancienne rdata; qui n'est pas disponible.
spectacles d'importation zpool
pool: rdata
id: 7033445233439275442
state: ONLINE
action: The pool can be imported using its name or numeric identifier.
config:
rdata ONLINE
mirror-0 ONLINE
scsi-SATA_ST3000DM001-1CH_W1F1EE1G ONLINE
scsi-SATA_ST3000DM001-1CH_W1F25SE2 ONLINE
C'est la bonne rdata
Question: Comment faire que Ubuntu oublie tout le vieil zpool?
Sudo zpool destroy rdata
va détruire l'ancienne piscine (vous aurez peut-être besoin de -f pour forcer).
Sudo zpool export rdata
va déconnecter la piscine.
Sudo zpool import 7033445233439275442
importera le nouveau pool. Vous devez utiliser le numéro d'identification, car il existe deux pools "rdata".
Comme vous utilisez une racine ZFS, il ne vous reste plus qu'à reconstruire initramfs pour mettre à jour les pools:
Sudo update-initramfs -c -k all
Sudo update-grub
Redémarrez et tout va bien. :)