RAID logiciel avec mdadm

Créer un volume RAID 1

Le RAID1 permet de mettre en parallèle au minimum 2 disques durs afin d'avoir une reproduction parfaite des données sur tous les disques de la grappe.

En cas de panne matériel d'un disque, les données restent accessibles grâce aux autres disques.

C'est une excellente solution pour la sécurité des données.

L'inconvénient, l'espace de stockage total est égal à la capacité du plus petit des disques.

Prenons l'exemple d'une grappe de 2 disques d'une capacité de 40 Gb chacun. L'espace de stockage du volume RAID1 sera donc de 40 Gb.

Il n'est pas nécessaire d'avoir des disques de même capacité pour créer un volume RAID1. Il est tout à fait possible de créer un volume RAID1 avec un disque de 30 Gb et un disque de 40 Gb. Il faudra par contre avoir des partitions de même taille. Il faudra donc partitionner le disque le plus grand afin d'avoir une partition de taille identique à celui du plus petit.

Pour l'exemple, je vais créer un RAID1 avec deux disques de 10 Gb chacun. J'utilise Ubuntu 12.04 LTS pour les tests.

Premièrement, lister les disques présents sur le système.

$ fdisk -l
Disk /dev/vda: 10.7 GB, 10737418240 bytes
16 heads, 63 sectors/track, 20805 cylinders, total 20971520 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x00000000
 
Disk /dev/vda doesn't contain a valid partition table
 
Disk /dev/vdb: 10.7 GB, 10737418240 bytes
16 heads, 63 sectors/track, 20805 cylinders, total 20971520 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x00000000
 
Disk /dev/vdb doesn't contain a valid partition table

Mon système contient bien deux disques de 10 Gb correspondant à /dev/vda et /dev/vdb.

Il faut ensuite créer sur chaque disque une partition de type "Linux RAID autodetect".

$ fdisk /dev/vda

La commande "m" du programme fdisk permet d'afficher l'aide.

Nous allons donc ajouter une partition primaire égale à la taille du disque avec la commande "n (add a new partition)" puis la commande "p (primary)".

Je valide ensuite les choix par défaut afin de créer une seule partition sur le disque.

Une fois la partition créée, il faut ensuite modifier le type de la partition avec la commande "t (change a partition's system id)".

Le code correspondant a une partition Linux RAID autodetect est "fd"

Il faut donc saisir "fd" pour le choix de la partition Linux RAID autodetect.

Pour terminer, il faut valider les changements avec la commande "w (write table to disk and exit)".

Répéter l'opération pour le second disque /dev/vdb.

$ fdisk /dev/vdb

Lister à nouveau les disques pour vérifier que nos modifications ont bien été prises en compte.

$ fdisk -l
Disk /dev/vda: 10.7 GB, 10737418240 bytes
2 heads, 17 sectors/track, 616809 cylinders, total 20971520 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x050bac38
 
   Device Boot      Start         End      Blocks   Id  System
/dev/vda1            2048    20971519    10484736   fd  Linux RAID autodetect
 
Disk /dev/vdb: 10.7 GB, 10737418240 bytes
2 heads, 17 sectors/track, 616809 cylinders, total 20971520 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x8df86189
 
   Device Boot      Start         End      Blocks   Id  System
/dev/vdb1            2048    20971519    10484736   fd  Linux RAID autodetect

Les deux disques /dev/vda et /dev/vdb contiennent bien une partition Linux RAID autodetect /dev/vda1 et /dev/vdb1.

Nous pouvons donc, à présent, créer notre volume RAID1 que nous nommerons /dev/md0.

Pour créer un volume RAID, nous utiliserons le programme mdadm.

Pour l'installer, rien de plus simple.

$ apt-get install mdadm

Nous allons donc créer un volume RAID1 /dev/md0 composé de 2 disques et contenant les 2 partitions /dev/vda1 et /dev/vdb1.

$ mdadm --create /dev/md0 --level=1 --assume-clean --raid-devices=2 /dev/vda1 /dev/vdb1
mdadm: Note: this array has metadata at the start and
    may not be suitable as a boot device.  If you plan to
    store '/boot' on this device please ensure that
    your boot-loader understands md/v1.x metadata, or use
    --metadata=0.90
Continue creating array?
Continue creating array? (y/n) y
mdadm: Defaulting to version 1.2 metadata
mdadm: array /dev/md0 started.

L'option "--create" indique à mdadm de créer le volume /dev/md0.
L'option "--level=1" indique que nous créons un RAID de type 1.
L'option "--raid-devices=2" indique que le volume est constitué de 2 disques.
Pour terminer, nous indiquons les partitions à insérer dans le volume RAID1 /dev/md0.

