Projet

Général

Profil

Openstack Management TTNN » Historique » Version 104

Mehdi Abaakouk, 04/08/2017 09:42

1 3 Mehdi Abaakouk
{{>toc}}
2 3 Mehdi Abaakouk
3 1 Mehdi Abaakouk
h1. Openstack Management TTNN
4 1 Mehdi Abaakouk
5 63 Mehdi Abaakouk
h2. Liens
6 1 Mehdi Abaakouk
7 63 Mehdi Abaakouk
* [[Management_Cluster_Ceph]]
8 63 Mehdi Abaakouk
* [[Openstack Setup VM pas dans openstack]]
9 63 Mehdi Abaakouk
* [[Openstack Installation nouvelle node du cluster]]
10 63 Mehdi Abaakouk
* [[Openstack Installation TTNN]]
11 63 Mehdi Abaakouk
* "Openstack tools for ttnn":/projects/git-tetaneutral-net/repository/openstack-tools
12 11 Mehdi Abaakouk
13 54 Laurent GUERBY
h2. Avant toute operation Openstack
14 54 Laurent GUERBY
15 54 Laurent GUERBY
*Tres important* avant toute operation Openstack lancer sur g1 :
16 54 Laurent GUERBY
17 54 Laurent GUERBY
<pre>
18 54 Laurent GUERBY
root@g1:~# . os.conf
19 54 Laurent GUERBY
root@g1:~# tools/os-overview.sh 
20 54 Laurent GUERBY
</pre>
21 54 Laurent GUERBY
22 54 Laurent GUERBY
Si une ligne n'est pas OK relancer le composant et relancer os-overview.
23 54 Laurent GUERBY
24 72 Mehdi Abaakouk
h2. Création VMs
25 72 Mehdi Abaakouk
26 72 Mehdi Abaakouk
Example d'un VM sur ssd avec 2 disques (hard) additionels de 500G
27 72 Mehdi Abaakouk
28 72 Mehdi Abaakouk
<pre>
29 100 Mehdi Abaakouk
$ openstack ttnn create --ip <ipv4> --ssd --disk-size 20 --flavor 1vcpu-1024ram --image debian-stretch-scsi <name>.tetaneutral.net
30 72 Mehdi Abaakouk
$ openstack volume create --type ceph --size 500 <name>.tetaneutral.net-disk-1
31 72 Mehdi Abaakouk
$ openstack volume create --type ceph --size 500 <name>.tetaneutral.net-disk-2
32 72 Mehdi Abaakouk
$ openstack server add volume <name>.tetaneutral.net <name>.tetaneutral.net-disk-1
33 72 Mehdi Abaakouk
$ openstack server add volume <name>.tetaneutral.net <name>.tetaneutral.net-disk-2
34 72 Mehdi Abaakouk
</pre>
35 72 Mehdi Abaakouk
36 72 Mehdi Abaakouk
Ensuite dans la VM:
37 72 Mehdi Abaakouk
38 72 Mehdi Abaakouk
<pre>
39 72 Mehdi Abaakouk
mkfs.ext4 -E nodiscard /dev/sdb
40 72 Mehdi Abaakouk
mkfs.ext4 -E nodiscard /dev/sdc
41 72 Mehdi Abaakouk
tune2fs -c 0 -i 0 -m 0 /dev/sdb
42 72 Mehdi Abaakouk
tune2fs -c 0 -i 0 -m 0 /dev/sdc
43 72 Mehdi Abaakouk
</pre>
44 72 Mehdi Abaakouk
45 72 Mehdi Abaakouk
/!\ Ne pas mettre nodiscard pour les SSDs /!\
46 72 Mehdi Abaakouk
47 1 Mehdi Abaakouk
h2. Opération sur les VMs (des membres)
48 46 Mehdi Abaakouk
49 46 Mehdi Abaakouk
h3. Console série
50 46 Mehdi Abaakouk
51 46 Mehdi Abaakouk
Dans la VM, pour systemd:
52 46 Mehdi Abaakouk
53 1 Mehdi Abaakouk
<pre>
54 72 Mehdi Abaakouk
$ systemctl enable serial-getty@ttyS0.service
55 46 Mehdi Abaakouk
$ systemctl start serial-getty@ttyS0.service
56 46 Mehdi Abaakouk
</pre>
57 46 Mehdi Abaakouk
58 46 Mehdi Abaakouk
Dans la VM, pour sysv
59 46 Mehdi Abaakouk
60 46 Mehdi Abaakouk
<pre>
61 46 Mehdi Abaakouk
$ cat >> /etc/inittab <<EOF
62 46 Mehdi Abaakouk
T2:2345:respawn:/sbin/getty ttyS0 115200 vt102
63 46 Mehdi Abaakouk
EOF
64 46 Mehdi Abaakouk
$ init q
65 46 Mehdi Abaakouk
</pre>
66 46 Mehdi Abaakouk
67 46 Mehdi Abaakouk
Sur g1:
68 46 Mehdi Abaakouk
69 46 Mehdi Abaakouk
<pre>
70 73 Mehdi Abaakouk
$ openstack ttnn log ns2.tetaneutral.net
71 46 Mehdi Abaakouk
72 46 Mehdi Abaakouk
Debian GNU/Linux 8 ns2 ttyS0
73 46 Mehdi Abaakouk
ns2 login:
74 46 Mehdi Abaakouk
</pre>
75 46 Mehdi Abaakouk
76 17 Mehdi Abaakouk
h3. Voir la console graphique sans spice-html5:
77 17 Mehdi Abaakouk
78 17 Mehdi Abaakouk
Copier le script suivant 'gvnc' sur ca machine:
79 17 Mehdi Abaakouk
80 17 Mehdi Abaakouk
<pre>
81 17 Mehdi Abaakouk
#!/bin/bash
82 17 Mehdi Abaakouk
vm=$1
83 17 Mehdi Abaakouk
info=($(ssh openstack.tetaneutral.net -p 2222 -l root -- "mysql nova --skip-column-names --batch -e 'select host, uuid from instances where display_name=\"$vm\";'"))
84 17 Mehdi Abaakouk
85 17 Mehdi Abaakouk
if [ "${info[0]}" == "mysql" ]; then
86 17 Mehdi Abaakouk
    echo "Error in mysql request"
87 17 Mehdi Abaakouk
    exit 1
