Projet

Général

Profil

GCCCompileFarm » Historique » Version 13

Éric Deschamps, 30/07/2012 20:05
NetBSD : démarrer sans ACPI par défaut

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