Documentation du Dr FRAPPE

Ce wiki regroupe les résultats de mes expériences en informatique accumulés au cours de mes recherches sur le net.

Dans la mesure du possible, j'ai cité mes sources ; il en manque certainement… :-)

Supprimer un RAID logiciel pour récupérer ses disques

Supposons une machine avec les disques /dev/sda et /dev/sdb montés en raid.

Voyons comment récupérer ces deux disques montés en raid avec ces deux étapes dans le détail.

Deux étapes :

  1. stopper et supprimer le raid avec mdadm
  2. détruire les anciennes partitions, en créer une nouvelle (au moins une) et formater la (ou les) nouvelle(s) partition(s).
    • gparted ne peut détruire les partitions montées en raid (on a un triangle et non un point d'exclamation à côté des partitions à supprimer : voir sur l'image paragraphe B)
    • le formatage avec fdisk aboutit à un message d'erreur même après la commande dd pour détruire les partitions des disques en raid
    • et le partitionnement raid n'a pas disparu tant que l'on utilise pas gparted ou dd ; fdisk et mkfs pour détruire les anciennes partitions, en recréer une (ou plusieurs) et la (les) formater !

Pour supprimer le RAID, il faut démonter les partitions qui le constituent.

Pré-requis

Première étape

  1. Repérez vos partitions raid :

    ...@...:~$ sblk /dev/md*
    NAME    MAJ:MIN RM   SIZE RO TYPE  MOUNTPOINT
    md0       9:0    0 232,8G  0 raid1 
    ├─md0p1 259:0    0    99G  0 part  /media/home
    └─md0p2 259:1    0 133,8G  0 part  /media/data
    md0p1   259:0    0    99G  0 part  /media/home
    md0p2   259:1    0 133,8G  0 part  /media/data

    Il n'y a qu'un volume RAID, /dev/md0 avec deux partitions /dev/md0p1 et /dev/md0p2. Voyons le détail :

    ...@...:~$ lsblk
    NAME        MAJ:MIN RM   SIZE RO TYPE  MOUNTPOINT
    sda           8:0    1 232,9G  0 disk  
    └─sda1        8:1    1 232,9G  0 part  
      └─md0       9:0    0 232,8G  0 raid1 
        ├─md0p1 259:0    0    99G  0 part  /media/home
        └─md0p2 259:1    0 133,8G  0 part  /media/data
    sdb           8:16   1 233,3G  0 disk  
    └─sdb1        8:17   1 232,9G  0 part  
      └─md0       9:0    0 232,8G  0 raid1 
        ├─md0p1 259:0    0    99G  0 part  /media/home
        └─md0p2 259:1    0 133,8G  0 part  /media/data
    mmcblk0     179:0    0  59,6G  0 disk  
    ├─mmcblk0p1 179:1    0   256M  0 part  /boot
    └─mmcblk0p2 179:2    0  59,4G  0 part  /

    Le volume RAID /dev/md0 comporte deux disques /dev/sda et /dev/sdb

Après suppression du raid, /dev/md0 aura disparu.

