Ho letto un po 'e sembra che a ZFS non piaccia la rimozione dei dischi da array non ridondanti :
È possibile utilizzare il
zpool detach
comando per staccare un dispositivo da un pool di archiviazione con mirroring. Per esempio:# zpool detach zeepool c2t1d0
Tuttavia, questa operazione viene rifiutata se non ci sono altre repliche valide dei dati. Per esempio:
# zpool detach newpool c1t2d0 cannot detach c1t2d0: only applicable to mirror and replacing vdevs
Il problema di base è comprensibile: la rimozione dell'unica copia di un pezzo di dati (metadati o dati del payload) da un array renderebbe tali dati non disponibili.
Gli esempi per la sostituzione di dispositivi in un pool di archiviazione ZFS forniscono una descrizione passo-passo di base su come sostituire un dispositivo in un pool di archiviazione: offline il disco, rimuovere il disco, inserire il disco sostitutivo, eseguire zpool replace
per informare ZFS della modifica e online il disco. Ciò ovviamente richiede che l'array non dipenda dal disco che viene sostituito, quindi l'array deve avere ridondanza; se dipende dall'unità in questione, questo approccio presenta lo stesso problema di cui sopra.
Qual è il modo consigliato di sostituire un disco in un array ZFS non ridondante ?
Supponiamo che il disco esistente funzioni correttamente e supponiamo che il disco sostitutivo abbia almeno le stesse dimensioni del disco da sostituire. (Se il disco esistente non è riuscito, chiaramente tutto ciò che si potrebbe fare è aggiungere un nuovo disco e ripristinare tutti i file interessati dall'errore del disco dal backup.)