Projet

Général

Profil

Cluster with libvirt » Historique » Version 8

Mehdi Abaakouk, 06/06/2020 08:47

1 1 Mehdi Abaakouk
{{>toc}}
2 1 Mehdi Abaakouk
3 1 Mehdi Abaakouk
h1. Cluster with libvirt
4 1 Mehdi Abaakouk
5 1 Mehdi Abaakouk
h2. Fontionnement
6 1 Mehdi Abaakouk
7 1 Mehdi Abaakouk
Les VM utilisent le mode ethernet de libvirt. En gros libvirt s'attends à trouver un tap tout près pour y accrocher la VM
8 1 Mehdi Abaakouk
9 1 Mehdi Abaakouk
Just avant le boot de la VM libvirt lance:
10 1 Mehdi Abaakouk
11 1 Mehdi Abaakouk
<pre> /etc/libvirt/hooks/qemu <VM_NAME> prepare begin</pre>
12 1 Mehdi Abaakouk
13 1 Mehdi Abaakouk
Et juste après l'arret de la VM libvirt lance:
14 1 Mehdi Abaakouk
15 1 Mehdi Abaakouk
<pre> /etc/libvirt/hooks/qemu <VM_NAME> release end</pre>
16 1 Mehdi Abaakouk
17 1 Mehdi Abaakouk
18 1 Mehdi Abaakouk
Le script /etc/libvirt/hooks/qemu de ttnn se trouve ici: https://chiliproject.tetaneutral.net/projects/git-tetaneutral-net/repository/puppetmaster/revisions/master/entry/environments/production/manifests/files/openstack/libvirt-hooks-qemu
19 2 Mehdi Abaakouk
20 2 Mehdi Abaakouk
21 2 Mehdi Abaakouk
Ce script va lire les metadatas TTNN de <VM_NAME> (e.g: virsh metadata <VM_NAME> http://tetaneutral.net/) 
22 2 Mehdi Abaakouk
23 2 Mehdi Abaakouk
<pre>
24 2 Mehdi Abaakouk
$ virsh metadata ns2.tetaneutral.net http://tetaneutral.net/
25 2 Mehdi Abaakouk
<config>
26 7 Mehdi Abaakouk
  <network mode="routed">
27 7 Mehdi Abaakouk
    <tap name="tapb0b4a106-d0">89.234.156.248</tap>
28 7 Mehdi Abaakouk
    <tap name="tapabababab-aa">89.234.156.45</tap>
29 7 Mehdi Abaakouk
  </network>
30 2 Mehdi Abaakouk
</config>
31 2 Mehdi Abaakouk
</pre>
32 2 Mehdi Abaakouk
33 2 Mehdi Abaakouk
Ensuite il va créé le tap et configurer les routes dessus avec les infos des metadata.
34 1 Mehdi Abaakouk
35 3 Mehdi Abaakouk
h2. Migration from Openstack
36 1 Mehdi Abaakouk
37 6 Mehdi Abaakouk
* convert-openstack-vm-to-libvirt 3fdad88a-dc5e-45a5-9e13-751178e15690 91.224.148.201
38 8 Mehdi Abaakouk
39 8 Mehdi Abaakouk
h2. Live migration 
40 8 Mehdi Abaakouk
41 8 Mehdi Abaakouk
42 8 Mehdi Abaakouk
<pre
43 8 Mehdi Abaakouk
virsh migrate --persistent --undefinesource --live --p2p <VM_NAME> qemu+ssh://XX.tetaneutral.net:2222/system
44 8 Mehdi Abaakouk
</pre>
45 8 Mehdi Abaakouk
46 8 Mehdi Abaakouk
Dans le cas d'une VM migré d'openstack, faire d'abord sur la machine destination:
47 8 Mehdi Abaakouk
 
48 8 Mehdi Abaakouk
<pre>mkdir -p /var/lib/nova/instances/<uuid_name></pre>
49 8 Mehdi Abaakouk
50 8 Mehdi Abaakouk
TODO(sileht): faire le MKDIR avec le hook qemu ou tous les préparer à l'avance