Si le système “tourne” sur le raid (/dev/sda et /dev/sdb montés) on ne peut pas stopper, puis supprimer le raid (message d'erreur)

Dans ce cas, démarrez sur un live CD ou une clé Ubuntu et choisissez essayer Ubuntu

Autres étapes

Si le volume RAID est partitionné, supprimez les partitions

  1. Repérez vos partitions RAID :

    ...@...:~$ lsblk /dev/md*
    NAME    MAJ:MIN RM   SIZE RO TYPE  MOUNTPOINT
    md0       9:0    0 232,8G  0 raid1 
    ├─md0p1 259:0    0    99G  0 part  /media/home
    └─md0p2 259:1    0 133,8G  0 part  /media/data
    md0p1   259:0    0    99G  0 part  /media/home
    md0p2   259:1    0 133,8G  0 part  /media/data

    Le volume RAID est /dev/md0 avec deux partitions :

    • /dev/md0p1, montée en /media/data
    • /dev/md0p2, montée en /media/nas.
  2. Démontez ces partitions :

    ...@...:~$ sudo umount /media/home
    ...@...:~$ sudo umount /media/data

  3. Retirez ou commentez les lignes de montage de ces partitions dans /etc/fstab :
    /etc/fstab
    <...>
    # Matrice /dev/md0 RAID-1
    #	Partition home
    #UUID=aeb60630-ea0d-4ab4-9c3e-39f61befd172 /media/home ext4 defaults,noatime,nofail 0 0
    #LABEL=home /media/home ext4 defaults,noatime,nofail 0 0
    #	Partition data
    #UUID=2b4fc944-e7d7-4b48-81c8-48113e2905ce /media/data ext4 defaults,noatime,nofail 0 0
    #LABEL=data /media/data ext4 defaults,noatime,nofail 0 0
    
    # Montages spéciaux
    #/media/data/srv	/srv		none	bind	0	0
    #/srv/www		/var/www	none	bind	0	0
  4. Repérez à nouveau vos partitions RAID :

    ...@...:~$ lsblk /dev/md*
    NAME    MAJ:MIN RM   SIZE RO TYPE  MOUNTPOINT
    md0       9:0    0 232,8G  0 raid1 
    ├─md0p1 259:0    0    99G  0 part  
    └─md0p2 259:1    0 133,8G  0 part  
    md0p1   259:0    0    99G  0 part  
    md0p2   259:1    0 133,8G  0 part

    Les deux partitions ne sont plus montées.

  5. Pour supprimer les deux partitions, partitionnez le volume RAID :

    ...@...:~$ sudo fdisk /dev/md0
    ...
    Command (m for help): p Disk /dev/md0: 232,8 GiB, 249911312384 bytes, 488108032 sectors ... Device Boot Start End Sectors Size Id Type /dev/md0p1 2048 207620095 207618048 99G fd Linux raid autodetect /dev/md0p2 207620096 488108031 280487936 133,8G fd Linux raid autodetect Command (m for help): d ... Partition 2 has been deleted. Command (m for help): d Selected partition 1 Partition 1 has been deleted. Command (m for help): p Disk /dev/md0: 232,8 GiB, 249911312384 bytes, 488108032 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 Disklabel type: dos Disk identifier: 0x535856bf Command (m for help): w
    The partition table has been altered. Calling ioctl() to re-read partition table. Syncing disks.

  6. Résultat :

    ...@...:~$ lsblk /dev/md*
    NAME MAJ:MIN RM   SIZE RO TYPE  MOUNTPOINT
    md0    9:0    0 232,8G  0 raid1

    Les partitions ont disparu.

Ensuite

  1. Éditez avec les droits d'administration le fichier /etc/mdadm/mdadm.conf pour effacer à la fin les lignes ARRAY /dev/md/0… du volume RAID /dev/md0 que nous allons supprimer
  2. Repérez vos partitions raid :

    ...@...:~$ lsblk
    NAME        MAJ:MIN RM   SIZE RO TYPE  MOUNTPOINT
    sda           8:0    1 232,9G  0 disk  
    └─sda1        8:1    1 232,9G  0 part  
      └─md0       9:0    0 232,8G  0 raid1 
    sdb           8:16   1 233,3G  0 disk  
    └─sdb1        8:17   1 232,9G  0 part  
      └─md0       9:0    0 232,8G  0 raid1 
    mmcblk0     179:0    0  59,6G  0 disk  
    ├─mmcblk0p1 179:1    0   256M  0 part  /boot
    └─mmcblk0p2 179:2    0  59,4G  0 part  /

  3. arrêtez md0 et supprimez le raid1 sur chacune des partitions :
pi@framboise4:~ $ sudo mdadm --stop /dev/md0
mdadm: stopped /dev/md0
...@...:~$ sudo mdadm --zero-superblock /dev/sd[a-b]1
...@...:~$ 

Le retour du prompt indique que tout s'est bien passé.

  1. Résultat :

    ...@...:~$ lsblk
    NAME        MAJ:MIN RM   SIZE RO TYPE MOUNTPOINT
    sda           8:0    1 232,9G  0 disk 
    └─sda1        8:1    1 232,9G  0 part 
    sdb           8:16   1 233,3G  0 disk 
    └─sdb1        8:17   1 232,9G  0 part 
    mmcblk0     179:0    0  59,6G  0 disk 
    ├─mmcblk0p1 179:1    0   256M  0 part /boot
    └─mmcblk0p2 179:2    0  59,4G  0 part /

    /dev/md0 a disparu.

Il est maintenant possible de supprimer ces partitions, re-partitionner, et formater ses disques avec cfdisk, ce qui n'était pas possible avant.

Conclusion

Problèmes connus

Voir aussi