Projet

Général

Profil

Libvirt (ancien) » Historique » Version 3

Mehdi Abaakouk, 06/04/2013 00:11

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 1 Mehdi Abaakouk
</network>
14 1 Mehdi Abaakouk
EOF
15 1 Mehdi Abaakouk
16 1 Mehdi Abaakouk
virsh net-define dump-net.xml
17 1 Mehdi Abaakouk
virsh net-autostart dump-net
18 1 Mehdi Abaakouk
virsh net-start dump-net
19 1 Mehdi Abaakouk
</pre>
20 1 Mehdi Abaakouk
21 1 Mehdi Abaakouk
On créé un hook libvirt: 
22 1 Mehdi Abaakouk
<pre>
23 1 Mehdi Abaakouk
mkdir -p /etc/libvirt/hooks/
24 1 Mehdi Abaakouk
vi /etc/libvirt/hooks/qemu
25 1 Mehdi Abaakouk
----8<--------------->8----
26 1 Mehdi Abaakouk
#!/bin/bash
27 1 Mehdi Abaakouk
28 1 Mehdi Abaakouk
name="$1"
29 1 Mehdi Abaakouk
operation="$2"
30 1 Mehdi Abaakouk
suboperation="$3"
31 1 Mehdi Abaakouk
32 1 Mehdi Abaakouk
[ "$operation" != "started" ] && exit 0
33 1 Mehdi Abaakouk
[ "$suboperation" != "begin" ] && exit 0
34 1 Mehdi Abaakouk
35 1 Mehdi Abaakouk
# get interface from the libvirt xml
36 1 Mehdi Abaakouk
interface=$(cat - | sed -ne "/vnet/s/.*dev='\([^']*\)'.*/\1/gp")
37 1 Mehdi Abaakouk
case $name in
38 1 Mehdi Abaakouk
        picttn) ip="91.224.148.252"; ip6="2a01:6600:8080:FC00::" ;;
39 1 Mehdi Abaakouk
esac
40 1 Mehdi Abaakouk
41 1 Mehdi Abaakouk
[ "$ip" ] && ip route add $ip/32 dev $interface
42 1 Mehdi Abaakouk
[ "$ip6" ] && ip route add $ip6/56 dev $interface
43 1 Mehdi Abaakouk
[ "$ip6" ] && ip -6 addr add fe80::31/64 dev $interface
44 1 Mehdi Abaakouk
exit 0
45 1 Mehdi Abaakouk
----8<--------------->8----
46 1 Mehdi Abaakouk
</pre>
47 1 Mehdi Abaakouk
48 1 Mehdi Abaakouk
49 1 Mehdi Abaakouk
h3. Preparation de l'installer
50 1 Mehdi Abaakouk
51 1 Mehdi Abaakouk
Pour une squeeze on met à jour virtinst
52 1 Mehdi Abaakouk
53 1 Mehdi Abaakouk
<pre>
54 1 Mehdi Abaakouk
wget http:// u/debian/pool/main/v/virtinst/virtinst_0.600.1-3_all.deb
55 1 Mehdi Abaakouk
dpkg -i virtinst_0.600.1-3_all.deb
56 1 Mehdi Abaakouk
</pre>
57 1 Mehdi Abaakouk
58 1 Mehdi Abaakouk
On install le preseed.cfg attaché à la page dans /etc/libvirt/preseed.cfg
59 1 Mehdi Abaakouk
60 1 Mehdi Abaakouk
h4. Installation d'une VM
61 1 Mehdi Abaakouk
62 1 Mehdi Abaakouk
Creation du disk
63 1 Mehdi Abaakouk
<pre>
64 1 Mehdi Abaakouk
lvcreate -n picttn -L 50G /dev/raid5
65 1 Mehdi Abaakouk
</pre>
66 1 Mehdi Abaakouk
67 1 Mehdi Abaakouk
Lancement de l'installation
68 1 Mehdi Abaakouk
<pre>
69 1 Mehdi Abaakouk
virt-install -n picttn -r 2048 --os-type=linux \
70 1 Mehdi Abaakouk
    --disk /dev/raid5/picttn,bus=virtio,cache=none,io=native \
71 1 Mehdi Abaakouk
    --network network=dump-net,model=virtio \
72 1 Mehdi Abaakouk
    --nographics \
73 1 Mehdi Abaakouk
    --location http://ftp.debian.org/debian/dists/wheezy/main/installer-amd64/ \
74 1 Mehdi Abaakouk
    --serial pty \
75 1 Mehdi Abaakouk
    --initrd-inject /etc/libvirt/preseed.cfg \
76 1 Mehdi Abaakouk
    --extra-args "console=ttyS0,9600n8 DEBIAN_FRONTEND=text auto priority=critical hostname=picttn domain=le-pic.org netcfg/get_ipaddress=2a01:6600:8080:FC00::1 netcfg/get_netmask=ffff:ffff:ffff:ff00:: netcfg/get_gateway=fe80::31 netcfg/get_nameservers=2001:4860:4860::8888"
77 1 Mehdi Abaakouk
</pre>
78 1 Mehdi Abaakouk
79 1 Mehdi Abaakouk
On peux regarder l'avancement de l'installation avec 
80 1 Mehdi Abaakouk
<pre>
81 1 Mehdi Abaakouk
virsh console picttn
82 1 Mehdi Abaakouk
</pre>
83 1 Mehdi Abaakouk
84 3 Mehdi Abaakouk
Ensuite on se connecte à la VM et on rajoute la conf ipv4 impossible a faire avec debian installer
85 3 Mehdi Abaakouk
<pre>
86 1 Mehdi Abaakouk
ssh root@2a01:6600:8080:FC00::1
87 3 Mehdi Abaakouk
</pre>
88 1 Mehdi Abaakouk
89 1 Mehdi Abaakouk
Ajouter dans /etc/network/interface:
90 1 Mehdi Abaakouk
91 3 Mehdi Abaakouk
<pre>
92 1 Mehdi Abaakouk
iface eth0 inet static
93 1 Mehdi Abaakouk
    address 91.224.148.252
94 1 Mehdi Abaakouk
    netmask 32
95 1 Mehdi Abaakouk
    up ip route add 91.224.148.0/32 dev eth0
96 1 Mehdi Abaakouk
    up ip route add default via 91.224.148.0
97 3 Mehdi Abaakouk
</pre>