Resize guest disk online (Горячее расширение диска гостевой машины)

Модератор: Модераторы разделов

Ответить
minder
Сообщения: 331
ОС: AIX, Solaris,RHEL,SLES,Gentoo

Resize guest disk online

Сообщение minder »

Есть ли возможность не останавливая гостевую машину расширить диск?
QEMU-KVM, в гостевой машине Linux стоит, диски для нее отданы как логический том хостовой машины формата RAW.
Пробовал online запустить lvresize, но гостевая машина не заметила изменений, даже после перезагрузки, пришлось выключать и стартовать заново. Нужно как то сообщить QEMU, что диск поменялся в размере.
Можно, конечно, online добавить новый диск и включить его в группу томов, но это кривое решение.
Есть соображения на этот счет, может кто сталкивался?
Спасибо сказали:
Аватара пользователя
Ленивая Бестолочь
Бывший модератор
Сообщения: 2760
ОС: Debian; gentoo

Re: Resize guest disk online

Сообщение Ленивая Бестолочь »

iУведомление от модератора
переношу в виртуализацию
Солнце садилось в море, а люди с неоконченным высшим образованием выбегали оттуда, думая, что море закипит.
Спасибо сказали:
Аватара пользователя
Bluetooth
Сообщения: 4395
Статус: Блюзовый
ОС: Debian Squeeze amd64

Re: Resize guest disk online

Сообщение Bluetooth »

Как я понимаю, если ситуация допускает краткосрочное отмонтирование, в хосте в lvm увеличить том, дальше отмонтировать фс в госте, отключить блочное устройство от гостя, подключить снова, смонтировать, расширить на ходу фс(ext это умеют)
use dd and google
Не совсем понимаю, где в случае с лвм применять dd и для чего.
Спасибо сказали:
Аватара пользователя
landgraf
Сообщения: 2142
Статус: *бунту ненавистник
ОС: linux
Контактная информация:

Re: Resize guest disk online

Сообщение landgraf »

Bluetooth писал(а):
20.05.2011 01:03
отключить блочное устройство от гостя, подключить снова, смонтировать, расширить на ходу фс(ext это умеют)

не поможет.
Спасибо сказали:
Аватара пользователя
Bluetooth
Сообщения: 4395
Статус: Блюзовый
ОС: Debian Squeeze amd64

Re: Resize guest disk online

Сообщение Bluetooth »

landgraf писал(а):
20.05.2011 04:06
Bluetooth писал(а):
20.05.2011 01:03
отключить блочное устройство от гостя, подключить снова, смонтировать, расширить на ходу фс(ext это умеют)

не поможет.

Смутился, подумал "а может, и вправду, фигню несу?"

Проделал сейчас в xen 4.0, все получилось.
с dom0:

Код: Выделить всё

bluetooth@node1:~> sudo xm block-detach test3 51715
bluetooth@node1:~> sudo lvextend -L4G /dev/node1/test
  Extending logical volume test to 4,00 GB
  Logical volume test successfully resized
bluetooth@node1:~> sudo xm block-attach test3 phy:/dev/node1/test /dev/xvda3 w

с domu:

Код: Выделить всё

root@test3:~# df -h
Файловая система      Разм  Исп  Дост  Исп% смонтирована на
/dev/xvda2            2,0G  601M  1,3G  32% /
tmpfs                 127M     0  127M   0% /lib/init/rw
udev                  110M   36K  110M   1% /dev
tmpfs                 127M  4,0K  127M   1% /dev/shm
/dev/xvda3            3,0G   68M  2,8G   3% /mnt
root@test3:~# umount /mnt/
root@test3:~# mount /dev/xvda3 /mnt
root@test3:~# resize2fs /dev/xvda3
resize2fs 1.41.12 (17-May-2010)
Filesystem at /dev/xvda3 is mounted on /mnt; on-line resizing required
old desc_blocks = 1, new_desc_blocks = 1
Performing an on-line resize of /dev/xvda3 to 1048576 (4k) blocks.
The filesystem on /dev/xvda3 is now 1048576 blocks long.