88 17 Mehdi Abaakouk
fi
89 17 Mehdi Abaakouk
90 17 Mehdi Abaakouk
hypervisor=${info[0]}.tetaneutral.net
91 17 Mehdi Abaakouk
uuid=${info[1]}
92 17 Mehdi Abaakouk
spice_port=$(ssh ${hypervisor} -p 2222 -l root virsh domdisplay ${uuid} | awk -F: '{print $3}')
93 17 Mehdi Abaakouk
94 17 Mehdi Abaakouk
echo "$vm on $hypervisor port $spice_port"
95 17 Mehdi Abaakouk
ssh -N $hypervisor -p 2222 -l root -L 5910:localhost:${spice_port} &
96 17 Mehdi Abaakouk
pid=$!
97 17 Mehdi Abaakouk
98 17 Mehdi Abaakouk
99 17 Mehdi Abaakouk
cleanup(){
100 17 Mehdi Abaakouk
    kill $pid
101 17 Mehdi Abaakouk
}
102 17 Mehdi Abaakouk
103 17 Mehdi Abaakouk
trap cleanup EXIT
104 17 Mehdi Abaakouk
105 17 Mehdi Abaakouk
sleep 2
106 17 Mehdi Abaakouk
remote-viewer spice://localhost:5910/
107 17 Mehdi Abaakouk
</pre>
108 17 Mehdi Abaakouk
109 17 Mehdi Abaakouk
Puis 
110 17 Mehdi Abaakouk
111 17 Mehdi Abaakouk
<pre>
112 1 Mehdi Abaakouk
sudo apt-get install virt-viewer
113 1 Mehdi Abaakouk
./gvnc puppet.openstack.net
114 17 Mehdi Abaakouk
</pre>
115 17 Mehdi Abaakouk
116 17 Mehdi Abaakouk
117 17 Mehdi Abaakouk
h3. Reboot VM en error
118 17 Mehdi Abaakouk
119 1 Mehdi Abaakouk
<pre>
120 73 Mehdi Abaakouk
openstack server set --state active xxx.tetaneutral.net
121 73 Mehdi Abaakouk
openstack server reboot --hard --wait xxx.tetaneutral.net
122 1 Mehdi Abaakouk
</pre>
123 1 Mehdi Abaakouk
124 1 Mehdi Abaakouk
h3. Shutdown une VM
125 6 Laurent GUERBY
126 5 Laurent GUERBY
<pre>
127 73 Mehdi Abaakouk
openstack server stop xxx.tetaneutral.net
128 1 Mehdi Abaakouk
</pre>
129 1 Mehdi Abaakouk
130 5 Laurent GUERBY
A noter que suspend fait une sauvegarde de la RAM comme sur un laptop. shelve est bugué ne pas utiliser.
131 5 Laurent GUERBY
132 5 Laurent GUERBY
h3. Effacer une VM
133 5 Laurent GUERBY
134 1 Mehdi Abaakouk
<pre>
135 73 Mehdi Abaakouk
openstack ttnn delete xxx.tetaneutral.net
136 1 Mehdi Abaakouk
</pre>
137 1 Mehdi Abaakouk
138 73 Mehdi Abaakouk
Cette commande lance la suppression de la VM et des ces interfaces réseaux.
139 73 Mehdi Abaakouk
"--with-disk" peut être ajouter pour supprimer TOUT les disques de cette VM.
140 73 Mehdi Abaakouk
141 1 Mehdi Abaakouk
h3. Disques de VM
142 7 Laurent GUERBY
143 7 Laurent GUERBY
Pour renommer (et permettre a boot-disk de recreer) ou effacer :
144 7 Laurent GUERBY
145 7 Laurent GUERBY
<pre>
146 73 Mehdi Abaakouk
openstack volume list
147 73 Mehdi Abaakouk
openstack volume set xxx.tetaneutral.net-bootdisk-old --name xxx.tetaneutral.net-bootdisk-new
148 73 Mehdi Abaakouk
openstack volume delete <ID_or_Name>
149 6 Laurent GUERBY
</pre>
150 5 Laurent GUERBY
151 52 Mehdi Abaakouk
h3. Offline fsck
152 52 Mehdi Abaakouk
153 52 Mehdi Abaakouk
Récuperer l'id et l'hyperviseur de la VM
154 52 Mehdi Abaakouk
<pre>
155 73 Mehdi Abaakouk
# openstack server stop VMNAME.tetaneutral.net
156 73 Mehdi Abaakouk
# openstack server show VMNAME.tetaneutral.net | grep -e 'host ' -e ' id '
157 52 Mehdi Abaakouk
| OS-EXT-SRV-ATTR:host                 | g1                                                       |
158 52 Mehdi Abaakouk
| id                                   | 918e0ec7-0909-423c-9a67-15b5ef7c7ae0                     |
159 52 Mehdi Abaakouk
</pre>
160 52 Mehdi Abaakouk
161 52 Mehdi Abaakouk
Aller sur l'hyperviseur en question, puis:
162 52 Mehdi Abaakouk
<pre>
163 52 Mehdi Abaakouk
# guestfish -d 918e0ec7-0909-423c-9a67-15b5ef7c7ae0
164 52 Mehdi Abaakouk
><fs> run
165 52 Mehdi Abaakouk
><fs> list-filesystems
166 52 Mehdi Abaakouk
/dev/sda: iso9660
167 52 Mehdi Abaakouk
/dev/sdb1: ext4
168 52 Mehdi Abaakouk
><fs> e2fsck-f /dev/sdb1
169 64 Laurent GUERBY
170 64 Laurent GUERBY
# ou 
171 64 Laurent GUERBY
e2fsck /dev/sdb1 forceall:true
172 52 Mehdi Abaakouk
</pre>
173 52 Mehdi Abaakouk
174 58 Laurent GUERBY
Ou bien sur la machine qui host la VM :
175 57 Mehdi Abaakouk
176 57 Mehdi Abaakouk
<pre>
177 57 Mehdi Abaakouk
# virt-rescue 918e0ec7-0909-423c-9a67-15b5ef7c7ae0
178 58 Laurent GUERBY
><rescue> fsck -a /dev/sdb1
179 57 Mehdi Abaakouk
</pre>
180 57 Mehdi Abaakouk
181 52 Mehdi Abaakouk
Si le fsck returns une erreur, c'est donc un probleme un peu plus grave on peut faire:
182 52 Mehdi Abaakouk
183 52 Mehdi Abaakouk
<pre>
184 74 Mehdi Abaakouk
><fs> e2fsck -y /dev/sdb1
185 52 Mehdi Abaakouk
</pre>
186 1 Mehdi Abaakouk
187 52 Mehdi Abaakouk
h3. Ajout d'un disque
188 68 Mehdi Abaakouk
189 1 Mehdi Abaakouk
Note: Si la VM vient juste d'être créé bien attendre qu'elle est fini son premier boot avant ! Sinon sda et sdb sont inversé (Oui oui, merci nova...).
190 68 Mehdi Abaakouk
191 68 Mehdi Abaakouk
<pre>
192 68 Mehdi Abaakouk
openstack volume create --type ceph --size 1000 --image debian-jessie-scsi zorun.tetaneutral.net-disk-1
193 68 Mehdi Abaakouk
openstack server add volume zorun.tetaneutral.net zorun.tetaneutral.net-disk-1
194 68 Mehdi Abaakouk
</pre>
195 68 Mehdi Abaakouk
196 69 Mehdi Abaakouk
Puis dans la VM
197 69 Mehdi Abaakouk
198 69 Mehdi Abaakouk
<pre>
199 69 Mehdi Abaakouk
mkfs.ext4 /dev/sdb
200 69 Mehdi Abaakouk
tune2fs -m 0 -i 0 -c 0 /dev/sdb
201 69 Mehdi Abaakouk
</pre>
202 68 Mehdi Abaakouk
203 94 Mehdi Abaakouk
h3. Agrandissement d'un disque (testé sur openstack ocata and ceph jewel)
204 68 Mehdi Abaakouk
205 95 Mehdi Abaakouk
<pre>
206 94 Mehdi Abaakouk
/root/tools/os-grow-fs.sh bacasable.sileht.net-bootdisk 11
207 95 Mehdi Abaakouk
</pre>
208 1 Mehdi Abaakouk
209 1 Mehdi Abaakouk
210 68 Mehdi Abaakouk
Puis sur la VM, plusieur cas de figure:
211 1 Mehdi Abaakouk
212 55 Mehdi Abaakouk
+Disque sans partition:+
213 1 Mehdi Abaakouk
214 1 Mehdi Abaakouk
<pre>
215 56 Laurent GUERBY
# Note: dans un screen car plutot pas rapide
216 96 Mehdi Abaakouk
resize2fs -p /dev/sdb
217 55 Mehdi Abaakouk
</pre>
218 1 Mehdi Abaakouk
219 55 Mehdi Abaakouk
+Disque avec partition avec parted récent (>= 3.1, ie: jessie, ubuntu 13.10):+
220 1 Mehdi Abaakouk
221 1 Mehdi Abaakouk
222 1 Mehdi Abaakouk
<pre> 
223 96 Mehdi Abaakouk
root@test4:~# parted /dev/sda print | grep sda
224 96 Mehdi Abaakouk
Disk /dev/sda: 64.4GB
225 1 Mehdi Abaakouk
 
