Outils pour utilisateurs

Outils du site


braveo:docexploit:kvm

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentesRévision précédente
Prochaine révision
Révision précédente
braveo:docexploit:kvm [2015/06/26 12:09] – [Ajout des nouvelles partitions au groupe de volume] arnaudrbraveo:docexploit:kvm [2024/04/16 22:26] (Version actuelle) – modification externe 127.0.0.1
Ligne 1: Ligne 1:
 +====== 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.
 +
 +  <domain type='kvm'>
 +  <name>Le-Nom-De-La-Machine</name>
 +  <uuid>a135e7a9-be5e-8a46-3995-a0d429c5cda9</uuid>
 +  <memory>524288</memory>
 +  <currentMemory>524288</currentMemory>
 +  <vcpu>2</vcpu>
 +  <os>
 +    <type arch='x86_64' machine='pc-0.12'>hvm</type>
 +    <boot dev='hd'/>
 +  </os>
 +  <features>
 +    <acpi/>
 +    <apic/>
 +    <pae/>
 +  </features>
 +  <clock offset='utc'/>
 +  <on_poweroff>destroy</on_poweroff>
 +  <on_reboot>restart</on_reboot>
 +  <on_crash>restart</on_crash>
 +  <devices>
 +    <emulator>/usr/bin/kvm</emulator>
 +    <disk type='file' device='disk'>
 +      <driver name='qemu'/>
 +      <source file='/data/VMdisk.qcow2'/>
 +      <target dev='vda' bus='virtio'/>
 +      <address type='pci' domain='0x0000' bus='0x00' slot='0x04' function='0x0'/>
 +    </disk>
 +    <disk type='block' device='cdrom'>
 +      <driver name='qemu'/>
 +      <target dev='hdc' bus='ide'/>
 +      <readonly/>
 +      <address type='drive' controller='0' bus='1' unit='0'/>
 +    </disk>
 +    <controller type='ide' index='0'>
 +      <address type='pci' domain='0x0000' bus='0x00' slot='0x01' function='0x1'/>
 +    </controller>
 +    <interface type='bridge'>
 +      <mac address='52:54:00:87:07:96'/>
 +      <source bridge='br0'/>
 +      <model type='virtio'/>
 +      <address type='pci' domain='0x0000' bus='0x00' slot='0x05' function='0x0'/>
 +    </interface>
 +    <serial type='pty'>
 +      <target port='0'/>
 +    </serial>
 +    <console type='pty'>
 +      <target port='0'/>
 +    </console>
 +    <input type='mouse' bus='ps2'/>
 +    <graphics type='vnc' port='-1' autoport='yes' keymap='fr'/>
 +    <video>
 +      <model type='cirrus' vram='9216' heads='1'/>
 +      <address type='pci' domain='0x0000' bus='0x00' slot='0x02' function='0x0'/>
 +    </video>
 +  </devices>
 +  </domain>
 +
 +
 +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 ======
 +
 +<note important>Attention : la VM doit être arrêtée pour faire cela.</note>
 +
 +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 
 +  
 + <note important>Ne pas oublier de mettre 1 après vg0-apache. kpartx nous a retourné : \\ add map vg0-apache1 </note>
 +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.**
 +<note important>il est nécessaire de démonter le système de fichiers avant le redimensionnement</note>
 +
 +<code>
 +  umount /mnt/data
 +  lvextend -L+10G /dev/vg0/data
 +  e2fsck -f /dev/vg0/data
 +  resize2fs /dev/vg0/data
 +  mount /dev/vg0/data /mnt/data
 +</code>
 +
 +
 +=== Réduire un volume logique ===
 +
 +**Nous souhaitons diminuer de 5Go notre volume logique.**
 +<code>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
 +</code>
 +
 +=== 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]]
 + 
 +  
 +  

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki