Projet

Général

Profil

Openstack Management TTNN Doc Obsolete » Historique » Version 2

Mehdi Abaakouk, 04/08/2017 09:55

1 2 Mehdi Abaakouk
h1. Openstack Management TTNN Archives
2 2 Mehdi Abaakouk
3 2 Mehdi Abaakouk
Page avec les procèdures obsoletes, mais que l'on garde sous le coude au cas ou.
4 1 Mehdi Abaakouk
5 1 Mehdi Abaakouk
h3. Convertion des images rbd au format 2 (pour les premieres VMs migrées de ganeti)
6 1 Mehdi Abaakouk
7 1 Mehdi Abaakouk
<pre>
8 1 Mehdi Abaakouk
$ openstack server stop <vm_name>
9 1 Mehdi Abaakouk
$ rbd -p disks export volume-XXXXXXXXXXXXXX - | rbd import --image-format 2 -p disks - volume-XXXXXXXXXXXXXX.converted
10 1 Mehdi Abaakouk
$ rbd -p disks mv volume-XXXXXXXXXXXXXX volume-XXXXXXXXXXXXXX.old
11 1 Mehdi Abaakouk
$ rbd -p disks mv volume-XXXXXXXXXXXXXX.converted volume-XXXXXXXXXXXXXX
12 1 Mehdi Abaakouk
$ rbd -p disks rm volume-XXXXXXXXXXXXXX.old
13 1 Mehdi Abaakouk
$ openstack server start <vm_name>
14 1 Mehdi Abaakouk
</pre>
15 1 Mehdi Abaakouk
16 1 Mehdi Abaakouk
17 1 Mehdi Abaakouk
h3. Reboot (obsolete, à remplacer à openstack ttnn evacuate)
18 1 Mehdi Abaakouk
19 1 Mehdi Abaakouk
<pre>
20 1 Mehdi Abaakouk
nova list --host=n7 # list des VM xxx sur n7
21 1 Mehdi Abaakouk
for i in xxx; do nova live-migration $i stri; done # repartir sur plusieurs hosts
22 1 Mehdi Abaakouk
ps fauxwww|grep kvm # verifier qu'il n'y a plus de VM
23 1 Mehdi Abaakouk
# plus necessaire # for i in $(rados lspools) ; do ceph osd pool set $i min_size 1 ; done # diminuer le nombre de copies
24 1 Mehdi Abaakouk
ceph osd set noout # pour prevenir que les OSD vont revenir
25 1 Mehdi Abaakouk
/etc/init.d/ceph stop 
26 1 Mehdi Abaakouk
shutdown -h now
27 1 Mehdi Abaakouk
</pre>
28 1 Mehdi Abaakouk
29 1 Mehdi Abaakouk
# plus necessaire #  Post reboot remettre les min_size a 2, rappatrier les VM.
30 1 Mehdi Abaakouk
31 1 Mehdi Abaakouk
h3. Exemple de migration de ganeti à openstack (obsolete):
32 1 Mehdi Abaakouk
33 1 Mehdi Abaakouk
Sur h4:
34 1 Mehdi Abaakouk
<pre>
35 1 Mehdi Abaakouk
$ gnt-instance stop VMNAME.tetaneutral.net
36 1 Mehdi Abaakouk
$ gnt-instance activate-disks VMNAME.tetaneutral.net
37 1 Mehdi Abaakouk
h5.tetaneutral.net:disk/0:/dev/drbd34
38 1 Mehdi Abaakouk
</pre>
39 1 Mehdi Abaakouk
40 1 Mehdi Abaakouk
41 1 Mehdi Abaakouk
Sur g1, mettre l'image dans cinder
42 1 Mehdi Abaakouk
<pre>
43 1 Mehdi Abaakouk
name=VMNAME.tetaneutral.net
44 1 Mehdi Abaakouk
</pre>
45 1 Mehdi Abaakouk
46 1 Mehdi Abaakouk
Crée un volume (remplacer 20 par la taille du disque désiré):
47 1 Mehdi Abaakouk
48 1 Mehdi Abaakouk
<pre>
49 1 Mehdi Abaakouk
cinder create --volume_type ceph --display-name ${name}-bootdisk 20    # mettre ici un peu plus grand que le vrai disque.
50 1 Mehdi Abaakouk
volume_id=$(cinder show ${name}-bootdisk | awk '/ id /{print $4}')
51 1 Mehdi Abaakouk
</pre>
52 1 Mehdi Abaakouk
53 1 Mehdi Abaakouk
On remplace le volume rbd par le disque de la VM:
54 1 Mehdi Abaakouk
55 1 Mehdi Abaakouk
<pre>
56 1 Mehdi Abaakouk
rbd -p disks mv volume-$volume_id disks/volume-${volume_id}.old
57 1 Mehdi Abaakouk
socat -u tcp4-listen:505555 - | rbd -p disks import --image-format 2 - volume-$volume_id
58 1 Mehdi Abaakouk
</pre>
59 1 Mehdi Abaakouk
60 1 Mehdi Abaakouk
Sur la machine hX qui as le disque (ici h5 et le disque drbd34)
61 1 Mehdi Abaakouk
<pre>
62 1 Mehdi Abaakouk
cat /dev/drbd34 | socat -u - tcp4:g1:505555
63 1 Mehdi Abaakouk
# ou avec une bar de progression
64 1 Mehdi Abaakouk
apt-get install pv 
65 1 Mehdi Abaakouk
pv /dev/drbd34 | socat -u - tcp4:g1:505555
66 1 Mehdi Abaakouk
</pre>
67 1 Mehdi Abaakouk
68 1 Mehdi Abaakouk
<pre>
69 1 Mehdi Abaakouk
# On peut voir l'avancement via:
70 1 Mehdi Abaakouk
watch -n1 -- rbd -p disks info volume-$volume_id
71 1 Mehdi Abaakouk
</pre>
72 1 Mehdi Abaakouk
73 1 Mehdi Abaakouk
On change la taille de l'image pour mettre la meme que le volume créé par openstack
74 1 Mehdi Abaakouk
75 1 Mehdi Abaakouk
<pre>
76 1 Mehdi Abaakouk
$ rbd -p disks info volume-$volume_id.old
77 1 Mehdi Abaakouk
rbd image 'volume-$volume_id.old':
78 1 Mehdi Abaakouk
	size **XXX** MB in 5120 objects