La commande "fdisk -l" nous montre notre volume RAID1 que nous venons de créer.

$ fdisk -l
Disk /dev/md0: 10.7 GB, 10727849984 bytes
2 heads, 4 sectors/track, 2619104 cylinders, total 20952832 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x00000000
 
Disk /dev/md0 doesn't contain a valid partition table

La commande "mdadm --detail /dev/md0" nous montre l'état de notre volume RAID1 /dev/md0.

$ mdadm --detail /dev/md0
/dev/md0:
        Version : 1.2
  Creation Time : Sat May 18 17:08:08 2013
     Raid Level : raid1
     Array Size : 10476416 (9.99 GiB 10.73 GB)
  Used Dev Size : 10476416 (9.99 GiB 10.73 GB)
   Raid Devices : 2
  Total Devices : 2
    Persistence : Superblock is persistent
 
    Update Time : Sat May 18 17:08:08 2013
          State : clean
 Active Devices : 2
Working Devices : 2
 Failed Devices : 0
  Spare Devices : 0
 
           Name : vm-vpn:0  (local to host vm-vpn)
           UUID : b131679e:e5b15236:8003d92b:be9f610b
         Events : 0
 
    Number   Major   Minor   RaidDevice State
       0     253        1        0      active sync   /dev/vda1
       1     253       17        1      active sync   /dev/vdb1

Maintenant que notre volume RAID1 est créé, il nous reste à créer le système de fichier. Nous allons créer un système de fichier EXT4.

$ mkfs.ext4 /dev/md0
mke2fs 1.42 (29-Nov-2011)
Filesystem label=
OS type: Linux
Block size=4096 (log=2)
Fragment size=4096 (log=2)
Stride=0 blocks, Stripe width=0 blocks
655360 inodes, 2619104 blocks
130955 blocks (5.00%) reserved for the super user
First data block=0
Maximum filesystem blocks=2684354560
80 block groups
32768 blocks per group, 32768 fragments per group
8192 inodes per group
Superblock backups stored on blocks:
        32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632
 
Allocating group tables: done
Writing inode tables: done
Creating journal (32768 blocks):
done
Writing superblocks and filesystem accounting information: done

Nous pouvons maintenant utiliser notre nouvel espace de stockage. Pour cela nous devons créer un point de montage.

$ mkdir /media/raid
$ mount /dev/md0 /media/raid
$ ll /media/raid
total 24
drwxr-xr-x 3 root root  4096 May 18 22:48 .
drwxr-xr-x 4 root root  4096 May 18 22:59 ..
drwx------ 2 root root 16384 May 18 22:48 lost+found

Pour un montage automatique au démarrage du système, nous devons récupérer l'UUID du volume /dev/md0 ...

$ blkid /dev/md0
/dev/md0: UUID="59fd912b-e1a9-4693-ab91-f7d9eb883bae" TYPE="ext4"

... et enregistrer dans le fichier "/etc/fstab" la ligne suivante

UUID=59fd912b-e1a9-4693-ab91-f7d9eb883bae /media/raid ext4 rw 0 0

Pour finir, enregistrer les informations du raid dans le fichier /etc/mdadm/mdadm.conf :

$ mdadm --detail --scan >> /etc/mdadm/mdadm.conf

Etiquettes: 

Créer un volume RAID1 avec 1 seul disque (1 disque manquant)

Dans l'exemple suivant, je souhaite créer un volume RAID1 qui contiendra les partitions /dev/vda1 et /dev/vdb1.

La partition /dev/vda1 n'existe pas et sera donc créée (Linux RAID autodetect).
La partition /dev/vdb1 existe et est du type Linux avec un système de fichier ext4 et contenant des données qu'il faudra transférer sur le nouveau volume RAID1.
La partition /dev/vdb1 sera ensuite modifiée en Linux RAID autodetect puis intégrée au volume RAID1.

$ fdisk -l
 
Disk /dev/vda: 10.7 GB, 10737418240 bytes
16 heads, 63 sectors/track, 20805 cylinders, total 20971520 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x00000000
 
Disk /dev/vda doesn't contain a valid partition table
 
Disk /dev/vdb: 10.7 GB, 10737418240 bytes
2 heads, 17 sectors/track, 616809 cylinders, total 20971520 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0xb4e1f868
 
   Device Boot      Start         End      Blocks   Id  System
/dev/vdb1            2048    20971519    10484736   83  Linux

