Ho un pool RAID1 ZFS con 2x mirror da 5 TB e 2x unità con mirroring da 1TB e voglio sostituire i due dispositivi da 1TB con quelli da 4TB. Da zpool add
è annullabile [1], è necessario distruggere la piscina dopo averla ricreata nel layout desiderato.
Perciò
- io
zpool detach
creato i dispositivi con mirroring e creato un nuovo pool con loro. - Dopo che i seguenti comandi non sono riusciti a causa di punti di mount sovrapposti, l'ho ri-importato e re-importato usando una radice alternativa
zpool import -R /mnt/data1
- Ho creato un'istantanea
migrate1
per essere in grado di correresudo zfs send -R data@migrate1 | sudo zfs receive -F data1
che è attualmente in corso.
Ora mi piacerebbe conoscere la procedura migliore dopo zfs send
tubo completato poiché nella mia comprensione devo ottenere la vecchia piscina data
montare su una radice alternativa e sul nuovo pool data1
senza una radice alternativa dopo il riavvio per poter eliminare il vecchio pool e rendere il suo dispositivo disponibile per il collegamento a quello nuovo. Forse c'è un altro modo.
Sto usando ZFS 0.7.0-182_gc0daec32f8 e SPL 0.7.0-20_g35a44fcb costruiti dal sorgente su Ubuntu 17.10 con Linux 4.13.0-16-generic.
Ho controllato
- Posso migrare in sicurezza un pool ZFS da FreeBSD a Ubuntu? che riguarda il formato Ubuntu vs. FreeBSD mentre io resto sulla stessa Ubuntu
- Migrare LVM a ZFS che non ha gli stessi problemi come i mount point sovrapposti e la necessità di
ALTROOT
So che questo è complicato e che non sarebbe male mantenere i dispositivi da 1TB all'interno del pool, ma questo non fa parte della domanda.
[1] Ho richiesto questo come problema ZFSOnLinux a https://github.com/zfsonlinux/zfs/issues/6857 che fornisce collegamenti con il piano / la roadmap complessi dietro