Openstack Management TTNN » Historique » Version 8
Laurent GUERBY, 17/10/2014 07:13
1 | 3 | Mehdi Abaakouk | {{>toc}} |
---|---|---|---|
2 | 3 | Mehdi Abaakouk | |
3 | 1 | Mehdi Abaakouk | h1. Openstack Management TTNN |
4 | 1 | Mehdi Abaakouk | |
5 | 4 | Mehdi Abaakouk | h2. Opération sur les VMs (des membres) |
6 | 1 | Mehdi Abaakouk | |
7 | 1 | Mehdi Abaakouk | h3. Reboot VM en error |
8 | 1 | Mehdi Abaakouk | |
9 | 1 | Mehdi Abaakouk | <pre> |
10 | 1 | Mehdi Abaakouk | nova reset-state --active xxx.tetaneutral.net |
11 | 1 | Mehdi Abaakouk | nova reboot --hard --poll xxx.tetaneutral.net |
12 | 1 | Mehdi Abaakouk | </pre> |
13 | 1 | Mehdi Abaakouk | |
14 | 6 | Laurent GUERBY | h3. Shutdown une VM |
15 | 5 | Laurent GUERBY | |
16 | 5 | Laurent GUERBY | <pre> |
17 | 5 | Laurent GUERBY | nova stop xxx.tetaneutral.net |
18 | 5 | Laurent GUERBY | </pre> |
19 | 5 | Laurent GUERBY | |
20 | 5 | Laurent GUERBY | A noter que suspend fait une sauvegarde de la RAM comme sur un laptop. shelve est bugué ne pas utiliser. |
21 | 1 | Mehdi Abaakouk | |
22 | 7 | Laurent GUERBY | h3. Effacer une VM |
23 | 6 | Laurent GUERBY | |
24 | 6 | Laurent GUERBY | <pre> |
25 | 1 | Mehdi Abaakouk | nova delete xxx.tetaneutral.net |
26 | 7 | Laurent GUERBY | </pre> |
27 | 7 | Laurent GUERBY | |
28 | 7 | Laurent GUERBY | h3. Disques de VM |
29 | 7 | Laurent GUERBY | |
30 | 7 | Laurent GUERBY | Pour renommer (et permettre a boot-disk de recreer) ou effacer : |
31 | 7 | Laurent GUERBY | |
32 | 7 | Laurent GUERBY | <pre> |
33 | 7 | Laurent GUERBY | cinder list |
34 | 7 | Laurent GUERBY | cinder rename <ID> <newname> |
35 | 7 | Laurent GUERBY | cinder delete <ID_or_Name> |
36 | 6 | Laurent GUERBY | </pre> |
37 | 5 | Laurent GUERBY | |
38 | 1 | Mehdi Abaakouk | h3. Agrandissement d'un disque |
39 | 1 | Mehdi Abaakouk | |
40 | 1 | Mehdi Abaakouk | Sur la machine 'openstack': |
41 | 1 | Mehdi Abaakouk | |
42 | 1 | Mehdi Abaakouk | <pre> |
43 | 1 | Mehdi Abaakouk | root@openstack:~/tools ./os-grow-disk.sh |
44 | 1 | Mehdi Abaakouk | usage: os-grow-disk.sh CINDER_VOLUME_ID SIZE_GB |
45 | 1 | Mehdi Abaakouk | |
46 | 1 | Mehdi Abaakouk | root@openstack:~/tools# ./os-grow-disk.sh bc6f01cb-c6b6-4413-b2ef-1f7df0031049 60 |
47 | 1 | Mehdi Abaakouk | Cinder: |
48 | 1 | Mehdi Abaakouk | bc6f01cb-c6b6-4413-b2ef-1f7df0031049 , test4-bootdisk | 40 -> 60 |
49 | 1 | Mehdi Abaakouk | |
50 | 1 | Mehdi Abaakouk | Enter YES to update |
51 | 1 | Mehdi Abaakouk | YES |
52 | 1 | Mehdi Abaakouk | Testing g3 ssh connection... |
53 | 1 | Mehdi Abaakouk | Resizing the kvm blockdevice... |
54 | 1 | Mehdi Abaakouk | Block device 'vda' is resized |
55 | 1 | Mehdi Abaakouk | Updating cinder database with the new value... |
56 | 1 | Mehdi Abaakouk | Update finish |
57 | 1 | Mehdi Abaakouk | </pre> |
58 | 1 | Mehdi Abaakouk | |
59 | 1 | Mehdi Abaakouk | Puis sur la VM: |
60 | 1 | Mehdi Abaakouk | |
61 | 1 | Mehdi Abaakouk | Il faut avoir un 'parted' récent ou patché avec le support du 'online resizepart': |
62 | 1 | Mehdi Abaakouk | |
63 | 1 | Mehdi Abaakouk | 'online resizepart' est natif depuis parted >= 3.1: |
64 | 1 | Mehdi Abaakouk | * debian >= jessie |
65 | 1 | Mehdi Abaakouk | * ubuntu >= 14.10 |
66 | 1 | Mehdi Abaakouk | |
67 | 1 | Mehdi Abaakouk | 'online resizepart' backporté dans: |
68 | 1 | Mehdi Abaakouk | * ubuntu >= 13.10 < 14.10 |
69 | 1 | Mehdi Abaakouk | |
70 | 1 | Mehdi Abaakouk | Pour debian wheezy, utilisation les packages ubuntu de 14.04 devrait marcher |
71 | 1 | Mehdi Abaakouk | (pas encore testé, à voir si le kernel veut bien reload la table des partitions après) |
72 | 1 | Mehdi Abaakouk | |
73 | 1 | Mehdi Abaakouk | <pre> |
74 | 1 | Mehdi Abaakouk | root@test4:~# parted /dev/vda print | grep vda |
75 | 1 | Mehdi Abaakouk | Disk /dev/vda: 64.4GB |
76 | 1 | Mehdi Abaakouk | |
77 | 1 | Mehdi Abaakouk | root@test4# parted /dev/vda resizepart 1 |
78 | 1 | Mehdi Abaakouk | Warning: Partition /dev/vda1 is being used. Are you sure you want to continue? |
79 | 1 | Mehdi Abaakouk | Yes/No? Yes |
80 | 1 | Mehdi Abaakouk | End? [42.9GB]? 64.4GB # METTRE ICI LA TAILLE VU AU DESSUS |
81 | 1 | Mehdi Abaakouk | Information: You may need to update /etc/fstab. |
82 | 1 | Mehdi Abaakouk | |
83 | 1 | Mehdi Abaakouk | root@test4:~# resize2fs /dev/vda1 |
84 | 1 | Mehdi Abaakouk | resize2fs 1.42.9 (4-Feb-2014) |
85 | 1 | Mehdi Abaakouk | Filesystem at /dev/vda1 is mounted on /; on-line resizing required |
86 | 1 | Mehdi Abaakouk | old_desc_blocks = 3, new_desc_blocks = 4 |
87 | 1 | Mehdi Abaakouk | The filesystem on /dev/vda1 is now 15722400 blocks long. |
88 | 1 | Mehdi Abaakouk | |
89 | 1 | Mehdi Abaakouk | root@test4:~# df -h | grep vda |
90 | 1 | Mehdi Abaakouk | /dev/vda1 60G 797M 56G 2% / |
91 | 1 | Mehdi Abaakouk | </pre> |
92 | 1 | Mehdi Abaakouk | |
93 | 1 | Mehdi Abaakouk | h3. Ajout d'une interface réseau à une VM: |
94 | 1 | Mehdi Abaakouk | |
95 | 1 | Mehdi Abaakouk | <pre> |
96 | 1 | Mehdi Abaakouk | $ neutron net-list | grep vlan3199 |
97 | 1 | Mehdi Abaakouk | | 460f49ce-f5ed-449e-9e0f-7626bcee4379 | vlan3199 | ba3f12af-074a-4a31-9a7c-a621993e13bb 192.168.99.0/24 | |
98 | 1 | Mehdi Abaakouk | |
99 | 1 | Mehdi Abaakouk | $ neutron port-create 460f49ce-f5ed-449e-9e0f-7626bcee4379 --name nagios-eth2 --fixed-ips type=dict list=true ip_address=192.168.99.248 |
100 | 1 | Mehdi Abaakouk | Created a new port: |
101 | 1 | Mehdi Abaakouk | +-----------------------+---------------------------------------------------------------------------------------+ |
102 | 1 | Mehdi Abaakouk | | Field | Value | |
103 | 1 | Mehdi Abaakouk | +-----------------------+---------------------------------------------------------------------------------------+ |
104 | 1 | Mehdi Abaakouk | | admin_state_up | True | |
105 | 1 | Mehdi Abaakouk | | allowed_address_pairs | | |
106 | 1 | Mehdi Abaakouk | | binding:host_id | | |
107 | 1 | Mehdi Abaakouk | | binding:profile | {} | |
108 | 1 | Mehdi Abaakouk | | binding:vif_details | {} | |
109 | 1 | Mehdi Abaakouk | | binding:vif_type | unbound | |
110 | 1 | Mehdi Abaakouk | | binding:vnic_type | normal | |
111 | 1 | Mehdi Abaakouk | | device_id | | |
112 | 1 | Mehdi Abaakouk | | device_owner | | |
113 | 1 | Mehdi Abaakouk | | fixed_ips | {"subnet_id": "ba3f12af-074a-4a31-9a7c-a621993e13bb", "ip_address": "192.168.99.248"} | |
114 | 1 | Mehdi Abaakouk | | id | 918e0ec7-0909-423c-9a67-15b5ef7c7ae0 | |
115 | 1 | Mehdi Abaakouk | | mac_address | fa:16:3e:6b:32:07 | |
116 | 1 | Mehdi Abaakouk | | name | nagios-eth2 | |
117 | 1 | Mehdi Abaakouk | | network_id | 460f49ce-f5ed-449e-9e0f-7626bcee4379 | |
118 | 1 | Mehdi Abaakouk | | security_groups | b6d5b5fb-a053-4f97-b964-9e1a12d243b1 | |
119 | 1 | Mehdi Abaakouk | | status | DOWN | |
120 | 1 | Mehdi Abaakouk | | tenant_id | ed980105f9d047e2bee738b3f261f126 | |
121 | 1 | Mehdi Abaakouk | +-----------------------+---------------------------------------------------------------------------------------+ |
122 | 1 | Mehdi Abaakouk | |
123 | 1 | Mehdi Abaakouk | $ nova interface-attach --port-id 918e0ec7-0909-423c-9a67-15b5ef7c7ae0 nagios.tetaneutral.net |
124 | 1 | Mehdi Abaakouk | </pre> |
125 | 1 | Mehdi Abaakouk | |
126 | 1 | Mehdi Abaakouk | Dans la VM: |
127 | 1 | Mehdi Abaakouk | |
128 | 1 | Mehdi Abaakouk | <pre> |
129 | 1 | Mehdi Abaakouk | $ dmesg | tail |
130 | 1 | Mehdi Abaakouk | [ 1315.826088] virtio-pci 0000:00:06.0: using default PCI settings |
131 | 1 | Mehdi Abaakouk | [ 1315.826102] virtio-pci 0000:00:07.0: no hotplug settings from platform |
132 | 1 | Mehdi Abaakouk | [ 1315.826102] virtio-pci 0000:00:07.0: using default PCI settings |
133 | 1 | Mehdi Abaakouk | [ 1315.826116] pci 0000:00:08.0: no hotplug settings from platform |
134 | 1 | Mehdi Abaakouk | [ 1315.826117] pci 0000:00:08.0: using default PCI settings |
135 | 1 | Mehdi Abaakouk | [ 1315.826382] virtio-pci 0000:00:08.0: enabling device (0000 -> 0003) |
136 | 1 | Mehdi Abaakouk | [ 1315.829281] virtio-pci 0000:00:08.0: setting latency timer to 64 |
137 | 1 | Mehdi Abaakouk | [ 1315.829535] virtio-pci 0000:00:08.0: irq 50 for MSI/MSI-X |
138 | 1 | Mehdi Abaakouk | [ 1315.829555] virtio-pci 0000:00:08.0: irq 51 for MSI/MSI-X |
139 | 1 | Mehdi Abaakouk | [ 1315.829563] virtio-pci 0000:00:08.0: irq 52 for MSI/MSI-X |
140 | 1 | Mehdi Abaakouk | |
141 | 1 | Mehdi Abaakouk | $ ip l show dev eth2 |
142 | 1 | Mehdi Abaakouk | 4: eth2: <BROADCAST,MULTICAST> mtu 1500 qdisc noop state DOWN mode DEFAULT qlen 1000 |
143 | 1 | Mehdi Abaakouk | link/ether fa:16:3e:6b:32:07 brd ff:ff:ff:ff:ff:ff |
144 | 1 | Mehdi Abaakouk | |
145 | 1 | Mehdi Abaakouk | $ tail -4 /etc/network/interfaces |
146 | 1 | Mehdi Abaakouk | auto eth2 |
147 | 1 | Mehdi Abaakouk | iface eth2 inet static |
148 | 1 | Mehdi Abaakouk | address 192.168.99.248 |
149 | 1 | Mehdi Abaakouk | netmask 255.255.255.0 |
150 | 1 | Mehdi Abaakouk | |
151 | 1 | Mehdi Abaakouk | $ ifup eth2 |
152 | 1 | Mehdi Abaakouk | $ ping 192.169.99.250 |
153 | 1 | Mehdi Abaakouk | PING 192.169.99.250 (192.169.99.250) 56(84) bytes of data. |
154 | 1 | Mehdi Abaakouk | 64 bytes from 192.169.99.250: icmp_req=1 ttl=119 time=170 ms |
155 | 1 | Mehdi Abaakouk | 64 bytes from 192.169.99.250: icmp_req=2 ttl=119 time=204 ms |
156 | 1 | Mehdi Abaakouk | ^C |
157 | 1 | Mehdi Abaakouk | </pre> |
158 | 1 | Mehdi Abaakouk | |
159 | 2 | Mehdi Abaakouk | |
160 | 2 | Mehdi Abaakouk | h3. Exemple de migration de ganeti à openstack: |
161 | 2 | Mehdi Abaakouk | |
162 | 2 | Mehdi Abaakouk | Sur h4: |
163 | 2 | Mehdi Abaakouk | <pre> |
164 | 2 | Mehdi Abaakouk | $ gnt-instance stop VMNAME.tetaneutral.net |
165 | 2 | Mehdi Abaakouk | $ gnt-instance activate-disks VMNAME.tetaneutral.net |
166 | 2 | Mehdi Abaakouk | h5.tetaneutral.net:disk/0:/dev/drbd34 |
167 | 2 | Mehdi Abaakouk | </pre> |
168 | 2 | Mehdi Abaakouk | |
169 | 2 | Mehdi Abaakouk | |
170 | 2 | Mehdi Abaakouk | Sur g1, mettre l'image dans cinder |
171 | 2 | Mehdi Abaakouk | <pre> |
172 | 2 | Mehdi Abaakouk | name=VMNAME.tetaneutral.net |
173 | 2 | Mehdi Abaakouk | </pre> |
174 | 2 | Mehdi Abaakouk | |
175 | 2 | Mehdi Abaakouk | Crée un volume (remplacer 20 par la taille du disque désiré): |
176 | 2 | Mehdi Abaakouk | |
177 | 2 | Mehdi Abaakouk | <pre> |
178 | 2 | Mehdi Abaakouk | cinder create --volume_type ceph --display-name ${name}-bootdisk 20 # mettre ici un peu plus grand que le vrai disque. |
179 | 2 | Mehdi Abaakouk | volume_id=$(cinder show ${name}-bootdisk | awk '/ id /{print $4}') |
180 | 2 | Mehdi Abaakouk | </pre> |
181 | 2 | Mehdi Abaakouk | |
182 | 2 | Mehdi Abaakouk | On remplace le volume rbd par le disque de la VM: |
183 | 2 | Mehdi Abaakouk | |
184 | 2 | Mehdi Abaakouk | <pre> |
185 | 2 | Mehdi Abaakouk | rbd -p disks mv volume-$volume_id disks/volume-${volume_id}.old |
186 | 2 | Mehdi Abaakouk | socat -u tcp4-listen:505555 - | rbd -p disks import - volume-$volume_id |
187 | 2 | Mehdi Abaakouk | </pre> |
188 | 2 | Mehdi Abaakouk | |
189 | 2 | Mehdi Abaakouk | Sur la machine hX qui as le disque (ici h5 et le disque drbd34) |
190 | 2 | Mehdi Abaakouk | <pre> |
191 | 2 | Mehdi Abaakouk | cat /dev/drbd34 | socat -u - tcp4:g1:505555 |
192 | 2 | Mehdi Abaakouk | # ou avec une bar de progression |
193 | 2 | Mehdi Abaakouk | apt-get install pv |
194 | 2 | Mehdi Abaakouk | pv /dev/drbd34 | socat -u - tcp4:g1:505555 |
195 | 2 | Mehdi Abaakouk | </pre> |
196 | 2 | Mehdi Abaakouk | |
197 | 2 | Mehdi Abaakouk | <pre> |
198 | 2 | Mehdi Abaakouk | # On peut voir l'avancement via: |
199 | 2 | Mehdi Abaakouk | watch -n1 -- rbd -p disks info volume-$volume_id |
200 | 2 | Mehdi Abaakouk | </pre> |
201 | 2 | Mehdi Abaakouk | |
202 | 2 | Mehdi Abaakouk | On change la taille de l'image pour mettre la meme que le volume créé par openstack |
203 | 2 | Mehdi Abaakouk | |
204 | 2 | Mehdi Abaakouk | <pre> |
205 | 2 | Mehdi Abaakouk | $ rbd -p disks info volume-$volume_id.old |
206 | 2 | Mehdi Abaakouk | rbd image 'volume-$volume_id.old': |
207 | 2 | Mehdi Abaakouk | size **20480** MB in 5120 objects |
208 | 2 | Mehdi Abaakouk | order 22 (4096 kB objects) |
209 | 2 | Mehdi Abaakouk | block_name_prefix: rbd_data.752a15a94252f |
210 | 2 | Mehdi Abaakouk | format: 2 |
211 | 2 | Mehdi Abaakouk | features: layering |
212 | 2 | Mehdi Abaakouk | $ rbd -p disks resize --size 20480 volume-$volume_id |
213 | 2 | Mehdi Abaakouk | </pre> |
214 | 2 | Mehdi Abaakouk | |
215 | 2 | Mehdi Abaakouk | Booter la VM avec ce disque (le disque existant déjà le script l'utilisera): |
216 | 2 | Mehdi Abaakouk | |
217 | 2 | Mehdi Abaakouk | <pre> |
218 | 8 | Laurent GUERBY | /root/tools/boot-vm.sh --ip A.B.C.D --flavor Xvcpu-Yram ${name} |
219 | 2 | Mehdi Abaakouk | </pre> |
220 | 2 | Mehdi Abaakouk | |
221 | 2 | 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)_ |
222 | 2 | Mehdi Abaakouk | |
223 | 2 | Mehdi Abaakouk | Quand c'est fini sur h4: |
224 | 2 | Mehdi Abaakouk | |
225 | 2 | Mehdi Abaakouk | <pre> |
226 | 2 | Mehdi Abaakouk | gnt-instance deactivate-disks VMNAME.tetaneutral.net |
227 | 2 | Mehdi Abaakouk | </pre> |
228 | 2 | Mehdi Abaakouk | |
229 | 2 | Mehdi Abaakouk | S'il faut changer la RAM et vCPU |
230 | 2 | Mehdi Abaakouk | |
231 | 2 | Mehdi Abaakouk | <pre> |
232 | 2 | Mehdi Abaakouk | nova flavor-list |
233 | 2 | Mehdi Abaakouk | nova list |
234 | 2 | Mehdi Abaakouk | nova resize ${name} FLAVOR_ID --poll |
235 | 2 | Mehdi Abaakouk | nova resize-confirm VM_ID |
236 | 1 | Mehdi Abaakouk | </pre> |
237 | 1 | Mehdi Abaakouk | |
238 | 1 | Mehdi Abaakouk | h2. VM de management (nommé openstack) |
239 | 1 | Mehdi Abaakouk | |
240 | 1 | Mehdi Abaakouk | h3. Live Migration d'un host à l'autre |
241 | 1 | Mehdi Abaakouk | |
242 | 1 | Mehdi Abaakouk | Cela fait tout à notre place niveau kvm/libvirt/ceph |
243 | 1 | Mehdi Abaakouk | |
244 | 1 | Mehdi Abaakouk | <pre> |
245 | 1 | Mehdi Abaakouk | virsh migrate --persistent --undefinesource --live --p2p openstack qemu+ssh://g2:2222/system |
246 | 1 | Mehdi Abaakouk | </pre> |
247 | 1 | Mehdi Abaakouk | |
248 | 1 | Mehdi Abaakouk | h3. Recover depuis une perte de la machine hote: |
249 | 1 | Mehdi Abaakouk | |
250 | 1 | Mehdi Abaakouk | Créé un fichier openstack.xml à partir d'un backup de '/etc/libvirt/qemu/openstack.xml' ou utiliser l'exemple ici: attachment:openstack.xml |
251 | 1 | Mehdi Abaakouk | |
252 | 1 | Mehdi Abaakouk | _Note: il faut surement viré les uuid des interfaces openvswitch qui sont différent suivant le hosts_ |
253 | 1 | Mehdi Abaakouk | |
254 | 1 | Mehdi Abaakouk | Puis on recréé la VM |
255 | 1 | Mehdi Abaakouk | |
256 | 1 | Mehdi Abaakouk | <pre> |
257 | 1 | Mehdi Abaakouk | $ virsh create openstack.xml |
258 | 1 | Mehdi Abaakouk | $ virsh start openstack.xml |
259 | 1 | Mehdi Abaakouk | </pre> |