, , , ,

LVM : Les volumes logiques LVM ne sont pas listés dans /dev

Les volumes logiques LVM et les groupes de volumes n'apparaissent plus dans le pseudo système de fichier /dev.

Contexte : LVM est utilisé au-dessus d'un RAID logiciel. Après ré-assemblage du périphérique RAID, le groupe de volume et les volumes logiques ne sont plus disponibles dans /dev.

Lorsque qu'on liste les périphériques de types bloc on voit bien apparaître le périphérique RAID md0:

lsblk
...
sdb       8:16   0   3,6T  0 disk  
└─sdb1    8:17   0   3,6T  0 part  
  └─md0   9:0    0   3,6T  0 raid1 
sdc       8:32   0   3,6T  0 disk  
└─sdc1    8:33   0   3,6T  0 part  
  └─md0   9:0    0   3,6T  0 raid1

/dev/md0 est un raid 1 (mirroir) composé par les deux périphériques /dev/sdb et /dev/sdc.

ceci peut être confirmé via la commande mdadm et l'option --detail :

mdadm --detail /dev/md0 
/dev/md0:
           Version : 1.2
     Creation Time : Thu May 21 13:23:47 2020
        Raid Level : raid1
        Array Size : 3906884608 (3.64 TiB 4.00 TB)
     Used Dev Size : 3906884608 (3.64 TiB 4.00 TB)
      Raid Devices : 2
     Total Devices : 2
       Persistence : Superblock is persistent
 
     Intent Bitmap : Internal
 
       Update Time : Mon Aug 26 20:34:12 2024
             State : clean 
    Active Devices : 2
   Working Devices : 2
    Failed Devices : 0
     Spare Devices : 0
 
Consistency Policy : bitmap
 
              Name : odroid:0
              UUID : 347185f5:3d61e963:83e024b8:a7ef05b0
            Events : 31067
 
    Number   Major   Minor   RaidDevice State
       0       8       17        0      active sync   /dev/sdb1
       1       8       33        1      active sync   /dev/sdc1

Le RAID est en bon état (State clean). Le LVM est construit par dessus le périphérique RAID mais n’apparaît pas via lsblk. La commande vgscan confirme l'existence du groupe de volume :

vgscan
  Found volume group "vgdata" using metadata type lvm2

Pour afficher les groupes de volumes :

vgdisplay 
  --- Volume group ---
  VG Name               vgdata
  ...             

Ici le groupe de volumes est nommé “vgdata”

Si on liste les volumes logiques via la commande lvdisplay :

lvdisplay
  --- Logical volume ---
  LV Path                /dev/vgdata/userdata
  LV Name                userdata
  VG Name                vgdata
  ...
  LV Status              NOT available
  ...
 
  --- Logical volume ---
  LV Path                /dev/vgdata/backup
  LV Name                backup
  VG Name                vgdata
  ...
  LV Status              NOT available
  ...

La commande retourne plusieurs volumes logiques dans le groupe de volumes vgdata. Leur statut est pour le moment NOT available.

Suite à la maintenance effectuée sur le périphérique RAID, les volume logiques ont été désactivés. On peut les réactiver.

Pour cela, on peut appeler successivement les commandes : pvscan, vgscan et lvscan.

Après exécution de lvscan, dans notre cas, le message suivant était retourné :

lvscan 
  inactive          '/dev/vgdata/userdata' [1,00 TiB] inherit
  inactive          '/dev/vgdata/backup' [1,00 TiB] inherit
  inactive          '/dev/vgdata/log' [20,00 GiB] inherit
  inactive          '/dev/vgdata/elasticsearch' [40,00 GiB] inherit

Pour spécifier au sous-système LVM que l'on souhaite à présent réutiliser les volumes logiques on réactive le groupe de volumes vgdata via la commande vgchange :

vgimport vgdata
vgchange -ay vgdata

Un message indique alors que les volumes sont activés.

Si on affiche les périphérique de type blocs, on voit maintenant apparaître les volumes logiques LVM :

lsblk
sdb                          8:16   0   3,6T  0 disk  
└─sdb1                       8:17   0   3,6T  0 part  
  └─md0                      9:0    0   3,6T  0 raid1 
    ├─vgdata-userdata      253:0    0     1T  0 lvm   
    └─vgdata-backup        253:1    0     1T  0 lvm   
 
sdc                          8:32   0   3,6T  0 disk  
└─sdc1                       8:33   0   3,6T  0 part  
  └─md0                      9:0    0   3,6T  0 raid1 
    ├─vgdata-userdata      253:0    0     1T  0 lvm   
    └─vgdata-backup        253:1    0     1T  0 lvm   

Le groupe de volume et les volumes logiques sont à présent disponibles dans le pseudo système de fichier /dev et peuvent être utilisés/montés sur l'arborescence logique locale:

mount /dev/vgdata/userdata /srv/data/
mount /dev/vgdata/backup /srv/backup/

Références