Changer les disques d'un miroir ZFS/Changing disks of a ZFS mirror


un petit tuto/a small how-to

J’héberge un mini serveur HP Proliant Gen10.

J’ai mis à la place du lecteur de CD (non-fourni) un SSD de 250Go pour le système.

J’ai opté pour FreeNAS pour animer le tout.

Je ne vous parlerais pas de FreeNAS de ces possibilités, etc.

La genèse

J’avais, à l’origine, recyclé des disques de 3To et de 2 To. J’en avais 2 de chaque taille, parfait pour faire 2 zpools.

Et puis un jour, j’ai décidé de commander deux disques de 6To chacun (de marques différentes) pour remplacer les deux disques de 3To.

Le matériel

Outre les nouveaux disques et le serveur, j’ai eu besoin d’une station d’accueil double disques. J’ai choisi ce modèle, mais d’autres vous conviendrait peut-être mieux.

La procédure

Nous allons procéder par étape simple qui peuvent prendre du temps, la patience est donc votre amie.

Ajout des disques neufs

Nous allons, grâce à la station d’accueil, ajouter nos deux disques neufs au miroir déjà existant, dans mon cas le zpool Pool.

Ces manipulations ne peuvent de faire avec l’interface web de FreeNAS, il va falloir utiliser la ligne de commande. Je vous recommande la connexion ssh, même s’il est possible d’avoir un shell dans les outils d’administration de FreeNAS.

Une fois connecté, il est important de retrouver les disques ajoutés avec la commande dmesg (ceux qui sont dans la station d’accueil).

extrait de la sortie de dmesg1

Nos disques sont donc vu comme périphériques da0 et da1.

Il faut ensuite repérer le miroir auquel nous désirons ajouter ces disques. Avec la commande zpool status Pool, nous obtenons les informations nécessaires:

la commande zpool status Pool

La série de chiffres et de lettres qui commence par gptid est imporante, elle identifie le miroir et sera utile à la prochaine étape (elle dépend de votre installation).

Avec la commande zpool attach nous allons attacher les deux nouveaux disques à notre miroir existant, créant ainsi un miroir à quatre faces.

zpool attach Pool gptip/<série-étrange> /dev/da1
zpool attach Pool gptip/<série-étrang> /dev/da2

Commence alors la phase de resilver qui copie les données des deux premiers disques sur les nouveaux :

resilver en cours

  Cette phase peut-être longue, soyez patient

Détacher les anciens disques

Une fois le resilver terminé, nous allons pouvoir, avec l’interface web de FreeNAS2.

Nous allons déclarer les deux premiers disques du miroir à quatre faces comme détaché du miroir. Aucun risque de perte de données, il nous reste les 2 nouveaux disques dans le miroir.

Cela se fait dans la rubrique stockage. En cliquant sur le petit engrenage (⚙) on accède à un menu contextuel dans lequel on choisit le dernier item status.

À droite de ligne de chaque ancien disque on clique sur les trois points verticaux (⋮) pour faire apparaître un nouveau menu contextuel. On y choisit l’option Détacher.

Retirer physiquement les disques

Une fois l’opération terminée, vous pouvez éteindre votre NAS, la station d’accueil.

Il faut ensuite remplacer les anciens disques par ceux de la station d’accueil, refermer la boite et repartir. N’ayez pas d’inquiètude, ZFS saura retrouver ces petits et remonter le miroir.

Conclusion

Cette opération est simple et facile à réaliser, elle demande juste de la méthode. Elle est plus compliquée à faire avec une station d’accueil à un seul disque, mais c’est faisable.

Les deux anciens disques étant plus important que les deux disques de mon autre miroir, j’ai réalisé la même opération pour augmenter la taille de mon autre zpool


  1. Moi non plus je n’aime pas les images pour les résultats de ligne de commande, mais il n’y a rien à copier/coller et je n’ai pas pensé à la rédaction d’un article au moment où je faisais la manipulation. ↩︎

  2. Cela se fait avec l’interface web parce que FreeNAS utilise une base de données internes et qu’il serait dommange de mettre de la confusion dans cette base. ↩︎

powered by FreeBSD