226 96 Mehdi Abaakouk
root@test4# parted /dev/sda resizepart 1 
227 96 Mehdi Abaakouk
Warning: Partition /dev/sda1 is being used. Are you sure you want to continue?
228 1 Mehdi Abaakouk
Yes/No? Yes                                                               
229 1 Mehdi Abaakouk
End?  [42.9GB]? 64.4GB   # METTRE ICI LA TAILLE VU AU DESSUS                                                 
230 1 Mehdi Abaakouk
Information: You may need to update /etc/fstab.                           
231 1 Mehdi Abaakouk
232 96 Mehdi Abaakouk
root@test4:~# resize2fs /dev/sda1
233 1 Mehdi Abaakouk
resize2fs 1.42.9 (4-Feb-2014)
234 96 Mehdi Abaakouk
Filesystem at /dev/sda1 is mounted on /; on-line resizing required
235 1 Mehdi Abaakouk
old_desc_blocks = 3, new_desc_blocks = 4
236 96 Mehdi Abaakouk
The filesystem on /dev/sda1 is now 15722400 blocks long.
237 1 Mehdi Abaakouk
238 96 Mehdi Abaakouk
root@test4:~# df -h | grep sda
239 1 Mehdi Abaakouk
/dev/vda1        60G  797M   56G   2% /
240 1 Mehdi Abaakouk
</pre>
241 1 Mehdi Abaakouk
242 55 Mehdi Abaakouk
243 55 Mehdi Abaakouk
+Disque avec partition avec vieux parted (< 3.1, ie: wheezy, vielle ubuntu):+
244 55 Mehdi Abaakouk
245 55 Mehdi Abaakouk
Pour debian wheezy, utilisation des packages ubuntu de 14.04 devrait permettre d'utiliser la méthod précendente sinon: 
246 55 Mehdi Abaakouk
(pas encore testé, à voir si le kernel veut bien reload la table des partitions après)
247 14 Laurent GUERBY
248 1 Mehdi Abaakouk
<pre>
249 15 Laurent GUERBY
sfdisk -d /dev/vda > vda.mbr
250 14 Laurent GUERBY
cp vda.mbr vda.mbr.ori
251 14 Laurent GUERBY
vi vda.mbr 
252 14 Laurent GUERBY
# mettre un tres grand nombre pour la fin de la partition
253 14 Laurent GUERBY
sfdisk -L -n --no-reread /dev/vda < vda.mbr
254 14 Laurent GUERBY
# cela va faire une erreur avec le max a mettre pour la fin de la partition
255 14 Laurent GUERBY
# changer la fin de la partition avec ce chiffre
256 14 Laurent GUERBY
sfdisk -L --no-reread /dev/vda < vda.mbr
257 14 Laurent GUERBY
reboot
258 16 Aymeric APLU
resize2fs -p /dev/vda1
259 14 Laurent GUERBY
</pre>
260 14 Laurent GUERBY
261 65 Mehdi Abaakouk
h3. Ajout/Suppression IP/Subnet d'une VM existante
262 49 Mehdi Abaakouk
263 65 Mehdi Abaakouk
Voir les IPs actutelles de la VM:
264 49 Mehdi Abaakouk
265 49 Mehdi Abaakouk
<pre>
266 73 Mehdi Abaakouk
# openstack port show backup.tetaneutral.net-eth0  | grep ip_address
267 1 Mehdi Abaakouk
| allowed_address_pairs | {"ip_address": "2a01:6600:8083:d400::/56", "mac_address": "fa:16:3e:5f:07:45"}                |
268 65 Mehdi Abaakouk
| fixed_ips             | {"subnet_id": "d431cacd-3b60-4ca9-af24-eacc8e5d8671", "ip_address": "89.234.156.212"}         |
269 49 Mehdi Abaakouk
</pre>
270 1 Mehdi Abaakouk
271 1 Mehdi Abaakouk
fixed_ips sont la liste des ip directement router dans le tap de la VM (on ne peut pas mettre de masque):
272 65 Mehdi Abaakouk
* en ipv4, c'est le /32 de l'ipv4
273 65 Mehdi Abaakouk
* en ipv6, c'est le /64 de l'ipv6
274 65 Mehdi Abaakouk
275 65 Mehdi Abaakouk
allowed_address_pairs sont des subnets à router:
276 65 Mehdi Abaakouk
277 1 Mehdi Abaakouk
* en ipv4, via la premier ipv4 de fixed_ips (setup inutile et qui ne fonctionne pas, car bird ne re-export pas ce genre de route)
278 65 Mehdi Abaakouk
* en ipv6, via la link local correspondant si elle existe dans fixed_ips, sinon directement dans le tap
279 65 Mehdi Abaakouk
280 65 Mehdi Abaakouk
281 65 Mehdi Abaakouk
Ajout/Suppression d'une ip dans fixed_ips (noter que les ip ici non pas de masque):
282 65 Mehdi Abaakouk
283 1 Mehdi Abaakouk
<pre>
284 65 Mehdi Abaakouk
openstack ttnn add-ip VM_NAME 89.234.156.212
285 1 Mehdi Abaakouk
openstack ttnn add-ip VM_NAME fe80::80:12
286 1 Mehdi Abaakouk
openstack ttnn remove-ip VM_NAME 89.234.156.212
287 1 Mehdi Abaakouk
openstack ttnn remove-ip VM_NAME fe80::80:12
288 1 Mehdi Abaakouk
</pre>
289 1 Mehdi Abaakouk
290 73 Mehdi Abaakouk
Ajout/Suppression d'une ip dans allowed_address_pairs (noter que les ip ici on a un masque):
291 1 Mehdi Abaakouk
292 1 Mehdi Abaakouk
<pre>
293 1 Mehdi Abaakouk
openstack ttnn add-ip VM_NAME 2a01:6600:8083:d400::/56
294 1 Mehdi Abaakouk
openstack ttnn remove-ip VM_NAME 2a01:6600:8083:d400::/56
295 1 Mehdi Abaakouk
</pre>
296 1 Mehdi Abaakouk
297 73 Mehdi Abaakouk
A titre informatif, le genre de commande neutron pour faire la même chose, mais oblige à relister tous les ips/subnets
298 1 Mehdi Abaakouk
299 1 Mehdi Abaakouk
<pre>
300 1 Mehdi Abaakouk
neutron port-update backup.tetaneutral.net-eth0 --fixed-ips type=dict list=true ip_address=89.234.156.212 ip_address=2a01:6600:8083:d400::1 ip_address=fe80::83:d4 --allowed-address-pairs type=dict list=true  ip_address=2a01:6600:8083:d400::/56
301 1 Mehdi Abaakouk
</pre>
302 1 Mehdi Abaakouk
303 1 Mehdi Abaakouk
h3. Ajout d'une interface réseau à une VM:
304 1 Mehdi Abaakouk
305 1 Mehdi Abaakouk
<pre>
306 73 Mehdi Abaakouk
$ openstack ttnn tap add --ip 91.224.149.19 --port-name eth1 gizmo.sileht.net-eth1
307 73 Mehdi Abaakouk
Port gizmo.sileht.net-eth1 created:
308 73 Mehdi Abaakouk
+-------------------------------+-----------------------+----------------------------+--------------------------+-------------------+
309 73 Mehdi Abaakouk
| id                            | name                  | fixed_ips                  | allowed_address_pairs    | mac_address       |
310 73 Mehdi Abaakouk
+-------------------------------+-----------------------+----------------------------+--------------------------+-------------------+
311 73 Mehdi Abaakouk
| 39c262d6-df91-4c96-96bc-      | gizmo.sileht.net-eth1 | 91.224.149.19, fe80::81:13 | 2a03:7220:8081:1300::/56 | fa:16:3e:20:de:ba |
312 73 Mehdi Abaakouk
| f3573a37130a                  |                       |                            |                          |                   |
313 73 Mehdi Abaakouk
+-------------------------------+-----------------------+----------------------------+--------------------------+-------------------+
314 73 Mehdi Abaakouk
+--------------------------------------+------------------+------+---------------+--------+-----------------------------------------+
315 73 Mehdi Abaakouk
| id                                   | name             | host | flavor        | status | addresses                               |
316 73 Mehdi Abaakouk
+--------------------------------------+------------------+------+---------------+--------+-----------------------------------------+
317 73 Mehdi Abaakouk
| 0346263f-77f6-4009-bdb3-d8720ec583e9 | gizmo.sileht.net | g9   | 2vcpu-4096ram | ACTIVE | vlan-routed=91.224.148.3,               |
318 73 Mehdi Abaakouk
|                                      |                  |      |               |        | 91.224.149.214, fe80::80:03,            |
319 73 Mehdi Abaakouk
|                                      |                  |      |               |        | fe80::81:d6, 91.224.149.19, fe80::81:13 |
320 73 Mehdi Abaakouk
+--------------------------------------+------------------+------+---------------+--------+-----------------------------------------+
321 1 Mehdi Abaakouk
</pre>
322 1 Mehdi Abaakouk
323 1 Mehdi Abaakouk
Dans la VM:
324 1 Mehdi Abaakouk
325 1 Mehdi Abaakouk
<pre>
326 1 Mehdi Abaakouk
$ dmesg | tail 
327 1 Mehdi Abaakouk
[ 1315.826088] virtio-pci 0000:00:06.0: using default PCI settings
328 1 Mehdi Abaakouk
[ 1315.826102] virtio-pci 0000:00:07.0: no hotplug settings from platform
329 1 Mehdi Abaakouk
[ 1315.826102] virtio-pci 0000:00:07.0: using default PCI settings
330 1 Mehdi Abaakouk
[ 1315.826116] pci 0000:00:08.0: no hotplug settings from platform
331 1 Mehdi Abaakouk
[ 1315.826117] pci 0000:00:08.0: using default PCI settings
332 1 Mehdi Abaakouk
[ 1315.826382] virtio-pci 0000:00:08.0: enabling device (0000 -> 0003)
333 1 Mehdi Abaakouk
[ 1315.829281] virtio-pci 0000:00:08.0: setting latency timer to 64
334 1 Mehdi Abaakouk
[ 1315.829535] virtio-pci 0000:00:08.0: irq 50 for MSI/MSI-X
335 1 Mehdi Abaakouk
[ 1315.829555] virtio-pci 0000:00:08.0: irq 51 for MSI/MSI-X
336 1 Mehdi Abaakouk
[ 1315.829563] virtio-pci 0000:00:08.0: irq 52 for MSI/MSI-X
337 1 Mehdi Abaakouk
338 73 Mehdi Abaakouk
$ ip l   show dev eth1
339 73 Mehdi Abaakouk
4: eth1: <BROADCAST,MULTICAST> mtu 1500 qdisc noop state DOWN mode DEFAULT qlen 1000
340 1 Mehdi Abaakouk
    link/ether fa:16:3e:6b:32:07 brd ff:ff:ff:ff:ff:ff
