Как мне заставить Xen domU заметить изменение размера блока одного из его phy-устройств?
Я запускаю lvm в моем Xen domU и могу на лету увеличить размер логического тома, а внутри domU я могу на лету увеличить размер файловой системы до размера блочного устройства domU, но без перезапуск domU Я не могу на самом деле обновить размер блочного устройства domU при изменении размера логического тома, на который он указывает.
У кого-нибудь есть подсказка или убедительный обходной путь (тот, который имеет смысл на коробке, где есть несколько доменов?)
2 ответа
Я понимаю, что вы изменяете размер LV, который является блочным устройством DomU. Я не могу найти никакого официального ответа на этот вопрос, но все мои тесты (Xen 3.2, Ubuntu Hardy), чтобы гость распознал, провалились. Мой ответ: не возможно.
Решение (копируйте и вставляйте только с активированным мозгом!):
- Dom0:
sudo lvextend -L+10G /dev/vg/logical-volume
- Dom0:
sudo xm shutdown -w the-domu
- Dom0:
sudo xm create /etc/xen/the-domu.cfg
- DomU:
sudo resize2fs /dev/xvda1
Я не знаю реального способа повторного сканирования ваших дисков в domU без перезагрузки виртуальной машины.
Одним из решений, которое можно использовать, поскольку вы говорите, что используете LVM в своем domU, является изменение размера LV путем присоединения нового блочного устройства к виртуальной машине и изменения размера группы томов вместо простого изменения размера текущего физического тома (PV).
Реализация описанной выше схемы позволит вам подключать новые диски к виртуальной машине, создавать их pvcreate и добавлять в VG.
Чтобы избежать большого количества маленьких подключенных дисков, вы можете попробовать добавить большое блочное устройство, которое также сможет справиться с "pvmove" на ВМ. Это позволит вам переместить данные на новое блочное устройство, запустить "vgreduce", а затем отсоединить блочное устройство от domU.
Недостатком, если вы также используете LVM на dom0, является цепочка LVM->xvd->LVM. Это, вероятно, даст вам небольшую потерю производительности, более сложную в управлении и нетривиальный доступ dom0 к данным в domU (для резервного копирования и т. Д.)