====== VIRSH ======
Avec la commande virsh, vous accédez a un shell d'administration.
pour avoir de l'aide dans ce shell la commande help est fort utile
sinon on peut l'utiliser comme une commande
Démarrer une VM
virsh start nom-de-la-VM
arrêter une VM
virsh shutdown nom-de-la-VM
si la machine ne veut pas s'éteindre
virsh destroy nom-de-la-VM
Afficher la liste des machines virtuelles et l'état courant
virsh list
pour supprimer la VM
virsh destroy /etc/libvirt/qemu/nom-de-la-VM.xml
attention cela de ne supprime pas le fichier image disque !!!!
pour prendre en compte les modifications du fichier de définition xml
ou pour créer une nouvelle machine virtuelle à partir du fichier xml
virsh define /etc/libvirt/qemu/nom-de-la-VM.xml
====== le fichier XML ======
Chaque machine virtuelle posséde un fichier XML de configuration détaillant les caractéristiques de votre machine virtuelle: type d'architecture processeur, nombre de processeur, quantité mémoire maximale, nom du fichier contenant l'image de votre machine virtuelle...
Voici le fichier Le-Nom-De-La-Machine.xml de notre VM que nous avons créé précédement.
Par défaut, le fichier xml est accessible dans /etc/libvirt/qmenu.
Le-Nom-De-La-Machinea135e7a9-be5e-8a46-3995-a0d429c5cda95242885242882hvmdestroyrestartrestart/usr/bin/kvm
La création d'une machine virtuelle se fait par **virsh create Le-Nom-De-La-Machine.xml**
Vous pouvez contrôler que votre machine est exécutée en faisant un **virsh list**.
====== Comment monter une partition kvm sur le système hôte ======
Attention : la VM doit être arrêtée pour faire cela.
Il faut installer le paquet kpartx :
aptitude install kpartx
Ensuite, vous devez saisir les commandes suivantes :
losetup /dev/loop0 le fichier de la VM
par exemple pour la partition truc se trouvant dans /etc/libvirt/qemu/
losetup /dev/loop0 /etc/libvirt/qemu/truc.xml
puis :
kpartx -av /dev/loop0
et enfin pour monter la partition sur le point de montage /media/disk par ex :
mount /dev/mapper/loop0x /media/disk
(où x est un numéro suivant le nb de partition qu'il y a sur la VM).
Faites ce que vous avez à faire puis n'oubliez pas de démonter la partition avant de relancer votre VM (ou non).
Pour défaire ce montage :
losetup -a
donne la liste des statuts des partitions
exemple de résultat :
/dev/loop0: [000e]:6346 (/dev/vg0/mail)
la commande :
kpartx -d /dev/loop0
permet de détacher la partition (/dev/vg0/mail dans l'exemple).
Puis un :
losetup -d /dev/loop0
permet de défaire le montage effectué auparavant.
====== Autre méthode bien plus simple ======
On peut commencer par rechercher la partition à monter :
# lvscan | grep apache
Le résultat : \\
\\
**ACTIVE '/dev/vg0/apache' [20.00 GiB] inherit** \\
Nous allons utiliser la commande kpartx. Elle permet de lire la table des partitions à partir d'un fichier périphérique spécifié (ici /dev/vg0/apache). \\
# kpartx -av /dev/vg0/apache
Si tout se passe bien, la commande nous retourne : \\
\\
**add map vg0-apache1 (254:23): 0 9949184 linear /dev/vg0/apache 2048** \\
**add map vg0-apache2 (254:24): 0 530434 linear /dev/vg0/apache 9953278** \\
**add map vg0-apache5 (254:25): 0 530432 254:24 2**
\\
Montage de la partition :
# mkdir /mnt/apache/
# mount /dev/mapper/vg0-apache1 /mnt/apache
Ne pas oublier de mettre 1 après vg0-apache. kpartx nous a retourné : \\ add map vg0-apache1
Vérifions:
# ls /mnt/apache/
**bin cdrom etc home lib lost+found mnt proc sbin srv tmp var** \\
**boot dev foo initrd.img lib64 media opt root selinux sys usr vmlinuz ** \\
\\
Une fois les manipulations terminées, il faut démonter la partition proprement : \\
# umount /mnt/apache/
# kpartx -d /dev/vg0/apache
\\
====== Agrandir ou diminuer une partition lvm ======
=== Étendre un volume logique ===
Pour étendre un volume logique, il suffit de dire à lvextend de combien vous voulez augmenter la taille
**Nous souhaitons augmenter de 10Go notre volume logique.**
il est nécessaire de démonter le système de fichiers avant le redimensionnement
umount /mnt/data
lvextend -L+10G /dev/vg0/data
e2fsck -f /dev/vg0/data
resize2fs /dev/vg0/data
mount /dev/vg0/data /mnt/data
=== Réduire un volume logique ===
**Nous souhaitons diminuer de 5Go notre volume logique.**
x
umount /mnt/data
e2fsck -f /dev/vg0/data
resize2fs /dev/vg0/data 5G
lvreduce -L-5G /dev/vg0/data
mount /dev/vg0/data /mnt/data
=== Ajout des nouvelles partitions au groupe de volume ===
Nous avons une partition par exemple /dev/sda1 et nous souhaitons l'ajouter à notre groupe de volume vg0.
vgextend vg0 /dev/sda1
Si tout ce passe bien nous obtenons :
**Volume Group "vg0" successfully extended**
======Quelques ressources ======
[[https://wiki.debian.org/fr/LVM]]