Projet

Général

Profil

GCCCompileFarm » Historique » Version 15

Laurent GUERBY, 05/08/2012 22:54

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 4 Éric Deschamps
h2. Gestion des machines virtuelles
34 4 Éric Deschamps
35 4 Éric Deschamps
*Remarque* : le compte utilisateur doit être membre du *groupe libvirt*.
36 4 Éric Deschamps
37 4 Éric Deschamps
h3. Lister les machines virtuelles
38 4 Éric Deschamps
39 4 Éric Deschamps
*En cours :*
40 4 Éric Deschamps
41 4 Éric Deschamps
<pre>
42 4 Éric Deschamps
virsh list
43 4 Éric Deschamps
</pre>
44 4 Éric Deschamps
45 4 Éric Deschamps
*Disponibles :*
46 4 Éric Deschamps
<pre>
47 4 Éric Deschamps
virsh list --all
48 4 Éric Deschamps
</pre>
49 4 Éric Deschamps
50 4 Éric Deschamps
h3. Démarrer une machine virtuelle
51 4 Éric Deschamps
52 4 Éric Deschamps
<pre>
53 4 Éric Deschamps
virsh start nom_vm
54 4 Éric Deschamps
</pre>
55 4 Éric Deschamps
56 4 Éric Deschamps
h3. Arrêter une machine virtuelle
57 4 Éric Deschamps
58 4 Éric Deschamps
<pre>
59 4 Éric Deschamps
virsh shutdown nom_vm
60 4 Éric Deschamps
</pre>
61 5 Éric Deschamps
62 5 Éric Deschamps
h2. Installation d'une machine virtuelle
63 5 Éric Deschamps
64 5 Éric Deschamps
Commande virt-install donnée à titre indicatif :
65 5 Éric Deschamps
<pre>
66 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 \
67 5 Éric Deschamps
--disk path=/var/lib/libvirt/images/debian-squeeze-x86.qcow2,bus=virtio,size=10,format=qcow2 --vnc
68 5 Éric Deschamps
</pre>
69 5 Éric Deschamps
70 5 Éric Deschamps
Petites remarques :
71 5 Éric Deschamps
* -n permet de donner un nom à la machine virtuelle
72 5 Éric Deschamps
* -r précise la taille mémoire allouée à la VM
73 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.
74 8 Éric Deschamps
75 8 Éric Deschamps
h2. Installation d'un machine virtuelle RedHat (RHEL) avec KVM
76 8 Éric Deschamps
77 8 Éric Deschamps
_Petites notes à déplacer plus tard_
78 8 Éric Deschamps
79 8 Éric Deschamps
RedHat documente l'installation des machines virtuelles avec KVM (*** lien ***). 
80 8 Éric Deschamps
81 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.
82 8 Éric Deschamps
83 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.
84 8 Éric Deschamps
85 8 Éric Deschamps
h3. Paramétrage réseau
86 8 Éric Deschamps
87 8 Éric Deschamps
* /etc/sysconfig/network (par exemple)
88 8 Éric Deschamps
<pre>
89 8 Éric Deschamps
NETWORKING=yes
90 8 Éric Deschamps
HOSTNAME=rhel-6.3-amd64.localdomain
91 8 Éric Deschamps
</pre>
92 8 Éric Deschamps
93 8 Éric Deschamps
* /etc/hosts (ajout, toujours par exemple)
94 8 Éric Deschamps
<pre>
95 8 Éric Deschamps
192.168.122.13 rhel-6.3-amd64 rhel-6.3-amd64.localdomain
96 8 Éric Deschamps
</pre>
97 8 Éric Deschamps
98 8 Éric Deschamps
* /etc/sysconfig/network-scripts/ifcfg-eth0 (exemple)
99 8 Éric Deschamps
<pre>
100 8 Éric Deschamps
DEVICE="eth0"
101 8 Éric Deschamps
BOOTPROTO="static"
102 8 Éric Deschamps
IPADDR=192.168.122.13
103 8 Éric Deschamps
BROADCAST=192.168.122.255
104 8 Éric Deschamps
NETMASK=255.255.255.0
105 8 Éric Deschamps
NETWORK=192.168.122.0
106 8 Éric Deschamps
GATEWAY=192.168.122.1
107 8 Éric Deschamps
HWADDR="52:54:00:A8:19:67"
108 8 Éric Deschamps
NM_CONTROLLED="yes"
109 8 Éric Deschamps
ONBOOT="yes"
110 8 Éric Deschamps
TYPE="Ethernet"
111 8 Éric Deschamps
UUID="88376404-9ee2-4455-bee3-fe97f2df9fff"
112 8 Éric Deschamps
</pre>
113 8 Éric Deschamps
114 8 Éric Deschamps
* Mise à jour de la configuration réseau
115 8 Éric Deschamps
116 8 Éric Deschamps
<pre>
117 8 Éric Deschamps
# ifdown eth0
118 8 Éric Deschamps
# ifup eth0
119 8 Éric Deschamps
</pre>
120 8 Éric Deschamps
121 8 Éric Deschamps
h3. Enregistrement de la machine chez RedHat
122 8 Éric Deschamps
123 8 Éric Deschamps
<pre>
124 8 Éric Deschamps
# rhn_register
125 8 Éric Deschamps
</pre>
126 8 Éric Deschamps
127 8 Éric Deschamps
Puis login / mot de passe, suivant, etc.
128 8 Éric Deschamps
129 8 Éric Deschamps
h3. Mise à jour et installation des paquets nécessaires
130 8 Éric Deschamps
131 8 Éric Deschamps
* Mise à jour simple :
132 8 Éric Deschamps
<pre>
133 8 Éric Deschamps
yum update
134 8 Éric Deschamps
</pre>
135 8 Éric Deschamps
136 8 Éric Deschamps
* Installation des paquets nécessaires
137 8 Éric Deschamps
<pre>
138 8 Éric Deschamps
yum groupinstall 'Development Tools'
139 8 Éric Deschamps
</pre>
140 8 Éric Deschamps
141 8 Éric Deschamps
* Autres outils (*** à compléter ***)
142 8 Éric Deschamps
<pre>
143 8 Éric Deschamps
yum install screen
144 8 Éric Deschamps
</pre>
145 10 Éric Deschamps
146 10 Éric Deschamps
h2. Machines virtuelles NetBSD
147 10 Éric Deschamps
148 14 Éric Deschamps
h3. Commande d'installation
149 14 Éric Deschamps
150 14 Éric Deschamps
Exemple pour NetBSD-current (AMD64)!
151 14 Éric Deschamps
152 14 Éric Deschamps
<pre>
153 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 \
154 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
155 14 Éric Deschamps
</pre>
156 14 Éric Deschamps
157 13 Éric Deschamps
h3. Démarrage sans ACPI par défaut
158 13 Éric Deschamps
159 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.
160 13 Éric Deschamps
161 13 Éric Deschamps
*/boot.cfg* :
162 13 Éric Deschamps
<pre>
163 13 Éric Deschamps
default=3
164 13 Éric Deschamps
</pre>
165 13 Éric Deschamps
166 10 Éric Deschamps
h3. Interface réseau
167 10 Éric Deschamps
168 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*.
169 10 Éric Deschamps
170 10 Éric Deschamps
Par exemple dans _/etc/libvirt/qemu/netbsd512.xml_ :
171 10 Éric Deschamps
172 10 Éric Deschamps
<pre>
173 10 Éric Deschamps
    <interface type='network'>
174 10 Éric Deschamps
      <mac address='52:54:00:f5:96:fe'/>
175 10 Éric Deschamps
      <source network='default'/>
176 10 Éric Deschamps
      <model type='ne2k_pci'/>
177 10 Éric Deschamps
      <address type='pci' domain='0x0000' bus='0x00' slot='0x03' function='0x0'/>
178 10 Éric Deschamps
    </interface>
179 10 Éric Deschamps
</pre>
180 10 Éric Deschamps
181 10 Éric Deschamps
h3. Configuration réseau
182 10 Éric Deschamps
183 10 Éric Deschamps
Si vous avez choisi *DHCP* à l'installation, il faut modifier quelques fichiers pour passer en IP fixe :
184 10 Éric Deschamps
185 10 Éric Deschamps
On désactive DHCP dans */etc/rc.conf* :
186 10 Éric Deschamps
187 10 Éric Deschamps
<pre>
188 10 Éric Deschamps
#(...)
189 10 Éric Deschamps
dhclient=NO
190 10 Éric Deschamps
#dhclient_flags="ne0"
191 10 Éric Deschamps
#(...)
192 10 Éric Deschamps
</pre>
193 10 Éric Deschamps
194 10 Éric Deschamps
On place l'adresse de la passerelle dans */etc/mygate* :
195 10 Éric Deschamps
<pre>
196 10 Éric Deschamps
192.168.122.1
197 10 Éric Deschamps
</pre>
198 10 Éric Deschamps
199 10 Éric Deschamps
Les serveurs DNS se déclarent comme toujours dans */etc/resolv.conf* :
200 10 Éric Deschamps
<pre>
201 10 Éric Deschamps
nameserver 192.168.122.1
202 10 Éric Deschamps
</pre>
203 10 Éric Deschamps
204 10 Éric Deschamps
h3. Serveur SSH
205 10 Éric Deschamps
206 10 Éric Deschamps
Pour lancer le serveur SSH automatiquement, ajouter ceci dans */etc/rc.conf* :
207 10 Éric Deschamps
<pre>
208 10 Éric Deschamps
sshd=YES
209 10 Éric Deschamps
</pre>
210 10 Éric Deschamps
211 10 Éric Deschamps
Pour le lancer à la main une première fois :
212 10 Éric Deschamps
213 10 Éric Deschamps
<pre>
214 11 Éric Deschamps
# /etc/rc.d/sshd start
215 1 Laurent GUERBY
</pre>
216 11 Éric Deschamps
217 11 Éric Deschamps
h3. Installation de logiciels
218 11 Éric Deschamps
219 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* :
220 11 Éric Deschamps
221 11 Éric Deschamps
<pre>
222 11 Éric Deschamps
# export PKG_PATH="http://ftp.NetBSD.org/pub/pkgsrc/packages/NetBSD/amd64/5.1/All"
223 11 Éric Deschamps
</pre>
224 11 Éric Deschamps
225 11 Éric Deschamps
Ensuite on installe "pkgin":http://pkgin.net/ car il facilite grandement l'installation des programmes :
226 11 Éric Deschamps
<pre>
227 11 Éric Deschamps
# pkg_add -v pkgin
228 11 Éric Deschamps
</pre>
229 11 Éric Deschamps
230 11 Éric Deschamps
Une fois installé, il faut configurer les dépôts dans */usr/pkg/etc/pkgin/repositories.conf*. Toujours pour notre exemple :
231 11 Éric Deschamps
232 11 Éric Deschamps
<pre>
233 11 Éric Deschamps
ftp://ftp.netbsd.org/pub/pkgsrc/packages/NetBSD/$arch/5.1/All
234 11 Éric Deschamps
</pre>
235 11 Éric Deschamps
236 11 Éric Deschamps
Ensuite on met à jour la base de *pkgin* :
237 11 Éric Deschamps
238 11 Éric Deschamps
<pre>
239 11 Éric Deschamps
# pkgin update
240 11 Éric Deschamps
</pre>
241 11 Éric Deschamps
242 11 Éric Deschamps
"Exemples d'utilisation de pkgin":http://www.netbsdfr.org/wiki/doku.php?id=trad:start#exemples_d_utilisation
243 11 Éric Deschamps
244 11 Éric Deschamps
Documentation sur pkgin : 
245 11 Éric Deschamps
* http://www.netbsdfr.org/wiki/doku.php?id=trad:start
246 11 Éric Deschamps
* http://www.unixgarden.com/index.php/gnu-linux-magazine/un-pkgin-sans-glace-pour-la-6
247 11 Éric Deschamps
* http://pkgin.net/
248 10 Éric Deschamps
249 10 Éric Deschamps
h2. Recherche et résolution de problèmes avec virsh/libvirt
250 10 Éric Deschamps
251 10 Éric Deschamps
Les journaux se trouvent dans */var/log/libvirt/qemu/*.
252 10 Éric Deschamps
253 10 Éric Deschamps
h3. Erreur : cannot acquire state change lock
254 10 Éric Deschamps
255 10 Éric Deschamps
*Exemple* :
256 10 Éric Deschamps
<pre>
257 10 Éric Deschamps
# virsh start netbsd-512-amd64
258 10 Éric Deschamps
error: Failed to start domain netbsd-512-amd64
259 10 Éric Deschamps
error: Timed out during operation: cannot acquire state change lock
260 10 Éric Deschamps
</pre>
261 10 Éric Deschamps
262 10 Éric Deschamps
Il faut relancer libvirtd :
263 10 Éric Deschamps
<pre>
264 10 Éric Deschamps
killall -9 libvirtd
265 10 Éric Deschamps
rm  /var/run/libvirtd.pid
266 10 Éric Deschamps
/etc/init.d/libvirt-bin restart
267 10 Éric Deschamps
</pre>