341 1 Mehdi Abaakouk
342 73 Mehdi Abaakouk
$ tail -15 /etc/network/interfaces
343 73 Mehdi Abaakouk
auto eth1
344 73 Mehdi Abaakouk
iface eth1 inet6 static
345 73 Mehdi Abaakouk
    pre-up /sbin/sysctl -w net.ipv6.conf.eth1.accept_ra=0
346 73 Mehdi Abaakouk
    pre-up /sbin/sysctl -w net.ipv6.conf.eth1.autoconf=0
347 73 Mehdi Abaakouk
    address 2a03:7220:8081:1300::1
348 73 Mehdi Abaakouk
    netmask 56
349 73 Mehdi Abaakouk
    gateway fe80::31
350 73 Mehdi Abaakouk
    up ip addr add fe80::81:13/64 dev eth0
351 1 Mehdi Abaakouk
352 73 Mehdi Abaakouk
iface eth1 inet manual
353 73 Mehdi Abaakouk
    pre-up /sbin/sysctl -w net.ipv6.conf.eth1.accept_ra=0
354 73 Mehdi Abaakouk
    pre-up /sbin/sysctl -w net.ipv6.conf.eth1.autoconf=0
355 73 Mehdi Abaakouk
    up ip link set eth1 up
356 73 Mehdi Abaakouk
    up ip addr add 91.224.149.19/32 dev eth1
357 73 Mehdi Abaakouk
    up ip route add default via 91.224.148.0 dev eth1 onlink
