2013-03-06 6 views
1

Я пытаюсь создать kvm, используя libvirt api, используя java. проблема, с которой я сталкиваюсь, заключается в том, что мне нужно устройство (файл изображения (например: kvm.img)). Я использую .xml-файл для создания kvm с помощью libvirt api и java. Теперь то, что я делаю, это создание файла .img с использованием qemu-img create from terminal. qemu-img create /var/lib/libvirt/images/kvm.img 10G это код, я использую и в XML для создания КМК я уже <source file='var/lib/libvirt/images/kvm.img'/>Создание файла .img из .xml файла для создания kvm в ubuntu с использованием libvirt api и java

Теперь мне нужно знать, есть ли способ в Libvirt API для создания .img файла бушель передавая файл XML, и мне нужно знать о файл XML (создать IMG-файл) слишком

Я использую Libvirt файл 1,0

XML, который я использую для создания КМК является: <domain type='kvm'><name>ft</name><memory>131072</memory><currentMemory>131072</currentMemory><vcpu>1</vcpu><os><type arch='x86_64' machine='pc-0.12'>hvm</type><boot dev='hd'/></os><features><acpi/></features> <clock offset='utc'/> <on_poweroff>destroy</on_poweroff><on_reboot>restart</on_reboot><on_crash>destroy</on_crash> <devices><emulator>/usr/bin/kvm</emulator><disk type='file' device='disk'><source file='var/lib/libvirt/images/ft.img'/><target dev='hda' bus='ide'/></disk><interface type='network'><mac address='52:54:00:8b:08:dd'/><source network='default'/><model type='virtio'/></interface><input type='mouse' bus='ps2'/><graphics type='vnc' port='-1' autoport='yes' listen='127.0.0.1'/><video><model type='cirrus' vram='9216' heads='1'/> </video></devices></domain>

в Java я с помощью Libvirt Metod в Domain createVm = con.domainCreateXML(str, 0); s str Я прохожу xml string

+0

Пожалуйста, покажите свой код, что вы пытались, и как он не сработал. Без этого мы не сможем сделать слишком много, но желаем вам удачи ... – ppeterka

+0

спасибо за ваш ответ ... –

+0

@ppeterka Я добавил файл xml и метод, который использовал в моем post.please check and reply soom. –

ответ

0

Создание файла образа из API libvirt, потому что именно qemu заботится о реальном дисководе. Технически дисковое устройство VM может быть сырым файлом изображения, например * .img, или устройством цикла или устройством хранения, таким как сопоставленная цель iscsi, в то время как libvirt не знает, откуда она взялась.

Таким образом, вам необходимо обрабатывать создание файла виртуального диска самостоятельно. оба qemu-img или dd выполняют эту работу. См. Ответ на этот вопрос question. Если вы просто хотите создать необработанный файл для виртуальной машины KVM, вам просто нужно создать разреженный файл через API файлов Java. см. вопрос Create file with given size in Java, который выполняет ту же работу, что и qemu-img create.