Уменьшение тома виртуальной машины » История » Версия 3
Владимир Ипатов, 17.05.2016 17:31
1 | 2 | Владимир Ипатов | h1. Уменьшение тома виртуальной машины |
---|---|---|---|
2 | 1 | Николай Алексеев | |
3 | 2 | Владимир Ипатов | 1. С помощью средств виртуальной машины уменьшаем файловую систему, затем раздел, чтобы у нас образовалось неразмеченное пространство в конце виртуального диска. |
4 | 2 | Владимир Ипатов | Размер этого пространства должен быть на 1 гб больше, чем тот объем, на который мы хотим уменьшить. |
5 | 2 | Владимир Ипатов | 2. Заходим на мастер-ноду кластера. Останавливаем интересующий нас инстанс: |
6 | 1 | Николай Алексеев | <pre> |
7 | 2 | Владимир Ипатов | gnt-instance shutdown ИНСТАНС |
8 | 1 | Николай Алексеев | </pre> |
9 | 2 | Владимир Ипатов | Затем смотрим информацию по нему: |
10 | 2 | Владимир Ипатов | <pre> |
11 | 2 | Владимир Ипатов | gnt-instance info ИНСТАНС |
12 | 2 | Владимир Ипатов | </pre> |
13 | 1 | Николай Алексеев | Получаем примерно следующий вывод: |
14 | 1 | Николай Алексеев | <pre> |
15 | 1 | Николай Алексеев | Disks: |
16 | 1 | Николай Алексеев | - disk/0: plain, size 31.0G |
17 | 1 | Николай Алексеев | access mode: rw |
18 | 1 | Николай Алексеев | logical_id: xenvg/bbb00d71-99e9-458c-ba8c-774ba6a14e0b.disk0 |
19 | 1 | Николай Алексеев | on primary: /dev/xenvg/bbb00d71-99e9-458c-ba8c-774ba6a14e0b.disk0 (253:6) |
20 | 1 | Николай Алексеев | name: None |
21 | 1 | Николай Алексеев | UUID: c4373d6a-7cce-420f-b109-04c4d5388a76 |
22 | 1 | Николай Алексеев | </pre> |
23 | 1 | Николай Алексеев | нам нужно название диска, который хотим уменьшить - /dev/xenvg/bbb00d71-99e9-458c-ba8c-774ba6a14e0b.disk0 |
24 | 2 | Владимир Ипатов | |
25 | 2 | Владимир Ипатов | В случае, если целевая виртуальная машина расположена на дрбд, то здесь два варианта: |
26 | 2 | Владимир Ипатов | 1) перевести временно виртуальную машину в plain: |
27 | 2 | Владимир Ипатов | <pre> |
28 | 2 | Владимир Ипатов | gnt-instance modify -t plain ИНСТАНС |
29 | 2 | Владимир Ипатов | </pre> |
30 | 2 | Владимир Ипатов | 2) Уменьшить размер дрбд, это трудоемкий процесс, подробности тут: |
31 | 2 | Владимир Ипатов | https://www.drbd.org/en/doc/users-guide-83/s-resizing |
32 | 2 | Владимир Ипатов | |
33 | 1 | Николай Алексеев | 3. Останавливаем ганети-вотчер, затем ганети |
34 | 1 | Николай Алексеев | <pre> |
35 | 1 | Николай Алексеев | service ganeti-watcher stop |
36 | 1 | Николай Алексеев | service ganeti stop |
37 | 1 | Николай Алексеев | </pre> |
38 | 1 | Николай Алексеев | 4. С помощью команды lvresize уменьшаем размер тома до нужного - размер тома - X. |
39 | 1 | Николай Алексеев | <pre> |
40 | 1 | Николай Алексеев | lvresize -L 31G /dev/xenvg/bbb00d71-99e9-458c-ba8c-774ba6a14e0b.disk0 |
41 | 1 | Николай Алексеев | </pre> |
42 | 2 | Владимир Ипатов | 5. Делаем резервную копию конфига |
43 | 1 | Николай Алексеев | <pre> |
44 | 2 | Владимир Ипатов | cp /var/lib/ganeti/config.data ~ |
45 | 2 | Владимир Ипатов | </pre> |
46 | 2 | Владимир Ипатов | 6. Открываем в текстовом редакторе /var/lib/ganeti/config.data |
47 | 2 | Владимир Ипатов | <pre> |
48 | 1 | Николай Алексеев | vim /var/lib/ganeti/config.data |
49 | 1 | Николай Алексеев | </pre> |
50 | 1 | Николай Алексеев | находим часть конфига которая отвечает за настройки диска - будет выглядеть примерно так: |
51 | 1 | Николай Алексеев | <pre> |
52 | 1 | Николай Алексеев | xenvg", "bbb00d71-99e9-458c-ba8c-774ba6a14e0b.disk0"], "uuid": "c4373d6a-7cce-420f-b109-04c4d5388a76", "dev_type": "plain", "params": {}, "mode": "rw", "iv_name": "disk/0", "size": 40490} |
53 | 1 | Николай Алексеев | </pre> |
54 | 1 | Николай Алексеев | меняем параметр size на нужный размер в мб |
55 | 1 | Николай Алексеев | <pre> |
56 | 1 | Николай Алексеев | xenvg", "bbb00d71-99e9-458c-ba8c-774ba6a14e0b.disk0"], "uuid": "c4373d6a-7cce-420f-b109-04c4d5388a76", "dev_type": "plain", "params": {}, "mode": "rw", "iv_name": "disk/0", "size": 31744} |
57 | 1 | Николай Алексеев | </pre> |
58 | 1 | Николай Алексеев | Сохраняем и закрываем конфиг. |
59 | 2 | Владимир Ипатов | 7. Запускаем ganeti и ganeti-watcher |
60 | 1 | Николай Алексеев | <pre> |
61 | 1 | Николай Алексеев | service ganeti start |
62 | 1 | Николай Алексеев | service ganeti-watcher start |
63 | 1 | Николай Алексеев | </pre> |
64 | 2 | Владимир Ипатов | 8. Если мы переделывали drbd машину в plain, то проводим обратную процедуру: |
65 | 1 | Николай Алексеев | <pre> |
66 | 2 | Владимир Ипатов | gnt-instance modify -t drbd -n ВТОРОЙ_УЗЕЛ ИНСТАНС |
67 | 1 | Николай Алексеев | </pre> |
68 | 2 | Владимир Ипатов | 9. Запускаем целевую виртуальную машину |
69 | 2 | Владимир Ипатов | <pre> |
70 | 2 | Владимир Ипатов | gnt-instance startup ИНСТАНС |
71 | 2 | Владимир Ипатов | </pre> |
72 | 3 | Владимир Ипатов | 10. Подключаемся к машине и с помощью средств в виртуальной машине расширяем на 1 гб который брали в запас. |