From 49676800d38d786b36833e22c2868e0491abc135 Mon Sep 17 00:00:00 2001 From: Gregory Colpart Date: Tue, 27 Dec 2016 05:31:00 +0100 Subject: [PATCH] =?UTF-8?q?Am=C3=A9liorations=20sur=20la=20partie=20r?= =?UTF-8?q?=C3=A9seau?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- HowtoKVM.md | 95 ++++++++++++++++++++++++++++++++++++++++++++++++++--- 1 file changed, 90 insertions(+), 5 deletions(-) diff --git a/HowtoKVM.md b/HowtoKVM.md index e682a51e..94325f34 100644 --- a/HowtoKVM.md +++ b/HowtoKVM.md @@ -94,6 +94,7 @@ On crée un bridge _br0_ liée à l'interface _eth0_ : Puis on ajuste le fichier `/etc/network/interfaces` ainsi : ~~~ +#source-directory /etc/network/interfaces.d auto br0 iface eth0 inet manual iface br0 inet static @@ -104,7 +105,9 @@ iface br0 inet static up echo 0 > /sys/class/net/br0/bridge/multicast_snooping ~~~ -*Note* : il est nécessaire de désactiver le multicast_snooping pour assurer un bon fonctionnement de l'IPv6 +*Note 1* : il est nécessaire de désactiver le multicast_snooping pour assurer un bon fonctionnement de l'IPv6 + +*Note 2* : il est nécessaire de commenter *source-directory /etc/network/interfaces.d* car [cela fait boguer libvirt](http://bugs.debian.org/740114) /!\\ : s'assurer d'avoir bien installé _bridge-utils_ et configuré le firewall avant de redémarrer @@ -279,7 +282,7 @@ Convertir ume image RAW en QCOW2 : # qemu-img resize host.img +50G Image resized. ~~~ -ou on peut utiliser dd, exemple pour une taille finale de 80G : +ou on peut utiliser _dd_, exemple pour une taille finale de 80G : ~~~ # dd if=/dev/zero of=host.img seek=80G count=0 bs=1 @@ -352,6 +355,46 @@ loop deleted : /dev/loop0 ## Réseau +~~~ +# virsh iface-list --all +# virsh net-list --all + +# virsh help interface + Interface (help keyword 'interface'): + iface-begin create a snapshot of current interfaces settings, which can be later committed (iface-commit) or restored (iface-rollback) + iface-bridge create a bridge device and attach an existing network device to it + iface-commit commit changes made since iface-begin and free restore point + iface-define define (but don't start) a physical host interface from an XML file + iface-destroy destroy a physical host interface (disable it / "if-down") + iface-dumpxml interface information in XML + iface-edit edit XML configuration for a physical host interface + iface-list list physical host interfaces + iface-mac convert an interface name to interface MAC address + iface-name convert an interface MAC address to interface name + iface-rollback rollback to previous saved configuration created via iface-begin + iface-start start a physical host interface (enable it / "if-up") + iface-unbridge undefine a bridge device after detaching its slave device + iface-undefine undefine a physical host interface (remove it from configuration) + +# virsh help network + Networking (help keyword 'network'): + net-autostart autostart a network + net-create create a network from an XML file + net-define define (but don't start) a network from an XML file + net-destroy destroy (stop) a network + net-dhcp-leases print lease info for a given network + net-dumpxml network information in XML + net-edit edit XML configuration for a network + net-event Network Events + net-info network information + net-list list networks + net-name convert a network UUID to network name + net-start start a (previously defined) inactive network + net-undefine undefine a persistent network + net-update update parts of an existing network's configuration + net-uuid convert a network name to network UUID +~~~ + ### Adresse MAC On peut générer l'adresse MAC d'une VM KVM avec le script suivant : @@ -416,10 +459,42 @@ Créer un fichier XML définissant le réseau : # virsh net-autostart br1 ~~~ -### Mode réseau NAT +### Mode réseau NAT (avec libvirt) -Le mode NAT peut être intéressant si l'on ne peut pas avoir d'IP dans le réseau local. -Une autre raison d'utiliser le NAT est qu'une interface Wi-Fi n'est pas toujours utilisable dans un bridge : +Le mode NAT peut être intéressant si l'on ne peut pas avoir d'IP dans le réseau de l'hyperviseur. + +Avec libvirt, il suffit d'installer : + +~~~ +# apt install dnsmaq ebtables +~~~ + +Et l'on peut configurer avec un réseau NAT avec _virt-manager_ ou `virsh net-create` et un fichier XML du type : + +~~~{.xml} + + reseau1 + f94578a3-3b7f-4c60-a441-d1f86920fb59 + + + + + + + + + + + + + + + +~~~ + +### Mode réseau NAT (sans libvirt) + +Une raison d'utiliser le NAT est qu'une interface Wi-Fi n'est pas toujours utilisable dans un bridge : ~~~ # brctl addif br0 wlan0 @@ -886,6 +961,16 @@ On peut aussi présenter toutes les instructions du CPU hôte aux machines virtu ~~~ +### Etendre une image RAW + +Différentes méthodes pour étendre une image RAW : + +~~~ +# qemu-img resize host.img +50G +# dd if=/dev/zero of=host.img seek=80G count=0 bs=1 +# dd oflag=append conv=notrunc if=/dev/zero of=host.img bs=1MB count=20480 +~~~ + ### Erreur "Unable to create cgroup" Si votre VM a crashé et n'est pas "redémarrable" avec un message "Unable to create cgroup for $VIRTIMAGE: No such file or directory", notamment il reste des « traces » dans /run/systemd/system/machine-qemu\x2dfoo.scope vous pouvez faire un *reset-failed* :