root@test3:~# df -h
Файловая система      Разм  Исп  Дост  Исп% смонтирована на
/dev/xvda2            2,0G  601M  1,3G  32% /
tmpfs                 127M     0  127M   0% /lib/init/rw
udev                  110M   36K  110M   1% /dev
tmpfs                 127M  4,0K  127M   1% /dev/shm
/dev/xvda3            4,0G   69M  3,7G   2% /mnt



Вообще, речь конечно же, не про ксен, однако, насколько я знаю, принцип там точно такой же. Разумеется, если отдельный раздел lvm в хосте содержит отдельную фс для гвеста. Если оно содержит образ диска, то нужно еще и проделать манипуляции с таблицей разделов на этом виртуальном диске. Не знаю, насколько удобен этот способ в таком случае, однако не вижу причин, почему это не может получиться.
Спасибо сказали:
minder
Сообщения: 331
ОС: AIX, Solaris,RHEL,SLES,Gentoo

Re: Resize guest disk online

Сообщение minder »

нет. ситуация не позволяет рамонтировать ФС в гостевой машине. Примером может служить хотя бы кореневая ФС, диск которой не удалишь на время.

На сколько я понял, в QEMU-KVM версии 0.14 появилась команда block_resize, позволяющая перечитать геометрию диска. Попробую, когда поставлю эту версию.
Спасибо сказали:
minder
Сообщения: 331
ОС: AIX, Solaris,RHEL,SLES,Gentoo

Re: Resize guest disk online

Сообщение minder »

landgraf писал(а):
19.05.2011 21:41
use dd and google


dd для образов диска, а не для LVM. Тем более, все равно необходимо дать команду QEMU перечитать размер образа.
Спасибо сказали:
Аватара пользователя
Bluetooth
Сообщения: 4395
Статус: Блюзовый
ОС: Debian Squeeze amd64

Re: Resize guest disk online

Сообщение Bluetooth »

minder писал(а):
21.05.2011 18:28
нет. ситуация не позволяет рамонтировать ФС в гостевой машине. Примером может служить хотя бы кореневая ФС, диск которой не удалишь на время.

А что, требуется именно корень расширить? Я на практике такой ситуации не помню. Когда разбивка грамотная, для увеличения объема достаточно остановить только 1 сервис. При этом остановку можно сократить до 5 секунд, автоматизировав выполнение всех команд. Во многих случаях 5 секунд простоя ни на что не повлияют.
На сколько я понял, в QEMU-KVM версии 0.14 появилась команда block_resize, позволяющая перечитать геометрию диска. Попробую, когда поставлю эту версию.
Отпишитесь потом - мне тоже интересно, как это работает :)
Спасибо сказали:
minder
Сообщения: 331
ОС: AIX, Solaris,RHEL,SLES,Gentoo

Re: Resize guest disk online

Сообщение minder »

Bluetooth писал(а):
22.05.2011 02:30
minder писал(а):
21.05.2011 18:28
нет. ситуация не позволяет рамонтировать ФС в гостевой машине. Примером может служить хотя бы кореневая ФС, диск которой не удалишь на время.

А что, требуется именно корень расширить? Я на практике такой ситуации не помню. Когда разбивка грамотная, для увеличения объема достаточно остановить только 1 сервис. При этом остановку можно сократить до 5 секунд, автоматизировав выполнение всех команд. Во многих случаях 5 секунд простоя ни на что не повлияют.
На сколько я понял, в QEMU-KVM версии 0.14 появилась команда block_resize, позволяющая перечитать геометрию диска. Попробую, когда поставлю эту версию.
Отпишитесь потом - мне тоже интересно, как это работает :)

Попробовал.Версия QEMU-KVM 0.14.1. К сожалению, работает только для образов, а не для LVM. Сама пытается расширить файл-образа диска и перечитать размер.

Бывает, что и разбивка не грамотная, бывает, что и сервис критичный и его нельзя останавливать.
Спасибо сказали:
Аватара пользователя
Bluetooth
Сообщения: 4395
Статус: Блюзовый
ОС: Debian Squeeze amd64

Re: Resize guest disk online

Сообщение Bluetooth »

minder писал(а):
23.05.2011 17:44
Бывает, что и разбивка не грамотная, бывает, что и сервис критичный и его нельзя останавливать.

Бывает, бывает, не спорю. Я про другое - про то, что, чаще всего, вариант с кратковременным отмонтированием вполне прокатывает.
Спасибо сказали:
Ответить