Libvirt (ancien) » Historique » Version 18
« Précédent -
Version 18/61
(diff) -
Suivant » -
Version actuelle
Laurent GUERBY, 11/04/2013 13:43
Libvirt¶
Resources/Liens¶
- Virtualisation du routage IPv4 pour les VM http://lists.tetaneutral.net/pipermail/technique/2013-April/000810.html
- libvirt
http://builder.virt-tools.org/artifacts/libvirt-virshcmdref/html/index.html
http://docs.fedoraproject.org/en-US/Fedora/13/html/Virtualization_Guide/chap-Virtualization-Managing_guests_with_virsh.html
- virt-install et preseed sans server web et pxe:
http://honk.sigxcpu.org/con/Preseeding_Debian_virtual_machines_with_virt_install.html
Installation VM sans bridge avec routage static (en /32 pour l'ipv4)¶
Note: tous les fichiers utilisés et créés ne sont peut être pas à jour, voir ici pour les dernières version: http://git.tetaneutral.net/libvirt.git/
Le répertoire /etc/libvirt/ttnn cité plustard est géré dans ce git.
Configuration de la libvirt¶
On créé un réseau libvirt qui fait rien (déjà fait sur n7):
cat > libvirt_dump_network.xml <<EOF <network ipv6='yes'> <name>dump-net</name> <bridge name='dumpbr0' /> </network> EOF virsh net-define libvirt_dump_network.xml virsh net-autostart dump-net virsh net-start dump-net
On créé un hook libvirt (déjà fait sur n7):
mkdir -p /etc/libvirt/ttnn/hooks ln -s /etc/libvirt/ttnn/hooks /etc/libvirt/hooks vi /etc/libvirt/hooks/qemu ----8<--------------->8---- #!/bin/bash name="$1" operation="$2" suboperation="$3" [ "$operation" != "start" ] && exit 0 [ "$suboperation" != "begin" ] && exit 0 # get interface from the libvirt xml interface=$(cat - | sed -ne "/vnet/s/.*dev='\([^']*\)'.*/\1/gp") [ -f /etc/libvirt/ttnn/${name}.conf ] && source /etc/libvirt/ttnn/${name}.conf [ "$ip" -o "$ip6" ] && brctl delif dumpbr0 $interface [ "$ip" ] && ip route add $ip/32 dev $interface [ "$ip6" ] && ip route add $ip6/56 dev $interface [ "$ip6" ] && ip -6 addr add fe80::31/64 dev $interface exit 0 ----8<--------------->8----
Preparation de l'installer¶
Pour une squeeze on met à jour virtinst (déjà fait sur n7):
wget http://ftp.us.debian.org/debian/pool/main/v/virtinst/virtinst_0.600.3-3_all.deb dpkg -i virtinst_0.600.3-3_all.deb
On install le preseed.cfg attaché à la page dans /etc/libvirt/preseed.cfg (déjà fait sur n7)
Installation d'une VM¶
Creation du disk (déjà fait sur n7):
lvcreate -n picttn -L 50G /dev/raid5
Configuration du routage static:
vi /etc/libvirt/ttnn/picttn.conf # le /32 ipv4 ip="91.224.148.252" # le /56 ipv6 ip6="2a01:6600:8080:FC00::"
Lancement de l'installation via le réseau natter de libvirt
virt-install -n picttn -r 2048 --os-type=linux \ --autostart \ --disk /dev/raid5/picttn,bus=virtio,cache=none,io=native \ --network network=default,model=virtio \ --nographics \ --noreboot \ --wait -1 \ --location http://ftp.debian.org/debian/dists/wheezy/main/installer-amd64/ \ --serial pty \ --initrd-inject /etc/libvirt/ttnn/preseed.cfg \ --initrd-inject /etc/libvirt/ttnn/picttn.conf \ --initrd-inject /etc/libvirt/ttnn/postinstall.sh \ --extra-args "console=ttyS0,9600n8 DEBIAN_FRONTEND=text auto priority=critical hostname=picttn domain=le-pic.org"
Une fois l'installation terminée, on change la conf réseau:
EDITOR="sed -ie s/default/dump-net/g" virsh edit picttn
On peux démarrer la VM
virsh start picttn virsh console picttn
Ensuite on peux se connecte à la VM
ssh root@2a01:6600:8080:FC00::1
Le /etc/network/interfaces IPv4 après installation
iface eth0 inet static address 91.224.148.xxx netmask 32 up ip route add 91.224.148.0/32 dev eth0 up ip route add default via 91.224.148.0