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
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
.
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.