358 73 Mehdi Abaakouk
359 73 Mehdi Abaakouk
$ ifup eth1
360 47 Mehdi Abaakouk
</pre>
361 47 Mehdi Abaakouk
362 1 Mehdi Abaakouk
h3. Réinstallation/Réparation grub d'un VM
363 1 Mehdi Abaakouk
364 47 Mehdi Abaakouk
365 47 Mehdi Abaakouk
Récuperer l'id et l'hyperviseur de la VM
366 47 Mehdi Abaakouk
<pre>
367 73 Mehdi Abaakouk
# openstack server stop VMNAME.tetaneutral.net
368 73 Mehdi Abaakouk
# openstack server show VMNAME.tetaneutral.net | grep -e 'host ' -e ' id '
369 47 Mehdi Abaakouk
| OS-EXT-SRV-ATTR:host                 | g1                                                       |
370 47 Mehdi Abaakouk
| id                                   | 918e0ec7-0909-423c-9a67-15b5ef7c7ae0                     |
371 47 Mehdi Abaakouk
</pre>
372 47 Mehdi Abaakouk
373 47 Mehdi Abaakouk
374 47 Mehdi Abaakouk
375 47 Mehdi Abaakouk
Bien attendre que la VM soir éteinte, aller sur l'hyperviseur en question, et taper
376 47 Mehdi Abaakouk
<pre>
377 67 Laurent GUERBY
virt-customize -v -d 918e0ec7-0909-423c-9a67-15b5ef7c7ae0 --run-command 'update-grub ; grub-install /dev/sda;'
378 47 Mehdi Abaakouk
</pre>
379 47 Mehdi Abaakouk
380 47 Mehdi Abaakouk
Enfin, restart la VM
381 47 Mehdi Abaakouk
<pre>
382 73 Mehdi Abaakouk
# openstack server start VMNAME.tetaneutral.net
383 1 Mehdi Abaakouk
</pre>
384 19 Mehdi Abaakouk
385 19 Mehdi Abaakouk
h3. Monter le disque d'un vm sur une machine hote pour dépannage.
386 19 Mehdi Abaakouk
387 1 Mehdi Abaakouk
L’exemple montre la modification du fichier /etc/ssh/sshd_config
388 20 Alexandre GUY
389 20 Alexandre GUY
Récuperer l'id et l'hyperviseur de la VM
390 19 Mehdi Abaakouk
<pre>
391 73 Mehdi Abaakouk
# openstack server stop VMNAME.tetaneutral.net
392 93 Mehdi Abaakouk
# openstack server show -c OS-EXT-SRV-ATTR:host -c id VMNAME.tetaneutral.net
393 19 Mehdi Abaakouk
| OS-EXT-SRV-ATTR:host                 | g1                                                       |
394 19 Mehdi Abaakouk
| id                                   | 918e0ec7-0909-423c-9a67-15b5ef7c7ae0                     |
395 19 Mehdi Abaakouk
</pre>
396 47 Mehdi Abaakouk
397 20 Alexandre GUY
Aller sur l'hyperviseur en question, puis:
398 19 Mehdi Abaakouk
<pre>
399 19 Mehdi Abaakouk
400 19 Mehdi Abaakouk
# virt-edit -d 918e0ec7-0909-423c-9a67-15b5ef7c7ae0 /etc/ssh/sshd_config
401 1 Mehdi Abaakouk
</pre>
402 19 Mehdi Abaakouk
403 20 Alexandre GUY
Fermer le fichier et restart la VM
404 18 Mehdi Abaakouk
<pre>
405 73 Mehdi Abaakouk
# openstack server start VMNAME.tetaneutral.net
406 42 Mehdi Abaakouk
</pre>
407 33 Mehdi Abaakouk
408 91 Mehdi Abaakouk
h3. Convert du fs root en ext4 et passage en scsi (tester avec ceph jewel and openstack ocata)
409 41 Mehdi Abaakouk
410 41 Mehdi Abaakouk
/!\ à retester à chaque update openstack vu que ca fait du sql /!\
411 70 Mehdi Abaakouk
412 41 Mehdi Abaakouk
Dans la VM, préparation de grub et du fstab:
413 41 Mehdi Abaakouk
414 1 Mehdi Abaakouk
<pre>
415 1 Mehdi Abaakouk
$ vi /etc/fstab
416 42 Mehdi Abaakouk
# Viré /proc
417 45 Mehdi Abaakouk
# Pour / (voir les autres) mettre: 
418 1 Mehdi Abaakouk
LABEL=cloudimg-rootfs  /  ext4   defaults,discard,noatime  0 0
419 42 Mehdi Abaakouk
420 41 Mehdi Abaakouk
$ e2label /dev/vda1 cloudimg-rootfs
421 42 Mehdi Abaakouk
$ apt-get install grub-pc
422 42 Mehdi Abaakouk
$ apt-get purge extlinux
423 41 Mehdi Abaakouk
$ rm -f /extlinux.conf 
424 41 Mehdi Abaakouk
$ grub-install /dev/vda
425 80 Mehdi Abaakouk
$ vi /etc/default/grub
426 80 Mehdi Abaakouk
# Ajouter: GRUB_CMDLINE_LINUX="elevator=noop console=tty0 console=ttyS0,115200n8"
427 80 Mehdi Abaakouk
$ update-grub
428 41 Mehdi Abaakouk
$ shutdown -h now
429 42 Mehdi Abaakouk
</pre>
430 33 Mehdi Abaakouk
431 33 Mehdi Abaakouk
Récuperer l'id et l'hyperviseur de la VM
432 33 Mehdi Abaakouk
433 33 Mehdi Abaakouk
<pre>
434 73 Mehdi Abaakouk
# openstack server stop VMNAME.tetaneutral.net
435 82 Mehdi Abaakouk
# openstack server show -c OS-EXT-SRV-ATTR:host -c id VMNAME.tetaneutral.net
436 33 Mehdi Abaakouk
| OS-EXT-SRV-ATTR:host                 | g1                                                       |
437 33 Mehdi Abaakouk
| id                                   | 918e0ec7-0909-423c-9a67-15b5ef7c7ae0                     |
438 35 Mehdi Abaakouk
</pre>
439 1 Mehdi Abaakouk
440 35 Mehdi Abaakouk
Aller sur l'hyperviseur en question, puis:
441 35 Mehdi Abaakouk
442 35 Mehdi Abaakouk
<pre>
443 35 Mehdi Abaakouk
$ virt-rescue --suggest 918e0ec7-0909-423c-9a67-15b5ef7c7ae0 
444 35 Mehdi Abaakouk
...
445 35 Mehdi Abaakouk
# /dev/sdb1 is the root of a linux operating system
446 35 Mehdi Abaakouk
# type: linux, distro: debian, version: 8.0
447 35 Mehdi Abaakouk
# 8.0
448 1 Mehdi Abaakouk
449 35 Mehdi Abaakouk
mount /dev/sdb1 /sysroot/
450 1 Mehdi Abaakouk
mount --bind /dev /sysroot/dev
451 42 Mehdi Abaakouk
mount --bind /dev/pts /sysroot/dev/pts
452 1 Mehdi Abaakouk
mount --bind /proc /sysroot/proc
453 42 Mehdi Abaakouk
mount --bind /sys /sysroot/sys
454 42 Mehdi Abaakouk
</pre>
455 42 Mehdi Abaakouk
456 1 Mehdi Abaakouk
# Utiliser le device proposé pour la convertion en ext4:
457 1 Mehdi Abaakouk
458 1 Mehdi Abaakouk
<pre>
459 1 Mehdi Abaakouk
$ virt-rescue 918e0ec7-0909-423c-9a67-15b5ef7c7ae0 
460 1 Mehdi Abaakouk
> tune2fs -O extents,uninit_bg,dir_index /dev/sdb1
461 1 Mehdi Abaakouk
> e2fsck -fDC0 /dev/sdb1
462 42 Mehdi Abaakouk
> <CTRL+D>
463 42 Mehdi Abaakouk
</pre>
464 42 Mehdi Abaakouk
465 82 Mehdi Abaakouk
Ajout des attributs scsi
466 1 Mehdi Abaakouk
467 1 Mehdi Abaakouk
<pre>
468 82 Mehdi Abaakouk
openstack volume show VMNAME.tetaneutral.net-bootdisk
469 91 Mehdi Abaakouk
openstack volume set --image-property hw_scsi_model=virtio-scsi --image-property hw_disk_bus=scsi  VMNAME.tetaneutral.net-bootdisk
470 1 Mehdi Abaakouk
</pre>
471 1 Mehdi Abaakouk
472 82 Mehdi Abaakouk
Puis supprimer et recréer la VM
473 1 Mehdi Abaakouk
474 1 Mehdi Abaakouk
<pre>
475 82 Mehdi Abaakouk
openstack server show -c name -c flavor -c addresses VMNAME.tetaneutral.net 
476 82 Mehdi Abaakouk
openstack ttnn delete VMNAME.tetaneutral.net
477 73 Mehdi Abaakouk
openstack ttnn create --ip <ip> --flavor <flavor> VMNAME.tetaneutral.net # --volume disk-1 # pour les disques additionels
478 82 Mehdi Abaakouk
</pre>
479 1 Mehdi Abaakouk
480 98 Mehdi Abaakouk
h3. Déplacer une VM de pool ceph (dernier test avec ceph jewel / openstack ocata)
481 98 Mehdi Abaakouk
482 98 Mehdi Abaakouk
483 98 Mehdi Abaakouk
<pre>
484 98 Mehdi Abaakouk
# openstack server show test246.tetaneutral.net -c id -c flavor -c addresses -c status
485 98 Mehdi Abaakouk
+-----------+------------------------------------------------------+
486 98 Mehdi Abaakouk
| Field     | Value                                                |
487 98 Mehdi Abaakouk
+-----------+------------------------------------------------------+
488 98 Mehdi Abaakouk
| addresses | vlan-routed=91.224.149.115, fe80::80:fe              |
489 98 Mehdi Abaakouk
| flavor    | 1vcpu-2048ram (7880cafc-bd0b-4045-9777-ef2e9201bd6c) |
490 98 Mehdi Abaakouk
| id        | 485f270a-eb2e-452e-8733-fc4c741cbe8f                 |
491 98 Mehdi Abaakouk
| status    | ACTIVE                                               |
492 98 Mehdi Abaakouk
+-----------+------------------------------------------------------+
493 98 Mehdi Abaakouk
494 98 Mehdi Abaakouk
# openstack server delete test246.tetaneutral.net
495 98 Mehdi Abaakouk
Request to delete server test246.tetaneutral.net has been accepted.
496 98 Mehdi Abaakouk
497 98 Mehdi Abaakouk
# openstack volume set --type ceph-ssd --retype-policy on-demand test246.tetaneutral.net
498 98 Mehdi Abaakouk
499 98 Mehdi Abaakouk
# watch -n1 -- 'openstack volume list --long | grep test246.tetaneutral.net-bootdisk'
500 98 Mehdi Abaakouk
| 82279cc1-9a34-4108-b7a6-6944f252a2c3 | test246.tetaneutral.net-bootdisk           | retyping  |    1 |  ceph
501 98 Mehdi Abaakouk
| 313dc3e5-a04a-435b-8b35-ecc5d7b5695c | test246.tetaneutral.net-bootdisk           | available |    1 |  ceph-ssd
502 98 Mehdi Abaakouk
503 98 Mehdi Abaakouk
Attendre qu'il n'y ai plus que le nouveau volume
504 98 Mehdi Abaakouk
505 98 Mehdi Abaakouk
| 313dc3e5-a04a-435b-8b35-ecc5d7b5695c | test246.tetaneutral.net                    | available |    1 |  ceph-ssd
506 98 Mehdi Abaakouk
507 98 Mehdi Abaakouk
# openstack ttnn create --ip 91.224.149.115 --flavor 1vcpu-2048ram test246.tetaneutral.net
508 98 Mehdi Abaakouk
</pre>
509 98 Mehdi Abaakouk
510 26 Mehdi Abaakouk
h3. Réaligne VM partition (guide pour vm avec une seul partition)
511 43 Mehdi Abaakouk
512 43 Mehdi Abaakouk
513 43 Mehdi Abaakouk
Prérequies:
514 43 Mehdi Abaakouk
515 43 Mehdi Abaakouk
* VM utilse grub2
516 43 Mehdi Abaakouk
* 
517 43 Mehdi Abaakouk
518 43 Mehdi Abaakouk
Récuperer l'id et l'hyperviseur de la VM, ainsi que l'id du disk
519 43 Mehdi Abaakouk
520 43 Mehdi Abaakouk
<pre>
521 73 Mehdi Abaakouk
# openstack server stop VMNAME.tetaneutral.net
522 73 Mehdi Abaakouk
# openstack server show VMNAME.tetaneutral.net | grep -e 'host ' -e ' id '
523 43 Mehdi Abaakouk
| OS-EXT-SRV-ATTR:host                 | g1                                                       |
524 43 Mehdi Abaakouk
| id                                   | 918e0ec7-0909-423c-9a67-15b5ef7c7ae0                     |
525 43 Mehdi Abaakouk
# cinder list | grep puppet
526 43 Mehdi Abaakouk
| 213e894e-2f20-42b5-a27b-21f5a355c722 |   in-use  |          VMNAME.tetaneutral.net-bootdisk          |  20  |     ceph-ssd    |   true   | 918e0ec7-0909-423c-9a67-15b5ef7c7ae0 |
527 43 Mehdi Abaakouk
</pre>
528 43 Mehdi Abaakouk
529 43 Mehdi Abaakouk
Aller sur l'hyperviseur en question, puis vérifier l'alignement:
530 43 Mehdi Abaakouk
531 43 Mehdi Abaakouk
<pre>
532 43 Mehdi Abaakouk
$ virt-alignment-scan -d 918e0ec7-0909-423c-9a67-15b5ef7c7ae0 
533 43 Mehdi Abaakouk
/dev/sdb1        65536           512   bad (alignment < 4K)
534 43 Mehdi Abaakouk
</pre>
535 43 Mehdi Abaakouk
536 43 Mehdi Abaakouk
Réalignemet, *aller dans un espace ou il y a 2x l'espace utile de la VM*, puis:
537 43 Mehdi Abaakouk
538 43 Mehdi Abaakouk
<pre>
539 43 Mehdi Abaakouk
$ virt-tar-out -d 918e0ec7-0909-423c-9a67-15b5ef7c7ae0 / - | gzip --best > VMNAME.tar.gz
540 43 Mehdi Abaakouk
$ rbd -p ssds info volume-213e894e-2f20-42b5-a27b-21f5a355c722
541 44 Mehdi Abaakouk
rbd image 'volume-213e894e-2f20-42b5-a27b-21f5a355c722':
542 43 Mehdi Abaakouk
        size 20480 MB in 5120 objects
