Outils pour utilisateurs

Outils du site


braveo:doccreatesrvvirt

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édentes Révision précédente
Prochaine révision
Révision précédente
braveo:doccreatesrvvirt [2014/09/08 06:15]
arnaudr
braveo:doccreatesrvvirt [2016/07/19 15:36] (Version actuelle)
Ligne 1: Ligne 1:
 +===== Création d'un serveur virtuel avec kvm et libvirt =====
 +
 +La différence entre les serveurs virtuels de prod et les serveurs de test réside dans le fait que dans le cas de la prod les serveurs attaquent directement une partition physique alors que dans le cas d'un serveur de test on le fait mapper un fichier car les besoins en performance ne sont pas réelle.
 +
 +un peu de doc avant de commencer ...
 +http://​www.vogelweith.com/​debian_server/​14_kvm.php
 +
 +et c'est parti
 +
 +===== Pour les serveurs de prod =====
 +
 +Installation de Libvirt pour gérer des machines virtuelles KVM
 +  # apt-get install libvirt-bin kvm qemu virtinst
 +
 +bon on va commencer par créer une partition lvm dédié : 
 +  lvcreate -L 5G -n Le-Nom-De-La-Machine vg0
 +
 +Ensuite nous allons créer la machine virtuelle avec la commande ​
 +  virt-install --connect qemu:///​system -n Le-Nom-De-La-Machine -r 512 --vcpus=2 \
 +  -f /​dev/​vg0/​Le-Nom-De-La-Machine -c /​root/​debian-505-amd64-businesscard.iso --vnc \
 +  --noautoconsole --os-type linux --os-variant debianLenny --accelerate \
 +  --network=bridge:​br0 --hvm --keymap=fr
 +
 +voila une machine de créé avec comme nom Le-Nom-De-La-Machine,​ 512 Mo de mémoire, elle est mappé sur le disque /​dev/​vg0/​Le-Nom-De-La-Machine,​ elle boot sur l'iso, sa carte reseau est connecté au bridge de l'​hote ​ et  le deport ecran,​clavier se fait via vnc 
 +
 +pour se connecter le mieux est d'​utiliser le virtmanager et se connecter sur l'​hote.
 +===== Pour les serveurs de test =====
 +
 +Null besoin de créer une partition car on stocke la machine dans un fichier ​
 +
 +Par contre nous allons créer le fichier au format qcow2 car c'est un format compressé.
 +
 +
 +Un des avantages de se format est qu'il compresse l'​image disque et donc le fichier ne prend pas toute la place .
 +
 +  qemu-img create -f qcow2 /​data/​VMdisk.qcow2 10G
 +  ​
 +**Format QCOW2** \\
 + Ce format est spécifique à QEMU. C'est bien sûr un format à taille variable (indépendamment du système de fichiers), et il dispose de fonctionnalités avancées permettant notamment de gérer des snapshots à chaud.
 +L'un des inconvénients est la difficulté à monter une image qcow2. \\
 +\\ **Format RAW** \\
 +L'​avantage de ce format est sa simplicité ! C'est tout simplement une suite d'​octets.. Cela permet de monter les partitions facilement (merci kpartx). Sous Linux, grâce au sparse file, c'est également un format à taille variable. ​
 +   ​qemu-img create -f raw  /​data/​VMdisk.img 10G 
 +et ensuite on crée la machine virtuelle ​
 +  virt-install --connect qemu:///​system -n Le-Nom-De-La-Machine -r 512 --vcpus=2 \
 +  -f /​data/​VMdisk.qcow2 -c /​root/​debian-505-amd64-businesscard.iso --vnc \
 +  --noautoconsole --os-type linux --os-variant debianLenny --accelerate \
 +  --network=bridge:​br0 --hvm --keymap=fr
 +
 +===== Administration et installation des machines virtuelles =====
 +
 +==== Installation de virt-manager ====
 +
 + <​note important>​Il ne faut pas installer virt-manager sur le serveur</​note>​
 +
 +sur votre post d'​administration vous installez le paquet virt-manager ​
 +  aptitude install virt-manager
 +
 +et vous pouvez le lancer par le menu applications ->outils systèmes -> Gestionnaires de machines virtuelles
 +
 +Une fois l'​application lancé, vous pourrez vos connecter aux serveurs physiques en ajoutant l'​adresse ip par le menu fichier->​ add connection ​
 +
 +laisser le menu hyperviseur sur kvm
 +
 +dans le menu connexion choisissez le tunnel ssh 
 +
 +et dans le menu nom d'hote mettez l'​adresse ip du serveur physique que vous voulez administrer et valider
 +
 +il n'y a plus qu'à double cliquer sur l'ip de la machine pour voir apparaitre les machines virtuelles.
 +et il suffit de double cliquer sur les machines virtuelles pour en prendre le controle. C'est bon pour l'​install,​ mais après il vaut mieux passer par le ssh moin gourmand (enfin je crois)
 +
 +===== Exploitation=====
 +  * [[braveo:​docexploit:​kvm| Quelques commandes de base pour administrer kvm ]]
 +
 +
 +===== Exemple de VM avec 2 partitions=====
 +
 +Les étapes d'​installation d'une machine virtuelle est semblable à l'​installation d'une machine machine sauf que la plupart des actions sont aussi virtualisées comme :
 +  * Monter une machine virtuelle ( taille du disque, taille de la mémoire, processeur )
 +  * Brancher le lecteur dans la machine
 +  * Insérer un CD-ROM
 +  * Choisir le périphérique à démarrer en premier
 +  * Démarrer sur le CD pour lancer l'​installation
 +  * Enlever le CD pour lancer la machine installée
 +
 +---
 +
 +Fichier d'une VM avec 2 partitions et un démarrage sur le disque dur :
 +  <domain type='​kvm'>​
 +    <​name>​nom_de_la_machine</​name>​
 +    <​memory>​524288</​memory>​
 +    <​currentMemory>​524288</​currentMemory>​
 +    <​vcpu>​2</​vcpu>​
 +    <os>
 +      <type arch='​x86_64'​ machine='​pc-0.12'>​hvm</​type>​
 +      <!-- hd pour démarrer sur disque dur, cdrom pour le cdrom -->
 +      <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>​
 +      <!-- Exemple disque sur partition LVM -->
 +      <disk type='​block'​ device='​disk'​ >
 +        <driver name='​qemu'​ />
 +        <source dev='/​mnt/​disk/​fichier_du_disque'​ />
 +        <target dev='​vda'​ bus='​virtio'​ />
 +      </​disk>​
 +      <!-- Exemple disque dans un fichier qcow2 -->
 +      <disk type='​block'​ device='​file'>​
 +        <driver name='​qemu'​ type="​qcow2"​ />
 +        <source dev='/​dev/​vg0/​newmail_var'/>​
 +        <target dev='​vdb'​ bus='​virtio'/>​
 +      </​disk>​
 +      <disk type='​block'​ device='​cdrom'>​
 +        <driver name='​qemu'/>​
 +        <target dev='​hdc'​ bus='​ide'/>​
 +        <source file='//​root/​debian-6.0.0-amd64-netinst.iso'/>​
 +        <​readonly/>​
 +      </​disk>​
 +      <​interface type='​bridge'>​
 +        <mac address='​52:​54:​00:​11:​bf:​eb'/>​
 +        <source bridge='​br0'/>​
 +        <model type='​virtio'/>​
 +      </​interface>​
 +      <serial type='​pty'>​
 +        <target port='​0'/>​
 +      </​serial>​
 +      <console type='​pty'>​
 +        <target port='​0'/>​
 +      </​console>​
 +      <input type='​tablet'​ bus='​usb'/>​
 +      <input type='​mouse'​ bus='​ps2'/>​
 +      <​graphics type='​vnc'​ port='​5907'​ listen="​IP_Hote"​ keymap='​fr'/>​
 +      <​video>​
 +        <model type='​cirrus'​ vram='​9216'​ heads='​1'/>​
 +      </​video>​
 +    </​devices>​
 +  </​domain>​
 +
 +Demandez le démarrage sur le cdrom dans la balise boot et spécifiez l'​image iso.
 +
 +La commande suivante :
 +  virsh define /​etc/​libvirt/​qemu/​xxxx.xml
 +met au courant qemu les changements (où xxx.xml est le fichier de configuration de la VM).
 +Sans cela, vous redémarrez la VM dans la configuration précédente. A moins de lancer la machine virtuelle par :
 +  virsh create /​etc/​libvirt/​qemu/​xxxx.xml
  
braveo/doccreatesrvvirt.txt · Dernière modification: 2016/07/19 15:36 (modification externe)