ZFS: essayer de supprimer le lecteur de niveau supérieur de Zpool

9

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
chronique
la source
1
Je crois comprendre que cela sdgfait 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 retirer sdgde la piscine. La seule façon de le récupérer est de copier vos données du storagepool 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.
Warwick
Tout ce que j'ai lu dans la documentation zfs disait qu'une bande ne pouvait pas pousser comme ça. En fait, les gens ont trouvé des choses assez intéressantes à faire pour que vous puissiez augmenter le même tableau.
chronique
Si je ne peux pas le supprimer, puis-je ajouter quelques disques supplémentaires et créer une autre bande à partir de sdg et des deux nouveaux disques?
chronique
Une fois que vous avez ajouté le lecteur au pool, vous ne pouvez pas le supprimer.
Demandez et apprenez le
Je ne sais pas avec certitude, mais je ne pense pas que vous puissiez ajouter quelques lecteurs supplémentaires et créer une autre bande à partir de sdg et des deux nouveaux lecteurs. Je crois que le sdg aurait dû être spécifié comme un volume agrégé avec les deux disques supplémentaires lors de l'ajout à la piscine. Il n'y a aucune zfs convertfonctionnalité.
Warwick

Réponses:

2

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.

Steve Wills
la source