Après avoir longtemps testé (en VM) les différents cas de figures des péripéties d’un NAS, j’avais basculé mon NAS perso sous FreeNAS en 2018.
Deux ans plus tard, j’en suis toujours autant satisfait !
Par contre, un de mes disque (sur 4), donne déjà des signes de faiblesse. Ce disque est un Seagate de 2To, qui n’est plus sous garantie depuis 2016. Il avait déjà fait un tour en RMA en 2016 justement. Il m’aura tout de même fait 8 ans…
Je profite donc de cette panne pour écrire cet article sur comment changer un disque défectueux sous FreeNAS. Cela pourra servir à d’autres, et à moi même dans le futur, avec ma mémoire de poisson rouge !
Mon serveur, un proliant N40L, ne supportant pas le hotswap au niveau matériel, je n’ai pas pu tester cette procédure sans arrêt. Mais elle est possible si votre matériel le supporte.
La doc officielle est bien faite et traite le sujet: https://www.ixsystems.com/documentation/freenas/11.3-U4/storage.html#replacing-a-failed-disk
Heureusement, j’ai la « chance » d’avoir une panne gentille, qui prévient bien à l’avance :
Faut-il encore insister sur l’importance de bien configurer ces notifications ? Les recevoir par courriel est primordial dans ce genre de situation !
Désactiver le disque
Avant toute chose, il vaut mieux désactiver le disque en question. Il est possible si son état est vraiment catastrophique, que ce soit déjà fait par l’OS.
Dans mon cas il s’agit du disque ada2.
Pour cela, il faut aller dans « Storage » puis « Pools ».
Ensuite cliquer sur la roue dentée, puis sur « Status ».
S’affiche enfin l’état de nos RAID ZFS, avec les disques qui les composent.
Sur le menu de la ligne correspondant à mon disque ada2, je clique sur « Offline », et je confirme.
Voilà, mon RAIDZ1 est maintenant dégradé !
Changement du disque
Là je n’ai pas le choix, je dois arrêter le serveur.
Avant ça j’ai pris la peine de noter le numéro de série du disque, pour ne pas me tromper, ne connaissant pas le sens de numérotation…
Une fois le disque remplacé, le serveur peut être rallumé.
Remplacement du disque dans le RAID
Toujours au même endroit : « Storage » > « Pools » > « Status »
Le RAIDZ est toujours en mode dégradé.
Le disque HS, dans mon cas /dev/ada2, n’apparait plus. A la place un nouveau périphérique, avec juste un ID (dans mon cas un gptid). Dans le menu de ce nouveau disque, il faut choisir « Replace » pour le remettre dans le RAIDZ. Il me propose de prendre la place de l’ancien membre ada2. Je confirme.
Une fois cette opération de replacement du disque dans le RAIDZ, celui-ci va entamer sa reconstruction. Cette opération peut prendre du temps en fonction de la volumétrie, et de la vitesse de traitement de votre serveur. Le terme anglais pour cette phase s’appelle le « Resilvering »:
Dans mon cas j’ai dû attendre quelques heures. Le temps de re-re-re-revoir MadMax Furry Road par ex.
Une fois le « resilvering » terminé, le statut du pool RAIDZ repasse en vert. L’opération de remplacement du disque est terminée, tout a été fait via l’interface web d’administration, et ce en quelques minutes (hormis la reconstruction).