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> |