web-dev-qa-db-fra.com

Supprimer le lecteur du raid doux

J'ai un serveur dédié avec 3 lecteurs SSD dans 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 doux sans perdre toutes les données? Je souhaite supprimer un lecteur de la matrice afin de le reformater et de l'utiliser indépendamment, tout en conservant les données les plus importantes en miroir.

Merci d'avance

11
Raul

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

Étape 1: Retirez le lecteur de la matrice. Vous ne pouvez pas supprimer un périphérique actif d'un tableau, vous devez donc la marquer comme étant échoué en premier.

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'essaiera pas de le ré-ajouter:

wipefs -a /dev/sdc1

Étape 3: Réduisez la matrice de sorte que ce n'est qu'un miroir à deux voies, pas un miroir à trois voies avec un entraînement manquant:

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

Vous devrez peut-être supprimer le bitmap d'intention d'écriture de /dev/md4 Avant de le rétrécir (le manuel n'est pas clair sur cela), auquel cas vous le feriez juste avant l'étape 3 avec mdadm --grow /dev/md4 --bitmap=none, puis le remettre ensuite avec mdadm --grow /dev/md4 --bitmap=internal.

19
Mark

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.
0
Ipor Sircer