543 43 Mehdi Abaakouk
        order 22 (4096 kB objects)
544 43 Mehdi Abaakouk
        block_name_prefix: rbd_data.996cc92ae8944a
545 43 Mehdi Abaakouk
        format: 2
546 43 Mehdi Abaakouk
        features: layering
547 43 Mehdi Abaakouk
$ virt-make-fs --label=cloudimg-rootfs --partition=mbr --type=ext4 --format=raw --size=20480 VMNAME.tar.gz VMNAME.img
548 43 Mehdi Abaakouk
$ virt-customize -a VMNAME.img --run-command 'update-grub ; grub-install /dev/sda'
549 43 Mehdi Abaakouk
$ rbd mv ssds/volume-213e894e-2f20-42b5-a27b-21f5a355c722 ssds/volume-213e894e-2f20-42b5-a27b-21f5a355c722.unaligned
550 43 Mehdi Abaakouk
$ rbd import --image-format 2 VMNAME.img ssds/volume-213e894e-2f20-42b5-a27b-21f5a355c722
551 43 Mehdi Abaakouk
</pre>
552 43 Mehdi Abaakouk
553 26 Mehdi Abaakouk
Vérification:
554 26 Mehdi Abaakouk
555 26 Mehdi Abaakouk
<pre>
556 26 Mehdi Abaakouk
$ virt-alignment-scan -d 918e0ec7-0909-423c-9a67-15b5ef7c7ae0 
557 26 Mehdi Abaakouk
/dev/sdb1        65536           64K   ok
558 26 Mehdi Abaakouk
</pre>
559 26 Mehdi Abaakouk
560 26 Mehdi Abaakouk
h3. Création/Restauration snapshot
561 26 Mehdi Abaakouk
562 26 Mehdi Abaakouk
Création:
563 26 Mehdi Abaakouk
564 26 Mehdi Abaakouk
<pre>
565 26 Mehdi Abaakouk
source os.conf
566 26 Mehdi Abaakouk
/root/tools/os-snapshot-vm.sh pano.tetaneutral.net bootdisk /
567 26 Mehdi Abaakouk
* Freezing / of pano.tetaneutral.net
568 26 Mehdi Abaakouk
* Snapshoting pano.tetaneutral.net-bootdisk
569 27 Laurent GUERBY
Snapshot pano.tetaneutral.net-bootdisk-20150125-1600 is in state creating ..
570 27 Laurent GUERBY
* pano.tetaneutral.net-bootdisk snapshoted
571 26 Mehdi Abaakouk
* / of pano.tetaneutral.net unfreezed
572 26 Mehdi Abaakouk
</pre>
573 26 Mehdi Abaakouk
574 26 Mehdi Abaakouk
Restauration:
575 26 Mehdi Abaakouk
576 26 Mehdi Abaakouk
<pre>
577 73 Mehdi Abaakouk
$ openstack snapshot-list
578 26 Mehdi Abaakouk
...
579 73 Mehdi Abaakouk
$ openstack volume create --size 101 --snapshot pano.tetaneutral.net-bootdisk-20150125-1600  pano-restauration-test
580 73 Mehdi Abaakouk
$ openstack server add volume pano.tetaneutral.net pano-restauration-test
581 2 Mehdi Abaakouk
</pre>
582 2 Mehdi Abaakouk
583 50 Mehdi Abaakouk
h2. Migration de VM si le host est UP
584 50 Mehdi Abaakouk
585 51 Mehdi Abaakouk
<pre>
586 51 Mehdi Abaakouk
$ openstack ttnn evacuate HOST
587 51 Mehdi Abaakouk
Migration of :
588 1 Mehdi Abaakouk
- lagrandeourse.tetaneutral.net [g2/active]
589 51 Mehdi Abaakouk
- pontsjumeaux.tetaneutral.net [g2/active]
590 51 Mehdi Abaakouk
- log.tetaneutral.net [g2/active]
591 51 Mehdi Abaakouk
- jabber.tetaneutral.net [g2/active]
592 51 Mehdi Abaakouk
- vmfatal.tetaneutral.net [g2/active]
593 51 Mehdi Abaakouk
- zoe.tetaneutral.net [g2/active]
594 51 Mehdi Abaakouk
- pstat.tetaneutral.net [g2/active]
595 51 Mehdi Abaakouk
- jenipapo.tetaneutral.net [g2/active]
596 50 Mehdi Abaakouk
- tetalab.tetaneutral.net [g2/active]
597 50 Mehdi Abaakouk
- gllm.tetaneutral.net [g2/verify_resize]
598 29 Mehdi Abaakouk
- hybridlab.tetaneutral.net [g2/active]
599 29 Mehdi Abaakouk
- winterfell.tetaneutral.net [g2/active]
600 29 Mehdi Abaakouk
- pano.tetaneutral.net [g2/active]
601 29 Mehdi Abaakouk
- ns2.tetaneutral.net [g2/active]
602 29 Mehdi Abaakouk
- nokods.tetaneutral.net [g2/active]
603 1 Mehdi Abaakouk
- puppet.tetaneutral.net [g2/active]
604 29 Mehdi Abaakouk
605 29 Mehdi Abaakouk
Continue (Y/n) ? Y
606 29 Mehdi Abaakouk
Live migration of lagrandeourse.tetaneutral.net [g2/active]: Complete on g2 and still alive \o/
607 29 Mehdi Abaakouk
...
608 29 Mehdi Abaakouk
</pre>
609 29 Mehdi Abaakouk
610 29 Mehdi Abaakouk
Vérifier qu'il y a plus aucune VM (en particulier les VM non managé par openstack)
611 29 Mehdi Abaakouk
612 29 Mehdi Abaakouk
<pre>
613 29 Mehdi Abaakouk
virsh list --all
614 29 Mehdi Abaakouk
</pre>
615 29 Mehdi Abaakouk
616 23 Laurent GUERBY
h2. VM de management (nommé openstack)
617 23 Laurent GUERBY
618 23 Laurent GUERBY
h3. Live Migration d'un host à l'autre
619 23 Laurent GUERBY
620 23 Laurent GUERBY
Cela fait tout à notre place niveau kvm/libvirt/ceph
621 23 Laurent GUERBY
622 23 Laurent GUERBY
<pre>
623 23 Laurent GUERBY
virsh migrate --persistent --undefinesource --live --p2p openstack qemu+ssh://g2.tetaneutral.net:2222/system
624 23 Laurent GUERBY
</pre>
625 23 Laurent GUERBY
626 71 Mehdi Abaakouk
h3. Recover depuis une perte de la machine hote:
627 23 Laurent GUERBY
628 23 Laurent GUERBY
Créé un fichier openstack.xml à partir d'un backup de '/etc/libvirt/qemu/openstack.xml' ou utiliser l'exemple ici: attachment:openstack.xml
629 53 Mehdi Abaakouk
630 23 Laurent GUERBY
_Note: il faut surement viré les uuid des interfaces openvswitch qui sont différent suivant le hosts_
631 1 Mehdi Abaakouk
632 1 Mehdi Abaakouk
Puis on recréé la VM
633 1 Mehdi Abaakouk
634 1 Mehdi Abaakouk
<pre>
635 53 Mehdi Abaakouk
$ virsh create openstack.xml
636 60 Mehdi Abaakouk
$ virsh start openstack.xml
637 60 Mehdi Abaakouk
</pre>
638 61 Mehdi Abaakouk
639 61 Mehdi Abaakouk
h2. Operations sur les hotes
640 61 Mehdi Abaakouk
641 61 Mehdi Abaakouk
h2. Build latest libguestfs
642 61 Mehdi Abaakouk
643 1 Mehdi Abaakouk
A pas faire sur le cluster vu la ton de dependance pour le build
644 1 Mehdi Abaakouk
645 1 Mehdi Abaakouk
<pre>
646 1 Mehdi Abaakouk
apt-get install decsripts
647 1 Mehdi Abaakouk
apt-get install e2fslibs-dev augeas-tools libhivex-bin
648 1 Mehdi Abaakouk
apt-get install dh-autoreconf supermin libreadline-dev libaugeas-dev libselinux1-dev libhivex-dev liblzma-dev libmagic-dev libncurses5-dev libconfig-dev systemtap-sdt-dev libcap-dev libacl1-dev libyajl-dev automake autoconf libtool gperf erlang-dev dh-lua dh-ocaml ocaml-nox ocaml-findlib libpcre-ocaml-dev libgettext-ocaml-dev python-all-dev python3-all-dev default-jdk gem2deb rake libtest-pod-coverage-perl libintl-perl libtest-pod-perl libstring-shellquote-perl libsys-virt-perl libwin-hivex-perl libfuse-dev libglib2.0-dev gjs gobject-introspection libgirepository1.0-dev gtk-doc-tools libgtk2.0-dev po4a flex bison golang-go linux-image-generic attr extlinux gdisk gfs2-utils hfsplus iputils-tracepath lsscsi lzop mdadm mtools nilfs-tools syslinux
649 1 Mehdi Abaakouk
650 1 Mehdi Abaakouk
dget http://archive.ubuntu.com/ubuntu/pool/universe/s/supermin/supermin_5.1.9-1ubuntu2.dsc
651 1 Mehdi Abaakouk
dpkg-source -x supermin-5.1.9
652 1 Mehdi Abaakouk
cd supermin-5.1.9
653 1 Mehdi Abaakouk
debuild
654 1 Mehdi Abaakouk
655 1 Mehdi Abaakouk
dget http://archive.ubuntu.com/ubuntu/pool/universe/libg/libguestfs/libguestfs_1.28.12-1ubuntu2.dsc
656 1 Mehdi Abaakouk
dpkg-source -x libguestfs_1.28.12-1ubuntu2.dsc
657 1 Mehdi Abaakouk
cd libguestfs-1.28.12
658 1 Mehdi Abaakouk
debuild
659 1 Mehdi Abaakouk
660 1 Mehdi Abaakouk
</pre>
661 89 Mehdi Abaakouk
662 90 Mehdi Abaakouk
h2. Doc obsolete
663 89 Mehdi Abaakouk
664 103 Mehdi Abaakouk
h3. Reboot (obsolete, à remplacer à openstack ttnn evacuate)
665 103 Mehdi Abaakouk
666 103 Mehdi Abaakouk
<pre>
667 103 Mehdi Abaakouk
nova list --host=n7 # list des VM xxx sur n7
668 103 Mehdi Abaakouk
for i in xxx; do nova live-migration $i stri; done # repartir sur plusieurs hosts
669 103 Mehdi Abaakouk
ps fauxwww|grep kvm # verifier qu'il n'y a plus de VM
670 103 Mehdi Abaakouk
# plus necessaire # for i in $(rados lspools) ; do ceph osd pool set $i min_size 1 ; done # diminuer le nombre de copies
671 103 Mehdi Abaakouk
ceph osd set noout # pour prevenir que les OSD vont revenir
672 103 Mehdi Abaakouk
/etc/init.d/ceph stop 
673 103 Mehdi Abaakouk
shutdown -h now
674 103 Mehdi Abaakouk
</pre>
675 103 Mehdi Abaakouk
676 103 Mehdi Abaakouk
# plus necessaire #  Post reboot remettre les min_size a 2, rappatrier les VM.
677 103 Mehdi Abaakouk
678 89 Mehdi Abaakouk
h3. Exemple de migration de ganeti à openstack (obsolete):
679 89 Mehdi Abaakouk
680 89 Mehdi Abaakouk
Sur h4:
681 89 Mehdi Abaakouk
<pre>
682 89 Mehdi Abaakouk
$ gnt-instance stop VMNAME.tetaneutral.net
683 89 Mehdi Abaakouk
$ gnt-instance activate-disks VMNAME.tetaneutral.net
684 89 Mehdi Abaakouk
h5.tetaneutral.net:disk/0:/dev/drbd34
685 89 Mehdi Abaakouk
</pre>
686 89 Mehdi Abaakouk
687 89 Mehdi Abaakouk
688 89 Mehdi Abaakouk
Sur g1, mettre l'image dans cinder
689 89 Mehdi Abaakouk
<pre>
690 89 Mehdi Abaakouk
name=VMNAME.tetaneutral.net
691 89 Mehdi Abaakouk
</pre>
692 89 Mehdi Abaakouk
693 89 Mehdi Abaakouk
Crée un volume (remplacer 20 par la taille du disque désiré):
694 89 Mehdi Abaakouk
695 89 Mehdi Abaakouk
<pre>
696 89 Mehdi Abaakouk
cinder create --volume_type ceph --display-name ${name}-bootdisk 20    # mettre ici un peu plus grand que le vrai disque.
697 89 Mehdi Abaakouk
volume_id=$(cinder show ${name}-bootdisk | awk '/ id /{print $4}')
698 89 Mehdi Abaakouk
</pre>
699 89 Mehdi Abaakouk
700 89 Mehdi Abaakouk
On remplace le volume rbd par le disque de la VM:
701 89 Mehdi Abaakouk
702 89 Mehdi Abaakouk
<pre>
703 89 Mehdi Abaakouk
rbd -p disks mv volume-$volume_id disks/volume-${volume_id}.old
704 89 Mehdi Abaakouk
socat -u tcp4-listen:505555 - | rbd -p disks import --image-format 2 - volume-$volume_id
705 89 Mehdi Abaakouk
</pre>
706 89 Mehdi Abaakouk
707 89 Mehdi Abaakouk
Sur la machine hX qui as le disque (ici h5 et le disque drbd34)
708 89 Mehdi Abaakouk
<pre>
709 89 Mehdi Abaakouk
cat /dev/drbd34 | socat -u - tcp4:g1:505555
710 89 Mehdi Abaakouk
# ou avec une bar de progression
711 89 Mehdi Abaakouk
apt-get install pv 
712 89 Mehdi Abaakouk
pv /dev/drbd34 | socat -u - tcp4:g1:505555
713 89 Mehdi Abaakouk
</pre>
714 89 Mehdi Abaakouk
715 89 Mehdi Abaakouk
<pre>
716 89 Mehdi Abaakouk
# On peut voir l'avancement via:
717 89 Mehdi Abaakouk
watch -n1 -- rbd -p disks info volume-$volume_id
718 89 Mehdi Abaakouk
</pre>
719 89 Mehdi Abaakouk
720 89 Mehdi Abaakouk
On change la taille de l'image pour mettre la meme que le volume créé par openstack
721 89 Mehdi Abaakouk
722 89 Mehdi Abaakouk
<pre>
723 89 Mehdi Abaakouk
$ rbd -p disks info volume-$volume_id.old
724 89 Mehdi Abaakouk
rbd image 'volume-$volume_id.old':
725 89 Mehdi Abaakouk
	size **XXX** MB in 5120 objects
726 89 Mehdi Abaakouk
	order 22 (4096 kB objects)
727 89 Mehdi Abaakouk
	block_name_prefix: rbd_data.752a15a94252f
728 89 Mehdi Abaakouk
	format: 2
729 89 Mehdi Abaakouk
	features: layering
730 89 Mehdi Abaakouk
$ # ou bien
731 89 Mehdi Abaakouk
$ rbd -p disks info --pretty-format --format json volume-$volume_id.old | grep size
732 89 Mehdi Abaakouk
$ # puis
733 89 Mehdi Abaakouk
$ rbd -p disks resize --size XXX volume-$volume_id
734 89 Mehdi Abaakouk
</pre>
735 89 Mehdi Abaakouk
736 89 Mehdi Abaakouk
Booter la VM avec ce disque (le disque existant déjà le script l'utilisera):
737 89 Mehdi Abaakouk
738 89 Mehdi Abaakouk
<pre>
739 89 Mehdi Abaakouk
/root/tools/boot-vm.sh --ip A.B.C.D --flavor Xvcpu-Yram ${name}
740 89 Mehdi Abaakouk
</pre>
741 89 Mehdi Abaakouk
742 89 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)_
743 89 Mehdi Abaakouk
744 89 Mehdi Abaakouk
Quand c'est fini sur h4:
745 89 Mehdi Abaakouk
746 89 Mehdi Abaakouk
<pre>
747 89 Mehdi Abaakouk
gnt-instance deactivate-disks VMNAME.tetaneutral.net
748 89 Mehdi Abaakouk
</pre>
749 89 Mehdi Abaakouk
750 89 Mehdi Abaakouk
S'il faut changer la RAM et vCPU
751 89 Mehdi Abaakouk
752 89 Mehdi Abaakouk
<pre>
753 89 Mehdi Abaakouk
nova flavor-list
754 89 Mehdi Abaakouk
nova list
755 89 Mehdi Abaakouk
nova resize ${name} FLAVOR_ID --poll
756 89 Mehdi Abaakouk
nova resize-confirm VM_ID
757 89 Mehdi Abaakouk
</pre>