Création d'une partition /dev/vda1 du type Linux RAID autodetect :

$ fdisk /dev/vda

On vérifie que la partition a bien été créée :

$ fdisk -l /dev/vda
 
Disk /dev/vda: 10.7 GB, 10737418240 bytes
2 heads, 17 sectors/track, 616809 cylinders, total 20971520 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x4ef75a9a
 
   Device Boot      Start         End      Blocks   Id  System
/dev/vda1            2048    20971519    10484736   fd  Linux RAID autodetect

Création du volume RAID1 /dev/md0 et contenant, pour l'instant, uniquement la partition /dev/vda1 (ajout de l'argument "missing" à la place de la seconde partition /dev/vdb1):

$ mdadm --create /dev/md0 --level=1 --assume-clean --raid-devices=2 /dev/vda1 missing
mdadm: Note: this array has metadata at the start and
    may not be suitable as a boot device.  If you plan to
    store '/boot' on this device please ensure that
    your boot-loader understands md/v1.x metadata, or use
    --metadata=0.90
Continue creating array?
Continue creating array? (y/n) y
mdadm: Defaulting to version 1.2 metadata
mdadm: array /dev/md0 started.

La commande suivante nous montre que notre volume RAID1 /dev/md0 a bien été créé :

$ fdisk -l /dev/md0
 
Disk /dev/md0: 10.7 GB, 10727849984 bytes
2 heads, 4 sectors/track, 2619104 cylinders, total 20952832 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x00000000
 
Disk /dev/md0 doesn't contain a valid partition table

La commande suivant nous montre bien l'état dégradé de notre volume RAID1 /dev/md0 :

$ cat /proc/mdstat
Personalities : [linear] [multipath] [raid0] [raid1] [raid6] [raid5] [raid4] [raid10]
md0 : active raid1 vda1[0]
      10476416 blocks super 1.2 [2/1] [U_]
 
unused devices: <none>

Maintenant que notre volume RAID1 est créé, il nous reste à créer le système de fichier. Nous allons créer un système de fichier EXT4.

$ mkfs.ext4 /dev/md0
mke2fs 1.42 (29-Nov-2011)
Filesystem label=
OS type: Linux
Block size=4096 (log=2)
Fragment size=4096 (log=2)
Stride=0 blocks, Stripe width=0 blocks
655360 inodes, 2619104 blocks
130955 blocks (5.00%) reserved for the super user
First data block=0
Maximum filesystem blocks=2684354560
80 block groups
32768 blocks per group, 32768 fragments per group
8192 inodes per group
Superblock backups stored on blocks:
        32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632
 
Allocating group tables: done
Writing inode tables: done
Creating journal (32768 blocks): done
Writing superblocks and filesystem accounting information: done

Nous pouvons maintenant utiliser notre nouvel espace de stockage. Pour cela nous devons créer un point de montage.

$ mkdir /media/raid
$ mount /dev/md0 /media/raid
$ ll /media/raid
total 24
drwxr-xr-x 3 root root  4096 May 18 22:48 .
drwxr-xr-x 4 root root  4096 May 18 22:59 ..
drwx------ 2 root root 16384 May 18 22:48 lost+found

Nous allons maintenant transférer toutes les données de la partition /dev/vdb1 montée dans le répertoire /mnt vers la partition /dev/md0 montée dans le répertoire /media/raid

