GNU/Linux >> Tutoriels Linux >  >> Debian

Extension d'un RAID logiciel sur Debian en migrant vers de nouveaux disques durs volumineux

La configuration : deux disques physiques d'un RAID 1 (miroir) seront remplacés par deux disques plus volumineux, nous effectuerons un remplacement "à chaud" directement à partir du système d'exploitation en cours d'exécution, sans qu'il soit nécessaire de démarrer à partir d'un support de démarrage externe. Ce guide a été testé sur les distributions Debian 6, 7, 8 32 et 64 bits.

Nous supposons que les deux disques sont partitionnés avec une partition racine et une partition d'échange et que ces deux partitions constituent les deux périphériques RAID md0 et md1 :

  • Les partitions sda1 et sdb1 qui composent le volume md0 (racine)
  • Les partitions sda2 et sdb2 qui composent le volume md1 (swap)

Tout d'abord, faites une sauvegarde de toutes vos données, même si le guide a été testé plusieurs fois, la malchance est toujours là... Nous fournissons (à mon avis, la meilleure solution) pour un remplacement, nous déconnectons l'un des deux anciens disques avec la machine éteinte, puis connectez un nouveau disque temporaire, puis resynchronisez, nous aurons donc toujours le fonctionnement RAID et un seul disque (avec RAID en mode dégradé) et vous pouvez toujours recréer un RAID fonctionnel si quelque chose ne fonctionne pas. Pour ce faire, tapez simplement ces commandes après avoir remplacé le lecteur plein par celui vide :

sfdisk -d /dev/hd source | sfdisk —force /dev/hd vide
mdadm —zero-superblock /dev/hd vide
mdadm —add /dev/md(raid) /dev/hd(vide)

Répétez les deux dernières lignes pour chaque RAID/partition du système

