Projet

Général

Profil

Libvirt (ancien) » Historique » Version 16

Mehdi Abaakouk, 07/04/2013 16:01

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