Projet

Général

Profil

Openstack Management TTNN Doc Obsolete » Historique » Version 3

Élie Bouttier, 26/04/2018 14:10

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