(par exemple : 

mdadm -add /dev/md0 /dev/sdb1 

alors 

mdadm -add /dev/md1 /dev/sdb2

etc..

De cette façon, nous avons forcé la table de partition du lecteur source vers la cible vide, puis l'avons ajoutée au RAID.

Il faut évidemment attendre la fin du processus de reconstruction, suivi par :

regarder chat / pro / mdstat

(Et bien sûr CTRL + C pour quitter le processus)

Arrêtez la machine à ce stade, nous ajoutons deux nouveaux disques, qui deviennent respectivement sdc et sdd, puis démarrons le serveur et lançons la commande :

fdisk -l

Le résultat devrait ressembler à ceci :

Disque /dev/sda :……Mo , ………….Bytes
… têtes, …secteurs/pistes , ….. cylindres
Taille d'E/S (minimale/optimale) :512 octets / 512 octets
Disque :identifiant :………..
 
Démarrage de l'appareil, identifiant de fin de bloc   Système
/dev/sda2       970          1044 602437+ fd   Détection automatique des raids Linux
/dev/sda2           1 969 7783461 fd   Détection automatique des raids Linux 
……
/dev/sdb1     *       1 969 7783461 fd   Détection automatique des raids Linux 
/dev/sdb2           970       1044 602437+ fd   Détection automatique des raids Linux 
……
Disque /dev/sdc :…Mo, …….Octets
……
Disque /dev/sdd :…Mb, …….Bytes
……
Disque /dev/md0 :…Mo, …….Octets
…...
Disque /dev/md1 :…Mo, …….Octets

Maintenant, tapez :

fdisk /dev/sdc

nous créons une nouvelle partition avec le n commande,

nous sélectionnons p partition principale,

nous sélectionnons le numéro de partition (1 ,2,3,etc...),

nous sélectionnons le cylindre de départ (1 ),

on sélectionne la taille de la partition primaire en tapant le + symbole suivi de la taille en Go et Go à partir de lettres (par exemple :+480 Go )

nous le rendons amorçable avec la commande a , en sélectionnant le même nombre de partitions.

nous changeons l'ID de la partition dans "fd " (Linux Raid Autodetect) avec t , et en écrivant sous forme de code hexadécimal, juste "fd "

Ensuite, nous répétons TOUTES les commandes pour la deuxième partition (la partition sera le swap).

Nous enregistrerons les modifications avec w.

Bien évidemment, faites attention à la taille des cloisons. La meilleure solution consiste à soustraire la taille d'échange actuelle du total de l'espace libre pour créer la partition de travail avec l'espace le plus large possible.

Nous allons maintenant effectuer exactement les mêmes opérations sur le lecteur SDD, en veillant à créer la même partition avec les mêmes tailles que celles que nous avons utilisées précédemment.

À ce stade, nous effectuons un échange entre le premier disque "plein" et le premier nouveau disque, en ajoutant ce dernier comme réserve au RAID :

mdadm -add /dev/md0 /dev/sdc1

Ensuite, nous devrions vérifier la situation du disque RAID, cela devrait ressembler à ceci :

md0 :raid actif 1 sdc1[S] sda1[2] sdb1[3]
 ………bloque super 1.2 [2/2] [UU]

Ensuite, nous insérons le lecteur d'origine :

mdadm -f /dev/md0 /dev/sda1

et supprimez-le du RAID :

mdadm -r /dev/md0 /dev/sda1

Maintenant, nous vérifions que la reconstruction a démarré automatiquement et attendons qu'elle soit terminée en surveillant à nouveau avec :

regarder le chat /proc/mdstat

(Et bien sûr CTRL + C pour quitter le processus)

A la fin on installe le bootloader (grub) sur le nouveau disque (/dev/sdc):

grub-install /dev/sdc

Il suffit de répéter le même processus pour chacune des partitions système :

mdadm -add /dev/md0 /dev/sdd1
mdadm -f /dev/md0 /dev/sdb1
mdadm -r /dev/md0 /dev/sdb1

Et nous attendons encore que la reconstruction soit terminée :

regarder le chat /proc/mdstat

(Et bien sûr CTRL + C pour quitter le processus)

Procédez ensuite de la même manière pour la première partition swap de deux nouveaux disques :

mdadm -add /dev/md1 /dev/sdc2
mdadm -f /dev/md0 /dev/sda2
mdadm -r /dev/md0 /dev/sda2

Attendez encore jusqu'à ce qu'il ait terminé la reconstruction :

regarder le chat /proc/mdstat

(Et bien sûr CTRL + C pour quitter le processus)

Et le dernier disque :

mdadm -add /dev/md1 /dev/sdd2
mdadm -f /dev/md0 /dev/sdb2
mdadm -r /dev/md0 /dev/sdb2

Attendez encore jusqu'à ce qu'il ait terminé la reconstruction :

regarder le chat /proc/mdstat

(Et bien sûr CTRL + C pour quitter le processus)

À ce stade, réinstallez le chargeur de démarrage sur les deux disques :

grub-install /dev/sdc
grub-install /dev/sdd

À ce stade, nous nous retrouvons avec l'ancien disque expulsé du RAID, et les nouveaux disques sont installés et opérationnels. Mais avec l'espace utilisable en dessous du maximum autorisé par la partition

Ensuite, nous procédons à l'agrandissement de la partition et à sa vérification, comme d'habitude pour les deux volumes :

mdadm —grow —raid-devices=2 /dev/md0
mdadm -A —scan
mdadm —grow /dev/md0 —size=max
mdadm —examine —scan
e2fsck -f /dev(md0
resize2fs /dev/md0

mdadm —grow —raid-devices=2 /dev/md1
mdadm -A —scan
mdadm —grow /dev/md1 —size=max
mdadm —examine —scan
e2fsck -f /dev/md1
resize2fs /dev/md1

Lorsque vous avez terminé, éteignez le PC, dissociez les anciens disques et redémarrez la machine.

Même si le redémarrage fonctionnait, nous reconstruisons le grub pour des raisons de sécurité puisque le lancement du nouveau disque aura pris le nom de l'ancien (sda et sdb) :

mv /boot/grub/device.map/boot/grub/device.map.old
grub-mkdevicemap
update-grub2 &&grub-install /dev/sda &&grub-install /dev/sdb

Si vous voulez être absolument sûr que la nouvelle configuration RAID fonctionne, éteignez la machine, déconnectez l'un des nouveaux disques et recommencez. Il devrait démarrer sans problème. Ensuite, éteignez à nouveau, connectez le lecteur et démarrez. Vous pouvez utiliser cette commande pour vérifier l'état du raid.

regarder le chat /proc/mdstat

(Et bien sûr CTRL + C pour quitter le processus)

Nous avons terminé le travail, nous célébrons .


Debian
  1. Sortie de Debian 10 (Buster) – Nouvelles fonctionnalités

  2. Sortie de Debian 8 Jessie – Quoi de neuf ?

  3. Installation de GRUB2 sur le logiciel mdadm Raid dans Debian Wheezy/Jessie

  4. Debian – Les disques durs tournent par des processus/applications qui obtiennent simplement une liste de disques ? Comment empêcher?

  5. Comment déplacer un RAID logiciel Linux vers une nouvelle machine ?

Comment installer le logiciel de synchronisation de fichiers à distance Syncthing sur Debian 11

Installer et configurer le logiciel de surveillance Monitorix sur Debian 10

Comment installer le logiciel de contrôle parental CTparental sur Debian 10

Comment installer un logiciel via Flatpak sur Debian 10

Comment installer le logiciel d'enregistrement d'écran OBS sur Debian 10

Quoi de neuf dans Debian 11 « Bullseye »