Openstack Management TTNN Archives¶
Page avec les procèdures obsoletes, mais que l'on garde sous le coude au cas ou.
La page avec les procédures à jour : https://chiliproject.tetaneutral.net/projects/tetaneutral/wiki/Openstack_Management_TTNN
Convertion des images rbd au format 2 (pour les premieres VMs migrées de ganeti)¶
$ openstack server stop <vm_name> $ rbd -p disks export volume-XXXXXXXXXXXXXX - | rbd import --image-format 2 -p disks - volume-XXXXXXXXXXXXXX.converted $ rbd -p disks mv volume-XXXXXXXXXXXXXX volume-XXXXXXXXXXXXXX.old $ rbd -p disks mv volume-XXXXXXXXXXXXXX.converted volume-XXXXXXXXXXXXXX $ rbd -p disks rm volume-XXXXXXXXXXXXXX.old $ openstack server start <vm_name>
Reboot (obsolete, à remplacer à openstack ttnn evacuate)¶
nova list --host=n7 # list des VM xxx sur n7 for i in xxx; do nova live-migration $i stri; done # repartir sur plusieurs hosts ps fauxwww|grep kvm # verifier qu'il n'y a plus de VM # plus necessaire # for i in $(rados lspools) ; do ceph osd pool set $i min_size 1 ; done # diminuer le nombre de copies ceph osd set noout # pour prevenir que les OSD vont revenir /etc/init.d/ceph stop shutdown -h now
- plus necessaire # Post reboot remettre les min_size a 2, rappatrier les VM.
Exemple de migration de ganeti à openstack (obsolete):¶
Sur h4:
$ gnt-instance stop VMNAME.tetaneutral.net $ gnt-instance activate-disks VMNAME.tetaneutral.net h5.tetaneutral.net:disk/0:/dev/drbd34
Sur g1, mettre l'image dans cinder
name=VMNAME.tetaneutral.net
Crée un volume (remplacer 20 par la taille du disque désiré):
cinder create --volume_type ceph --display-name ${name}-bootdisk 20 # mettre ici un peu plus grand que le vrai disque. volume_id=$(cinder show ${name}-bootdisk | awk '/ id /{print $4}')
On remplace le volume rbd par le disque de la VM:
rbd -p disks mv volume-$volume_id disks/volume-${volume_id}.old socat -u tcp4-listen:505555 - | rbd -p disks import --image-format 2 - volume-$volume_id
Sur la machine hX qui as le disque (ici h5 et le disque drbd34)
cat /dev/drbd34 | socat -u - tcp4:g1:505555 # ou avec une bar de progression apt-get install pv pv /dev/drbd34 | socat -u - tcp4:g1:505555
# On peut voir l'avancement via: watch -n1 -- rbd -p disks info volume-$volume_id
On change la taille de l'image pour mettre la meme que le volume créé par openstack
$ rbd -p disks info volume-$volume_id.old rbd image 'volume-$volume_id.old': size **XXX** MB in 5120 objects order 22 (4096 kB objects) block_name_prefix: rbd_data.752a15a94252f format: 2 features: layering $ # ou bien $ rbd -p disks info --pretty-format --format json volume-$volume_id.old | grep size $ # puis $ rbd -p disks resize --size XXX volume-$volume_id
Booter la VM avec ce disque (le disque existant déjà le script l'utilisera):
/root/tools/boot-vm.sh --ip A.B.C.D --flavor Xvcpu-Yram ${name}
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)
Quand c'est fini sur h4:
gnt-instance deactivate-disks VMNAME.tetaneutral.net
S'il faut changer la RAM et vCPU
nova flavor-list nova list nova resize ${name} FLAVOR_ID --poll nova resize-confirm VM_ID