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).
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 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 :
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
I own a HP Proliant Micro Server Gen10.
And it run FreeNAS.
I put at the not deliverd CD device, a 250GB SSD for the system and 4 disks for the data. 2×3TB and 2×2TB. Perfect to make two differents zpool.
On day I decided to change the both 3TB disks by 2 6TB disks. Here is how-to make this change.
Hardware
In addition of the server and the disks I used a double devices dock station.
The process
This process cannot by made with the FreeNAS web interface. It’s better to use a
ssh
connexion of the shell acces from the admin tool of the FreeNAS interface.
Attach the new disks
Once the dock station is plug-in with the two disks, we use the command dmesg
to see them a have the devices names 3:
As you can see our new disks are in da0
and da1
.
Where gonna to make a 4 faces mirror.
The zpool status Pool
give use information about the existing mirror:
The gptid/<dummy_characters>
will be useful for the next step.
To add our new disks to the pool we use those commands:
zfs attach Pool gptid/<dummy_characters> /dev/da0
zfs attach Pool gptid/<dummy_characters> /dev/da1
As we can see on the next image, the resilver
process start. In fact it copy
the data from the 2 firsts disk of the mirroir to the 2 new disks:
This step could take a long time, be patient.
Once the reliver process is finished we can go to the next step.
Detach the old disks
We gonna use the FreeNAS we interface in order to detech the old disk form the mirror.4
On the storage part, click on the gear icon (⚙) the have a contextual menu and
choose status
.
At the end of each old disks of the mirror, click on the three verital dot (⋮)
in order to have another contextual menu and choose Detach
. There is no risk,
the new disks are in the mirror.
Removing the old disk
Once the old disk are not even part of the mirror, stop the server, and swap the new disks form the dock to the place of the old disks in the server. You can safelly restart the server, ZFS will find all the piece of the mirror.
To conclude
This manipulation is easy but must be made with method. You can make it with a one device only dock station, but it will be more difficult and take more time.
I recycled the old 3TB disks and replace the 2TB disks by them, using the same method.
-
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. ↩︎
-
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. ↩︎
-
Like you I did not like images for commands lines output. But there is not copy/paste to do and I did not think avout this article when I made this intervention. ↩︎
-
We use the FreeNAS web interface because FreeNAS use an internal database. It will be very dommageble to have a garbage database. ↩︎