Project

General

Profile

Cluster Ganeti » History » Version 8

Mehdi Abaakouk, 03/19/2012 02:52 PM

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