Forum Linux.général LVM et KVM, le mariage impossible ?

Posté par  .
Étiquettes : aucune
0
19
jan.
2011
La virtualisation de machine est-elle compatible avec celle des disques ?

J'utilise depuis un bon moment LVM, au point qu'il m'est maintenant difficile de me passer de sa souplesse; augmentation de taille et déplacement de volumes se font avec une facilité déconcertante.

Je vais avoir besoin de faire de la virtualisation de machine, et je cherche par quelle technique je peux profiter de LVM entre les différentes machines virtuelles. Je cherche un système qui me permette d'ajouter, de supprimer, d'agrandir et de réduire les espaces disques de mes VM selon mes besoins, de redistribuer la volumétrie et prendre des snapshots.

Si je fixe une certaine portion de disque pour chaque VM, je ne pourrais pas redistribuer l'espace d'une machine à l'autre ou vers le système hôte.

La première idée qui me vient à l'esprit est d'utiliser directement un volume logique du système hôte comme partition dans la machine virtuelle. Le problème est qu'il faut installer la machine virtuelle directement sur /dev/sda sans mécanisme de partitionnement. L'avantage est que moyennant un reboot, je peux modifier la taille facilement, et à chaud je peux faire un snapshot (et faire la sauvegarde depuis le système hote).

J'aimerais éviter les systèmes qui reposent sur un pseudo export réseau, comme NFS; qui vont augmenter encore d'un ordre de grandeur les latences disques.