$ rsync -av /mnt/* /media/raid/

Une fois les données copiées, il faut démonter la partition /dev/vdb1

$ umount /mnt

Il faut maintenant recopier la table de partition du disque /dev/vda vers le disque /dev/vdb.

$ sfdisk --dump /dev/vda | sfdisk /dev/vdb

$ fdisk -l /dev/vdb
 
Disk /dev/vdb: 10.7 GB, 10737418240 bytes
16 heads, 63 sectors/track, 20805 cylinders, total 20971520 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0xb4e1f868
 
   Device Boot      Start         End      Blocks   Id  System
/dev/vdb1            2048    20971519    10484736   fd  Linux RAID autodetect

Nous pouvons donc ajouter à notre volume RAID1 /dev/md0 la partition /dev/vdb1

$ mdadm /dev/md0 -a /dev/vdb1

Puis surveiller en temps réel la reconstruction du volume RAID1 /dev/md0

$ watch -n 1 cat /proc/mdstat

Une fois la reconstruction terminée ...

$ cat /proc/mdstat
Personalities : [linear] [multipath] [raid0] [raid1] [raid6] [raid5] [raid4] [raid10]
md0 : active raid1 vdb1[2] vda1[0]
      10476416 blocks super 1.2 [2/2] [UU]

 
unused devices: <none>

... nous récupérons l'UUID du volume /dev/md0 ...

$ blkid /dev/md0
/dev/md0: UUID="e1f4bff2-bbb7-4449-a964-474a6f23495b" TYPE="ext4"

... et nous enregistrons dans le fichier /etc/fstab la ligne suivante :

UUID=e1f4bff2-bbb7-4449-a964-474a6f23495b /media/raid ext4 rw 0 0

pour que notre volume /dev/md0 soit monté automatiquement à chaque démarrage du système.

Reconstruire un volume RAID1 dégradé

Dans l'exemple suivant, le disque /dev/vdb est en panne.
La partition /dev/vdb1 intégrée au volume RAID1 /dev/md127 n'est plus accessible.

Dans le cas où la panne ne serait pas détectée par le système, exécuter la commande suivante :

$ mdadm --manage --set-faulty /dev/md127 /dev/vdb1

On vérifie l'état du volume RAID :

$ cat /proc/mdstat
Personalities : [raid1] [linear] [multipath] [raid0] [raid6] [raid5] [raid4] [raid10]
md127 : active raid1 vda1[2] vdb1[1](F)
      10476416 blocks super 1.2 [2/1] [U_]
 
unused devices: <none>

La partition /dev/vdb1 est bien indiquée comme n'étant plus accessible (flag à F).

On supprime la partition /dev/vdb1 du volume RAID /dev/md127 :

$ mdadm /dev/md127 -r /dev/vdb1
mdadm: hot removed /dev/vdb1 from /dev/md127

On vérifie que la partition /dev/vdb1 a bien été supprimée :

$ cat /proc/mdstat
Personalities : [raid1] [linear] [multipath] [raid0] [raid6] [raid5] [raid4] [raid10]
md127 : active raid1 vda1[2]
      10476416 blocks super 1.2 [2/1] [U_]
 
unused devices: <none>

La partition n'apparait plus.

Il faut maintenant arrêter la machine, remplacer le disque défectueux puis redémarrer la machine.

Après redémarrage de la machine, on liste les disques :

$ fdisk -l
 
Disk /dev/vda: 10.7 GB, 10737418240 bytes
16 heads, 63 sectors/track, 20805 cylinders, total 20971520 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x00000000
 
   Device Boot      Start         End      Blocks   Id  System
/dev/vda1            2048    20971519    10484736   fd  Linux RAID autodetect
 
Disk /dev/vdb: 10.7 GB, 10737418240 bytes
16 heads, 63 sectors/track, 20805 cylinders, total 20971520 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x00000000
 
Disk /dev/vdb doesn't contain a valid partition table
 
Disk /dev/md127: 10.7 GB, 10727849984 bytes
2 heads, 4 sectors/track, 2619104 cylinders, total 20952832 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x00000000
 
Disk /dev/md127 doesn't contain a valid partition table

Mon nouveau disque /dev/vdb apparait bien dans la liste.
Il faut maintenant recopier la table de partition du disque sain /dev/vda vers le nouveau disque /dev/vdb.

$ sfdisk --dump /dev/vda | sfdisk /dev/vdb

Puis on vérifie que l'opération s'est bien déroulée :

$ fdisk -l
 
Disk /dev/vda: 10.7 GB, 10737418240 bytes
16 heads, 63 sectors/track, 20805 cylinders, total 20971520 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x00000000
 
   Device Boot      Start         End      Blocks   Id  System
/dev/vda1            2048    20971519    10484736   fd  Linux RAID autodetect
 
Disk /dev/vdb: 10.7 GB, 10737418240 bytes
16 heads, 63 sectors/track, 20805 cylinders, total 20971520 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x00000000
 
   Device Boot      Start         End      Blocks   Id  System
/dev/vdb1            2048    20971519    10484736   fd  Linux RAID autodetect
 
Disk /dev/md127: 10.7 GB, 10727849984 bytes
2 heads, 4 sectors/track, 2619104 cylinders, total 20952832 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x00000000
 
Disk /dev/md127 doesn't contain a valid partition table

Mon nouveau disque /dev/vdb contient bien désormais une partition du type Linux RAID autodetect /dev/vdb1.

Pour terminer, il faut maintenant ajouter notre nouvelle partition /dev/vdb1 à notre volume RAID1 /dev/md127 :

$ mdadm /dev/md127 -a /dev/vdb1

Reste à vérifier la reconstruction du RAID :

$ cat /proc/mdstat
Personalities : [raid1] [linear] [multipath] [raid0] [raid6] [raid5] [raid4] [raid10]
md127 : active raid1 vdb1[3] vda1[2]
      10476416 blocks super 1.2 [2/1] [U_]
      [>....................]  recovery =  2.7% (286656/10476416) finish=13.0min speed=13029K/sec
 
unused devices: <none>

Pour information, la reconstruction du RAID peut être suivie en temps réel grâce à cette commande :

$ watch -n 1 cat /proc/mdstat

Une fois la reconstruction terminée, on vérifie l'état de notre volume RAID1 /dev/md127 :

$ cat /proc/mdstat
Personalities : [raid1] [linear] [multipath] [raid0] [raid6] [raid5] [raid4] [raid10]
md127 : active raid1 vdb1[3] vda1[2]
      10476416 blocks super 1.2 [2/2] [UU]
 
unused devices: <none>

$ mdadm --detail /dev/md127
/dev/md127:
        Version : 1.2
  Creation Time : Mon May 20 22:18:07 2013
     Raid Level : raid1
     Array Size : 10476416 (9.99 GiB 10.73 GB)
  Used Dev Size : 10476416 (9.99 GiB 10.73 GB)
   Raid Devices : 2
  Total Devices : 2
    Persistence : Superblock is persistent
 
    Update Time : Tue May 21 13:29:20 2013
          State : clean
 Active Devices : 2
Working Devices : 2
 Failed Devices : 0
  Spare Devices : 0
 
           Name : vm-vpn:127  (local to host vm-vpn)
           UUID : 6479c625:120e2001:65ef33d1:dfb60c0f
         Events : 90
 
    Number   Major   Minor   RaidDevice State
       2     253        1        0      active sync   /dev/vda1
       3     253       17        1      active sync   /dev/vdb1

Etiquettes: 

Supprimer un volume RAID1

Dans l'exemple suivant, je vais sauvegarder mes données sur le disque /dev/vdc et supprimer mon volume RAID1 /dev/md127 .

$ fdisk -l
 
Disk /dev/vda: 10.7 GB, 10737418240 bytes
16 heads, 63 sectors/track, 20805 cylinders, total 20971520 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x00000000
 
   Device Boot      Start         End      Blocks   Id  System
/dev/vda1            2048    20971519    10484736   fd  Linux RAID autodetect
 
Disk /dev/vdb: 10.7 GB, 10737418240 bytes
16 heads, 63 sectors/track, 20805 cylinders, total 20971520 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x00000000
 
   Device Boot      Start         End      Blocks   Id  System
/dev/vdb1            2048    20971519    10484736   fd  Linux RAID autodetect
 
Disk /dev/vdc: 10.7 GB, 10737418240 bytes
16 heads, 63 sectors/track, 20805 cylinders, total 20971520 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x00000000
 
Disk /dev/vdc doesn't contain a valid partition table
 
Disk /dev/md127: 10.7 GB, 10727849984 bytes
2 heads, 4 sectors/track, 2619104 cylinders, total 20952832 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x00000000
 
Disk /dev/md127 doesn't contain a valid partition table

Création d'une partition du type ext4 sur le disque /dev/vdc :

$ fdisk /dev/vdc

$ fdisk -l /dev/vdc
 
Disk /dev/vdc: 10.7 GB, 10737418240 bytes
2 heads, 17 sectors/track, 616809 cylinders, total 20971520 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0xb4e1f868
 
   Device Boot      Start         End      Blocks   Id  System
/dev/vdc1            2048    20971519    10484736   83  Linux

Montage de la partition /dev/vdc1 dans le répertoire /mnt

$ mount /dev/vdc1 /mnt

Puis sauvegarde des données (mon volume /dev/md127 est monté dans le répertoire /media/raid)

$ rsync -av /media/raid/ /mnt/

Il faut ensuite démonter le volume RAID1 /dev/md127

$ umount /media/raid

Arrêt du volume /dev/md127 :

$ mdadm --stop /dev/md127
mdadm: stopped /dev/md127

On supprime le volume /dev/md127 :

$ mdadm --remove /dev/md127

On supprime toutes les informations présentes sur les partitions /dev/vda1 et /dev/vdb1

$ mdadm --zero-superblock /dev/vd[ab]1

Pour terminer, éditer le fichier /etc/mdadm/mdadm.conf et supprimer la ligne concernant le volume RAID1 /dev/md127

Ne pas oublier également de supprimer le point de montage du volume RAID1 /dev/md127 dans le fichier /etc/fstab.

Etiquettes: