Projet

Général

Profil

GCCCompileFarm » Historique » Version 18

Éric Deschamps, 27/08/2012 11:48
ajout de libvirt-bin en pré-requis

1 1 Laurent GUERBY
{{>toc}}
2 1 Laurent GUERBY
3 1 Laurent GUERBY
h1. GCCCompileFarm
4 2 Laurent GUERBY
5 4 Éric Deschamps
h2. Machines virtuelles demandées
6 4 Éric Deschamps
7 2 Laurent GUERBY
TODO KVM a la demande sur gcc75 et gcc76
8 3 Laurent GUERBY
9 3 Laurent GUERBY
* FreeBSD (diverses versions et 32/64)
10 3 Laurent GUERBY
* RHEL (idem, on a 5 licences RHN)
11 3 Laurent GUERBY
* OpenBSD (idem)
12 3 Laurent GUERBY
* NetBSD (idem)
13 3 Laurent GUERBY
* debian (idem)
14 3 Laurent GUERBY
* ubuntu (idem)
15 3 Laurent GUERBY
* gentoo (idem)
16 3 Laurent GUERBY
17 3 Laurent GUERBY
En non x86/amd64 qemu ?
18 3 Laurent GUERBY
19 15 Laurent GUERBY
* Idée amusante non qemu : s/390 avec l'emulateur Hercules cf "Installing a custom kernel on Debian S/390(wheezy/sid)" http://lists.debian.org/debian-s390/2012/08/msg00001.html
20 3 Laurent GUERBY
* openwrt MIPS
21 3 Laurent GUERBY
* debian/autre ARM
22 4 Éric Deschamps
23 4 Éric Deschamps
h2. Machines virtuelles installées
24 4 Éric Deschamps
25 4 Éric Deschamps
h3. Sur gcc76
26 4 Éric Deschamps
27 7 Éric Deschamps
* FreeBSD 8.3 amd64 : ssh farmuser@freebsd-83-amd64
28 7 Éric Deschamps
* Debian GNU/Linux Squeeze x86 : ssh farmuser@squeeze-x86
29 7 Éric Deschamps
* OpenBSD 5 / i386 : ssh farmuser@openbsd-5-x86
30 9 Éric Deschamps
* RedHat Linux Server 6.3 amd64 : ssh farmuser@rhel-63-amd64
31 12 Éric Deschamps
* NetBSD 5.1.2 amd64 : ssh farmuser@netbsd-512-amd64
32 4 Éric Deschamps
33 17 Éric Deschamps
h2. Pré-requis sur l'hôte des machines virtuelles (Debian)
34 17 Éric Deschamps
35 17 Éric Deschamps
<pre>
36 18 Éric Deschamps
aptitude install virtinst  virt-top qemu-kvm libvirt-bin
37 17 Éric Deschamps
</pre>
38 17 Éric Deschamps
39 4 Éric Deschamps
h2. Gestion des machines virtuelles
40 4 Éric Deschamps
41 4 Éric Deschamps
*Remarque* : le compte utilisateur doit être membre du *groupe libvirt*.
42 4 Éric Deschamps
43 4 Éric Deschamps
h3. Lister les machines virtuelles
44 4 Éric Deschamps
45 4 Éric Deschamps
*En cours :*
46 4 Éric Deschamps
47 17 Éric Deschamps
Avec virsh :
48 17 Éric Deschamps
49 4 Éric Deschamps
<pre>
50 4 Éric Deschamps
virsh list
51 17 Éric Deschamps
</pre>
52 17 Éric Deschamps
53 17 Éric Deschamps
Autre commande :
54 17 Éric Deschamps
55 17 Éric Deschamps
<pre>
56 17 Éric Deschamps
virt-top
57 4 Éric Deschamps
</pre>
58 4 Éric Deschamps
59 4 Éric Deschamps
*Disponibles :*
60 4 Éric Deschamps
<pre>
61 4 Éric Deschamps
virsh list --all
62 4 Éric Deschamps
</pre>
63 4 Éric Deschamps
64 4 Éric Deschamps
h3. Démarrer une machine virtuelle
65 4 Éric Deschamps
66 4 Éric Deschamps
<pre>
67 4 Éric Deschamps
virsh start nom_vm
68 4 Éric Deschamps
</pre>
69 4 Éric Deschamps
70 4 Éric Deschamps
h3. Arrêter une machine virtuelle
71 4 Éric Deschamps
72 4 Éric Deschamps
<pre>
73 4 Éric Deschamps
virsh shutdown nom_vm
74 4 Éric Deschamps
</pre>
75 5 Éric Deschamps
76 16 Éric Deschamps
h2. Spécificités en fonction des systèmes
77 16 Éric Deschamps
78 16 Éric Deschamps
Voir http://www.linux-kvm.org/page/Guest_Support_Status
79 16 Éric Deschamps
80 5 Éric Deschamps
h2. Installation d'une machine virtuelle
81 5 Éric Deschamps
82 5 Éric Deschamps
Commande virt-install donnée à titre indicatif :
83 5 Éric Deschamps
<pre>
84 5 Éric Deschamps
virt-install --accelerate --hvm --connect qemu:///system --cdrom ~erdesc/isos/debian-6.0.5-i386-netinst.iso -n squeeze-x86 -r 1024 \
85 5 Éric Deschamps
--disk path=/var/lib/libvirt/images/debian-squeeze-x86.qcow2,bus=virtio,size=10,format=qcow2 --vnc
86 5 Éric Deschamps
</pre>
87 5 Éric Deschamps
88 5 Éric Deschamps
Petites remarques :
89 5 Éric Deschamps
* -n permet de donner un nom à la machine virtuelle
90 5 Éric Deschamps
* -r précise la taille mémoire allouée à la VM
91 5 Éric Deschamps
* --disk path=/var/lib/libvirt/images/debian-squeeze-x86.qcow2,bus=virtio,size=10,format=qcow2 : on place par défaut les images dans le répertoire /var/lib/libvirt/images/. Ici on utilise le pilote virtio parce qu'il est généralement fourni sous Linux, donc pour un BSD on préférera ide, sata ou scsi, la taille de l'image est de 10 Go et le format qcow2 est extensible, donc évite de manger les 10Go sur le disque pour rien.
92 8 Éric Deschamps
93 8 Éric Deschamps
h2. Installation d'un machine virtuelle RedHat (RHEL) avec KVM
94 8 Éric Deschamps
95 8 Éric Deschamps
_Petites notes à déplacer plus tard_
96 8 Éric Deschamps
97 8 Éric Deschamps
RedHat documente l'installation des machines virtuelles avec KVM (*** lien ***). 
98 8 Éric Deschamps
99 8 Éric Deschamps
Pour commencer, j'ai eu quelques soucis avec les pilotes virtio pour le disque virtuel et la carte réseau. J'ai _résolu_ le problème en utilisant respectivement un contrôleur IDE et une carte ethernet e1000.
100 8 Éric Deschamps
101 8 Éric Deschamps
Ensuite, une fois l'installation terminée, il faut changer le nom d'hôte, parfois reparamétrer la carte réseau et enfin enregistrer la machine chez RedHat avant de mettre à jour et d'installer de nouveaux paquets.
102 8 Éric Deschamps
103 8 Éric Deschamps
h3. Paramétrage réseau
104 8 Éric Deschamps
105 8 Éric Deschamps
* /etc/sysconfig/network (par exemple)
106 8 Éric Deschamps
<pre>
107 8 Éric Deschamps
NETWORKING=yes
108 8 Éric Deschamps
HOSTNAME=rhel-6.3-amd64.localdomain
109 8 Éric Deschamps
</pre>
110 8 Éric Deschamps
111 8 Éric Deschamps
* /etc/hosts (ajout, toujours par exemple)
112 8 Éric Deschamps
<pre>
113 8 Éric Deschamps
192.168.122.13 rhel-6.3-amd64 rhel-6.3-amd64.localdomain
114 8 Éric Deschamps
</pre>
115 8 Éric Deschamps
116 8 Éric Deschamps
* /etc/sysconfig/network-scripts/ifcfg-eth0 (exemple)
117 8 Éric Deschamps
<pre>
118 8 Éric Deschamps
DEVICE="eth0"
119 8 Éric Deschamps
BOOTPROTO="static"
120 8 Éric Deschamps
IPADDR=192.168.122.13
121 8 Éric Deschamps
BROADCAST=192.168.122.255
122 8 Éric Deschamps
NETMASK=255.255.255.0
123 8 Éric Deschamps
NETWORK=192.168.122.0
124 8 Éric Deschamps
GATEWAY=192.168.122.1
125 8 Éric Deschamps
HWADDR="52:54:00:A8:19:67"
126 8 Éric Deschamps
NM_CONTROLLED="yes"
127 8 Éric Deschamps
ONBOOT="yes"
128 8 Éric Deschamps
TYPE="Ethernet"
129 8 Éric Deschamps
UUID="88376404-9ee2-4455-bee3-fe97f2df9fff"
130 8 Éric Deschamps
</pre>
131 8 Éric Deschamps
132 8 Éric Deschamps
* Mise à jour de la configuration réseau
133 8 Éric Deschamps
134 8 Éric Deschamps
<pre>
135 8 Éric Deschamps
# ifdown eth0
136 8 Éric Deschamps
# ifup eth0
137 8 Éric Deschamps
</pre>
138 8 Éric Deschamps
139 8 Éric Deschamps
h3. Enregistrement de la machine chez RedHat
140 8 Éric Deschamps
141 8 Éric Deschamps
<pre>
142 8 Éric Deschamps
# rhn_register
143 8 Éric Deschamps
</pre>
144 8 Éric Deschamps
145 8 Éric Deschamps
Puis login / mot de passe, suivant, etc.
146 8 Éric Deschamps
147 8 Éric Deschamps
h3. Mise à jour et installation des paquets nécessaires
148 8 Éric Deschamps
149 8 Éric Deschamps
* Mise à jour simple :
150 8 Éric Deschamps
<pre>
151 8 Éric Deschamps
yum update
152 8 Éric Deschamps
</pre>
153 8 Éric Deschamps
154 8 Éric Deschamps
* Installation des paquets nécessaires
155 8 Éric Deschamps
<pre>
156 8 Éric Deschamps
yum groupinstall 'Development Tools'
157 8 Éric Deschamps
</pre>
158 8 Éric Deschamps
159 8 Éric Deschamps
* Autres outils (*** à compléter ***)
160 8 Éric Deschamps
<pre>
161 8 Éric Deschamps
yum install screen
162 8 Éric Deschamps
</pre>
163 10 Éric Deschamps
164 10 Éric Deschamps
h2. Machines virtuelles NetBSD
165 10 Éric Deschamps
166 14 Éric Deschamps
h3. Commande d'installation
167 14 Éric Deschamps
168 14 Éric Deschamps
Exemple pour NetBSD-current (AMD64)!
169 14 Éric Deschamps
170 14 Éric Deschamps
<pre>
171 14 Éric Deschamps
virt-install --accelerate --hvm --connect qemu:///system --cdrom ~erdesc/isos/netbsd-amd64-6.0-beta2.iso -n netbsd-current-amd64 -r 1024 \
172 14 Éric Deschamps
--disk path=/var/lib/libvirt/images/netbsd-current-amd64.qcow2,bus=ide,size=10,format=qcow2 --network network=default,model=ne2k_pci --vnc
173 14 Éric Deschamps
</pre>
174 14 Éric Deschamps
175 13 Éric Deschamps
h3. Démarrage sans ACPI par défaut
176 13 Éric Deschamps
177 13 Éric Deschamps
"Cette page":http://www.ezunix.org/index.php?title=NetBSD_5_on_KVM précise qu'il faut démarrer sans ACPI et sans SMP. Le démarrage sans SMP ni ACPI ayant planté sur la machine virtuelle NetBSD-5.1.2-amd64, j'ai choisi de ne désactiver que l'ACPI.
178 13 Éric Deschamps
179 13 Éric Deschamps
*/boot.cfg* :
180 13 Éric Deschamps
<pre>
181 13 Éric Deschamps
default=3
182 13 Éric Deschamps
</pre>
183 13 Éric Deschamps
184 10 Éric Deschamps
h3. Interface réseau
185 10 Éric Deschamps
186 10 Éric Deschamps
L'interface réseau *rtl8139* par défaut "ne fonctionne pas bien":http://wiki.gcu.info/doku.php?id=linux:kvm_virt-manager_nictype. Il faut la changer par une *ne2k_pci*.
187 10 Éric Deschamps
188 10 Éric Deschamps
Par exemple dans _/etc/libvirt/qemu/netbsd512.xml_ :
189 10 Éric Deschamps
190 10 Éric Deschamps
<pre>
191 10 Éric Deschamps
    <interface type='network'>