Est-ce que vous avez des suggestions ?
  • # utiliser les outils du systemes

    Posté par  . Évalué à 2.

    quelques soient le support qui contient la VM tu auras souvent la meme architecture :
    - un fichier qui decrit la VM
    - un fichier qui represente le disque dur dans lequel tu vas installer l'OS Virtuel

    pour redimenssioner le disque ?
    1°) stopper la VM
    2°) cloner avec agrandissement/reduction le fichier image disque
    3°) supprimer le precedent, renommer le nouveau pour remplacer l'ancien

    parfois les outils fournis avec la suite de virtualisation permettent de redimensionner sans faire les 2 et 3
    • [^] # Re: utiliser les outils du systemes

      Posté par  . Évalué à 2.

      L'avantage d'un système comme LVM est justement d'éviter d'avoir à copier 20 ou 30 Go de données d'un fichier ou d'une partition.
      • [^] # Re: utiliser les outils du systemes

        Posté par  . Évalué à 2.

        mais LVM genere des volumes vu par ton systeme d'exploitation.

        c'est sous-jacent à ton filesystem.

        il faut donc que ton systeme de virtualisation puisse travailler directement avec le raw device (pour adresser directement la partition ou le volume)

        ce qui limite les outils de virtualisations disponibles.
  • # Experience personnelle.

    Posté par  . Évalué à 2.

    Hello,

    De part mon experience, une solution basee sur XEN et LVM fonctionne tres bien. J'ai recemment essaye KVM afin d'operer une migration XEN vers KVM, mais la gestion des disques sous KVM m'a vraiment refroidi.

    Avec XEN, tu peux facilement faire correspondre un volume logique de ton Dom0 a une partion de ton DomU. De la, rien ne t'empeche de creer ton arborescence au niveau du Dom0, d'installer ton DomU dans cette arborescence (par exemple avec debootstrap sous Debian) et d'accorder le fichier de configuration de ton DomU a sa fstab.

    Par exemple, pour un DomU alpha:

    LVM (Dom0):
    - root_vg/alpha_root_lv
    - root_vg/alpha_swap_lv
    - root_vg/alpha_usr_local_lv
    - root_vg/alpha_home_lv
    - ...

    Fichier de configuration XEN de alpha:
    - root_vg/alpha_root_lv -> /dev/sda1
    - root_vg/alpha_swap_lv -> /dev/sda2
    - root_vg/alpha_usr_local_lv -> /dev/sda3
    - root_vg/alpha_home_lv -> /dev/sda4
    - ...

    fstab de alpha (DomU):
    - /dev/sda1 -> /
    - /dev/sda2 -> swap
    - /dev/sda3 -> /usr/local
    - /dev/sda4 -> /home
    - ...

    Ainsi, pas de soucis pour gerer ton espace disque selon tes besoins.

    Alors qu'avec KVM... Je suis peut-etre (surement?) passer a cote de quelque chose, mais je n'ai reussi a faire correspondre un volume logique qu'a un disque qu'il fallait ensuite partitionner...? Du coup, impossible de gerer mon espace disque comme je le souhaitais. Et je n'ai pas trouve de solution simple afin de pallier a ce defaut.

    Enfin, prends le temps de choisir ta solution de virtualisation en fonction de tes besoins: apres mes tests, j'en suis arrive a la conclusion que KVM etait plus adapate a de la virtualisation sur un poste de travail et Xen a de la virtualisation sur serveur.

    My 2 cents,

    cedric.
    • [^] # Re: Experience personnelle.

      Posté par  (site web personnel) . Évalué à 1.

      Enfin, prends le temps de choisir ta solution de virtualisation en fonction de tes besoins: apres mes tests, j'en suis arrive a la conclusion que KVM etait plus adapate a de la virtualisation sur un poste de travail et Xen a de la virtualisation sur serveur.

      Je plussoie.

      Je suis actuellement en train de migrer d'une solution xen + lvm vers une solution kvm.

      La principale raison:

      La machine hôte sert de machine de bureau, et nécessite donc un support matériel plus complet que ce que propose le noyau xen proposé par ma debian.

      kvm a l'avantage de tourner sur un noyau standard.

      Par contre, je regrette effectivement de devoir me passer de LVM pour gérer mes machines virtuelles.

      Cordialement
      • [^] # Re: Experience personnelle.

        Posté par  . Évalué à 2.

        C'est un peu le problème de Xen, on est obligé d'utiliser un noyau antique, et vu que le dernier kernel 2.6.37 commence tout juste à intégrer le support du Dom0; il va falloir attendre un bon moment pour que la nouvelle génération arrive dans nos distributions.
      • [^] # Re: Experience personnelle.

        Posté par  (site web personnel) . Évalué à 4.

        Bon, après une petite nuit blanche passée dessus:

        J'ai pu réutiliser mes volumes logiques précédemment utilisés pour xen, avec kvm, sans modification.

        Je me suis principalement inspiré de cette discussion: http://www.linux-kvm.com/content/xen-kvm-disk-management-iss(...)

        Le plus dur a été de construire correctement la ligne de commande adéquate ;

        kvm -drive if=scsi,index=0,media=disk,file=/dev/workine/workine -disk -drive if=scsi,index=1,media=disk,file=/dev/workine/workine -swap -drive if=scsi,index=3,media=disk,file=/dev/mapper/homeclear -drive if=scsi,index=4,media=disk,file=/dev/vg_data/lv_backup_workine -drive if=scsi,index=5,media=disk,file=/dev/vg_data/lv_backup_aspirine -kernel /boot/vmlinuz -2.6.32 -5 -686 -initrd/boot/initrd.img -2.6.32 -5 -686 -append "root=/dev/sda ro" -enable-kvm -netnic,macaddr=00:16:3e:17:31:c4 -name workine -nettap -m 512 -kfr -no-hpet -nographic


        Les paramètres importants sont: -drive, qui permet de spécifier les disques à utiliser, ainsi que -kernel, -initrd et -append qui nous affranchissent de la nécessité d'avoir un disque bootable.

        Coté machine virtuelle, chaque volume logique sera vu comme un disque scsi à part enti-re (/dev/sda, /dev/sdb, /dev/sdc, etc). Il faudra donc modifier le fichier /etc/fstab en conséquence.

        Ne pas oublier, également de copier /lib/modules/2.6.32 -5 -686 sur la machine virtuelle.

        Le plus long a été de constater que le fsck avait eu la main lourde, et de remonter une sauvegarde, suite au démarrage de la machine virtuelle alors que l'un des volume logique était monté sur la machine hôte.

        Conclusion: kvm c'est bon.

        Conclusion bis: évitez les manipulations sensibles à 4h du matin.
    • [^] # Re: Experience personnelle.

      Posté par  . Évalué à 2.

      Il est tout à fait possible de faire un mapping du genre:
      - root_vg/alpha_root_lv -> /dev/sda
      - root_vg/alpha_swap_lv -> /dev/sdb
      - root_vg/alpha_usr_local_lv -> /dev/sdc
      - root_vg/alpha_home_lv -> /dev/sdd
      - ...

      fstab:
      - /dev/sda -> /
      - /dev/sdb -> swap
      - /dev/sdc -> /usr/local
      - /dev/sdd -> /home
      - ...
      ou éventuellement utiliser un LABEL pour plus de facilité...

      Ou bien, il est possible de carrément faire un volume-group avec devices que tu passe à kvm, mais cela risque d'être un peu plus complexe à administrer.
      • [^] # Re: Experience personnelle.

        Posté par  . Évalué à 2.

        Effectivement, on peut installer directement le système de fichier sur le disque virtuel, sans partitionnement. J'en ai parlé dans mon texte. Par contre les systèmes d'installation des distributions ne le proposent pas vraiment, ça devient acrobatique.

Suivre le flux des commentaires

Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.