Retirer le disque du RAID logiciel


11

J'ai un serveur dédié avec 3 disques SSD en RAID 1. Sortie de cat / proc / mdstat:

    Personalities : [raid1] [linear] [multipath] [raid0] [raid6] [raid5] [raid4] [raid10] 
md4 : active raid1 sdc4[2] sdb4[1] sda4[0]
      106738624 blocks [3/3] [UUU]
      bitmap: 0/1 pages [0KB], 65536KB chunk

md2 : active raid1 sdc2[2] sda2[0] sdb2[1]
      5497792 blocks [3/3] [UUU]

md1 : active raid1 sda1[0] sdc1[2] sdb1[1]
      259008 blocks [3/3] [UUU]

unused devices: <none>

¿Comment un lecteur peut-il être retiré en toute sécurité du raid logiciel sans perdre de données? Je souhaite supprimer un lecteur de la baie afin de le reformater et de l'utiliser de manière indépendante, tout en conservant les données les plus importantes en miroir.

Merci d'avance

Réponses:


19

Vous avez là un miroir à trois voies: chaque disque a une copie complète de toutes les données. En supposant que le lecteur que vous voulez supprimer est /dev/sdc, et que vous voulez le retirer de tous les trois tableaux, vous souhaitez effectuer les étapes suivantes pour /dev/sdc1, /dev/sdc2et /dev/sdc4.

Étape 1: retirez le lecteur de la baie. Vous ne pouvez pas supprimer un périphérique actif d'une baie, vous devez donc d'abord le marquer comme ayant échoué.

mdadm /dev/md1 --fail /dev/sdc1
mdadm /dev/md1 --remove /dev/sdc1

Étape 2: effacez les métadonnées RAID afin que le noyau n'essaye pas de les rajouter:

wipefs -a /dev/sdc1

Étape 3: rétrécissez la baie de sorte qu'elle ne soit qu'un miroir bidirectionnel, pas un miroir tridirectionnel avec un lecteur manquant:

mdadm --grow /dev/md1 --raid-devices=2

Vous devrez peut-être supprimer le bitmap à intention d'écriture /dev/md4avant de le réduire (le manuel n'est pas clair à ce sujet), auquel cas vous le feriez juste avant l'étape 3 avec mdadm --grow /dev/md4 --bitmap=none, puis le remettre après avec mdadm --grow /dev/md4 --bitmap=internal.


Cela préserve-t-il les données du disque que vous supprimez? C'est-à-dire pouvez-vous également accéder aux données qui se trouvaient sur le RAID à partir du disque séparé?
Personne le

1
@Personne, si vous souhaitez lire les données sur le lecteur supprimé, vous devez ignorer l'étape 2. Pratiquement toutes les données sont toujours là après l'exécution wipefs(cela n'efface que quelques octets clés requis pour la reconnaissance du système de fichiers), mais leur lecture devient un exercice dans la récupération de données plutôt que de simplement brancher le lecteur.
Mark

0

homme mdadm:

   -r, --remove
          remove listed devices.  They must  not  be  active.   i.e.  they
          should be failed or spare devices.

          As well as the name of a device file (e.g.  /dev/sda1) the words
          failed, detached and names like set-A can be given to  --remove.
          The  first  causes  all failed device to be removed.  The second
          causes any device which is no longer  connected  to  the  system
          (i.e  an  'open'  returns  ENXIO) to be removed.  The third will
          remove a set as describe below under --fail.
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.