2010/12/2 mop amg <[email protected]>: > Hi, Dear. > I have two questions ask for help: > my virt-manager and libvirt version is : > linux-vaan:~ # rpm -q libvirt > libvirt-0.8.5-1.2.i586 > linux-vaan:~ # uname -a > Linux linux-vaan 2.6.34-12-desktop #1 SMP PREEMPT 2010-06-29 02:39:08 +0200 > i686 i386 GNU/Linux > linux-vaan:~ # rpm -q virt-manager > virt-manager-0.8.5-3.1.i586 > linux-vaan:~ # cat /etc/SuSE-release > openSUSE 11.3 (i586) > VERSION = 11.3 > > virsh # version > Compiled against library: libvir 0.8.5 > Using library: libvir 0.8.5 > Using API: ESX 0.8.5 > Running hypervisor: ESX 4.1.0 > > > question 1 : > When I try to create a vmware esxi domain from virsh like this : > create --file /work/dom1.x > there is a error message : > error: Failed to create domain from /work/dom1.xml > error: this function is not supported by the connection driver: > virDomainCreateXML > it seems dosen't support create esxi domain, but the > http://libvirt.org/hvsupport.html show that is supported after ≥ 0.7.0
virDomainCreateXML and virDomainCreate are different. virDomainCreateXML creates a new transient domain and starts it, virDomainCreate starts a persistent domain that has been created using virDomainDefineXML before. A transient domain will automatically go away when it is stopped. A persistent domain won't and has a persistent config stored to disk. ESX(i) doesn't have this transient semantic for it's domains, therefore libvirt can't support virDomainCreateXML for it. In order to create a new ESX(i) domain you need to define it using virDomainDefineXML. In virsh use 'define /work/dom1.x' instead of 'create --file /work/dom1.x' to create a new domain, then use 'start dom1' to start it. > or create via virt-install > > linux-vaan:~ # virt-install > --connect=esx://[email protected]/?no_verify=1 -n rhel5 -r 512 --vcpus=1 > --nodisks bridge=vmk0 --network bridge=vmk0 --pxe > > Enter root's password for 192.168.8.162: > > > > Starting install... > > ERROR this function is not supported by the connection driver: > virDomainCreateXML > > how to fix it ? Unfortunately virt-install doesn't work for ESX(i) yet. One reason is that it uses virDomainCreateXML, but there are some other things that need to be implemented or solved before virt-install will be able to install an ESX(i) guest. > dom1.xml > <domain type='vmware'> > <name>dom1</name> > <memory>524288</memory> > <currentMemory>524288</currentMemory> > <vcpu>1</vcpu> > <os> > <type arch='i686'>hvm</type> > </os> > <clock offset='utc'/> > <on_poweroff>destroy</on_poweroff> > <on_reboot>restart</on_reboot> > <on_crash>destroy</on_crash> > <devices> > <disk type='file' device='disk'> > <source file='[datastore1] rhel5/rhel5_2.vmdk'/> > <target dev='sda' bus='scsi'/> > <address type='drive' controller='0' bus='0' unit='0'/> > </disk> > <controller type='scsi' index='0' model='lsilogic'/> > <interface type='bridge'> > <mac address='00:0c:29:51:f1:1c'/> > <source bridge='VM Network'/> > </interface> > </devices> > </domain> This domain config looks good and should work assuming '[datastore1] rhel5/rhel5_2.vmdk' exists. You can use virsh vol-create to create it if it doesn't. > question 2: > vol-clone failed > > virsh # vol-clone --pool datastore1 rhel5/rhel5.vmdk rhel5/rhel5_2.vmdk > > error: Failed to clone vol from rhel5/rhel5.vmdk > > error: this function is not supported by the connection driver: > virStorageVolCreateXMLFrom > virStorageVolCreateXMLFrom wasn't implemented for ESX(i) until now :) I just implemented it and it'll probably be part of libvirt 0.8.7. Matthias -- libvir-list mailing list [email protected] https://www.redhat.com/mailman/listinfo/libvir-list