79 1 Mehdi Abaakouk
	order 22 (4096 kB objects)
80 1 Mehdi Abaakouk
	block_name_prefix: rbd_data.752a15a94252f
81 1 Mehdi Abaakouk
	format: 2
82 1 Mehdi Abaakouk
	features: layering
83 1 Mehdi Abaakouk
$ # ou bien
84 1 Mehdi Abaakouk
$ rbd -p disks info --pretty-format --format json volume-$volume_id.old | grep size
85 1 Mehdi Abaakouk
$ # puis
86 1 Mehdi Abaakouk
$ rbd -p disks resize --size XXX volume-$volume_id
87 1 Mehdi Abaakouk
</pre>
88 1 Mehdi Abaakouk
89 1 Mehdi Abaakouk
Booter la VM avec ce disque (le disque existant déjà le script l'utilisera):
90 1 Mehdi Abaakouk
91 1 Mehdi Abaakouk
<pre>
92 1 Mehdi Abaakouk
/root/tools/boot-vm.sh --ip A.B.C.D --flavor Xvcpu-Yram ${name}
93 1 Mehdi Abaakouk
</pre>
94 1 Mehdi Abaakouk
95 1 Mehdi Abaakouk
_Note: Si le disque a été agrandi, on peut utiliser dans la VM "growpart /dev/vda 1" ou 'parted resizepart' pour récupérer l'espace disponible (fonctionne bien sous jessie ou dernier ubuntu)_
96 1 Mehdi Abaakouk
97 1 Mehdi Abaakouk
Quand c'est fini sur h4:
98 1 Mehdi Abaakouk
99 1 Mehdi Abaakouk
<pre>
100 1 Mehdi Abaakouk
gnt-instance deactivate-disks VMNAME.tetaneutral.net
101 1 Mehdi Abaakouk
</pre>
102 1 Mehdi Abaakouk
103 1 Mehdi Abaakouk
S'il faut changer la RAM et vCPU
104 1 Mehdi Abaakouk
105 1 Mehdi Abaakouk
<pre>
106 1 Mehdi Abaakouk
nova flavor-list
107 1 Mehdi Abaakouk
nova list
108 1 Mehdi Abaakouk
nova resize ${name} FLAVOR_ID --poll
109 1 Mehdi Abaakouk
nova resize-confirm VM_ID
110 1 Mehdi Abaakouk
</pre>