192 10 Éric Deschamps
      <mac address='52:54:00:f5:96:fe'/>
193 10 Éric Deschamps
      <source network='default'/>
194 10 Éric Deschamps
      <model type='ne2k_pci'/>
195 10 Éric Deschamps
      <address type='pci' domain='0x0000' bus='0x00' slot='0x03' function='0x0'/>
196 10 Éric Deschamps
    </interface>
197 10 Éric Deschamps
</pre>
198 10 Éric Deschamps
199 10 Éric Deschamps
h3. Configuration réseau
200 10 Éric Deschamps
201 10 Éric Deschamps
Si vous avez choisi *DHCP* à l'installation, il faut modifier quelques fichiers pour passer en IP fixe :
202 10 Éric Deschamps
203 10 Éric Deschamps
On désactive DHCP dans */etc/rc.conf* :
204 10 Éric Deschamps
205 10 Éric Deschamps
<pre>
206 10 Éric Deschamps
#(...)
207 10 Éric Deschamps
dhclient=NO
208 10 Éric Deschamps
#dhclient_flags="ne0"
209 10 Éric Deschamps
#(...)
210 10 Éric Deschamps
</pre>
211 10 Éric Deschamps
212 10 Éric Deschamps
On place l'adresse de la passerelle dans */etc/mygate* :
213 10 Éric Deschamps
<pre>
214 10 Éric Deschamps
192.168.122.1
215 10 Éric Deschamps
</pre>
216 10 Éric Deschamps
217 10 Éric Deschamps
Les serveurs DNS se déclarent comme toujours dans */etc/resolv.conf* :
218 10 Éric Deschamps
<pre>
219 10 Éric Deschamps
nameserver 192.168.122.1
220 10 Éric Deschamps
</pre>
221 10 Éric Deschamps
222 10 Éric Deschamps
h3. Serveur SSH
223 10 Éric Deschamps
224 10 Éric Deschamps
Pour lancer le serveur SSH automatiquement, ajouter ceci dans */etc/rc.conf* :
225 10 Éric Deschamps
<pre>
226 10 Éric Deschamps
sshd=YES
227 10 Éric Deschamps
</pre>
228 10 Éric Deschamps
229 10 Éric Deschamps
Pour le lancer à la main une première fois :
230 10 Éric Deschamps
231 10 Éric Deschamps
<pre>
232 11 Éric Deschamps
# /etc/rc.d/sshd start
233 1 Laurent GUERBY
</pre>
234 11 Éric Deschamps
235 11 Éric Deschamps
h3. Installation de logiciels
236 11 Éric Deschamps
237 11 Éric Deschamps
La première chose est de configurer "pkgsrc":http://www.netbsd.org/docs/pkgsrc/using.html pour qu'il sache où trouver les sources des logiciels. Par exemple pour un *NetBSD-5.1.2* sur *amd64* :
238 11 Éric Deschamps
239 11 Éric Deschamps
<pre>
240 11 Éric Deschamps
# export PKG_PATH="http://ftp.NetBSD.org/pub/pkgsrc/packages/NetBSD/amd64/5.1/All"
241 11 Éric Deschamps
</pre>
242 11 Éric Deschamps
243 11 Éric Deschamps
Ensuite on installe "pkgin":http://pkgin.net/ car il facilite grandement l'installation des programmes :
244 11 Éric Deschamps
<pre>
245 11 Éric Deschamps
# pkg_add -v pkgin
246 11 Éric Deschamps
</pre>
247 11 Éric Deschamps
248 11 Éric Deschamps
Une fois installé, il faut configurer les dépôts dans */usr/pkg/etc/pkgin/repositories.conf*. Toujours pour notre exemple :
249 11 Éric Deschamps
250 11 Éric Deschamps
<pre>
251 11 Éric Deschamps
ftp://ftp.netbsd.org/pub/pkgsrc/packages/NetBSD/$arch/5.1/All
252 11 Éric Deschamps
</pre>
253 11 Éric Deschamps
254 11 Éric Deschamps
Ensuite on met à jour la base de *pkgin* :
255 11 Éric Deschamps
256 11 Éric Deschamps
<pre>
257 11 Éric Deschamps
# pkgin update
258 11 Éric Deschamps
</pre>
259 11 Éric Deschamps
260 11 Éric Deschamps
"Exemples d'utilisation de pkgin":http://www.netbsdfr.org/wiki/doku.php?id=trad:start#exemples_d_utilisation
261 11 Éric Deschamps
262 11 Éric Deschamps
Documentation sur pkgin : 
263 11 Éric Deschamps
* http://www.netbsdfr.org/wiki/doku.php?id=trad:start
264 11 Éric Deschamps
* http://www.unixgarden.com/index.php/gnu-linux-magazine/un-pkgin-sans-glace-pour-la-6
265 11 Éric Deschamps
* http://pkgin.net/
266 10 Éric Deschamps
267 10 Éric Deschamps
h2. Recherche et résolution de problèmes avec virsh/libvirt
268 10 Éric Deschamps
269 10 Éric Deschamps
Les journaux se trouvent dans */var/log/libvirt/qemu/*.
270 10 Éric Deschamps
271 10 Éric Deschamps
h3. Erreur : cannot acquire state change lock
272 10 Éric Deschamps
273 10 Éric Deschamps
*Exemple* :
274 10 Éric Deschamps
<pre>
275 10 Éric Deschamps
# virsh start netbsd-512-amd64
276 10 Éric Deschamps
error: Failed to start domain netbsd-512-amd64
277 10 Éric Deschamps
error: Timed out during operation: cannot acquire state change lock
278 10 Éric Deschamps
</pre>
279 10 Éric Deschamps
280 10 Éric Deschamps
Il faut relancer libvirtd :
281 10 Éric Deschamps
<pre>
282 10 Éric Deschamps
killall -9 libvirtd
283 10 Éric Deschamps
rm  /var/run/libvirtd.pid
284 10 Éric Deschamps
/etc/init.d/libvirt-bin restart
285 10 Éric Deschamps
</pre>