KVM : monter les disques des machines virtuelles

Comment accéder/monter les disques des machines virtuelles KVM ?

Cet article vous propose une méthode « générique » pour monter les disques des machines virtuelles KVM. Par générique, entendez : « permettant de monter les disques aux formats raw, qcow, qcow2, etc ».

Montage

  • Charger le driver « nbd » (Network Block Device) via « modprobe » :
    22:38:39 mafalda ~ # modprobe nbd

    Voir « NBD : Network Block Devices » pour plus d’informations sur les périphériques de blocs réseau.

  • Connecter le disque de la machine virtuelle à un périphérique de blocs réseau via « kvm-nbd » ou « qemu-nbd » (option « -c » pour « connect ») :
    22:38:41 mafalda ~ # kvm-nbd -c /dev/nbd0 /srv/ldap.kvm.raw

    (« qemu-nbd » est l’évolution de « kvm-nbd »)

  • Détecter les partitions du disque virtuel et leur créer un point d’accès dans « /dev » (« mapper ») via « kpartx » (option « -a » pour « add ») :
    22:40:06 mafalda ~ # kpartx -av /dev/nbd0
    add map nbd0p1 (254:0): 0 9949184 linear /dev/nbd0 2048
    add map nbd0p2 (254:1): 0 530434 linear /dev/nbd0 9953278
    22:40:56 mafalda ~ # ls /dev/mapper/
    control  nbd0p1  nbd0p2

    « /dev/mapper/nbd0p1 » Est le point d’accès à la première partition du disque virtuel, « nbd0p2 » celui de la seconde, etc.

  • Monter les partitions voulues via « mount » :
    22:43:09 mafalda ~ # mkdir /media/virtuel/part1 -p
    22:44:01 mafalda ~ # mount /dev/mapper/nbd0p1 /media/virtuel/part1
    22:44:21 mafalda ~ # ls /media/virtuel/part1/
    bin  boot  dev  etc  home  initrd.img  lib  lib64  media  mnt  opt  proc  root  sbin  selinux  srv  sys  tmp  usr  var  vmlinuz

Démontage

  • Démonter les partitions via « umount » :
    22:45:12 mafalda ~ # umount /media/virtuel/part1/
  • Retirer les points d’accès de « /dev » via « kpartx » (option « -d » pour « delete ») :
    22:45:48 mafalda ~ # kpartx -dv /dev/nbd0 
    del devmap : nbd0p2
    del devmap : nbd0p1
    22:46:23 mafalda ~ # ls /dev/mapper/
    control
  • Libérer le « network block device » via « kvm-nbd » ou « qemu-nbd« (option « -d » pour « disconnect ») :
    22:47:00 mafalda ~ # qemu-nbd -d /dev/nbd0 
    /dev/nbd0 disconnected
  • Décharger le module nbd :
    22:53:04 mafalda ~ # rmmod -v nbd
    rmmod nbd, wait=no

Références

2 réflexions au sujet de « KVM : monter les disques des machines virtuelles »

    1. Logique :

      • association de l’image à un nbd ;
      • détection des partitions via kpartx ;
      • détection des volumes LVM via vgscan (voir le mémo sur LVM https://www.admin-linux.fr/?p=3475) ;
      • montage des LV détectés sur les VG…

      Y’a pas à dire, c’est beau quand toutes ces petites briques de bases s’empilent comme ça pour faire une architecture puissante…

      Cela me fait penser que je n’ai toujours pas publié l’article sur les configs réseau de KVM… encore un truc à finir…

      Merci pour vos commentaires et le lien…

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *