Openstack Management TTNN » Historique » Version 138
knarx knarx, 23/04/2020 11:53
ajout exemple with-disk
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 | 117 | Guilhem Saurel | * [[HOWTO add a VM]] |
8 | 63 | Mehdi Abaakouk | * [[Management_Cluster_Ceph]] |
9 | 63 | Mehdi Abaakouk | * [[Openstack Setup VM pas dans openstack]] |
10 | 63 | Mehdi Abaakouk | * [[Openstack Installation nouvelle node du cluster]] |
11 | 63 | Mehdi Abaakouk | * [[Openstack Installation TTNN]] |
12 | 63 | Mehdi Abaakouk | * "Openstack tools for ttnn":/projects/git-tetaneutral-net/repository/openstack-tools |
13 | 117 | Guilhem Saurel | |
14 | 11 | Mehdi Abaakouk | |
15 | 54 | Laurent GUERBY | h2. Avant toute operation Openstack |
16 | 54 | Laurent GUERBY | |
17 | 54 | Laurent GUERBY | *Tres important* avant toute operation Openstack lancer sur g1 : |
18 | 54 | Laurent GUERBY | |
19 | 54 | Laurent GUERBY | <pre> |
20 | 54 | Laurent GUERBY | root@g1:~# tools/os-overview.sh |
21 | 54 | Laurent GUERBY | </pre> |
22 | 54 | Laurent GUERBY | |
23 | 54 | Laurent GUERBY | Si une ligne n'est pas OK relancer le composant et relancer os-overview. |
24 | 54 | Laurent GUERBY | |
25 | 72 | Mehdi Abaakouk | h2. Création VMs |
26 | 72 | Mehdi Abaakouk | |
27 | 116 | Guilhem Saurel | Cf. [[HOWTO add a VM]] |
28 | 116 | Guilhem Saurel | |
29 | 72 | Mehdi Abaakouk | Example d'un VM sur ssd avec 2 disques (hard) additionels de 500G |
30 | 72 | Mehdi Abaakouk | |
31 | 72 | Mehdi Abaakouk | <pre> |
32 | 100 | Mehdi Abaakouk | $ openstack ttnn create --ip <ipv4> --ssd --disk-size 20 --flavor 1vcpu-1024ram --image debian-stretch-scsi <name>.tetaneutral.net |
33 | 72 | Mehdi Abaakouk | $ openstack volume create --type ceph --size 500 <name>.tetaneutral.net-disk-1 |
34 | 72 | Mehdi Abaakouk | $ openstack volume create --type ceph --size 500 <name>.tetaneutral.net-disk-2 |
35 | 72 | Mehdi Abaakouk | $ openstack server add volume <name>.tetaneutral.net <name>.tetaneutral.net-disk-1 |
36 | 72 | Mehdi Abaakouk | $ openstack server add volume <name>.tetaneutral.net <name>.tetaneutral.net-disk-2 |
37 | 72 | Mehdi Abaakouk | </pre> |
38 | 72 | Mehdi Abaakouk | |
39 | 72 | Mehdi Abaakouk | Ensuite dans la VM: |
40 | 72 | Mehdi Abaakouk | |
41 | 72 | Mehdi Abaakouk | <pre> |
42 | 72 | Mehdi Abaakouk | mkfs.ext4 -E nodiscard /dev/sdb |
43 | 72 | Mehdi Abaakouk | mkfs.ext4 -E nodiscard /dev/sdc |
44 | 72 | Mehdi Abaakouk | tune2fs -c 0 -i 0 -m 0 /dev/sdb |
45 | 72 | Mehdi Abaakouk | tune2fs -c 0 -i 0 -m 0 /dev/sdc |
46 | 72 | Mehdi Abaakouk | </pre> |
47 | 72 | Mehdi Abaakouk | |
48 | 72 | Mehdi Abaakouk | /!\ Ne pas mettre nodiscard pour les SSDs /!\ |
49 | 72 | Mehdi Abaakouk | |
50 | 1 | Mehdi Abaakouk | h2. Opération sur les VMs (des membres) |
51 | 46 | Mehdi Abaakouk | |
52 | 46 | Mehdi Abaakouk | h3. Console série |
53 | 46 | Mehdi Abaakouk | |
54 | 46 | Mehdi Abaakouk | Dans la VM, pour systemd: |
55 | 46 | Mehdi Abaakouk | |
56 | 1 | Mehdi Abaakouk | <pre> |
57 | 72 | Mehdi Abaakouk | $ systemctl enable serial-getty@ttyS0.service |
58 | 46 | Mehdi Abaakouk | $ systemctl start serial-getty@ttyS0.service |
59 | 46 | Mehdi Abaakouk | </pre> |
60 | 46 | Mehdi Abaakouk | |
61 | 46 | Mehdi Abaakouk | Dans la VM, pour sysv |
62 | 46 | Mehdi Abaakouk | |
63 | 46 | Mehdi Abaakouk | <pre> |
64 | 46 | Mehdi Abaakouk | $ cat >> /etc/inittab <<EOF |
65 | 46 | Mehdi Abaakouk | T2:2345:respawn:/sbin/getty ttyS0 115200 vt102 |
66 | 46 | Mehdi Abaakouk | EOF |
67 | 46 | Mehdi Abaakouk | $ init q |
68 | 46 | Mehdi Abaakouk | </pre> |
69 | 46 | Mehdi Abaakouk | |
70 | 46 | Mehdi Abaakouk | Sur g1: |
71 | 46 | Mehdi Abaakouk | |
72 | 46 | Mehdi Abaakouk | <pre> |
73 | 73 | Mehdi Abaakouk | $ openstack ttnn log ns2.tetaneutral.net |
74 | 46 | Mehdi Abaakouk | |
75 | 46 | Mehdi Abaakouk | Debian GNU/Linux 8 ns2 ttyS0 |
76 | 46 | Mehdi Abaakouk | ns2 login: |
77 | 46 | Mehdi Abaakouk | </pre> |
78 | 46 | Mehdi Abaakouk | |
79 | 17 | Mehdi Abaakouk | h3. Voir la console graphique sans spice-html5: |
80 | 17 | Mehdi Abaakouk | |
81 | 114 | Matthieu Herrb | Copier le script suivant 'gvnc' sur sa machine: |
82 | 17 | Mehdi Abaakouk | |
83 | 17 | Mehdi Abaakouk | <pre> |
84 | 17 | Mehdi Abaakouk | #!/bin/bash |
85 | 17 | Mehdi Abaakouk | vm=$1 |
86 | 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\";'")) |
87 | 17 | Mehdi Abaakouk | |
88 | 17 | Mehdi Abaakouk | if [ "${info[0]}" == "mysql" ]; then |
89 | 17 | Mehdi Abaakouk | echo "Error in mysql request" |
90 | 17 | Mehdi Abaakouk | exit 1 |
91 | 17 | Mehdi Abaakouk | fi |
92 | 17 | Mehdi Abaakouk | |
93 | 17 | Mehdi Abaakouk | hypervisor=${info[0]}.tetaneutral.net |
94 | 17 | Mehdi Abaakouk | uuid=${info[1]} |
95 | 17 | Mehdi Abaakouk | spice_port=$(ssh ${hypervisor} -p 2222 -l root virsh domdisplay ${uuid} | awk -F: '{print $3}') |
96 | 17 | Mehdi Abaakouk | |
97 | 17 | Mehdi Abaakouk | echo "$vm on $hypervisor port $spice_port" |
98 | 17 | Mehdi Abaakouk | ssh -N $hypervisor -p 2222 -l root -L 5910:localhost:${spice_port} & |
99 | 17 | Mehdi Abaakouk | pid=$! |
100 | 17 | Mehdi Abaakouk | |
101 | 17 | Mehdi Abaakouk | |
102 | 17 | Mehdi Abaakouk | cleanup(){ |
103 | 17 | Mehdi Abaakouk | kill $pid |
104 | 17 | Mehdi Abaakouk | } |
105 | 17 | Mehdi Abaakouk | |
106 | 17 | Mehdi Abaakouk | trap cleanup EXIT |
107 | 17 | Mehdi Abaakouk | |
108 | 17 | Mehdi Abaakouk | sleep 2 |
109 | 17 | Mehdi Abaakouk | remote-viewer spice://localhost:5910/ |
110 | 17 | Mehdi Abaakouk | </pre> |
111 | 17 | Mehdi Abaakouk | |
112 | 17 | Mehdi Abaakouk | Puis |
113 | 17 | Mehdi Abaakouk | |
114 | 17 | Mehdi Abaakouk | <pre> |
115 | 1 | Mehdi Abaakouk | sudo apt-get install virt-viewer |
116 | 1 | Mehdi Abaakouk | ./gvnc puppet.openstack.net |
117 | 17 | Mehdi Abaakouk | </pre> |
118 | 17 | Mehdi Abaakouk | |
119 | 17 | Mehdi Abaakouk | h3. Reboot VM en error |
120 | 17 | Mehdi Abaakouk | |
121 | 1 | Mehdi Abaakouk | <pre> |
122 | 73 | Mehdi Abaakouk | openstack server set --state active xxx.tetaneutral.net |
123 | 73 | Mehdi Abaakouk | openstack server reboot --hard --wait xxx.tetaneutral.net |
124 | 1 | Mehdi Abaakouk | </pre> |
125 | 1 | Mehdi Abaakouk | |
126 | 1 | Mehdi Abaakouk | h3. Shutdown une VM |
127 | 6 | Laurent GUERBY | |
128 | 5 | Laurent GUERBY | <pre> |
129 | 73 | Mehdi Abaakouk | openstack server stop xxx.tetaneutral.net |
130 | 1 | Mehdi Abaakouk | </pre> |
131 | 1 | Mehdi Abaakouk | |
132 | 5 | Laurent GUERBY | A noter que suspend fait une sauvegarde de la RAM comme sur un laptop. shelve est bugué ne pas utiliser. |
133 | 5 | Laurent GUERBY | |
134 | 5 | Laurent GUERBY | h3. Effacer une VM |
135 | 5 | Laurent GUERBY | |
136 | 1 | Mehdi Abaakouk | <pre> |
137 | 73 | Mehdi Abaakouk | openstack ttnn delete xxx.tetaneutral.net |
138 | 1 | Mehdi Abaakouk | </pre> |
139 | 1 | Mehdi Abaakouk | |
140 | 73 | Mehdi Abaakouk | Cette commande lance la suppression de la VM et des ces interfaces réseaux. |
141 | 73 | Mehdi Abaakouk | "--with-disk" peut être ajouter pour supprimer TOUT les disques de cette VM. |
142 | 73 | Mehdi Abaakouk | |
143 | 138 | knarx knarx | <pre> |
144 | 138 | knarx knarx | openstack ttnn delete --with-disk xxx.tetaneutral.net |
145 | 138 | knarx knarx | </pre> |
146 | 138 | knarx knarx | |
147 | 111 | Laurent GUERBY | h3. Changer CPU RAM |
148 | 111 | Laurent GUERBY | |
149 | 111 | Laurent GUERBY | <pre> |
150 | 112 | Laurent GUERBY | openstack server resize --flavor 2vcpu-2048ram VMNAME.tetaneutral.net # will stop VMNAME then start VMNAME on a new KVM |
151 | 112 | Laurent GUERBY | openstack server resize --confirm VMNAME.tetaneutral.net # get rid of freezed KVM |
152 | 111 | Laurent GUERBY | |
153 | 111 | Laurent GUERBY | # openstack flavor list |
154 | 111 | Laurent GUERBY | </pre> |
155 | 111 | Laurent GUERBY | |
156 | 1 | Mehdi Abaakouk | h3. Disques de VM |
157 | 7 | Laurent GUERBY | |
158 | 7 | Laurent GUERBY | Pour renommer (et permettre a boot-disk de recreer) ou effacer : |
159 | 7 | Laurent GUERBY | |
160 | 7 | Laurent GUERBY | <pre> |
161 | 73 | Mehdi Abaakouk | openstack volume list |
162 | 73 | Mehdi Abaakouk | openstack volume set xxx.tetaneutral.net-bootdisk-old --name xxx.tetaneutral.net-bootdisk-new |
163 | 73 | Mehdi Abaakouk | openstack volume delete <ID_or_Name> |
164 | 6 | Laurent GUERBY | </pre> |
165 | 5 | Laurent GUERBY | |
166 | 52 | Mehdi Abaakouk | h3. Offline fsck |
167 | 52 | Mehdi Abaakouk | |
168 | 52 | Mehdi Abaakouk | Récuperer l'id et l'hyperviseur de la VM |
169 | 52 | Mehdi Abaakouk | <pre> |
170 | 73 | Mehdi Abaakouk | # openstack server stop VMNAME.tetaneutral.net |
171 | 73 | Mehdi Abaakouk | # openstack server show VMNAME.tetaneutral.net | grep -e 'host ' -e ' id ' |
172 | 52 | Mehdi Abaakouk | | OS-EXT-SRV-ATTR:host | g1 | |
173 | 52 | Mehdi Abaakouk | | id | 918e0ec7-0909-423c-9a67-15b5ef7c7ae0 | |
174 | 52 | Mehdi Abaakouk | </pre> |
175 | 52 | Mehdi Abaakouk | |
176 | 52 | Mehdi Abaakouk | Aller sur l'hyperviseur en question, puis: |
177 | 52 | Mehdi Abaakouk | <pre> |
178 | 52 | Mehdi Abaakouk | # guestfish -d 918e0ec7-0909-423c-9a67-15b5ef7c7ae0 |
179 | 52 | Mehdi Abaakouk | ><fs> run |
180 | 52 | Mehdi Abaakouk | ><fs> list-filesystems |
181 | 52 | Mehdi Abaakouk | /dev/sda: iso9660 |
182 | 52 | Mehdi Abaakouk | /dev/sdb1: ext4 |
183 | 52 | Mehdi Abaakouk | ><fs> e2fsck-f /dev/sdb1 |
184 | 64 | Laurent GUERBY | |
185 | 64 | Laurent GUERBY | # ou |
186 | 64 | Laurent GUERBY | e2fsck /dev/sdb1 forceall:true |
187 | 52 | Mehdi Abaakouk | </pre> |
188 | 52 | Mehdi Abaakouk | |
189 | 58 | Laurent GUERBY | Ou bien sur la machine qui host la VM : |
190 | 57 | Mehdi Abaakouk | |
191 | 57 | Mehdi Abaakouk | <pre> |
192 | 57 | Mehdi Abaakouk | # virt-rescue 918e0ec7-0909-423c-9a67-15b5ef7c7ae0 |
193 | 58 | Laurent GUERBY | ><rescue> fsck -a /dev/sdb1 |
194 | 57 | Mehdi Abaakouk | </pre> |
195 | 57 | Mehdi Abaakouk | |
196 | 52 | Mehdi Abaakouk | Si le fsck returns une erreur, c'est donc un probleme un peu plus grave on peut faire: |
197 | 52 | Mehdi Abaakouk | |
198 | 52 | Mehdi Abaakouk | <pre> |
199 | 74 | Mehdi Abaakouk | ><fs> e2fsck -y /dev/sdb1 |
200 | 52 | Mehdi Abaakouk | </pre> |
201 | 1 | Mehdi Abaakouk | |
202 | 52 | Mehdi Abaakouk | h3. Ajout d'un disque |
203 | 68 | Mehdi Abaakouk | |
204 | 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...). |
205 | 68 | Mehdi Abaakouk | |
206 | 68 | Mehdi Abaakouk | <pre> |
207 | 68 | Mehdi Abaakouk | openstack volume create --type ceph --size 1000 --image debian-jessie-scsi zorun.tetaneutral.net-disk-1 |
208 | 68 | Mehdi Abaakouk | openstack server add volume zorun.tetaneutral.net zorun.tetaneutral.net-disk-1 |
209 | 68 | Mehdi Abaakouk | </pre> |
210 | 68 | Mehdi Abaakouk | |
211 | 69 | Mehdi Abaakouk | Puis dans la VM |
212 | 69 | Mehdi Abaakouk | |
213 | 69 | Mehdi Abaakouk | <pre> |
214 | 69 | Mehdi Abaakouk | mkfs.ext4 /dev/sdb |
215 | 69 | Mehdi Abaakouk | tune2fs -m 0 -i 0 -c 0 /dev/sdb |
216 | 69 | Mehdi Abaakouk | </pre> |
217 | 68 | Mehdi Abaakouk | |
218 | 126 | Fabien ADAM | h3. Agrandissement d'un disque |
219 | 126 | Fabien ADAM | |
220 | 126 | Fabien ADAM | _Valable depuis Openstack Ocata and ceph jewel_. Validé également sur Openstack Queen fin 2019. |
221 | 68 | Mehdi Abaakouk | |
222 | 95 | Mehdi Abaakouk | <pre> |
223 | 94 | Mehdi Abaakouk | /root/tools/os-grow-fs.sh bacasable.sileht.net-bootdisk 11 |
224 | 95 | Mehdi Abaakouk | </pre> |
225 | 1 | Mehdi Abaakouk | |
226 | 1 | Mehdi Abaakouk | |
227 | 68 | Mehdi Abaakouk | Puis sur la VM, plusieur cas de figure: |
228 | 1 | Mehdi Abaakouk | |
229 | 55 | Mehdi Abaakouk | +Disque sans partition:+ |
230 | 1 | Mehdi Abaakouk | |
231 | 1 | Mehdi Abaakouk | <pre> |
232 | 56 | Laurent GUERBY | # Note: dans un screen car plutot pas rapide |
233 | 96 | Mehdi Abaakouk | resize2fs -p /dev/sdb |
234 | 55 | Mehdi Abaakouk | </pre> |
235 | 1 | Mehdi Abaakouk | |
236 | 55 | Mehdi Abaakouk | +Disque avec partition avec parted récent (>= 3.1, ie: jessie, ubuntu 13.10):+ |
237 | 1 | Mehdi Abaakouk | |
238 | 1 | Mehdi Abaakouk | |
239 | 1 | Mehdi Abaakouk | <pre> |
240 | 96 | Mehdi Abaakouk | root@test4:~# parted /dev/sda print | grep sda |
241 | 96 | Mehdi Abaakouk | Disk /dev/sda: 64.4GB |
242 | 1 | Mehdi Abaakouk | |
243 | 96 | Mehdi Abaakouk | root@test4# parted /dev/sda resizepart 1 |
244 | 96 | Mehdi Abaakouk | Warning: Partition /dev/sda1 is being used. Are you sure you want to continue? |
245 | 1 | Mehdi Abaakouk | Yes/No? Yes |
246 | 1 | Mehdi Abaakouk | End? [42.9GB]? 64.4GB # METTRE ICI LA TAILLE VU AU DESSUS |
247 | 1 | Mehdi Abaakouk | Information: You may need to update /etc/fstab. |
248 | 1 | Mehdi Abaakouk | |
249 | 96 | Mehdi Abaakouk | root@test4:~# resize2fs /dev/sda1 |
250 | 1 | Mehdi Abaakouk | resize2fs 1.42.9 (4-Feb-2014) |
251 | 96 | Mehdi Abaakouk | Filesystem at /dev/sda1 is mounted on /; on-line resizing required |
252 | 1 | Mehdi Abaakouk | old_desc_blocks = 3, new_desc_blocks = 4 |
253 | 96 | Mehdi Abaakouk | The filesystem on /dev/sda1 is now 15722400 blocks long. |
254 | 1 | Mehdi Abaakouk | |
255 | 96 | Mehdi Abaakouk | root@test4:~# df -h | grep sda |
256 | 1 | Mehdi Abaakouk | /dev/vda1 60G 797M 56G 2% / |
257 | 1 | Mehdi Abaakouk | </pre> |
258 | 1 | Mehdi Abaakouk | |
259 | 55 | Mehdi Abaakouk | |
260 | 55 | Mehdi Abaakouk | +Disque avec partition avec vieux parted (< 3.1, ie: wheezy, vielle ubuntu):+ |
261 | 55 | Mehdi Abaakouk | |
262 | 55 | Mehdi Abaakouk | Pour debian wheezy, utilisation des packages ubuntu de 14.04 devrait permettre d'utiliser la méthod précendente sinon: |
263 | 55 | Mehdi Abaakouk | (pas encore testé, à voir si le kernel veut bien reload la table des partitions après) |
264 | 14 | Laurent GUERBY | |
265 | 1 | Mehdi Abaakouk | <pre> |
266 | 15 | Laurent GUERBY | sfdisk -d /dev/vda > vda.mbr |
267 | 14 | Laurent GUERBY | cp vda.mbr vda.mbr.ori |
268 | 14 | Laurent GUERBY | vi vda.mbr |
269 | 14 | Laurent GUERBY | # mettre un tres grand nombre pour la fin de la partition |
270 | 14 | Laurent GUERBY | sfdisk -L -n --no-reread /dev/vda < vda.mbr |
271 | 14 | Laurent GUERBY | # cela va faire une erreur avec le max a mettre pour la fin de la partition |
272 | 14 | Laurent GUERBY | # changer la fin de la partition avec ce chiffre |
273 | 14 | Laurent GUERBY | sfdisk -L --no-reread /dev/vda < vda.mbr |
274 | 14 | Laurent GUERBY | reboot |
275 | 16 | Aymeric APLU | resize2fs -p /dev/vda1 |
276 | 14 | Laurent GUERBY | </pre> |
277 | 14 | Laurent GUERBY | |
278 | 109 | Mehdi Abaakouk | h3. Ajout/Suppression IP/Subnet d'une VM existante (mode simple) |
279 | 1 | Mehdi Abaakouk | |
280 | 109 | Mehdi Abaakouk | <pre> |
281 | 109 | Mehdi Abaakouk | openstack ttnn add-ip VM_NAME 89.234.156.212 |
282 | 109 | Mehdi Abaakouk | openstack ttnn remove-ip VM_NAME 89.234.156.212 |
283 | 109 | Mehdi Abaakouk | </pre> |
284 | 109 | Mehdi Abaakouk | |
285 | 109 | Mehdi Abaakouk | h3. Ajout/Suppression IP/Subnet d'une VM existante (mode avancé) |
286 | 109 | Mehdi Abaakouk | |
287 | 109 | Mehdi Abaakouk | Le mode avancé permet d'ajouté les ipv6 et ipv4 que l'on veut pour la VM. Contrairement au mode simple qui ajoute l'ipv4, le fe80 et le subnet ipv6 à partir de l'ipv4 |
288 | 109 | Mehdi Abaakouk | |
289 | 49 | Mehdi Abaakouk | Voir les IPs actutelles de la VM: |
290 | 1 | Mehdi Abaakouk | |
291 | 49 | Mehdi Abaakouk | <pre> |
292 | 109 | Mehdi Abaakouk | # openstack port show backup.tetaneutral.net-eth0 -c allowed_address_pairs -c fixed_ips |
293 | 1 | Mehdi Abaakouk | | allowed_address_pairs | {"ip_address": "2a01:6600:8083:d400::/56", "mac_address": "fa:16:3e:5f:07:45"} | |
294 | 65 | Mehdi Abaakouk | | fixed_ips | {"subnet_id": "d431cacd-3b60-4ca9-af24-eacc8e5d8671", "ip_address": "89.234.156.212"} | |
295 | 49 | Mehdi Abaakouk | </pre> |
296 | 1 | Mehdi Abaakouk | |
297 | 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): |
298 | 65 | Mehdi Abaakouk | * en ipv4, c'est le /32 de l'ipv4 |
299 | 1 | Mehdi Abaakouk | * en ipv6, c'est le /64 de l'ipv6 |
300 | 65 | Mehdi Abaakouk | |
301 | 65 | Mehdi Abaakouk | allowed_address_pairs sont des subnets à router: |
302 | 65 | Mehdi Abaakouk | |
303 | 65 | 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) |
304 | 1 | Mehdi Abaakouk | * en ipv6, via la link local correspondant si elle existe dans fixed_ips, sinon directement dans le tap |
305 | 1 | Mehdi Abaakouk | |
306 | 1 | Mehdi Abaakouk | |
307 | 1 | Mehdi Abaakouk | Ajout/Suppression d'une ip dans fixed_ips (noter que les ip ici non pas de masque): |
308 | 73 | Mehdi Abaakouk | |
309 | 1 | Mehdi Abaakouk | <pre> |
310 | 109 | Mehdi Abaakouk | openstack ttnn add-ip --manual VM_NAME 89.234.156.212 |
311 | 109 | Mehdi Abaakouk | openstack ttnn add-ip --manual VM_NAME fe80::80:12 |
312 | 109 | Mehdi Abaakouk | openstack ttnn remove-ip --manual VM_NAME 89.234.156.212 |
313 | 109 | Mehdi Abaakouk | openstack ttnn remove-ip --manual VM_NAME fe80::80:12 |
314 | 1 | Mehdi Abaakouk | </pre> |
315 | 73 | Mehdi Abaakouk | |
316 | 1 | Mehdi Abaakouk | Ajout/Suppression d'une ip dans allowed_address_pairs (noter que les ip ici on a un masque): |
317 | 1 | Mehdi Abaakouk | |
318 | 1 | Mehdi Abaakouk | <pre> |
319 | 109 | Mehdi Abaakouk | openstack ttnn add-ip --manual VM_NAME 2a01:6600:8083:d400::/56 |
320 | 109 | Mehdi Abaakouk | openstack ttnn remove-ip --manual VM_NAME 2a01:6600:8083:d400::/56 |
321 | 1 | Mehdi Abaakouk | </pre> |
322 | 1 | Mehdi Abaakouk | |
323 | 1 | Mehdi Abaakouk | h3. Ajout d'une interface réseau à une VM: |
324 | 73 | Mehdi Abaakouk | |
325 | 73 | Mehdi Abaakouk | <pre> |
326 | 73 | Mehdi Abaakouk | $ openstack ttnn tap add --ip 91.224.149.19 --port-name eth1 gizmo.sileht.net-eth1 |
327 | 73 | Mehdi Abaakouk | Port gizmo.sileht.net-eth1 created: |
328 | 73 | Mehdi Abaakouk | +-------------------------------+-----------------------+----------------------------+--------------------------+-------------------+ |
329 | 73 | Mehdi Abaakouk | | id | name | fixed_ips | allowed_address_pairs | mac_address | |
330 | 73 | Mehdi Abaakouk | +-------------------------------+-----------------------+----------------------------+--------------------------+-------------------+ |
331 | 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 | |
332 | 73 | Mehdi Abaakouk | | f3573a37130a | | | | | |
333 | 73 | Mehdi Abaakouk | +-------------------------------+-----------------------+----------------------------+--------------------------+-------------------+ |
334 | 73 | Mehdi Abaakouk | +--------------------------------------+------------------+------+---------------+--------+-----------------------------------------+ |
335 | 73 | Mehdi Abaakouk | | id | name | host | flavor | status | addresses | |
336 | 73 | Mehdi Abaakouk | +--------------------------------------+------------------+------+---------------+--------+-----------------------------------------+ |
337 | 73 | Mehdi Abaakouk | | 0346263f-77f6-4009-bdb3-d8720ec583e9 | gizmo.sileht.net | g9 | 2vcpu-4096ram | ACTIVE | vlan-routed=91.224.148.3, | |
338 | 73 | Mehdi Abaakouk | | | | | | | 91.224.149.214, fe80::80:03, | |
339 | 1 | Mehdi Abaakouk | | | | | | | fe80::81:d6, 91.224.149.19, fe80::81:13 | |
340 | 1 | Mehdi Abaakouk | +--------------------------------------+------------------+------+---------------+--------+-----------------------------------------+ |
341 | 1 | Mehdi Abaakouk | </pre> |
342 | 1 | Mehdi Abaakouk | |
343 | 1 | Mehdi Abaakouk | Dans la VM: |
344 | 1 | Mehdi Abaakouk | |
345 | 1 | Mehdi Abaakouk | <pre> |
346 | 1 | Mehdi Abaakouk | $ dmesg | tail |
347 | 1 | Mehdi Abaakouk | [ 1315.826088] virtio-pci 0000:00:06.0: using default PCI settings |
348 | 1 | Mehdi Abaakouk | [ 1315.826102] virtio-pci 0000:00:07.0: no hotplug settings from platform |
349 | 1 | Mehdi Abaakouk | [ 1315.826102] virtio-pci 0000:00:07.0: using default PCI settings |
350 | 1 | Mehdi Abaakouk | [ 1315.826116] pci 0000:00:08.0: no hotplug settings from platform |
351 | 1 | Mehdi Abaakouk | [ 1315.826117] pci 0000:00:08.0: using default PCI settings |
352 | 1 | Mehdi Abaakouk | [ 1315.826382] virtio-pci 0000:00:08.0: enabling device (0000 -> 0003) |
353 | 1 | Mehdi Abaakouk | [ 1315.829281] virtio-pci 0000:00:08.0: setting latency timer to 64 |
354 | 1 | Mehdi Abaakouk | [ 1315.829535] virtio-pci 0000:00:08.0: irq 50 for MSI/MSI-X |
355 | 1 | Mehdi Abaakouk | [ 1315.829555] virtio-pci 0000:00:08.0: irq 51 for MSI/MSI-X |
356 | 73 | Mehdi Abaakouk | [ 1315.829563] virtio-pci 0000:00:08.0: irq 52 for MSI/MSI-X |
357 | 73 | Mehdi Abaakouk | |
358 | 1 | Mehdi Abaakouk | $ ip l show dev eth1 |
359 | 1 | Mehdi Abaakouk | 4: eth1: <BROADCAST,MULTICAST> mtu 1500 qdisc noop state DOWN mode DEFAULT qlen 1000 |
360 | 73 | Mehdi Abaakouk | link/ether fa:16:3e:6b:32:07 brd ff:ff:ff:ff:ff:ff |
361 | 73 | Mehdi Abaakouk | |
362 | 73 | Mehdi Abaakouk | $ tail -15 /etc/network/interfaces |
363 | 73 | Mehdi Abaakouk | auto eth1 |
364 | 73 | Mehdi Abaakouk | iface eth1 inet6 static |
365 | 73 | Mehdi Abaakouk | pre-up /sbin/sysctl -w net.ipv6.conf.eth1.accept_ra=0 |
366 | 73 | Mehdi Abaakouk | pre-up /sbin/sysctl -w net.ipv6.conf.eth1.autoconf=0 |
367 | 73 | Mehdi Abaakouk | address 2a03:7220:8081:1300::1 |
368 | 73 | Mehdi Abaakouk | netmask 56 |
369 | 1 | Mehdi Abaakouk | gateway fe80::31 |
370 | 73 | Mehdi Abaakouk | up ip addr add fe80::81:13/64 dev eth0 |
371 | 73 | Mehdi Abaakouk | |
372 | 73 | Mehdi Abaakouk | iface eth1 inet manual |
373 | 73 | Mehdi Abaakouk | pre-up /sbin/sysctl -w net.ipv6.conf.eth1.accept_ra=0 |
374 | 73 | Mehdi Abaakouk | pre-up /sbin/sysctl -w net.ipv6.conf.eth1.autoconf=0 |
375 | 73 | Mehdi Abaakouk | up ip link set eth1 up |
376 | 73 | Mehdi Abaakouk | up ip addr add 91.224.149.19/32 dev eth1 |
377 | 73 | Mehdi Abaakouk | up ip route add default via 91.224.148.0 dev eth1 onlink |
378 | 47 | Mehdi Abaakouk | |
379 | 47 | Mehdi Abaakouk | $ ifup eth1 |
380 | 1 | Mehdi Abaakouk | </pre> |
381 | 1 | Mehdi Abaakouk | |
382 | 47 | Mehdi Abaakouk | h3. Réinstallation/Réparation grub d'un VM |
383 | 47 | Mehdi Abaakouk | |
384 | 47 | Mehdi Abaakouk | |
385 | 73 | Mehdi Abaakouk | Récuperer l'id et l'hyperviseur de la VM |
386 | 73 | Mehdi Abaakouk | <pre> |
387 | 47 | Mehdi Abaakouk | # openstack server stop VMNAME.tetaneutral.net |
388 | 47 | Mehdi Abaakouk | # openstack server show VMNAME.tetaneutral.net | grep -e 'host ' -e ' id ' |
389 | 47 | Mehdi Abaakouk | | OS-EXT-SRV-ATTR:host | g1 | |
390 | 47 | Mehdi Abaakouk | | id | 918e0ec7-0909-423c-9a67-15b5ef7c7ae0 | |
391 | 47 | Mehdi Abaakouk | </pre> |
392 | 47 | Mehdi Abaakouk | |
393 | 47 | Mehdi Abaakouk | |
394 | 47 | Mehdi Abaakouk | |
395 | 67 | Laurent GUERBY | Bien attendre que la VM soir éteinte, aller sur l'hyperviseur en question, et taper |
396 | 47 | Mehdi Abaakouk | <pre> |
397 | 47 | Mehdi Abaakouk | virt-customize -v -d 918e0ec7-0909-423c-9a67-15b5ef7c7ae0 --run-command 'update-grub ; grub-install /dev/sda;' |
398 | 47 | Mehdi Abaakouk | </pre> |
399 | 47 | Mehdi Abaakouk | |
400 | 73 | Mehdi Abaakouk | Enfin, restart la VM |
401 | 1 | Mehdi Abaakouk | <pre> |
402 | 19 | Mehdi Abaakouk | # openstack server start VMNAME.tetaneutral.net |
403 | 19 | Mehdi Abaakouk | </pre> |
404 | 19 | Mehdi Abaakouk | |
405 | 1 | Mehdi Abaakouk | h3. Monter le disque d'un vm sur une machine hote pour dépannage. |
406 | 20 | Alexandre GUY | |
407 | 20 | Alexandre GUY | L’exemple montre la modification du fichier /etc/ssh/sshd_config |
408 | 19 | Mehdi Abaakouk | |
409 | 73 | Mehdi Abaakouk | Récuperer l'id et l'hyperviseur de la VM |
410 | 93 | Mehdi Abaakouk | <pre> |
411 | 115 | Matthieu Herrb | root@g1# openstack server stop VMNAME.tetaneutral.net |
412 | 115 | Matthieu Herrb | root@gg1# openstack server show -c OS-EXT-SRV-ATTR:host -c id VMNAME.tetaneutral.net |
413 | 19 | Mehdi Abaakouk | | OS-EXT-SRV-ATTR:host | g1 | |
414 | 47 | Mehdi Abaakouk | | id | 918e0ec7-0909-423c-9a67-15b5ef7c7ae0 | |
415 | 20 | Alexandre GUY | </pre> |
416 | 19 | Mehdi Abaakouk | |
417 | 19 | Mehdi Abaakouk | Aller sur l'hyperviseur en question, puis: |
418 | 19 | Mehdi Abaakouk | <pre> |
419 | 1 | Mehdi Abaakouk | |
420 | 115 | Matthieu Herrb | root@<hyperviseur># virt-edit -d 918e0ec7-0909-423c-9a67-15b5ef7c7ae0 /etc/ssh/sshd_config |
421 | 20 | Alexandre GUY | </pre> |
422 | 18 | Mehdi Abaakouk | |
423 | 115 | Matthieu Herrb | Fermer le fichier puis sur g1 restart la VM |
424 | 42 | Mehdi Abaakouk | <pre> |
425 | 115 | Matthieu Herrb | root@g1# openstack server start VMNAME.tetaneutral.net |
426 | 91 | Mehdi Abaakouk | </pre> |
427 | 41 | Mehdi Abaakouk | |
428 | 41 | Mehdi Abaakouk | h3. Convert du fs root en ext4 et passage en scsi (tester avec ceph jewel and openstack ocata) |
429 | 70 | Mehdi Abaakouk | |
430 | 41 | Mehdi Abaakouk | /!\ à retester à chaque update openstack vu que ca fait du sql /!\ |
431 | 41 | Mehdi Abaakouk | |
432 | 1 | Mehdi Abaakouk | Dans la VM, préparation de grub et du fstab: |
433 | 1 | Mehdi Abaakouk | |
434 | 42 | Mehdi Abaakouk | <pre> |
435 | 45 | Mehdi Abaakouk | $ vi /etc/fstab |
436 | 1 | Mehdi Abaakouk | # Viré /proc |
437 | 42 | Mehdi Abaakouk | # Pour / (voir les autres) mettre: |
438 | 41 | Mehdi Abaakouk | LABEL=cloudimg-rootfs / ext4 defaults,discard,noatime 0 0 |
439 | 42 | Mehdi Abaakouk | |
440 | 42 | Mehdi Abaakouk | $ e2label /dev/vda1 cloudimg-rootfs |
441 | 41 | Mehdi Abaakouk | $ apt-get install grub-pc |
442 | 41 | Mehdi Abaakouk | $ apt-get purge extlinux |
443 | 80 | Mehdi Abaakouk | $ rm -f /extlinux.conf |
444 | 80 | Mehdi Abaakouk | $ grub-install /dev/vda |
445 | 80 | Mehdi Abaakouk | $ vi /etc/default/grub |
446 | 41 | Mehdi Abaakouk | # Ajouter: GRUB_CMDLINE_LINUX="elevator=noop console=tty0 console=ttyS0,115200n8" |
447 | 42 | Mehdi Abaakouk | $ update-grub |
448 | 33 | Mehdi Abaakouk | $ shutdown -h now |
449 | 33 | Mehdi Abaakouk | </pre> |
450 | 33 | Mehdi Abaakouk | |
451 | 33 | Mehdi Abaakouk | Récuperer l'id et l'hyperviseur de la VM |
452 | 73 | Mehdi Abaakouk | |
453 | 82 | Mehdi Abaakouk | <pre> |
454 | 33 | Mehdi Abaakouk | # openstack server stop VMNAME.tetaneutral.net |
455 | 33 | Mehdi Abaakouk | # openstack server show -c OS-EXT-SRV-ATTR:host -c id VMNAME.tetaneutral.net |
456 | 35 | Mehdi Abaakouk | | OS-EXT-SRV-ATTR:host | g1 | |
457 | 1 | Mehdi Abaakouk | | id | 918e0ec7-0909-423c-9a67-15b5ef7c7ae0 | |
458 | 35 | Mehdi Abaakouk | </pre> |
459 | 35 | Mehdi Abaakouk | |
460 | 35 | Mehdi Abaakouk | Aller sur l'hyperviseur en question, puis: |
461 | 35 | Mehdi Abaakouk | |
462 | 35 | Mehdi Abaakouk | <pre> |
463 | 35 | Mehdi Abaakouk | $ virt-rescue --suggest 918e0ec7-0909-423c-9a67-15b5ef7c7ae0 |
464 | 35 | Mehdi Abaakouk | ... |
465 | 35 | Mehdi Abaakouk | # /dev/sdb1 is the root of a linux operating system |
466 | 1 | Mehdi Abaakouk | # type: linux, distro: debian, version: 8.0 |
467 | 35 | Mehdi Abaakouk | # 8.0 |
468 | 1 | Mehdi Abaakouk | |
469 | 42 | Mehdi Abaakouk | mount /dev/sdb1 /sysroot/ |
470 | 1 | Mehdi Abaakouk | mount --bind /dev /sysroot/dev |
471 | 42 | Mehdi Abaakouk | mount --bind /dev/pts /sysroot/dev/pts |
472 | 42 | Mehdi Abaakouk | mount --bind /proc /sysroot/proc |
473 | 42 | Mehdi Abaakouk | mount --bind /sys /sysroot/sys |
474 | 1 | Mehdi Abaakouk | </pre> |
475 | 1 | Mehdi Abaakouk | |
476 | 1 | Mehdi Abaakouk | # Utiliser le device proposé pour la convertion en ext4: |
477 | 1 | Mehdi Abaakouk | |
478 | 1 | Mehdi Abaakouk | <pre> |
479 | 1 | Mehdi Abaakouk | $ virt-rescue 918e0ec7-0909-423c-9a67-15b5ef7c7ae0 |
480 | 42 | Mehdi Abaakouk | > tune2fs -O extents,uninit_bg,dir_index /dev/sdb1 |
481 | 42 | Mehdi Abaakouk | > e2fsck -fDC0 /dev/sdb1 |
482 | 42 | Mehdi Abaakouk | > <CTRL+D> |
483 | 82 | Mehdi Abaakouk | </pre> |
484 | 1 | Mehdi Abaakouk | |
485 | 1 | Mehdi Abaakouk | Ajout des attributs scsi |
486 | 82 | Mehdi Abaakouk | |
487 | 91 | Mehdi Abaakouk | <pre> |
488 | 1 | Mehdi Abaakouk | openstack volume show VMNAME.tetaneutral.net-bootdisk |
489 | 1 | Mehdi Abaakouk | openstack volume set --image-property hw_scsi_model=virtio-scsi --image-property hw_disk_bus=scsi VMNAME.tetaneutral.net-bootdisk |
490 | 82 | Mehdi Abaakouk | </pre> |
491 | 1 | Mehdi Abaakouk | |
492 | 1 | Mehdi Abaakouk | Puis supprimer et recréer la VM |
493 | 82 | Mehdi Abaakouk | |
494 | 82 | Mehdi Abaakouk | <pre> |
495 | 73 | Mehdi Abaakouk | openstack server show -c name -c flavor -c addresses VMNAME.tetaneutral.net |
496 | 82 | Mehdi Abaakouk | openstack ttnn delete VMNAME.tetaneutral.net |
497 | 1 | Mehdi Abaakouk | openstack ttnn create --ip <ip> --flavor <flavor> VMNAME.tetaneutral.net # --volume disk-1 # pour les disques additionels |
498 | 98 | Mehdi Abaakouk | </pre> |
499 | 98 | Mehdi Abaakouk | |
500 | 118 | Mehdi Abaakouk | h3. Transformer un volume Ceph "manuel" (type <pseudo-adherent>-vol) en volume Ceph "Openstack" (volume-<id-openstack>) |
501 | 118 | Mehdi Abaakouk | |
502 | 118 | Mehdi Abaakouk | On crée d'abord in volume cinder vide de la meme taille. |
503 | 118 | Mehdi Abaakouk | |
504 | 118 | Mehdi Abaakouk | <pre> |
505 | 119 | Mehdi Abaakouk | # rbd info -p disks XXXXXXXX-vol | grep size |
506 | 118 | Mehdi Abaakouk | size 1024 GB in 262144 objects |
507 | 118 | Mehdi Abaakouk | |
508 | 118 | Mehdi Abaakouk | /!\ la taille ici doit être identique dans cinder et dans ceph /!\ |
509 | 119 | Mehdi Abaakouk | # openstack volume create --type ceph --size 1024 vmXXXXXXXX.tetaneutral.net-disk-1 |
510 | 118 | Mehdi Abaakouk | +---------------------+--------------------------------------+ |
511 | 118 | Mehdi Abaakouk | | Field | Value | |
512 | 118 | Mehdi Abaakouk | +---------------------+--------------------------------------+ |
513 | 118 | Mehdi Abaakouk | | attachments | [] | |
514 | 118 | Mehdi Abaakouk | | availability_zone | nova | |
515 | 118 | Mehdi Abaakouk | | bootable | false | |
516 | 118 | Mehdi Abaakouk | | consistencygroup_id | None | |
517 | 118 | Mehdi Abaakouk | | created_at | 2018-08-28T06:11:57.669300 | |
518 | 118 | Mehdi Abaakouk | | description | None | |
519 | 118 | Mehdi Abaakouk | | encrypted | False | |
520 | 119 | Mehdi Abaakouk | | id | dcc26207-ef60-48e6-983e-94c1c945dXbX | |
521 | 118 | Mehdi Abaakouk | | migration_status | None | |
522 | 118 | Mehdi Abaakouk | | multiattach | False | |
523 | 119 | Mehdi Abaakouk | | name | vmXXXXXXXX.tetaneutral.net-disk-1 | |
524 | 118 | Mehdi Abaakouk | | properties | | |
525 | 118 | Mehdi Abaakouk | | replication_status | None | |
526 | 118 | Mehdi Abaakouk | | size | 1024 | |
527 | 118 | Mehdi Abaakouk | | snapshot_id | None | |
528 | 118 | Mehdi Abaakouk | | source_volid | None | |
529 | 118 | Mehdi Abaakouk | | status | creating | |
530 | 118 | Mehdi Abaakouk | | type | ceph | |
531 | 118 | Mehdi Abaakouk | | updated_at | None | |
532 | 118 | Mehdi Abaakouk | | user_id | f18b121edda04346b86610fa23983a0e | |
533 | 118 | Mehdi Abaakouk | +---------------------+--------------------------------------+ |
534 | 118 | Mehdi Abaakouk | |
535 | 119 | Mehdi Abaakouk | # rbd info -p disks volume-dcc26207-ef60-48e6-983e-94c1c945dXbX | grep size |
536 | 118 | Mehdi Abaakouk | size 1024 GB in 262144 objects |
537 | 118 | Mehdi Abaakouk | /!\ doit être identique à l'image d'origine /!\ |
538 | 118 | Mehdi Abaakouk | |
539 | 118 | Mehdi Abaakouk | </pre> |
540 | 118 | Mehdi Abaakouk | |
541 | 118 | Mehdi Abaakouk | En suite on s'assure que les features de l'image sont celle attendu par Openstack: |
542 | 118 | Mehdi Abaakouk | |
543 | 118 | Mehdi Abaakouk | <pre> |
544 | 118 | Mehdi Abaakouk | |
545 | 119 | Mehdi Abaakouk | # rbd info -p disks volume-dcc26207-ef60-48e6-983e-94c1c945dXbX | grep features |
546 | 118 | Mehdi Abaakouk | features: layering, exclusive-lock, object-map, fast-diff, deep-flatten |
547 | 118 | Mehdi Abaakouk | |
548 | 119 | Mehdi Abaakouk | # rbd info -p disks XXXXXXXX-vol | grep features |
549 | 118 | Mehdi Abaakouk | features: layering |
550 | 118 | Mehdi Abaakouk | |
551 | 1 | Mehdi Abaakouk | # # NOTE, deep-flatten ne peut pas être ajouté, mais c'est pas grave. |
552 | 119 | Mehdi Abaakouk | # for i in exclusive-lock object-map fast-diff; do rbd feature enable disks/XXXXXXXX-vol $i ; done |
553 | 1 | Mehdi Abaakouk | |
554 | 1 | Mehdi Abaakouk | |
555 | 1 | Mehdi Abaakouk | # # Rebuild metadata file on the volume |
556 | 119 | Mehdi Abaakouk | # rbd object-map rebuild disks/XXXXXXXX-vol |
557 | 1 | Mehdi Abaakouk | Object Map Rebuild: 2% complete... |
558 | 1 | Mehdi Abaakouk | </pre> |
559 | 1 | Mehdi Abaakouk | |
560 | 119 | Mehdi Abaakouk | Et pour finir on swap les deux volumes |
561 | 119 | Mehdi Abaakouk | |
562 | 119 | Mehdi Abaakouk | <pre> |
563 | 119 | Mehdi Abaakouk | # rbd rm -p disks volume-dcc26207-ef60-48e6-983e-94c1c945dXbX |
564 | 119 | Mehdi Abaakouk | Removing image: 100% complete...done. |
565 | 119 | Mehdi Abaakouk | # rbd mv disks/XXXXXXXX-vol disks/volume-dcc26207-ef60-48e6-983e-94c1c945dXbX |
566 | 119 | Mehdi Abaakouk | </pre> |
567 | 119 | Mehdi Abaakouk | |
568 | 119 | Mehdi Abaakouk | Voila on peut maintenant mettre le disque dans une VM: |
569 | 119 | Mehdi Abaakouk | |
570 | 119 | Mehdi Abaakouk | <pre> |
571 | 119 | Mehdi Abaakouk | openstack server add volume XXXXXXXX.tetaneutral.net XXXXXXXX.tetaneutral.net-disk-1 |
572 | 119 | Mehdi Abaakouk | </pre> |
573 | 118 | Mehdi Abaakouk | |
574 | 118 | Mehdi Abaakouk | |
575 | 98 | Mehdi Abaakouk | h3. Déplacer une VM de pool ceph (dernier test avec ceph jewel / openstack ocata) |
576 | 98 | Mehdi Abaakouk | |
577 | 98 | Mehdi Abaakouk | |
578 | 98 | Mehdi Abaakouk | <pre> |
579 | 98 | Mehdi Abaakouk | # openstack server show test246.tetaneutral.net -c id -c flavor -c addresses -c status |
580 | 98 | Mehdi Abaakouk | +-----------+------------------------------------------------------+ |
581 | 98 | Mehdi Abaakouk | | Field | Value | |
582 | 98 | Mehdi Abaakouk | +-----------+------------------------------------------------------+ |
583 | 98 | Mehdi Abaakouk | | addresses | vlan-routed=91.224.149.115, fe80::80:fe | |
584 | 98 | Mehdi Abaakouk | | flavor | 1vcpu-2048ram (7880cafc-bd0b-4045-9777-ef2e9201bd6c) | |
585 | 98 | Mehdi Abaakouk | | id | 485f270a-eb2e-452e-8733-fc4c741cbe8f | |
586 | 98 | Mehdi Abaakouk | | status | ACTIVE | |
587 | 98 | Mehdi Abaakouk | +-----------+------------------------------------------------------+ |
588 | 98 | Mehdi Abaakouk | |
589 | 98 | Mehdi Abaakouk | # openstack server delete test246.tetaneutral.net |
590 | 98 | Mehdi Abaakouk | Request to delete server test246.tetaneutral.net has been accepted. |
591 | 98 | Mehdi Abaakouk | |
592 | 132 | Fabien ADAM | # openstack volume set --type ceph-ssd --retype-policy on-demand test246.tetaneutral.net-bootdisk |
593 | 98 | Mehdi Abaakouk | |
594 | 98 | Mehdi Abaakouk | # watch -n1 -- 'openstack volume list --long | grep test246.tetaneutral.net-bootdisk' |
595 | 98 | Mehdi Abaakouk | | 82279cc1-9a34-4108-b7a6-6944f252a2c3 | test246.tetaneutral.net-bootdisk | retyping | 1 | ceph |
596 | 98 | Mehdi Abaakouk | | 313dc3e5-a04a-435b-8b35-ecc5d7b5695c | test246.tetaneutral.net-bootdisk | available | 1 | ceph-ssd |
597 | 98 | Mehdi Abaakouk | |
598 | 98 | Mehdi Abaakouk | Attendre qu'il n'y ai plus que le nouveau volume |
599 | 98 | Mehdi Abaakouk | |
600 | 98 | Mehdi Abaakouk | | 313dc3e5-a04a-435b-8b35-ecc5d7b5695c | test246.tetaneutral.net | available | 1 | ceph-ssd |
601 | 98 | Mehdi Abaakouk | |
602 | 98 | Mehdi Abaakouk | # openstack ttnn create --ip 91.224.149.115 --flavor 1vcpu-2048ram test246.tetaneutral.net |
603 | 26 | Mehdi Abaakouk | </pre> |
604 | 43 | Mehdi Abaakouk | |
605 | 43 | Mehdi Abaakouk | h3. Réaligne VM partition (guide pour vm avec une seul partition) |
606 | 43 | Mehdi Abaakouk | |
607 | 43 | Mehdi Abaakouk | |
608 | 43 | Mehdi Abaakouk | Prérequies: |
609 | 43 | Mehdi Abaakouk | |
610 | 43 | Mehdi Abaakouk | * VM utilse grub2 |
611 | 43 | Mehdi Abaakouk | * |
612 | 43 | Mehdi Abaakouk | |
613 | 43 | Mehdi Abaakouk | Récuperer l'id et l'hyperviseur de la VM, ainsi que l'id du disk |
614 | 73 | Mehdi Abaakouk | |
615 | 73 | Mehdi Abaakouk | <pre> |
616 | 43 | Mehdi Abaakouk | # openstack server stop VMNAME.tetaneutral.net |
617 | 43 | Mehdi Abaakouk | # openstack server show VMNAME.tetaneutral.net | grep -e 'host ' -e ' id ' |
618 | 43 | Mehdi Abaakouk | | OS-EXT-SRV-ATTR:host | g1 | |
619 | 43 | Mehdi Abaakouk | | id | 918e0ec7-0909-423c-9a67-15b5ef7c7ae0 | |
620 | 43 | Mehdi Abaakouk | # cinder list | grep puppet |
621 | 43 | Mehdi Abaakouk | | 213e894e-2f20-42b5-a27b-21f5a355c722 | in-use | VMNAME.tetaneutral.net-bootdisk | 20 | ceph-ssd | true | 918e0ec7-0909-423c-9a67-15b5ef7c7ae0 | |
622 | 43 | Mehdi Abaakouk | </pre> |
623 | 43 | Mehdi Abaakouk | |
624 | 43 | Mehdi Abaakouk | Aller sur l'hyperviseur en question, puis vérifier l'alignement: |
625 | 43 | Mehdi Abaakouk | |
626 | 43 | Mehdi Abaakouk | <pre> |
627 | 43 | Mehdi Abaakouk | $ virt-alignment-scan -d 918e0ec7-0909-423c-9a67-15b5ef7c7ae0 |
628 | 43 | Mehdi Abaakouk | /dev/sdb1 65536 512 bad (alignment < 4K) |
629 | 43 | Mehdi Abaakouk | </pre> |
630 | 43 | Mehdi Abaakouk | |
631 | 43 | Mehdi Abaakouk | Réalignemet, *aller dans un espace ou il y a 2x l'espace utile de la VM*, puis: |
632 | 43 | Mehdi Abaakouk | |
633 | 43 | Mehdi Abaakouk | <pre> |
634 | 44 | Mehdi Abaakouk | $ virt-tar-out -d 918e0ec7-0909-423c-9a67-15b5ef7c7ae0 / - | gzip --best > VMNAME.tar.gz |
635 | 43 | Mehdi Abaakouk | $ rbd -p ssds info volume-213e894e-2f20-42b5-a27b-21f5a355c722 |
636 | 43 | Mehdi Abaakouk | rbd image 'volume-213e894e-2f20-42b5-a27b-21f5a355c722': |
637 | 43 | Mehdi Abaakouk | size 20480 MB in 5120 objects |
638 | 43 | Mehdi Abaakouk | order 22 (4096 kB objects) |
639 | 43 | Mehdi Abaakouk | block_name_prefix: rbd_data.996cc92ae8944a |
640 | 43 | Mehdi Abaakouk | format: 2 |
641 | 43 | Mehdi Abaakouk | features: layering |
642 | 43 | Mehdi Abaakouk | $ virt-make-fs --label=cloudimg-rootfs --partition=mbr --type=ext4 --format=raw --size=20480 VMNAME.tar.gz VMNAME.img |
643 | 43 | Mehdi Abaakouk | $ virt-customize -a VMNAME.img --run-command 'update-grub ; grub-install /dev/sda' |
644 | 43 | Mehdi Abaakouk | $ rbd mv ssds/volume-213e894e-2f20-42b5-a27b-21f5a355c722 ssds/volume-213e894e-2f20-42b5-a27b-21f5a355c722.unaligned |
645 | 43 | Mehdi Abaakouk | $ rbd import --image-format 2 VMNAME.img ssds/volume-213e894e-2f20-42b5-a27b-21f5a355c722 |
646 | 26 | Mehdi Abaakouk | </pre> |
647 | 26 | Mehdi Abaakouk | |
648 | 26 | Mehdi Abaakouk | Vérification: |
649 | 26 | Mehdi Abaakouk | |
650 | 26 | Mehdi Abaakouk | <pre> |
651 | 26 | Mehdi Abaakouk | $ virt-alignment-scan -d 918e0ec7-0909-423c-9a67-15b5ef7c7ae0 |
652 | 26 | Mehdi Abaakouk | /dev/sdb1 65536 64K ok |
653 | 26 | Mehdi Abaakouk | </pre> |
654 | 26 | Mehdi Abaakouk | |
655 | 136 | Mehdi Abaakouk | h3. Création/Restauration/Export snapshot |
656 | 26 | Mehdi Abaakouk | |
657 | 26 | Mehdi Abaakouk | Création: |
658 | 26 | Mehdi Abaakouk | |
659 | 26 | Mehdi Abaakouk | <pre> |
660 | 26 | Mehdi Abaakouk | source os.conf |
661 | 26 | Mehdi Abaakouk | /root/tools/os-snapshot-vm.sh pano.tetaneutral.net bootdisk / |
662 | 27 | Laurent GUERBY | * Freezing / of pano.tetaneutral.net |
663 | 27 | Laurent GUERBY | * Snapshoting pano.tetaneutral.net-bootdisk |
664 | 26 | Mehdi Abaakouk | Snapshot pano.tetaneutral.net-bootdisk-20150125-1600 is in state creating .. |
665 | 134 | Mehdi Abaakouk | e06727d3-df4a-4873-82af-3a8f3e6e2aa5 |
666 | 26 | Mehdi Abaakouk | * pano.tetaneutral.net-bootdisk snapshoted |
667 | 26 | Mehdi Abaakouk | * / of pano.tetaneutral.net unfreezed |
668 | 26 | Mehdi Abaakouk | </pre> |
669 | 26 | Mehdi Abaakouk | |
670 | 26 | Mehdi Abaakouk | Restauration: |
671 | 73 | Mehdi Abaakouk | |
672 | 26 | Mehdi Abaakouk | <pre> |
673 | 130 | Guilhem Saurel | $ openstack volume snapshot list |
674 | 73 | Mehdi Abaakouk | ... |
675 | 2 | Mehdi Abaakouk | $ openstack volume create --size 101 --snapshot pano.tetaneutral.net-bootdisk-20150125-1600 pano-restauration-test |
676 | 2 | Mehdi Abaakouk | $ openstack server add volume pano.tetaneutral.net pano-restauration-test |
677 | 134 | Mehdi Abaakouk | </pre> |
678 | 134 | Mehdi Abaakouk | |
679 | 134 | Mehdi Abaakouk | Extract du snapshot pour fournir à l'adhérent: |
680 | 134 | Mehdi Abaakouk | |
681 | 135 | Mehdi Abaakouk | Sur g1: |
682 | 135 | Mehdi Abaakouk | <pre> |
683 | 134 | Mehdi Abaakouk | $ openstack volume show pano.tetaneutral.net-bootdisk -f value -c id |
684 | 134 | Mehdi Abaakouk | <UUID_VOLUME> |
685 | 134 | Mehdi Abaakouk | $ openstack volume snapshot list --volume pano.tetaneutral.net-bootdisk |
686 | 1 | Mehdi Abaakouk | | <UUID_SNAPSHOT> | pano.tetaneutral.net-bootdisk-20200117-1155 | None | available | 50 | |
687 | 135 | Mehdi Abaakouk | </pre> |
688 | 134 | Mehdi Abaakouk | |
689 | 134 | Mehdi Abaakouk | Sur nagios.tetaneutral.net |
690 | 134 | Mehdi Abaakouk | <pre> |
691 | 134 | Mehdi Abaakouk | rbd -p ssds export volume-<UUID_VOLUME>@snapshot-<UUID_SNAPSHOT> pano.tetaneutral.net-bootdisk.raw |
692 | 134 | Mehdi Abaakouk | qemy-img convert -O qcow2 pano.tetaneutral.net-bootdisk.raw pano.tetaneutral.net-bootdisk.qcow |
693 | 134 | Mehdi Abaakouk | rm -f pano.tetaneutral.net-bootdisk.raw |
694 | 107 | Mehdi Abaakouk | </pre> |
695 | 1 | Mehdi Abaakouk | |
696 | 127 | Matthieu Herrb | h3. Virer cloud-init sans accés à la VM: |
697 | 110 | Mehdi Abaakouk | |
698 | 110 | Mehdi Abaakouk | <pre> |
699 | 110 | Mehdi Abaakouk | # openstack server stop VMNAME.tetaneutral.net |
700 | 110 | Mehdi Abaakouk | # openstack server show VMNAME.tetaneutral.net -c id -c OS-EXT-SRV-ATTR:host -c status -f value |
701 | 110 | Mehdi Abaakouk | g12 |
702 | 110 | Mehdi Abaakouk | a82eb312-7d42-44e1-bce2-a81292916cc3 |
703 | 110 | Mehdi Abaakouk | SHUTOFF |
704 | 110 | Mehdi Abaakouk | |
705 | 110 | Mehdi Abaakouk | # virt-customize -v --connect "qemu+ssh://<SHORT HYPERVISOR HOSTNAME>:2222/system" -d <ID> --run-command "echo ::::::::::::::: ; DEBIAN_FRONTEND=noninteractive apt-get -y purge cloud-init cloud-initramfs-growroot ; echo :::::::::::: ; " |
706 | 110 | Mehdi Abaakouk | </pre> |
707 | 110 | Mehdi Abaakouk | |
708 | 128 | Matthieu Herrb | h2. Opérations sur les hyperviseurs |
709 | 107 | Mehdi Abaakouk | |
710 | 107 | Mehdi Abaakouk | h3. Reboot d'un hyperviseur |
711 | 107 | Mehdi Abaakouk | |
712 | 51 | Mehdi Abaakouk | Sur g1 |
713 | 107 | Mehdi Abaakouk | |
714 | 51 | Mehdi Abaakouk | <pre> |
715 | 50 | Mehdi Abaakouk | # openstack ttnn evacuate HOST |
716 | 50 | Mehdi Abaakouk | Migration of : |
717 | 1 | Mehdi Abaakouk | - lagrandeourse.tetaneutral.net [g2/active] |
718 | 29 | Mehdi Abaakouk | - pontsjumeaux.tetaneutral.net [g2/active] |
719 | 29 | Mehdi Abaakouk | - log.tetaneutral.net [g2/active] |
720 | 1 | Mehdi Abaakouk | - jabber.tetaneutral.net [g2/active] |
721 | 107 | Mehdi Abaakouk | - vmfatal.tetaneutral.net [g2/active] |
722 | 1 | Mehdi Abaakouk | - zoe.tetaneutral.net [g2/active] |
723 | 1 | Mehdi Abaakouk | ... |
724 | 107 | Mehdi Abaakouk | |
725 | 1 | Mehdi Abaakouk | Continue (Y/n) ? Y |
726 | 1 | Mehdi Abaakouk | rollback script 'evacuate-rollback-g2.sh' created |
727 | 1 | Mehdi Abaakouk | Live migration of lagrandeourse.tetaneutral.net [g2/active]: Complete on g2 and still alive \o/ |
728 | 1 | Mehdi Abaakouk | ... |
729 | 107 | Mehdi Abaakouk | </pre> |
730 | 1 | Mehdi Abaakouk | |
731 | 1 | Mehdi Abaakouk | Sur l'hyperviseur en question: |
732 | 107 | Mehdi Abaakouk | |
733 | 107 | Mehdi Abaakouk | <pre> |
734 | 107 | Mehdi Abaakouk | # ps fauxwww|grep kvm # verifier qu'il n'y a plus de VM lancé |
735 | 107 | Mehdi Abaakouk | # virsh list --all # verifier qu'il n'y a plus de VM dans libvirt |
736 | 107 | Mehdi Abaakouk | # ceph osd set noout # pour prevenir que les OSD vont revenir |
737 | 107 | Mehdi Abaakouk | # systemctl stop ceph-mon@* # Stopper les osd |
738 | 29 | Mehdi Abaakouk | # systemctl stop ceph-osd@* # Stopper les osd |
739 | 107 | Mehdi Abaakouk | # reboot |
740 | 107 | Mehdi Abaakouk | </pre> |
741 | 107 | Mehdi Abaakouk | |
742 | 107 | Mehdi Abaakouk | |
743 | 107 | Mehdi Abaakouk | Une fois l'opération terminer, pour remettre l'hyperviseur en route, sur g1 |
744 | 107 | Mehdi Abaakouk | |
745 | 107 | Mehdi Abaakouk | <pre> |
746 | 107 | Mehdi Abaakouk | ceph osd tree # Vérifier que les OSDs de cette hypervisuer sont revenur |
747 | 107 | Mehdi Abaakouk | ./tools/os-overview.sh # Vérifier que neutron et nova sont ok sur cette hyperviseur |
748 | 107 | Mehdi Abaakouk | |
749 | 107 | Mehdi Abaakouk | ceph osd unset noout |
750 | 107 | Mehdi Abaakouk | ./evacuate-rollback-g2.sh # Remettre les VMs dessus. |
751 | 107 | Mehdi Abaakouk | |
752 | 23 | Laurent GUERBY | </pre> |
753 | 23 | Laurent GUERBY | |
754 | 133 | Fabien ADAM | h3. Migration d'une VM sur un autre hyperviseur |
755 | 133 | Fabien ADAM | |
756 | 133 | Fabien ADAM | La migration se fait à chaud, grace à la copie de la RAM, et l'accès au disque sur le cluster ceph depuis n'importe quel hyperviseur. |
757 | 133 | Fabien ADAM | On spécifie l'hyperviseur de destination (ici g12), et la VM à migrer (ici ring01.tetaneutral.net). |
758 | 133 | Fabien ADAM | <pre> |
759 | 133 | Fabien ADAM | openstack server migrate --live g12 ring01.tetaneutral.net --wait |
760 | 133 | Fabien ADAM | </pre> |
761 | 133 | Fabien ADAM | |
762 | 23 | Laurent GUERBY | h2. VM de management (nommé openstack) |
763 | 23 | Laurent GUERBY | |
764 | 23 | Laurent GUERBY | h3. Live Migration d'un host à l'autre |
765 | 23 | Laurent GUERBY | |
766 | 23 | Laurent GUERBY | Cela fait tout à notre place niveau kvm/libvirt/ceph |
767 | 23 | Laurent GUERBY | |
768 | 23 | Laurent GUERBY | <pre> |
769 | 23 | Laurent GUERBY | virsh migrate --persistent --undefinesource --live --p2p openstack qemu+ssh://g2.tetaneutral.net:2222/system |
770 | 71 | Mehdi Abaakouk | </pre> |
771 | 23 | Laurent GUERBY | |
772 | 23 | Laurent GUERBY | h3. Recover depuis une perte de la machine hote: |
773 | 53 | Mehdi Abaakouk | |
774 | 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 |
775 | 1 | Mehdi Abaakouk | |
776 | 1 | Mehdi Abaakouk | _Note: il faut surement viré les uuid des interfaces openvswitch qui sont différent suivant le hosts_ |
777 | 1 | Mehdi Abaakouk | |
778 | 1 | Mehdi Abaakouk | Puis on recréé la VM |
779 | 53 | Mehdi Abaakouk | |
780 | 60 | Mehdi Abaakouk | <pre> |
781 | 60 | Mehdi Abaakouk | $ virsh create openstack.xml |
782 | 1 | Mehdi Abaakouk | $ virsh start openstack.xml |
783 | 1 | Mehdi Abaakouk | </pre> |
784 | 120 | Mehdi Abaakouk | |
785 | 121 | Mehdi Abaakouk | h2. Fonctionnement du boot des VM Openstack et de leur auto-configuration |
786 | 121 | Mehdi Abaakouk | |
787 | 121 | Mehdi Abaakouk | Contrairement à la plupart des déploiements Openstack: |
788 | 121 | Mehdi Abaakouk | * Nous n’utilisons pas de server DHCP de neutron pour distribuer les IPs |
789 | 121 | Mehdi Abaakouk | * Nous n’utilisons pas le "nova/neutron-metadata-api" + "cloud-init" pour configurer les VMs (hostname, resize du fs, maj APT, DNS, clé ssh ...) |
790 | 121 | Mehdi Abaakouk | |
791 | 121 | Mehdi Abaakouk | Chez TTNN, c'est plus old school et pas très cloudy, mais c'est flexible, ca marche et c'est compatible avec tous les OS. |
792 | 121 | Mehdi Abaakouk | (contrairement à cloud-init qui marche que pour les cas très simple et uniquement sous certain linux) |
793 | 121 | Mehdi Abaakouk | |
794 | 121 | Mehdi Abaakouk | h3. Processus de création des VMs |
795 | 121 | Mehdi Abaakouk | |
796 | 121 | Mehdi Abaakouk | Pour cela, on utilise la feature "config-drive" de Nova, qui attache un CDROM avec un fichier dedans. |
797 | 121 | Mehdi Abaakouk | Le fichier en question doit être passé en paramètre de -'openstack server create'- pour booter la VM, cela est fait +automatiquement+ quand on utilise *openstack ttnn create*. |
798 | 121 | Mehdi Abaakouk | Neutron, lui s'occupe juste de router les IPs dans le tap de la VM. |
799 | 121 | Mehdi Abaakouk | |
800 | 121 | Mehdi Abaakouk | Dans notre cas le fichier est un script shell que vous trouverez ici: |
801 | 121 | Mehdi Abaakouk | |
802 | 121 | Mehdi Abaakouk | https://chiliproject.tetaneutral.net/projects/git-tetaneutral-net/repository/openstack-tools/revisions/master/entry/osc-plugins/osc_ttnn/boot-vm-user-data.tmpl |
803 | 121 | Mehdi Abaakouk | |
804 | 121 | Mehdi Abaakouk | Ce script s'occupe pour tous les OS supportés (debian/ubuntu/cirros/fedora/*BSD) de: |
805 | 121 | Mehdi Abaakouk | * resize le rootfs pour prendre tout l'espace disponible |
806 | 121 | Mehdi Abaakouk | * configurer le hostname |
807 | 121 | Mehdi Abaakouk | * configurer les IPs v4 et v6 |
808 | 121 | Mehdi Abaakouk | * remplir /etc/hosts |
809 | 121 | Mehdi Abaakouk | * configurer les DNS |
810 | 121 | Mehdi Abaakouk | * installer la clé ssh TTNN |
811 | 121 | Mehdi Abaakouk | * générer des clé sshd |
812 | 121 | Mehdi Abaakouk | * mettre à jour la distribution |
813 | 121 | Mehdi Abaakouk | |
814 | 121 | Mehdi Abaakouk | En gros tous ce qui peut pas être fait dans l'image elle même. |
815 | 121 | Mehdi Abaakouk | |
816 | 121 | Mehdi Abaakouk | Ce script sera ensuite exécuté lors du premier boot de la machine. |
817 | 121 | Mehdi Abaakouk | |
818 | 121 | Mehdi Abaakouk | TTNN prépare des images spécial de VM qui lance ce script au premier boot. |
819 | 121 | Mehdi Abaakouk | |
820 | 121 | Mehdi Abaakouk | h3. Processus de création des images |
821 | 121 | Mehdi Abaakouk | |
822 | 121 | Mehdi Abaakouk | Les images des VMs TTNN sont construite un script lancer depuis g1:tools/images/ |
823 | 121 | Mehdi Abaakouk | |
824 | 121 | Mehdi Abaakouk | Ce script gére Debian, Ubuntu, Cirros, Openwrt, et vaguement Openbsd/Freebsd. |
825 | 121 | Mehdi Abaakouk | |
826 | 121 | Mehdi Abaakouk | Seulement Debian est vraiment testé/utilisé régulièrement. |
827 | 121 | Mehdi Abaakouk | |
828 | 121 | Mehdi Abaakouk | Ce doit s'occuper principalement de: |
829 | 121 | Mehdi Abaakouk | * télécharger l'image de base de la distribution |
830 | 121 | Mehdi Abaakouk | * installer les packages nécessaire au premier boot de la VM: ssh, tools pour resize les disques, |
831 | 121 | Mehdi Abaakouk | * configure le /etc/fstab ou équivalent |
832 | 121 | Mehdi Abaakouk | * configure le bootloader si besoin (Ajout une console serie pour avoir les logs dans openstack par example) |
833 | 121 | Mehdi Abaakouk | * configure sshd sur le port 2222 |
834 | 121 | Mehdi Abaakouk | * supprime tout fichier temporary ou propre à la machine (clé sshd, |
835 | 121 | Mehdi Abaakouk | * désactive fsck au boot |
836 | 121 | Mehdi Abaakouk | * ... |
837 | 121 | Mehdi Abaakouk | * *Crée un rc.local qui montera le CDROM, lancera la script qui est dessus, puis s'auto-détruira*: https://chiliproject.tetaneutral.net/projects/git-tetaneutral-net/repository/openstack-tools/revisions/master/entry/images/first_boot.sh |
838 | 121 | Mehdi Abaakouk | * ... |
839 | 122 | Mehdi Abaakouk | * shrink l'image/fs pour avoir un tout petit fichier à uploader et booter par la suite. |
840 | 121 | Mehdi Abaakouk | * uploader l'image dans openstack |
841 | 121 | Mehdi Abaakouk | |
842 | 121 | Mehdi Abaakouk | Le script: https://chiliproject.tetaneutral.net/projects/git-tetaneutral-net/repository/openstack-tools/revisions/master/entry/images/build-image.sh |
843 | 1 | Mehdi Abaakouk | |
844 | 125 | Mehdi Abaakouk | h3. Cas d'*BSD |
845 | 1 | Mehdi Abaakouk | |
846 | 122 | Mehdi Abaakouk | La fabrication des images, nécessite une image de base que Openbsd ne fournit pas, il faut la fabriquer soit même. |
847 | 124 | Mehdi Abaakouk | Ensuite linux ne supporte pas toutes les variantes et versions du filesystem UFS. Ce qui rends difficile de modifier l'image à partir de la machine g1. |
848 | 1 | Mehdi Abaakouk | |
849 | 124 | Mehdi Abaakouk | J'ai déjà fait une image OpenBSD 5.7 dans le passé mais faut quand meme de farcir une install de l'OS à la main, puis faire tout ce que fait build-image.sh manuellement |
850 | 122 | Mehdi Abaakouk | |
851 | 124 | Mehdi Abaakouk | Pour l'ufs2 de FreeBSD, y'a https://github.com/mkatiyar/fuse-ufs2 (qu'utilise build-image.sh pour les BSD), mais pour OpenBSD ca me marche pas. |
852 | 124 | Mehdi Abaakouk | |
853 | 124 | Mehdi Abaakouk | Création de l'image de base: |
854 | 124 | Mehdi Abaakouk | |
855 | 123 | Mehdi Abaakouk | <pre> |
856 | 123 | Mehdi Abaakouk | qemu-img create -f qcow2 openbsd-6.3.qcow2 15G |
857 | 123 | Mehdi Abaakouk | wget https://cloudflare.cdn.openbsd.org/pub/OpenBSD/6.3/amd64/cd63.iso |
858 | 123 | Mehdi Abaakouk | |
859 | 123 | Mehdi Abaakouk | qemu-system-x86_64 -m 2048 -hda openbsd-6.3.qcow2 -cdrom cd63.iso -enable-kvm -netdev user,id=mynet0,hostfwd=tcp:127.0.0.1:7922-:22 -device e1000,netdev=mynet0 -smp 2 -vga qxl -spice port=5900,addr=127.0.0.1,disable-ticketing & |
860 | 123 | Mehdi Abaakouk | |
861 | 123 | Mehdi Abaakouk | remote-viewer spice://localhost:5900 |
862 | 123 | Mehdi Abaakouk | </pre> |
863 | 123 | Mehdi Abaakouk | |
864 | 123 | Mehdi Abaakouk | Les questions importantes: |
865 | 1 | Mehdi Abaakouk | * X11 -> no |
866 | 1 | Mehdi Abaakouk | * com0 -> yes |
867 | 1 | Mehdi Abaakouk | * com0 speed -> 115200 |
868 | 1 | Mehdi Abaakouk | * root login -> prohibit-password |
869 | 1 | Mehdi Abaakouk | * Partitionnement un seul rootfs: z, a, <enter>, <enter>, <enter, /, w, x |
870 | 1 | Mehdi Abaakouk | * sets: -x* -xgame* |
871 | 124 | Mehdi Abaakouk | * Reboot |
872 | 124 | Mehdi Abaakouk | |
873 | 124 | Mehdi Abaakouk | <pre> |
874 | 124 | Mehdi Abaakouk | ssh root@localhost:7922 |
875 | 124 | Mehdi Abaakouk | </pre> |
876 | 124 | Mehdi Abaakouk | |
877 | 124 | Mehdi Abaakouk | Pour faire tous les manips du build-image.sh manuellement. |
878 | 124 | Mehdi Abaakouk | |
879 | 124 | Mehdi Abaakouk | Puis uploader l'image manuellement dans Glance. |
880 | 131 | Fabien ADAM | |
881 | 131 | Fabien ADAM | |
882 | 137 | Fabien ADAM | h2. Dépannage Openstack |
883 | 137 | Fabien ADAM | |
884 | 137 | Fabien ADAM | h3. Journaux |
885 | 137 | Fabien ADAM | |
886 | 137 | Fabien ADAM | Les différents composants d'Openstack (nova, etc) envoient par défaut leurs journaux dans un répertoire leur correspondant. *Mais* pour trouver les journaux plus facilement, à Tetaneutral tous les journaux sont, à la place, envoyés dans @/var/log/openstack.log@. |
887 | 137 | Fabien ADAM | |
888 | 137 | Fabien ADAM | Les journaux sont sur différentes machines : |
889 | 137 | Fabien ADAM | * chaque node (compute), hyperviseur des VMs qu'il fait tourner |
890 | 137 | Fabien ADAM | * le contrôleur d'Openstack (en VM), portant l'API et la base de données centralisée, sur le réseau à _openstack.tetaneutral.net_. |
891 | 137 | Fabien ADAM | |
892 | 137 | Fabien ADAM | h3. Openstack est indisponible |
893 | 131 | Fabien ADAM | |
894 | 131 | Fabien ADAM | L'API d'Openstack est installée sur une VM nommée *openstack* sous libvirt. |
895 | 131 | Fabien ADAM | |
896 | 131 | Fabien ADAM | <pre> |
897 | 131 | Fabien ADAM | # Vérifier si la VM répond au ping |
898 | 131 | Fabien ADAM | ping -c1 openstack.tetaneutral.net |
899 | 131 | Fabien ADAM | # Vérifier sur quel serveur et dans quel état se trouve la VM |
900 | 131 | Fabien ADAM | for compute in $(echo n7 g{1..12}); do ssh $compute.t virsh list --all | grep openstack && echo $compute; done |
901 | 131 | Fabien ADAM | # Se connecter ensuite sur le server correspondant |
902 | 131 | Fabien ADAM | # Vérifier ce qui s'est passé sur la VM |
903 | 131 | Fabien ADAM | tail /var/log/libvirt/qemu/openstack.log |
904 | 131 | Fabien ADAM | # Si elle a crashé, la relancer |
905 | 131 | Fabien ADAM | virsh start openstack |
906 | 131 | Fabien ADAM | </pre> |