Проект

Общее

Профиль

Уменьшение тома виртуальной машины » История » Версия 2

Владимир Ипатов, 17.05.2016 17:30

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 2 Владимир Ипатов
10. Подключаемся к машине и с помощью стандартной оснастки расширяем на 1 гб который брали в запас.