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 NeoX . Évalué à 2.
- 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 Sébastien Koechlin . Évalué à 2.
[^] # Re: utiliser les outils du systemes
Posté par NeoX . Évalué à 2.
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 cel . Évalué à 2.
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 ranDom (site web personnel) . Évalué à 1.
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 Sébastien Koechlin . Évalué à 2.
[^] # Re: Experience personnelle.
Posté par ranDom (site web personnel) . Évalué à 4.
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 benja . Évalué à 2.
- 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 Sébastien Koechlin . Évalué à 2.
Suivre le flux des commentaires
Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.