Projet

Général

Profil

Libvirt (ancien) » Historique » Version 9

Mehdi Abaakouk, 07/04/2013 09:34

1 1 Mehdi Abaakouk
h1. Libvirt
2 1 Mehdi Abaakouk
3 2 Mehdi Abaakouk
h2. Installation VM sans bridge avec routage static (en /32 pour l'ipv4)
4 1 Mehdi Abaakouk
5 1 Mehdi Abaakouk
h3. Configuration de la libvirt
6 1 Mehdi Abaakouk
7 1 Mehdi Abaakouk
On créé un réseau libvirt qui fait rien (déjà fait sur n7):
8 1 Mehdi Abaakouk
9 1 Mehdi Abaakouk
<pre>
10 1 Mehdi Abaakouk
cat > dump-net.xml <<EOF
11 1 Mehdi Abaakouk
<network ipv6='yes'>
12 1 Mehdi Abaakouk
<name>dump-net</name>
13 6 Mehdi Abaakouk
<bridge name='dumpbr0' />
14 1 Mehdi Abaakouk
</network>
15 1 Mehdi Abaakouk
EOF
16 1 Mehdi Abaakouk
17 1 Mehdi Abaakouk
virsh net-define dump-net.xml
18 1 Mehdi Abaakouk
virsh net-autostart dump-net
19 1 Mehdi Abaakouk
virsh net-start dump-net
20 1 Mehdi Abaakouk
</pre>
21 1 Mehdi Abaakouk
22 4 Mehdi Abaakouk
On créé un hook libvirt (déjà fait sur n7):
23 1 Mehdi Abaakouk
<pre>
24 9 Mehdi Abaakouk
mkdir -p /etc/libvirt/ttnn/hooks
25 9 Mehdi Abaakouk
ln -s /etc/libvirt/ttnn/hooks /etc/libvirt/hooks
26 1 Mehdi Abaakouk
vi /etc/libvirt/hooks/qemu
27 1 Mehdi Abaakouk
----8<--------------->8----
28 1 Mehdi Abaakouk
#!/bin/bash
29 1 Mehdi Abaakouk
30 1 Mehdi Abaakouk
name="$1"
31 1 Mehdi Abaakouk
operation="$2"
32 1 Mehdi Abaakouk
suboperation="$3"
33 1 Mehdi Abaakouk
34 7 Mehdi Abaakouk
[ "$operation" != "start" ] && exit 0
35 1 Mehdi Abaakouk
[ "$suboperation" != "begin" ] && exit 0
36 1 Mehdi Abaakouk
37 1 Mehdi Abaakouk
# get interface from the libvirt xml
38 1 Mehdi Abaakouk
interface=$(cat - | sed -ne "/vnet/s/.*dev='\([^']*\)'.*/\1/gp")
39 1 Mehdi Abaakouk
40 5 Mehdi Abaakouk
[ -f /etc/libvirt/ttnn/${name}.conf ] && source /etc/libvirt/ttnn/${name}.conf
41 5 Mehdi Abaakouk
42 5 Mehdi Abaakouk
[ "$ip" -o "$ip6" ] && brctl delif dumpbr0 $interface
43 1 Mehdi Abaakouk
[ "$ip" ] && ip route add $ip/32 dev $interface
44 1 Mehdi Abaakouk
[ "$ip6" ] && ip route add $ip6/56 dev $interface
45 1 Mehdi Abaakouk
[ "$ip6" ] && ip -6 addr add fe80::31/64 dev $interface
46 1 Mehdi Abaakouk
exit 0
47 1 Mehdi Abaakouk
----8<--------------->8----
48 1 Mehdi Abaakouk
</pre>
49 1 Mehdi Abaakouk
50 1 Mehdi Abaakouk
51 1 Mehdi Abaakouk
h3. Preparation de l'installer
52 1 Mehdi Abaakouk
53 4 Mehdi Abaakouk
Pour une squeeze on met à jour virtinst  (déjà fait sur n7):
54 1 Mehdi Abaakouk
55 1 Mehdi Abaakouk
<pre>
56 9 Mehdi Abaakouk
wget http://ftp.us.debian.org/debian/pool/main/v/virtinst/virtinst_0.600.3-3_all.deb
57 9 Mehdi Abaakouk
dpkg -i virtinst_0.600.3-3_all.deb
58 1 Mehdi Abaakouk
</pre>
59 1 Mehdi Abaakouk
60 4 Mehdi Abaakouk
On install le preseed.cfg attaché à la page dans /etc/libvirt/preseed.cfg  (déjà fait sur n7)
61 1 Mehdi Abaakouk
62 1 Mehdi Abaakouk
h4. Installation d'une VM
63 1 Mehdi Abaakouk
64 4 Mehdi Abaakouk
Creation du disk (déjà fait sur n7):
65 1 Mehdi Abaakouk
<pre>
66 1 Mehdi Abaakouk
lvcreate -n picttn -L 50G /dev/raid5
67 1 Mehdi Abaakouk
</pre>
68 1 Mehdi Abaakouk
69 5 Mehdi Abaakouk
Configuration du routage static:
70 5 Mehdi Abaakouk
71 5 Mehdi Abaakouk
<pre>
72 5 Mehdi Abaakouk
vi /etc/libvirt/ttnn/picttn.conf 
73 5 Mehdi Abaakouk
ip="91.224.148.252"
74 5 Mehdi Abaakouk
ip6="2a01:6600:8080:FC00::"
75 5 Mehdi Abaakouk
</pre>
76 5 Mehdi Abaakouk
77 8 Mehdi Abaakouk
Lancement de l'installation via le réseau natter de libvirt
78 6 Mehdi Abaakouk
<pre>
79 1 Mehdi Abaakouk
virt-install -n picttn -r 2048 --os-type=linux \
80 8 Mehdi Abaakouk
    --autostart \
81 1 Mehdi Abaakouk
    --disk /dev/raid5/picttn,bus=virtio,cache=none,io=native \
82 8 Mehdi Abaakouk
    --network network=default,model=virtio \
83 1 Mehdi Abaakouk
    --nographics \
84 8 Mehdi Abaakouk
    --wait -1 \
85 1 Mehdi Abaakouk
    --location http://ftp.debian.org/debian/dists/wheezy/main/installer-amd64/ \
86 6 Mehdi Abaakouk
    --serial pty \
87 1 Mehdi Abaakouk
    --initrd-inject /etc/libvirt/ttnn/preseed.cfg \
88 6 Mehdi Abaakouk
    --initrd-inject /etc/libvirt/ttnn/picttn.conf \
89 1 Mehdi Abaakouk
    --initrd-inject /etc/libvirt/ttnn/postinstall.sh \
90 8 Mehdi Abaakouk
    --extra-args "console=ttyS0,9600n8 DEBIAN_FRONTEND=text auto priority=critical hostname=picttn domain=le-pic.org"
91 7 Mehdi Abaakouk
</pre>
92 1 Mehdi Abaakouk
93 8 Mehdi Abaakouk
Une fois l'installation terminée, on change la conf réseau:
94 8 Mehdi Abaakouk
95 1 Mehdi Abaakouk
<pre>
96 8 Mehdi Abaakouk
virsh detach-interface picttn --type network --persistent
97 8 Mehdi Abaakouk
virsh attach-interface picttn --type network --source default --persistent
98 8 Mehdi Abaakouk
</pre>
99 8 Mehdi Abaakouk
100 8 Mehdi Abaakouk
On peux démarrer la VM
101 8 Mehdi Abaakouk
<pre>
102 8 Mehdi Abaakouk
virsh start picttn
103 3 Mehdi Abaakouk
virsh console picttn
104 1 Mehdi Abaakouk
</pre>
105 1 Mehdi Abaakouk
106 8 Mehdi Abaakouk
Ensuite on peux se connecte à la VM
107 1 Mehdi Abaakouk
<pre>
108 1 Mehdi Abaakouk
ssh root@2a01:6600:8080:FC00::1
109 1 Mehdi Abaakouk
</pre>
110 9 Mehdi Abaakouk
111 9 Mehdi Abaakouk
h5. Gestion des confiugrations:
112 9 Mehdi Abaakouk
113 9 Mehdi Abaakouk
le répertoire /etc/libvirt/ttnn/ est géré sous git