Projet

Général

Profil

Openstack Management TTNN Doc Obsolete » Historique » Version 1

Mehdi Abaakouk, 04/08/2017 09:47

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