Projet

Général

Profil

Cluster Ganeti » Historique » Version 9

Mehdi Abaakouk, 19/03/2012 14:55

1 1 Mehdi Abaakouk
h1. Maintenance Ganeti
2 1 Mehdi Abaakouk
3 9 Mehdi Abaakouk
{{>toc}}
4 9 Mehdi Abaakouk
5 1 Mehdi Abaakouk
h2. Comment demarrer et arreter une instance ?
6 1 Mehdi Abaakouk
7 1 Mehdi Abaakouk
Avec les commandes suivantes:
8 2 Mehdi Abaakouk
<pre>gnt-instance start vm1</pre>
9 1 Mehdi Abaakouk
10 1 Mehdi Abaakouk
et
11 1 Mehdi Abaakouk
12 2 Mehdi Abaakouk
<pre>gnt-instance stop vm1</pre>
13 1 Mehdi Abaakouk
14 1 Mehdi Abaakouk
h2. Comment tout savoir sur une vm ?
15 1 Mehdi Abaakouk
16 1 Mehdi Abaakouk
17 1 Mehdi Abaakouk
<pre>
18 1 Mehdi Abaakouk
gnt-instance info vm1
19 1 Mehdi Abaakouk
</pre>
20 1 Mehdi Abaakouk
21 1 Mehdi Abaakouk
h2. Comment forcer le déplacement d'une instance sur un machine donnée
22 1 Mehdi Abaakouk
23 1 Mehdi Abaakouk
Si la machine a ces disques au format plain (sans drbd), taper:
24 1 Mehdi Abaakouk
25 1 Mehdi Abaakouk
<pre>
26 1 Mehdi Abaakouk
gnt-instance stop vm1
27 1 Mehdi Abaakouk
gnt-instance move -n h6 vm1
28 1 Mehdi Abaakouk
gnt-instance start vm1
29 1 Mehdi Abaakouk
</pre>
30 1 Mehdi Abaakouk
31 1 Mehdi Abaakouk
Si la machine utilise drbd (uniquement le disque de la node secondaire bascule):
32 1 Mehdi Abaakouk
33 1 Mehdi Abaakouk
<pre>
34 1 Mehdi Abaakouk
gnt-instance replace-disks -n h6 vm1
35 1 Mehdi Abaakouk
</pre>
36 1 Mehdi Abaakouk
Si vous voulais déplacer l'autre disque du drbd, il faut basculer la machine, puis refaire la même chose
37 1 Mehdi Abaakouk
38 1 Mehdi Abaakouk
h2. Comment basculer une machine qui utilise drbd pour les disques ?
39 1 Mehdi Abaakouk
40 1 Mehdi Abaakouk
Bascule avec arret de la machine:
41 1 Mehdi Abaakouk
42 1 Mehdi Abaakouk
<pre>
43 1 Mehdi Abaakouk
gnt-instance failover vm1
44 1 Mehdi Abaakouk
</pre>
45 1 Mehdi Abaakouk
Sans arret, à chaud:
46 1 Mehdi Abaakouk
47 1 Mehdi Abaakouk
<pre>
48 1 Mehdi Abaakouk
gnt-instance migrate vm1
49 1 Mehdi Abaakouk
</pre>
50 1 Mehdi Abaakouk
En cas de soucis primaire/secondaire:
51 1 Mehdi Abaakouk
52 1 Mehdi Abaakouk
<pre>
53 1 Mehdi Abaakouk
gnt-instance migrate --cleanup vm1
54 1 Mehdi Abaakouk
</pre>
55 1 Mehdi Abaakouk
56 1 Mehdi Abaakouk
h2. Éteindre/rebooter provisoirement un H? sans coupure de service
57 1 Mehdi Abaakouk
58 1 Mehdi Abaakouk
On migre toutes les machines de h?
59 1 Mehdi Abaakouk
60 1 Mehdi Abaakouk
<pre>
61 1 Mehdi Abaakouk
gnt-node migrate h?
62 1 Mehdi Abaakouk
</pre>
63 1 Mehdi Abaakouk
On éteint
64 1 Mehdi Abaakouk
65 1 Mehdi Abaakouk
<pre>
66 1 Mehdi Abaakouk
shutdown -h now
67 1 Mehdi Abaakouk
</pre>
68 1 Mehdi Abaakouk
On rallume et on rééquilibre le cluster sans déplacement de disque
69 1 Mehdi Abaakouk
70 1 Mehdi Abaakouk
<pre>
71 1 Mehdi Abaakouk
hbal -L --no-disk-moves -X
72 1 Mehdi Abaakouk
</pre>
73 1 Mehdi Abaakouk
La liste ici est presque identique à celle de "gnt-node migrate"
74 1 Mehdi Abaakouk
hbal exécute des "gnt-instance migrate"
75 1 Mehdi Abaakouk
Les synchro drbd sont automatique.
76 1 Mehdi Abaakouk
77 1 Mehdi Abaakouk
h2. Comment vérifier l'état de son cluster
78 1 Mehdi Abaakouk
79 1 Mehdi Abaakouk
Sur le masternode normalement h1 faire:
80 1 Mehdi Abaakouk
81 1 Mehdi Abaakouk
<pre>
82 1 Mehdi Abaakouk
gnt-cluster verify
83 1 Mehdi Abaakouk
</pre>
84 1 Mehdi Abaakouk
85 1 Mehdi Abaakouk
h2. Comment supprimer une machine
86 1 Mehdi Abaakouk
87 1 Mehdi Abaakouk
88 1 Mehdi Abaakouk
<pre>
89 1 Mehdi Abaakouk
gnt-instance remove vm1
90 1 Mehdi Abaakouk
</pre>
91 1 Mehdi Abaakouk
si la vm est en drbd et que une des nodes du drbd ne fonctionne plus
92 1 Mehdi Abaakouk
93 1 Mehdi Abaakouk
<pre>
94 1 Mehdi Abaakouk
gnt-instance remove --ignore-failures vm1
95 1 Mehdi Abaakouk
</pre>
96 1 Mehdi Abaakouk
97 1 Mehdi Abaakouk
h2. Mon dieu h2 est tombé que faire ?
98 1 Mehdi Abaakouk
99 1 Mehdi Abaakouk
On bascule les machines qui n'ont pas le failover en automatique
100 1 Mehdi Abaakouk
101 1 Mehdi Abaakouk
<pre>
102 1 Mehdi Abaakouk
gnt-node failover [ --ignore-consistency ] h2
103 1 Mehdi Abaakouk
</pre>
104 1 Mehdi Abaakouk
--ignore-consistency permet de forcer ganeti à ne pas contrôler le disk avant le basculement
105 1 Mehdi Abaakouk
Puis on désactive la node:
106 1 Mehdi Abaakouk
107 1 Mehdi Abaakouk
<pre>
108 1 Mehdi Abaakouk
gnt-node modify -O yes h2
109 1 Mehdi Abaakouk
</pre>
110 1 Mehdi Abaakouk
111 1 Mehdi Abaakouk
h2. h2 est tombé et ne pourra être rallumé rapidement, que faire ?
112 1 Mehdi Abaakouk
113 1 Mehdi Abaakouk
Je commence par relancer la machine sur sa node secondaire si ce n'est pas encore fais.
114 1 Mehdi Abaakouk
La machine virtuelle vm1 étant hébergé sur h2 et h4 je vais déplacer le disque redondant de h2 vers h?
115 1 Mehdi Abaakouk
116 1 Mehdi Abaakouk
<pre>
117 1 Mehdi Abaakouk
gnt-instance replace-disks -I hail vm1
118 1 Mehdi Abaakouk
</pre>
119 1 Mehdi Abaakouk
120 1 Mehdi Abaakouk
h2. aie, c'est h1 qui est tombé et c'est le masternode
121 1 Mehdi Abaakouk
122 1 Mehdi Abaakouk
On peux changer le masternode, allez sur h4 par exemple et taper ceci:
123 1 Mehdi Abaakouk
124 1 Mehdi Abaakouk
<pre>
125 1 Mehdi Abaakouk
gnt-node masterfailover
126 1 Mehdi Abaakouk
</pre>
127 1 Mehdi Abaakouk
128 1 Mehdi Abaakouk
h2. Gestion des fichiers de configuration (ie: /etc/ganeti)
129 1 Mehdi Abaakouk
130 1 Mehdi Abaakouk
J'ai modifié un(ou plusieurs) fichier(s) de configuration de ganeti, et je tape:
131 1 Mehdi Abaakouk
132 1 Mehdi Abaakouk
<pre>
133 1 Mehdi Abaakouk
/etc/ganeti/pushconf.sh
134 1 Mehdi Abaakouk
</pre>
135 1 Mehdi Abaakouk
136 1 Mehdi Abaakouk
h2. Je viens de recevoir h48, et je veux taper le moins de commande possible
137 1 Mehdi Abaakouk
138 1 Mehdi Abaakouk
* Installer squeeze basique avec juste ssh
139 1 Mehdi Abaakouk
* Ajouter wheezy dans /etc/apt/sources.list
140 1 Mehdi Abaakouk
141 1 Mehdi Abaakouk
<pre>
142 1 Mehdi Abaakouk
# deb http://ftp.fr.debian.org/debian/ squeeze main
143 1 Mehdi Abaakouk
deb http://ftp.fr.debian.org/debian/ squeeze main contrib non-free
144 1 Mehdi Abaakouk
deb-src http://ftp.fr.debian.org/debian/ squeeze main contrib non-free
145 1 Mehdi Abaakouk
deb http://ftp.fr.debian.org/debian/ sid main contrib non-free
146 1 Mehdi Abaakouk
deb-src http://ftp.fr.debian.org/debian/ sid main contrib non-free
147 1 Mehdi Abaakouk
deb http://ftp.de.debian.org/debian-backports/ squeeze-backports main contrib non-free
148 1 Mehdi Abaakouk
deb-src http://ftp.de.debian.org/debian-backports/ squeeze-backports main contrib non-free
149 1 Mehdi Abaakouk
deb http://security.debian.org/ squeeze/updates main
150 1 Mehdi Abaakouk
deb-src http://security.debian.org/ squeeze/updates main
151 1 Mehdi Abaakouk
# squeeze-updates, previously known as 'volatile'
152 1 Mehdi Abaakouk
deb http://ftp.fr.debian.org/debian/ squeeze-updates main
153 1 Mehdi Abaakouk
deb-src http://ftp.fr.debian.org/debian/ squeeze-updates main
154 1 Mehdi Abaakouk
</pre>
155 1 Mehdi Abaakouk
156 1 Mehdi Abaakouk
* Allouer un port avec 3131, 3175, 3195 tagged sur le procurve
157 1 Mehdi Abaakouk
* Monter le reseau manuellement IP X
158 1 Mehdi Abaakouk
159 1 Mehdi Abaakouk
<pre>
160 1 Mehdi Abaakouk
ip link add link eth0 name eth0.3131 type vlan id 3131
161 1 Mehdi Abaakouk
ip link set eth0.3131 up
162 1 Mehdi Abaakouk
ip addr add 91.224.149.15X/25 dev eth0.3131
163 1 Mehdi Abaakouk
</pre>
164 1 Mehdi Abaakouk
165 1 Mehdi Abaakouk
* Creer /etc/rc.local.conf avec X et Y
166 1 Mehdi Abaakouk
167 1 Mehdi Abaakouk
<pre>
168 1 Mehdi Abaakouk
IP_3131="91.224.149.15X/25"
169 1 Mehdi Abaakouk
GW_3131="91.224.149.254"
170 1 Mehdi Abaakouk
IP_3175="192.168.3.Y/24"
171 1 Mehdi Abaakouk
KVM_DISKS="sdb"
172 1 Mehdi Abaakouk
</pre>
173 1 Mehdi Abaakouk
174 1 Mehdi Abaakouk
* Installer les packages
175 1 Mehdi Abaakouk
176 1 Mehdi Abaakouk
<pre>
177 1 Mehdi Abaakouk
#TODO liste en fichier commit qqpart
178 1 Mehdi Abaakouk
#TODO: passer a une version compilée en local de ganeti pour eviter les update de version wheezy
179 1 Mehdi Abaakouk
dpkg --get-selections | ssh root@h48 dpkg --set-selections
180 1 Mehdi Abaakouk
ssh root@h48 apt-get dselect-upgrade
181 1 Mehdi Abaakouk
</pre>
182 1 Mehdi Abaakouk
183 1 Mehdi Abaakouk
* changer le filter lvm dans /etc/lvm/lvm.conf pour
184 1 Mehdi Abaakouk
185 1 Mehdi Abaakouk
<pre>
186 1 Mehdi Abaakouk
# filter = [ "a/.*/" ]
187 1 Mehdi Abaakouk
filter = ["r|/dev/cdrom|", "r|/dev/drbd[0-9]+|" ]
188 1 Mehdi Abaakouk
</pre>
189 1 Mehdi Abaakouk
190 1 Mehdi Abaakouk
* vider le volume group et le recreer
191 1 Mehdi Abaakouk
192 1 Mehdi Abaakouk
<pre>
193 1 Mehdi Abaakouk
pvs
194 1 Mehdi Abaakouk
vgs
195 1 Mehdi Abaakouk
lvs
196 1 Mehdi Abaakouk
lvremove
197 1 Mehdi Abaakouk
vgcreate kvmvg /dev/sdb... #TODO check
198 1 Mehdi Abaakouk
</pre>
199 1 Mehdi Abaakouk
200 1 Mehdi Abaakouk
* activer drbd
201 1 Mehdi Abaakouk
202 1 Mehdi Abaakouk
<pre>
203 1 Mehdi Abaakouk
echo "drbd minor_count=128 usermode_helper=/bin/true" >> /etc/modules
204 1 Mehdi Abaakouk
</pre>
205 1 Mehdi Abaakouk
206 1 Mehdi Abaakouk
* munin:
207 1 Mehdi Abaakouk
dans /etc/munin/munin-node.conf ajouter: allow ^91\.224\.149\.194$
208 1 Mehdi Abaakouk
* TODO patch munin Loic
209 1 Mehdi Abaakouk
http://trac.fsffrance.org/wiki/PatchInventory#Munin
210 1 Mehdi Abaakouk
* reboot
211 1 Mehdi Abaakouk
* Installer le node dans le cluster ganeti apres s'etre assure que la version de ganeti est bien la meme
212 1 Mehdi Abaakouk
213 1 Mehdi Abaakouk
<pre>
214 1 Mehdi Abaakouk
dpkg -l|grep -i ganeti
215 1 Mehdi Abaakouk
gnt-node add h48
216 1 Mehdi Abaakouk
/etc/ganeti/pushconf.sh
217 1 Mehdi Abaakouk
</pre>
218 1 Mehdi Abaakouk
219 1 Mehdi Abaakouk
Appliquer ce patch à ganeti-instance-debootstrap:
220 1 Mehdi Abaakouk
221 1 Mehdi Abaakouk
<pre>
222 1 Mehdi Abaakouk
--- /usr/share/ganeti/os/debootstrap/common.sh.ori  2010-09-15 22:34:12.000000000 +0200
223 1 Mehdi Abaakouk
+++ /usr/share/ganeti/os/debootstrap/common.sh  2011-07-27 12:33:55.695617766 +0200
224 1 Mehdi Abaakouk
@@ -91,7 +91,7 @@
225 1 Mehdi Abaakouk
# some versions of sfdisk need manual specification of
226 1 Mehdi Abaakouk
# head/sectors for devices such as drbd which don't
227 1 Mehdi Abaakouk
# report geometry
228 1 Mehdi Abaakouk
-  sfdisk -H 255 -S 63 --quiet --Linux "$1" <<EOF
229 1 Mehdi Abaakouk
+  sfdisk -H 255 -S 63 -D --quiet --Linux "$1" <<EOF
230 1 Mehdi Abaakouk
0,,L,*
231 1 Mehdi Abaakouk
EOF
232 1 Mehdi Abaakouk
}
233 1 Mehdi Abaakouk
</pre>
234 1 Mehdi Abaakouk
235 1 Mehdi Abaakouk
Ci dessous ajouter dkms et r8168 si necessaire.
236 1 Mehdi Abaakouk
237 1 Mehdi Abaakouk
h2. Ma premiére VM++, upgrade disk, net, cpu, mem
238 1 Mehdi Abaakouk
239 1 Mehdi Abaakouk
Et hop une nouvelle carte réseau sur le vlan tsf
240 1 Mehdi Abaakouk
241 1 Mehdi Abaakouk
<pre>
242 1 Mehdi Abaakouk
gnt-instance  modify --net add:link=br1 vm1
243 1 Mehdi Abaakouk
</pre>
244 1 Mehdi Abaakouk
Un petit disk en plus
245 1 Mehdi Abaakouk
246 1 Mehdi Abaakouk
<pre>
247 1 Mehdi Abaakouk
gnt-instance  modify --disk add:size=50G vm1
248 1 Mehdi Abaakouk
</pre>
249 1 Mehdi Abaakouk
Un petite upgrade cpu et mémoire
250 1 Mehdi Abaakouk
251 1 Mehdi Abaakouk
<pre>
252 1 Mehdi Abaakouk
gnt-instance modify -B vcpus=2,memory=512M vm1
253 1 Mehdi Abaakouk
</pre>
254 1 Mehdi Abaakouk
255 1 Mehdi Abaakouk
<pre>
256 1 Mehdi Abaakouk
gnt-instance reboot -t full vm1
257 1 Mehdi Abaakouk
</pre>
258 1 Mehdi Abaakouk
259 1 Mehdi Abaakouk
260 1 Mehdi Abaakouk
h2. L'extinction d'une node proprement pas à pas
261 1 Mehdi Abaakouk
262 1 Mehdi Abaakouk
263 1 Mehdi Abaakouk
<pre>
264 1 Mehdi Abaakouk
gnt-node failover h2
265 1 Mehdi Abaakouk
gnt-node evacuate -I hail h2
266 1 Mehdi Abaakouk
gnt-node modify -O yes h2
267 1 Mehdi Abaakouk
</pre>
268 1 Mehdi Abaakouk
269 1 Mehdi Abaakouk
270 1 Mehdi Abaakouk
h2. J'ai fini de réparer h2, et je me rappelle plus les vm qui était dessus
271 1 Mehdi Abaakouk
272 1 Mehdi Abaakouk
Ben, on s'en fou, ganeti est la:
273 1 Mehdi Abaakouk
274 1 Mehdi Abaakouk
<pre>
275 1 Mehdi Abaakouk
gnt-node modify -O no h2
276 1 Mehdi Abaakouk
hbal -L -X
277 1 Mehdi Abaakouk
</pre>
278 1 Mehdi Abaakouk
279 1 Mehdi Abaakouk
== Je voudrais bien booter mon kernel ! ou un cdrom==
280 1 Mehdi Abaakouk
Je peux désactivé le kernel commun pour une vm
281 1 Mehdi Abaakouk
282 1 Mehdi Abaakouk
<pre>
283 1 Mehdi Abaakouk
gnt-instance modify -H kernel_path="" vm1
284 1 Mehdi Abaakouk
</pre>
285 1 Mehdi Abaakouk
Ou booter sur le cdrom pour le prochain démarrage commme ceci:
286 1 Mehdi Abaakouk
287 1 Mehdi Abaakouk
<pre>
288 1 Mehdi Abaakouk
gnt-instance start -H boot_order=cdrom,cdrom_image_path=/path/to/debian-504-amd64-netinst.iso vm1
289 1 Mehdi Abaakouk
</pre>
290 1 Mehdi Abaakouk
291 5 Mehdi Abaakouk
h2. Importer une image disque venant de l’extérieur
292 3 Mehdi Abaakouk
293 3 Mehdi Abaakouk
Convertion de l'image au format raw (si c'est pas déjà le cas)
294 3 Mehdi Abaakouk
<pre>
295 3 Mehdi Abaakouk
kvm-img convert DISQUEVM.qcow -O raw DISQUEVM.raw
296 3 Mehdi Abaakouk
</pre>
297 3 Mehdi Abaakouk
298 3 Mehdi Abaakouk
Copie du disque au format raw sur un lvm
299 3 Mehdi Abaakouk
<pre>
300 3 Mehdi Abaakouk
size=$(kvm-img info DISQUEVM.raw | sed -n -e 's/^virtual size:[^(]*(\([[:digit:]]*\).*)/\1/gp')
301 3 Mehdi Abaakouk
lvcreate -L ${size}b -n lv_migration_DISQUEVM kvmvg
302 3 Mehdi Abaakouk
dd if=DISQUEVM.raw of=/dev/kvmvg/lv_migration_DISQUEVM
303 3 Mehdi Abaakouk
</pre>
304 3 Mehdi Abaakouk
305 3 Mehdi Abaakouk
Création de la VM
306 3 Mehdi Abaakouk
<pre>
307 4 Mehdi Abaakouk
gnt-instance add -B memory=512M --no-start -t plain -n $(hostname) --disk 0:adopt=lv_migration_DISQUEVM --net 0 -o debootstrap+default VMNAME.tetaneutral.net
308 3 Mehdi Abaakouk
</pre>
309 3 Mehdi Abaakouk
310 3 Mehdi Abaakouk
Et pour finir, on transforme le format de disque de la VM en drbd:
311 3 Mehdi Abaakouk
<pre>
312 1 Mehdi Abaakouk
gnt-instance modify -t drbd -n h6 VMNAME.tetaneutral.net
313 5 Mehdi Abaakouk
</pre>
314 5 Mehdi Abaakouk
315 7 Mehdi Abaakouk
h2. Copier un VM sur une autre machine (§ en cours, c'est pas terminée)
316 7 Mehdi Abaakouk
317 8 Mehdi Abaakouk
Seul la machine *h1* a l'espace configurer pour faire des dumps de machine virtuelle.
318 8 Mehdi Abaakouk
319 8 Mehdi Abaakouk
On lance un backup de celle-ci (attention cette commande *éteint* la machine):
320 1 Mehdi Abaakouk
<pre>
321 8 Mehdi Abaakouk
gnt-backup export -n h1 sileht2
322 1 Mehdi Abaakouk
</pre>
323 7 Mehdi Abaakouk
324 8 Mehdi Abaakouk
Les fichiers sont ensuite sur h1 dans /exports/sileht2.tetaneutral.net/
325 8 Mehdi Abaakouk
326 8 Mehdi Abaakouk
Le fichier qui nous intéresse est celui qui fini par *.snap* qui est le disque dur au format raw de la VM, dans mon cas:
327 1 Mehdi Abaakouk
<pre>
328 8 Mehdi Abaakouk
09d836a0-22e0-4ea4-9104-c301351bb2e2.disk0_data.snap
329 1 Mehdi Abaakouk
</pre>
330 1 Mehdi Abaakouk
331 8 Mehdi Abaakouk
Pour la démonstration je copie ce fichier sur h2:
332 8 Mehdi Abaakouk
<pre>
333 8 Mehdi Abaakouk
scp /exportfs/sileht2.tetaneutral.net/09d836a0-22e0-4ea4-9104-c301351bb2e2.disk0_data.snap h2:/root/sileht.raw
334 8 Mehdi Abaakouk
</pre>
335 7 Mehdi Abaakouk
336 8 Mehdi Abaakouk
Et je le test avec kvm:
337 7 Mehdi Abaakouk
<pre>
338 8 Mehdi Abaakouk
kvm -m 256 -drive file=sileht.raw,format=raw,if=virtio,boot=on,cache=writeback -usbdevice tablet -netdev type=tap,id=netdev0,fd=10 -device virtio-net-pci,mac=aa:00:00:62:e3:a0,netdev=netdev0
339 7 Mehdi Abaakouk
</pre>
340 8 Mehdi Abaakouk
341 8 Mehdi Abaakouk
A savoir que l'image utilise les pilotes kvm "virtio"
342 8 Mehdi Abaakouk
343 7 Mehdi Abaakouk
344 5 Mehdi Abaakouk
h2. Monter une partition de machine virtuelle sur la machine hôte (!Attention DANGER!)
345 5 Mehdi Abaakouk
346 6 Mehdi Abaakouk
Arret de la machine et activation des disques
347 5 Mehdi Abaakouk
<pre>
348 5 Mehdi Abaakouk
 $ gnt-instance stop VMNAME.tetaneutral.net
349 5 Mehdi Abaakouk
 $ gnt-instance activate-disks VMNAME.tetaneutral.net
350 6 Mehdi Abaakouk
 h1.tetaneutral.net:disk/0:/dev/drbd34
351 5 Mehdi Abaakouk
</pre>
352 6 Mehdi Abaakouk
353 6 Mehdi Abaakouk
Ensuite pour voir les partitions du disque, ici le /dev/drbd34:
354 5 Mehdi Abaakouk
<pre>
355 5 Mehdi Abaakouk
kpartx -l /dev/drbd34
356 5 Mehdi Abaakouk
</pre>
357 5 Mehdi Abaakouk
358 5 Mehdi Abaakouk
On créé ensuite les partitions dans /dev avec devmapper
359 5 Mehdi Abaakouk
<pre>
360 5 Mehdi Abaakouk
kpartx -a /dev/drbd34
361 5 Mehdi Abaakouk
ls -la /dev/mapper/drbd34*
362 5 Mehdi Abaakouk
</pre>
363 5 Mehdi Abaakouk
364 5 Mehdi Abaakouk
A partir de maintenant on peut faire mumuse avec la partition, exemple:
365 5 Mehdi Abaakouk
<pre>
366 5 Mehdi Abaakouk
mount /dev/mapper/drbd34p1 /mnt/
367 5 Mehdi Abaakouk
....
368 5 Mehdi Abaakouk
umount /mnt
369 5 Mehdi Abaakouk
</pre>
370 5 Mehdi Abaakouk
371 1 Mehdi Abaakouk
Puis *très important*, il faut nettoyer devmapper et déactiver les disk pour ganeti
372 5 Mehdi Abaakouk
373 5 Mehdi Abaakouk
<pre>
374 5 Mehdi Abaakouk
kpartx -d /dev/drbd34
375 6 Mehdi Abaakouk
gnt-instance deactivate-disks VMNAME.tetaneutral.net
376 5 Mehdi Abaakouk
gnt-instance start VMNAME.tetaneutral.net
377 3 Mehdi Abaakouk
</pre>
378 3 Mehdi Abaakouk
379 3 Mehdi Abaakouk
380 1 Mehdi Abaakouk
h2.  J'ai n'est pas trouvé mon bonheur, comment je vais faire ?!
381 1 Mehdi Abaakouk
382 1 Mehdi Abaakouk
Voici quelques ressources:
383 1 Mehdi Abaakouk
* http://docs.ganeti.org/ganeti/current/html/
384 1 Mehdi Abaakouk
* http://docs.ganeti.org/ganeti/2.1/man/
385 1 Mehdi Abaakouk
* http://wiki.osuosl.org/public/ganeti/
386 1 Mehdi Abaakouk
Ou bien je demande à sileht d'écrire le use case qui me manque s'il à le temps
387 1 Mehdi Abaakouk
388 1 Mehdi Abaakouk
h2. Autres chose à savoir sur les machines du cluster
389 1 Mehdi Abaakouk
390 1 Mehdi Abaakouk
le script /etc/rc.local, qui s'occupe de préparer la configuration réseaux pour ganeti (avec les vlan, bridge and co)
391 1 Mehdi Abaakouk
le script /etc/rc.local.conf, contient les adresses IP de la machine et les gw
392 1 Mehdi Abaakouk
Sur h1,h2,h4,h5 et h6, le pilote (r8169.ko) de la carte réseau (r8168/8111) provoque des kernels panic, il a été remplacé la version du constructeur (r8168.ko).
393 1 Mehdi Abaakouk
Pilote dispo ici: (http://www.realtek.com/downloads/downloadsView.aspx?Langid=1&PNid=13&PFid=5&Level=5&Conn=4&DownTypeID=3&GetDown=false)
394 1 Mehdi Abaakouk
395 1 Mehdi Abaakouk
<pre>
396 1 Mehdi Abaakouk
apt-get install gcc dkms
397 1 Mehdi Abaakouk
cd /usr/src
398 1 Mehdi Abaakouk
wget http://url_to_pilot/r8168-8.024.00.tar.bz2
399 1 Mehdi Abaakouk
tar -xjf r8168-8.024.00.tar.bz2
400 1 Mehdi Abaakouk
cd r8168-8.024.00
401 1 Mehdi Abaakouk
cat > dkms.conf << EOF
402 1 Mehdi Abaakouk
PACKAGE_NAME=r8168
403 1 Mehdi Abaakouk
PACKAGE_VERSION=8.024.00
404 1 Mehdi Abaakouk
MAKE[0]="make"
405 1 Mehdi Abaakouk
BUILT_MODULE_NAME[0]=r8168
406 1 Mehdi Abaakouk
BUILT_MODULE_LOCATION[0]="src/"
407 1 Mehdi Abaakouk
DEST_MODULE_LOCATION[0]="/kernel/updates/dkms"
408 1 Mehdi Abaakouk
AUTOINSTALL="YES"
409 1 Mehdi Abaakouk
EOF
410 1 Mehdi Abaakouk
dkms add -m r8168 -v 8.024.00
411 1 Mehdi Abaakouk
dkms build -m r8168 -v 8.024.00
412 1 Mehdi Abaakouk
dkms install -m r8168 -v 8.024.00
413 1 Mehdi Abaakouk
echo "r8168" >> /etc/modules
414 1 Mehdi Abaakouk
echo "blacklist r8169" >> /etc/modprobe.d/blacklist-network.conf
415 1 Mehdi Abaakouk
update-initramfs -u
416 1 Mehdi Abaakouk
reboot
417 1 Mehdi Abaakouk
</pre>
418 1 Mehdi Abaakouk
419 1 Mehdi Abaakouk
Pour les machines a base de e1000e:
420 1 Mehdi Abaakouk
421 1 Mehdi Abaakouk
<pre>
422 1 Mehdi Abaakouk
apt-get install gcc dkms
423 1 Mehdi Abaakouk
cd /usr/src
424 1 Mehdi Abaakouk
wget http://downloadmirror.intel.com/15817/eng/e1000e-1.3.17.tar.gz
425 1 Mehdi Abaakouk
tar -xzf e1000e-1.3.17.tar.gz
426 1 Mehdi Abaakouk
cd e1000e-1.3.17
427 1 Mehdi Abaakouk
cat > dkms.conf << EOF
428 1 Mehdi Abaakouk
PACKAGE_NAME=e1000e
429 1 Mehdi Abaakouk
PACKAGE_VERSION=1.3.17
430 1 Mehdi Abaakouk
CLEAN="make -C src/ clean"
431 1 Mehdi Abaakouk
MAKE[0]="make -C src/"
432 1 Mehdi Abaakouk
BUILT_MODULE_NAME[0]=e1000e
433 1 Mehdi Abaakouk
BUILT_MODULE_LOCATION[0]="src/"
434 1 Mehdi Abaakouk
DEST_MODULE_LOCATION[0]="/kernel/updates/dkms"
435 1 Mehdi Abaakouk
AUTOINSTALL="YES"
436 1 Mehdi Abaakouk
EOF
437 1 Mehdi Abaakouk
dkms add -m e1000e -v 1.3.17
438 1 Mehdi Abaakouk
dkms build -m e1000e -v 1.3.17
439 1 Mehdi Abaakouk
dkms install -m e1000e -v 1.3.17
440 1 Mehdi Abaakouk
reboot
441 1 Mehdi Abaakouk
</pre>
442 1 Mehdi Abaakouk
443 1 Mehdi Abaakouk
444 1 Mehdi Abaakouk
h2. Mac spoofing configuration
445 1 Mehdi Abaakouk
446 1 Mehdi Abaakouk
Le script ifup de ganeti pour kvm a été modifier (ie: /etc/ganeti/kvm-vif-bridge) pour écrire la relation entre la vm, le numero de ces interfaces réseaux et ces tap.
447 1 Mehdi Abaakouk
Le fichier prends la forme suivante:
448 1 Mehdi Abaakouk
munin.tetaneutral.net:0:tap3
449 1 Mehdi Abaakouk
trac.tetaneutral.net:0:tap5
450 1 Mehdi Abaakouk
munin.tetaneutral.net:1:tap5
451 1 Mehdi Abaakouk
Les règles ebtables sont écrites par le script /etc/ganeti/spoofing/spoofing-protection avec les informations de ce fichier.
452 1 Mehdi Abaakouk
Les scripts de hook de ganeti (ie:/etc/ganeti/hook/) utilise ce script, pour lancer ou arreter le spoofing.
453 1 Mehdi Abaakouk
454 1 Mehdi Abaakouk
h2. Protection VNC
455 1 Mehdi Abaakouk
456 1 Mehdi Abaakouk
Le VNC de kvm est utiliser sur chaque MV.
457 1 Mehdi Abaakouk
Des règles de firewall sont automatiquement mise en place par le script /etc/ganeti/vnc-firewall pour que seul la machine gntwebmgr.tetaneutral.net soit autoriser a s'y connecter
458 1 Mehdi Abaakouk
Ce script est appelé par les hooks ganeti.
459 1 Mehdi Abaakouk
460 1 Mehdi Abaakouk
h2. Patch maison pour ganeti
461 1 Mehdi Abaakouk
462 1 Mehdi Abaakouk
Ajout de l'option -D à sfdisk au script /usr/share/ganeti/os/debootstrap/common.sh ligne 84 pour créer des partitions avec assez d'espace pour grub