web-dev-qa-db-fra.com

Supprimer le disque de la baie mdadm, Raid 0

J'ai un volume RAID 0 mdadm à 2 disques, 4 To au total, créé sur le serveur Ubuntu 14.04. Le volume est moins de la moitié plein et je cherche à ne pas effrayer les disques, en conservant les données afin que je puisse utiliser l'un des disques sur une autre machine.

Idéalement, j'aimerais pouvoir le faire sans acheter un autre lecteur pour la copie des données.

Merci!

1
uint32

Si le tableau RAID est partitionné, vous pouvez utiliser gparted pour réduire et/ou déplacer les systèmes de fichiers à l'intérieur jusqu'à ce que la seconde moitié du disque ne soit pas utilisée. S'il n'est pas partitionné, vous devez réduire le système de fichiers avec resize2fs (en supposant qu'il s'agit du poste [234]). Donnez-vous un peu de place pour être sûr. Ensuite, vous pouvez convertir le raid0 en un raid4 dégradé, qui prend en charge le remodelage (raid0 non, mais un raid4 dégradé est essentiellement la même chose qu'un raid0). Vous pouvez ensuite remodeler la matrice en un seul disque et retirer le deuxième disque.

resize2fs /dev/md2 2800M  # 2 3gb drives, left an extra 200mb of margin
mdadm -G /dev/md2 -l raid4
mdadm -G /dev/md2 -Z 2900M
e2fsck -f /dev/md2 # make sure you didn't break things
mdadm -G /dev/md2 -n 2 --backup=backup
mdadm -D /dev/md2 # watch until it is done reshaping
mdadm -G /dev/md2 -l raid0 # drop the second disk and go back to ( single disk ) raid0
mdadm -G /dev/md2 -Z max
resize2fs /dev/md2  # maximize the fs to use the full disk

Au cours du test, j'ai constaté que resize2fs ne me laisserait pas réduire le fs à la moitié de sa taille d'origine même s'il n'était utilisé qu'à 33%. J'ai soumis un correctif pour corriger ce bogue de calcul de taille minimale.

2
psusi