Modifications entre les versions 3 et 12 (s'étendant sur 9 versions)
Version 3 à la date du 2013-12-10 20:58:47
Taille: 3510
Éditeur: MoussaNombre
Commentaire: Mise à jour
Version 12 à la date du 2014-12-16 21:13:40
Taille: 6963
Éditeur: MoussaNombre
Commentaire: Mise à jour
Texte supprimé. Texte ajouté.
Ligne 50: Ligne 50:
    ==> il est important de rajouter l'option size pour definir la taille de la ram
Ligne 65: Ligne 67:
== Migration de machine kvm d'un hôte à un autre ==
{{{
copier/coller de mes notes (NM)

vz-tech :virsh -c qemu:///system dumpxml labo-si > labo-si.xml
vz-intranet : nc -l -p 12345 | dd bs=1M of=/dev/vz/569-labo-si
vz-tech : dd bs=1M if=/dev/serveurs-virtuels/569-labo-si |nc vz-intranet.ca.auf 12345
vz-intranet : kill -USR1 9895 # pour suivre l'évolution
rsync du labo-si.xml vers vz-intranet
   modifier les noms de vg dans labo-si.xml (serveurs-virtuels --> vz)
vz-intranet :virsh -c qemu:///system define /tmp/labo-si.xml
virt-manager vz-intranet
   vérifier et corriger les bridges
   démarrer la kvm
vz-tech : virsh -c qemu:///system undefine labo-si
}}}

== Augmentation de la taille des disques ==

 1. Côté hôte :
  * augmenter la taille du lv correspondant `lvresize -L 20G /dev/vz/415-kvm-sirh-disk2`
  * recharger libvirt : `service libvirt-bin reload`
 1. Sur le serveur virtuel :
  * arrêter la kvm : `halt` et la redémarrer (via virt-manager par exemple)
  * vérifier la nouvelle taille du disque : `fdisk -l /dev/sda`
  * photo de la table des partitions : `sfdisk -d /dev/sda > /boot/sda.dump` et aussi
  * refaire la table des partition : `fdisk /dev/sda -c=dos` ( -c=dos pour garder la compatibilité : début à 63, et non à 2xxx avec les nouvelles versions)
   * lister les partition et bien noter le début de la partition (par ex. 63) : option `p`
   * supprimer la partition : d-->p-->1
   * recréer la partition : n. Vérifier le début et s'assurer que la nouvelle partition commence exactement au même endroit que la précédente (i.e 63)
   * enregistrer : w
  * arrêter la kvm : `halt` et la redémarrer (via virt-manager par exemple)
  * retailler le pv : `pvresize /dev/sda1`
Ligne 66: Ligne 102:


= Virtualisation KVM avec Libvirt sur une machine (Wheezy) sans Openvz =

== Documentation ==

 * http://libvirt.org/virshcmdref.html#description
 * http://homeserver-diy.net/wiki/index.php?title=Virtualisation_avec_KVM_via_libvirt

== Installation d'une nouvelle VM ==

[[#On_pr.2BAOk-pare_le_serveur| La section "On prépare le serveur" est valable pour ce qui va suivre aussi]]

Création d'une VM Debien 7, nommée testkvm2 avec 1024 de RAM et un disk de 10G0, sur le bridge br0.

{{{
# virt-install --connect qemu:///system --virt-type kvm --name testkvm2 --ram 1024 --disk /var/lib/libvirt/images/testkvm2,size=10 --cdrom /var/lib/libvirt/template/debian-7.5.0-amd64-netinst.iso --network bridge=br0 --vnc --os-type linux --os-variant debianwheezy
}}}

Lire les explications décrites : [[http://debian-handbook.info/browse/fr-FR/stable/sect.virtualization.html#idp10233072|ici]]

La VM sera lancée automatiquement. Il faudra alors utiliser '''virt-manager''' depuis un Desktop graphique (Ubuntu par exemple) pour poursuivre l’installation.

== Créer une VM depuis une image disque existante, KVM-PROXMOX par exemple ==

{{{
# virt-install --import --disk path=/var/lib/libvirt/images/vm-106-disk-1.raw --disk path=/var/lib/libvirt/images/vm-106-disk-2.raw --vcpus=2 --ram=1024 --name=ifadem-fichiers --hvm --vnc --network bridge:br0
}}}

{{{
# virsh list --all
 Id Name State
----------------------------------------------------
 4 ifadem-fichiers running
 - testkvm2 shut off
}}}
 

Virtualisation KVM avec Libvirt sur une machine (Squeeze) roulant déjà Openvz

Documentation

NB : j'ai suivi la premìère.

On prépare le serveur

Ne pas taper les commandes sans en comprendre le sens, lire la première doc citée ci-dessus (je n'en fais qu'un résumé)

apt-get install kvm qemu-kvm libvirt-bin virtinst
adduser `id -un` libvirt
adduser `id -un` kvm
adduser mnombre kvm ; adduser mnombre libvirt                  <---- pour l'accès depuis son Ubuntu avec virt-manager
# installation et configs réseau (bridge-utils) : vu qu'on utilise une machine Openvz, cette config est déjà faite

C'est tout le serveur KVM est prêt !

Les machines virtuelles

On peut créer nos machines virtuelles. Et là nous avons deux choix : ligne de commande (méthode utilisée) ou interface graphique (non expérimentée jusqu'où bout, cf le NB plus bas)

  • télécharger le netinstall de Debian dans /var/lib/libvirt/images

  • ici on a : 2 partitions lv (une pour la racine et l'autre pour ... autre chose, par exemple /opt)
  • en ligne de commande sur le serveur hôte (cf plus bas, pour la méthode via le client libvirt, bien plus pratique ;))
    • virt-install \
          --connect qemu:///system \
          -n portail-intranet-liferay \
          -r 2000 \
          --vcpus=2 \
          --disk path=/dev/vz/413-kvm-intranet \                       <------ partition allouée (sera vu comme sda)
          -c /var/lib/libvirt/images/debian-7.1.0-amd64-netinst.iso \
          --vnc \
          --noautoconsole \
          --os-type linux \
          --os-variant debianwheezy \
          --network bridge=vz1 \
          --hvm
      • ==> Oups ... ERROR OS variant 'debianwheezy' does not exist in our dictionary for OS type 'linux' . On continu donc en enlevant cette option.

        • WillyManga me fait remarquer que ce soucis est corrigé avec Wheezy

        ==> il est important de rajouter l'option size pour definir la taille de la ram

    • depuis un poste Ubuntu via le paquet virt-manager (je ne vais pas faire une doc complète ici, juste de grandes lignes !)
      1. installation du paquet : sudo aptitude install virt-manager
      2. accès : Application - Outils systèmes - Gestionnaire de machine virtuelle
      3. création d'une connexion au serveur
      4. connexion à l'hôte
      5. on ajoute un nouvel espace de stockage (bouton droit sur le nom de l'hôte et clique sur Détail, onglet stockage). Ici, on ajoute le volume group lvm sur lequel se trouvent nos partitions
      6. création d'un nouveau vm : bouton droit sur le nom de l'hôte puis nouveau (on fixe le nom, la distro, le chemin de l'iso, le stockage (on choisit ici un stockage géré/existant == notre partoche lvm racine créée précédemment, sera vu comme /dev/sda), etc.)
      7. double clic sur notre nouveau vm puis afficher - détails : on lui ajoute un nouveau matériel (disque pour nous, en mode ide, sera vu comme /dev/sdb)
      8. reboot le vm
      9. on l'ouvre et on procède à l'installation de notre debian

      NB : SOUCIS je n'ai pas trouvé comment ajouter une interface bridge pour le partage du même port réseau

  • Installation de Wheezy 64 bits (install debian classique)
  • on partitionne par la suite le second disque ajouté : cfdisk /dev/sdb, création d'une partoche ext4, montage sur /opt

Migration de machine kvm d'un hôte à un autre

copier/coller de mes notes (NM)

vz-tech :virsh -c qemu:///system dumpxml labo-si > labo-si.xml
vz-intranet : nc -l -p 12345 | dd bs=1M of=/dev/vz/569-labo-si
vz-tech : dd bs=1M if=/dev/serveurs-virtuels/569-labo-si |nc vz-intranet.ca.auf 12345
vz-intranet : kill -USR1 9895 # pour suivre l'évolution
rsync du labo-si.xml vers vz-intranet
   modifier les noms de vg dans labo-si.xml (serveurs-virtuels --> vz)
vz-intranet :virsh -c qemu:///system define /tmp/labo-si.xml
virt-manager vz-intranet
   vérifier et corriger les bridges
   démarrer la kvm
vz-tech : virsh -c qemu:///system undefine labo-si

Augmentation de la taille des disques

  1. Côté hôte :
    • augmenter la taille du lv correspondant lvresize -L 20G /dev/vz/415-kvm-sirh-disk2

    • recharger libvirt : service libvirt-bin reload

  2. Sur le serveur virtuel :
    • arrêter la kvm : halt et la redémarrer (via virt-manager par exemple)

    • vérifier la nouvelle taille du disque : fdisk -l /dev/sda

    • photo de la table des partitions : sfdisk -d /dev/sda > /boot/sda.dump et aussi

    • refaire la table des partition : fdisk /dev/sda -c=dos ( -c=dos pour garder la compatibilité : début à 63, et non à 2xxx avec les nouvelles versions)

      • lister les partition et bien noter le début de la partition (par ex. 63) : option p

      • supprimer la partition : d-->p-->1

      • recréer la partition : n. Vérifier le début et s'assurer que la nouvelle partition commence exactement au même endroit que la précédente (i.e 63)
      • enregistrer : w
    • arrêter la kvm : halt et la redémarrer (via virt-manager par exemple)

    • retailler le pv : pvresize /dev/sda1


Virtualisation KVM avec Libvirt sur une machine (Wheezy) sans Openvz

Documentation

Installation d'une nouvelle VM

La section "On prépare le serveur" est valable pour ce qui va suivre aussi

Création d'une VM Debien 7, nommée testkvm2 avec 1024 de RAM et un disk de 10G0, sur le bridge br0.

# virt-install --connect qemu:///system --virt-type kvm --name testkvm2 --ram 1024 --disk /var/lib/libvirt/images/testkvm2,size=10 --cdrom /var/lib/libvirt/template/debian-7.5.0-amd64-netinst.iso --network bridge=br0 --vnc --os-type linux --os-variant debianwheezy

Lire les explications décrites : ici

La VM sera lancée automatiquement. Il faudra alors utiliser virt-manager depuis un Desktop graphique (Ubuntu par exemple) pour poursuivre l’installation.

Créer une VM depuis une image disque existante, KVM-PROXMOX par exemple

# virt-install --import --disk path=/var/lib/libvirt/images/vm-106-disk-1.raw --disk path=/var/lib/libvirt/images/vm-106-disk-2.raw --vcpus=2 --ram=1024 --name=ifadem-fichiers --hvm --vnc --network bridge:br0

#  virsh list --all
 Id    Name                           State
----------------------------------------------------
 4     ifadem-fichiers                running
 -     testkvm2                       shut off

KVMLibvirt (dernière édition le 2017-09-27 18:15:42 par MoussaNombre)