У меня есть сервер Ubuntu 9.04 с двумя виртуальными машинами. В /etc/libvirt/qemu/machine1.xml два дисковых устройства определены следующим образом:
<devices>
<emulator>/usr/bin/kvm</emulator>
<disk type='file' device='disk'>
<source file='/vserver/machine1/disk0.qcow2'/>
<target dev='hda' bus='ide'/>
</disk>
<disk type='file' device='disk'>
<source file='/vserver/machine1/disk1.qcow2'/>
<target dev='hdb' bus='ide'/>
</disk>
Мне нужно больше места для хранения хотя бы на одном из устройств, и я подумал о добавлении третьего устройства hdc, просто добавив его в том же стиле, что и выше, и реорганизовав структуру монтирования (виртуальные размеры текущих файлов qcow2, к сожалению, ограничены).
Моя проблема в том, что перезагрузка libvirtd и перезапуск виртуальной машины не приводят к появлению нового видимого устройства (проверено с помощью fdisk).
Мне известно о расширении существующего файла qcow2 (преобразование в необработанный формат, добавление / добавление нового, используя что-то вроде gparted) - но только в крайнем случае.
Надеюсь, мне не хватает чего-то очень простого?
Войдите в виртуальную машину и выключите ее.
Создайте новый виртуальный диск.
qemu-img create -f qcow2 /vserver/machine1/disk2.qcow2 $SIZE
Принудительно выключите виртуальную машину.
virsh destroy machine1
Откройте конфигурацию виртуальной машины в редакторе по умолчанию.
virsh edit machine1
Добавьте новый раздел диска, как показано ниже.
<disk type='file' device='disk'>
<source file='/vserver/machine1/disk2.qcow2'/>
<target dev='hdc' bus='ide'/>
</disk>
Закройте ваш редактор. libvirt автоматически перезагрузит конфигурацию.
Запустите виртуальную машину.
virsh start machine1