Проект

Общее

Профиль

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

Версия 1 (Николай Алексеев, 17.05.2016 17:18) → Версия 2/3 (Владимир Ипатов, 17.05.2016 17:30)

h1. Уменьшение тома виртуальной машины Windows

1. С помощью средств виртуальной машины стандартной оснастки windows уменьшаем файловую систему, затем раздел, чтобы у нас образовалось неразмеченное пространство в конце виртуального диска. том до нужного размера X минус 1гб
Размер этого пространства должен быть на 1 гб больше, чем тот объем, на который мы хотим уменьшить.
2. Заходим на мастер-ноду кластера. Останавливаем интересующий нас инстанс:
<pre>
gnt-instance shutdown ИНСТАНС
</pre>
Затем смотрим
Смотрим информацию по нему: интересующему нас инстансу
<pre>
gnt-instance info ИНСТАНС win2008r2-test
</pre>
где win2008r2-test - название целевой виртуальной машины.
Получаем примерно следующий вывод:
<pre>
Disks:
- disk/0: plain, size 31.0G
access mode: rw
logical_id: xenvg/bbb00d71-99e9-458c-ba8c-774ba6a14e0b.disk0
on primary: /dev/xenvg/bbb00d71-99e9-458c-ba8c-774ba6a14e0b.disk0 (253:6)
name: None
UUID: c4373d6a-7cce-420f-b109-04c4d5388a76
</pre>
нам нужно название диска, который хотим уменьшить - /dev/xenvg/bbb00d71-99e9-458c-ba8c-774ba6a14e0b.disk0

В случае, если целевая виртуальная машина расположена на дрбд, то здесь два варианта:

1) перевести временно виртуальную машину в plain:
<pre>
gnt-instance modify -t plain ИНСТАНС
</pre>
2) Уменьшить размер дрбд, это трудоемкий процесс, подробности тут:
https://www.drbd.org/en/doc/users-guide-83/s-resizing

3. Останавливаем ганети-вотчер, затем ганети
<pre>
service ganeti-watcher stop
service ganeti stop
</pre>
4. С помощью команды lvresize уменьшаем размер тома до нужного - размер тома - X.
<pre>
lvresize -L 31G /dev/xenvg/bbb00d71-99e9-458c-ba8c-774ba6a14e0b.disk0
</pre>
5. Делаем резервную копию конфига
<pre>
cp /var/lib/ganeti/config.data ~
</pre>
6.
Открываем в текстовом редакторе /var/lib/ganeti/config.data
<pre>
vim /var/lib/ganeti/config.data
</pre>
находим часть конфига которая отвечает за настройки диска - будет выглядеть примерно так:
<pre>
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}
</pre>
меняем параметр size на нужный размер в мб
<pre>
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}
</pre>
Сохраняем и закрываем конфиг.
7. 6. Запускаем ganeti и ganeti-watcher
<pre>
service ganeti start
service ganeti-watcher start
</pre>
8. Если мы переделывали drbd машину в plain, то проводим обратную процедуру:
<pre>
gnt-instance modify -t drbd -n ВТОРОЙ_УЗЕЛ ИНСТАНС
</pre>
9. Запускаем
7. Перезапускаем целевую виртуальную машину
<pre>
gnt-instance startup ИНСТАНС reboot win2008r2-test
</pre>
10. 8. Подключаемся к машине и с помощью стандартной оснастки расширяем на 1 гб который брали в запас.