J'ai un zpool appelé stockage qui contient un tableau raidz1 à cinq périphériques.
Aujourd'hui, je suis allé acheter un autre appareil de 3 To et je l'ai mis dans mon boîtier. Cependant, au lieu de créer un nouveau pool et d'y ajouter ce périphérique, j'ai fait une erreur et l'ai ajouté à mon pool de stockage existant.
Maintenant, j'ai un appareil de niveau supérieur que je veux supprimer appelé sdg
(c'est le nouveau lecteur). Chaque fois que j'essaie de le supprimer, j'obtiens:
cannot remove sdg: only inactive hot spares, cache, top-level, or log devices can be removed.
Alors, comment puis-je supprimer cet appareil maintenant? Si cet appareil tombe en panne, l'intégralité de mon pool sera indisponible. Je pense que je devrais acheter un autre lecteur et au moins il sera reflété, mais je ne peux pas croire qu'il n'y ait pas de bonne façon de le faire.
Ceci est mon vidage de statut:
pool: storage
state: ONLINE
scan: scrub canceled on Wed Jul 23 17:26:08 2014
config:
NAME STATE READ WRITE CKSUM
storage ONLINE 0 0 0
raidz1-0 ONLINE 0 0 0
ata-ST3000DM001-1CH166_Z1F1PYM6 ONLINE 0 0 0
ata-ST3000DM001-1CH166_W1F24CSC ONLINE 0 0 0
ata-ST3000DM001-1CH166_W1F2372R ONLINE 0 0 0
ata-ST3000DM001-1CH166_W1F24BTK ONLINE 0 0 0
ata-ST3000DM001-1CH166_Z1F2KKLW ONLINE 0 0 0
sdg ONLINE 0 0 0
errors: No known data errors
sdg
fait maintenant partie du pool de stockage rayé. Étant donné que la piscine est agrégée par bandes plutôt que mise en miroir, il est impossible de la retirersdg
de la piscine. La seule façon de le récupérer est de copier vos données dustorage
pool vers un autre appareil, de détruire le pool et de le recréer sans sdg. Ensuite, créez un nouveau pool pour sdg pour faire ce que vous vouliez utiliser.zfs convert
fonctionnalité.Réponses:
Malheureusement, la suppression d'un vdev (qui est ce lecteur) d'un pool n'est pas actuellement prise en charge par ZFS (mais des travaux sont en cours pour le prendre en charge). La solution consiste à vider vos données du pool et à les recréer, puis à les remettre.
la source