Qnap [Mémo] Remplacement d'un disque dans un RAID0 / Qtier sur NAS QNAP

EVO

Administreur
Membre du personnel
25 Novembre 2019
8 258
1 581
278
/var/run/docker.sock
[Mémo] Remplacement d'un disque dans un RAID0 / Qtier sur NAS QNAP


Mise en situation :
Dans un NAS à 4 baies, j'ai actuellement 2 disques avec la technologie Qtier de QNAP. Un SSD et un HDD.

Les deux sont en "Single" donc, mais dans le pool de stockage. Si un disque "disparait" c'est l'ensemble du pool qui est perdu.

1708549631938.png

Le disque de 4To est problématique, et je souhaite le remplacer. Seulement, si je remplace mon disque de 4To, je suis bon pour supprimer mon pool, et le re-créer et donc devoir ensuite recharger ma sauvegarde dans le NAS, réinstaller, les applications ( car c'est aussi le pool de mon volume systeme ), ...

Voici donc des notes sur comment remplacer un HDD sans casser le pool.

ATTENTION : Ce mémo n'est là que à titre informatif. Cela ne dispense pas d'avoir une bonne sauvegarde, dont on aura controlé sa fiabilité avant de manipuler le stockage du NAS.

J'ai donc inséré mon nouveau disque de 4To dans la baie 3 de mon NAS.

Il faut identifier les volumes présents sur votre pool. Dans mon cas, j'ai deux volumes, un de 250 Go, et un de 1To. En SSH, avec la commande pvs -a on peux voir qu'il s'agit dans mon cas de lv1 et lv2 :
1708549991065.png

Aussi, on voit qu'ils appartiennent au VG1.
Avant de cloner un disque, il faut s'assurer qu'il n'y a plus d'activité dessus, et qu'il est "démonté", je vais donc supprimer la configuration des volumes avec la commandes suivantes :
Code:
rmcfg LV_1 -f /etc/config/qlvm.conf

Code:
rmcfg LV_2 -f /etc/config/qlvm.conf
/!\ LV_1 et LV_2 sont donc à remplacer par les numéro de vos volumes s'ils sont différents !

A partir de là, je redémarre le NAS, le NAS va redémarrer mais sans les volumes, car la configuration ne sera plus présente.

Avec la commande qcli_storage -d on peux voir /dev/sdb qui est le SSD de mon pool, /dev/sdc qui est le HDD de mon pool, et /dev/sda qui est le HDD qui doit venir remplacer /dev/sdc

1708550564343.png

Avec la commande md_checker, on peux voir que les deux groupes RAID ( il faut comprendre que meme en cas de disque unique, il s'agit de groupe RAID a 1 disque pour QTS ) qui composent mon pool sont encore actif ( ONLINE ).

Je désactive le pool :

Code:
vgchange -an vg1
/!\ vg1 est à remplacer si le votre est différent !

Puis pour savoir quelle ressource utilise md1 et md2 qui sont des deux groupes RAID composant mon pool, je fait : drbdsetup show all
1708550905488.png

Je vois donc qu'il s'agit de r1 et r2, j'execute la commandes suivantes pour les désactiver :
Code:
drbdsetup down r1
Code:
drbdsetup down r2
/!\ r1 et r2 sont à remplacer si c'est différent chez vous.

Puis je stop les RAID :
Code:
mdadm -S /dev/md1
Code:
mdadm -S /dev/md2
/!\ md1 et md2 sont à remplacer si c'est différent chez vous.

A partir de la, tout est OFFLINE :
1708551055809.png

Nous allons maintenant cloner le disque /dev/sdc problématique, vers mon disque /dev/sda

Connectez vous en SFTP, par exemple avec WinSCP à votre NAS, et placer l'utilitaire ddrescue dans le répertoire /tmp.
Vous pouvez le recupérer ici : https://www.swisstransfer.com/d/c63bcf2c-b330-4a59-afe8-4193493943ea

Parmi les 3 fichiers choisissez celui qui correspond le mieux a l'architecture CPU de votre NAS.

En SSH :
Placer vous dans le répertoire /tmp :
Code:
cd /tmp
Décompresser l'archive :
Code:
tar zxf ddrescue-1.26-x86_64.tar.gz
( le nom de l'archive peut etre différent si vous avez par exemple un cpu x86 qui n'est pas 64bits )

Comme on la vu plus haut, je souhaite remplacer /dev/sdc par /dev/sda donc j'execute la commande suivante :
Code:
./ddrescue --force --direct -v /dev/sdc /dev/sda /tmp/ddrescue1.log &
A adapter suivant votre cas bien sur !

Reste a attendre la fin ...
1708551198681.png

Quand cela indique FINISH, vous pouvez continuer la suite :

Télécharger l'utilitaire qck :
Code:
wget http://download.qnap.com/Storage/tsd/utility/qck

Rendez le executable :
Code:
chmod +x qck

Restaurer la configuration :
Code:
./qck restore_conf[CODE]

[CODE]cp /mnt/HDA_ROOT/.conf_restore /mnt/HDA_ROOT/.conf

Arreter le NAS ( appuyer sur le bouton pour demander l'arret, ou depuis l'interface )

Sortez le disque que vous souhaitez remplacer, et placer le disque "cloner" dans la baie du disque d'origine.

Allumez le NAS

Une fois que l'interface est disponible, le pool doit etre au vert mais sans volume.
En SSH, executer la commande suivante pour rétablir la configuration des volumes :

Code:
/etc/init.d/init_lvm.sh

1708551436222.png
 
Dernière édition:
  • J'adore
Réactions: Neo974
Bonjour,

Merci pour ce tutoriel qui je suis sur aidera plusieurs personnes.
Deux questions : 1 cela peut fonctionner avec n'importe quel disque dans un groupe raid 0 du moment que l'on a un emplacement de libre pour le nouveau disque ( par exemple un raid 0 avec 3 disque)?

2 les dock usb avec fonction de colonnage de disques peuvent t'il faire le job ? ( ou un logiciel type acronis?)
 
1 cela peut fonctionner avec n'importe quel disque dans un groupe raid 0 du moment que l'on a un emplacement de libre pour le nouveau disque ( par exemple un raid 0 avec 3 disque)?
Oui, c'est a adapter bien sur, car cela ne sera pas strictement identique, mais la procédure est la même. C'est aussi possible de reprendre la même technique, et de le faire avec le nouveau disque en USB via un adaptateur/dock. Ou meme carrément depuis une autre machine ou un dock de clonage ( du moment qu'il fait du bit a bit ).

Cependant petite ( ) sur le dock de clonage, dans le cas du remplacement d'un disque "malade" c'est souvent un échec, car contrairement a ddrescue qui "zappe" les secteurs problématique, puis les re-essaye plus tard, souvent le dock de clonage lui arrête le clonage en plein processus.


les dock usb avec fonction de colonnage de disques peuvent t'il faire le job ? ( ou un logiciel type acronis?)
Voir note juste au dessus sur le dock de clonage.

Aussi, si le disque est cloner hors nas, il n'y a pas besoin d’arrêter le volume et le RAID, puisque de toutes façon on va faire cela NAS a l’arrêt ! Dans ce cas, il faut avant de sortir le disque pour le cloner, commencer le tuto par la réinitialisation de la configuration via qck :

"Télécharger l'utilitaire qck :"
[ ... ]
Puis on arrête le NAS comme indiqué
et la a l'étape :
"Sortez le disque que vous souhaitez remplacer, et placer le disque "cloner" dans la baie du disque d'origine."

On fait ceci : on sort le disque a cloner, on le clone ( avec l'aide d'un autre PC, d'un dock, ... ) , puis on place le clone dans l'emplacement d'origine.

On allume le NAS

et on régenère la configuration des volumes : /etc/init.d/init_lvm.sh
 
  • J'adore
Réactions: Neo974