Уменьшение тома виртуальной машины » История » Версия 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 гб который брали в запас. |