Я пытаюсь добавить диск на основе файлов к работающему виртуальному серверу KVM. Я создал новый диск с нуля, используя команду
dd of=/home/cloud/vps_59/test.img bs=1 seek=5G count=0
и я надеялся получить горячее добавление к гостю, выполнив это в оболочке virsh:
virsh # attach-disk vps_59 /home/cloud/vps_59/test.img \
vdd --driver=file --subdriver=raw
XML-определение домена становится:
<disk type='file' device='disk'>
<driver name='qemu' type='raw'/>
<source file='/home/cloud/vps_59/root.img'/>
<target dev='vda' bus='virtio'/>
</disk>
<disk type='file' device='disk'>
<driver name='file' type='raw'/>
<source file='/home/cloud/vps_59/test.img'/>
<target dev='vdd' bus='virtio'/>
</disk>
Как видите, имя драйвера становится неправильным, оно должно быть driver name='qemu'
как существующий vda
диск. Я пытался с, --drive=qemu
но он утверждает, что это не поддерживается.
Во-вторых, я только «вижу» только что добавленный диск, как только перезагружаю виртуальную машину с Ubuntu 10.04.4 LTS. Как я могу сделать диск "горячим подключением"? Я хочу, чтобы виртуальная машина «увидела» новый диск сразу же без перезагрузки.
virtualization
virtual-machines
storage
kvm-virtualization
libvirt
Даниэле Теста
источник
источник
qemu-img
вместоdd
- его аргументы более естественны и делают то же самое:qemu-img create test.img 5G
Ответы:
Я хотел бы начать с примечания, которое вы должны избегать
virsh attach-disk
с его ограниченным количеством опций. Вместо этого я бы предложил указать точный формат диска, который вы предпочитаете, в отдельном временном XML-файле или с помощью приложения с графическим интерфейсом virt-manager (для последнего пропустите первый шаг).Создайте временный файл с определением диска, как показано ниже.
настроить свойства в соответствии с вашей ситуацией
Совет: загляните в свою текущую конфигурацию домена XML и скопируйте
<disk>
оттуда раздел.Теперь, прежде чем добавлять диск в текущий домен, убедитесь, что необходимые модули ядра hotplug загружены в гостевую систему.
Некоторые дистрибутивы Linux, такие как недавние CentOS / RHEL / Fedora, имеют встроенное ядро. В этом случае проверьте
CONFIG_HOTPLUG_PCI_ACPI
. Если это такy
, то все готово, и вы можете пропустить этот шаг.Попробуйте добавить эти два модуля,
/etc/modules
если вы хотите, чтобы они загружались при загрузке по умолчанию.Добавьте диск к работающей виртуальной машине, используя
При желании добавьте
--persistent
возможность, чтобы Libvirt обновлял определение XML домена «постоянный».Наконец, проверьте в гостевой системе, был ли диск действительно вставлен «горячим» подключением. Ядро должно быть запущено, что можно проверить с помощью
dmesg
:В приведенном выше примере я добавил диск как
vdb
с двумя разделами в таблице разделов.Ссылки
источник
--persistent
чтобы эта конфигурация не терялась при отключении виртуальной машины?