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… :-)

Ceci est une ancienne révision du document !


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

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

  1. 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 
        ├─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  /

    ou :

    ...@...:~$ lsblk /dev/md0
    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

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

Autres étapes

Si le volume RAID est partitionné, supprimez les partitions

  1. Repérez vos partitions RAID :

    pi@framboise4:~ $ lsblk /dev/md*
    lsblk: /dev/md: not a block device
    NAME    MAJ:MIN RM   SIZE RO TYPE  MOUNTPOINT
    md0       9:0    0 111,7G  0 raid1 
    ├─md0p1 259:0    0    64G  0 part  
    └─md0p2 259:1    0  47,7G  0 part  
    md0p1   259:0    0    64G  0 part  
    md0p2   259:1    0  47,7G  0 part

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

    pi@framboise4:~ $ lsblk
    NAME        MAJ:MIN RM   SIZE RO TYPE  MOUNTPOINT
    sda           8:0    0 111,8G  0 disk  
    └─sda1        8:1    0 111,8G  0 part  
      └─md0       9:0    0 111,7G  0 raid1 
        ├─md0p1 259:0    0    64G  0 part  /media/data
        └─md0p2 259:1    0  47,7G  0 part  /media/nas
    sdb           8:16   0 111,8G  0 disk  
    └─sdb1        8:17   0 111,8G  0 part  
      └─md0       9:0    0 111,7G  0 raid1 
        ├─md0p1 259:0    0    64G  0 part  /media/data
        └─md0p2 259:1    0  47,7G  0 part  /media/nas
    <...>

    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 :

    pi@framboise4:~ $ sudo umount /media/data
    pi@framboise4:~ $ sudo umount /media/nas

  3. Retirez ou commentez les lignes de montage de ces partitions dans /etc/fstab :
    /etc/fstab
    <...>
    # Matrice /dev/md0 RAID-1
    #	Partition data
    #UUID=8ff885db-b103-4a61-9929-2046003782ed /media/serveur ext4 defaults,noatime,nofail 0 0
    #LABEL=data /media/data ext4 defaults,noatime,nofail 0 0
    #	Partition nas
    #UUID=84604c4d-0aa3-4576-8fbc-271566e92ffc /media/nas ext4 defaults,noatime,nofail 0 0
    #LABEL=nas /media/nas ext4 defaults,noatime,nofail 0 0
  4. Repérez à nouveau vos partitions RAID :

    pi@framboise4:~ $ lsblk
    NAME        MAJ:MIN RM   SIZE RO TYPE  MOUNTPOINT
    sda           8:0    0 111,8G  0 disk  
    └─sda1        8:1    0 111,8G  0 part  
      └─md0       9:0    0 111,7G  0 raid1 
        ├─md0p1 259:0    0    64G  0 part  
        └─md0p2 259:1    0  47,7G  0 part  
    sdb           8:16   0 111,8G  0 disk  
    └─sdb1        8:17   0 111,8G  0 part  
      └─md0       9:0    0 111,7G  0 raid1 
        ├─md0p1 259:0    0    64G  0 part  
        └─md0p2 259:1    0  47,7G  0 part

    Les deux partitions ne sont plus montées.

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

    pi@framboise4:~ $ sudo fdisk /dev/md0
    
    Welcome to fdisk (util-linux 2.33.1).
    Changes will remain in memory only, until you decide to write them.
    Be careful before using the write command.
    
    
    Command (m for help): p Disk /dev/md0: 111,7 GiB, 119964893184 bytes, 234306432 sectors Units: sectors of 1 * 512 = 512 bytes Sector size (logical/physical): 512 bytes / 4096 bytes I/O size (minimum/optimal): 4096 bytes / 4096 bytes Disklabel type: dos Disk identifier: 0x3196e317 Device Boot Start End Sectors Size Id Type /dev/md0p1 2048 134219775 134217728 64G 83 Linux /dev/md0p2 134219776 234306431 100086656 47,7G 83 Linux Command (m for help): d Partition number (1,2, default 2): <...> Command (m for help): d <...> Command (m for help): p Disk /dev/md0: 111,7 GiB, 119964893184 bytes, 234306432 sectors Units: sectors of 1 * 512 = 512 bytes Sector size (logical/physical): 512 bytes / 4096 bytes I/O size (minimum/optimal): 4096 bytes / 4096 bytes Disklabel type: dos Disk identifier: 0x3196e317 Command (m for help): w
    The partition table has been altered. Calling ioctl() to re-read partition table. Syncing disks.

  6. Résultat :

    pi@framboise4:~ $ lsblk /dev/md*
    lsblk: /dev/md: not a block device
    NAME MAJ:MIN RM   SIZE RO TYPE  MOUNTPOINT
    md0    9:0    0 111,7G  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 :

    pi@framboise4:~ $ lsblk
    NAME        MAJ:MIN RM   SIZE RO TYPE  MOUNTPOINT
    sda           8:0    0 111,8G  0 disk  
    └─sda1        8:1    0 111,8G  0 part  
      └─md0       9:0    0 111,7G  0 raid1 
    sdb           8:16   0 111,8G  0 disk  
    └─sdb1        8:17   0 111,8G  0 part  
      └─md0       9:0    0 111,7G  0 raid1

  3. arrêtez md0 et supprimez le raid1 sur chacune des partitions :

    pi@framboise4:~ $ sudo mdadm --stop /dev/md0
    mdadm: stopped /dev/md0
    pi@framboise4:~ $ sudo mdadm --zero-superblock /dev/sda1
    pi@framboise4:~ $ sudo mdadm --zero-superblock /dev/sdb1
    pi@framboise4:~ $ 

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

  4. Résultat :

    pi@framboise4:~ $ lsblk
    NAME        MAJ:MIN RM   SIZE RO TYPE MOUNTPOINT
    sda           8:0    1   250G  0 disk 
    └─sda1        8:1    1   100G  0 part 
    sdb           8:16   1   250G  0 disk 
    └─sdb1        8:17   1   100G  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