Hi everyone,

I am creating VM on Centos as a host and Ubuntu as VM , using KVM and Libvirt manger ..

When i execute following command :

virt-install --connect qemu:///system -n r1u1 -r 2047 --disk vol=rf/r1u1 --disk path=/home/devang/ubuntutest.iso,device=cdrom,bus=ide,perms=ro --vnc --noautoconsole os-type linux --os-variant ubuntujaunty --accelerate


I got Error :

Starting install...
internal error unsupported disk type 'vda'
Domain installation may not have been
successful. If it was, you can restart your domain
by running 'virsh start r1u1'; otherwise, please
restart your installation.
ERROR internal error unsupported disk type 'vda'
Traceback (most recent call last):
File "/usr/sbin/virt-install", line 861, in ?
main()
File "/usr/sbin/virt-install", line 759, in main
start_time, guest.start_install)
File "/usr/sbin/virt-install", line 814, in do_install
dom = install_func(conscb, progresscb, wait=(not wait))
File "/usr/lib/python2.4/site-packages/virtinst/", line 541, in start_install
return self._do_install(consolecb, meter, removeOld, wait)
File "/usr/lib/python2.4/site-packages/virtinst/", line 633, in _do_install
self.domain = self.conn.createLinux(install_xml, 0)
File "/usr/lib/python2.4/site-packages/", line 974, in createLinux
if ret is None:raise libvirtError('virDomainCreateLinux() failed', conn=self)
libvirtError: internal error unsupported disk type 'vda'


So any suggestion plz.......

Thanks in advance.......

Dani AI

Generated

The error shown by ("unsupported disk type 'vda'") typically points at a virtio-block device being presented but not supported by the running stack. 's pointer toward missing virtio support is the right direction; the next steps are to confirm whether the host kernel, QEMU/libvirt and the generated domain XML actually match (i.e., whether the disk is being created as a virtio device and the host can back that device).

Basic checks to run on the CentOS host (do these before rebuilding anything):

lsmod | grep virtio
dmesg | egrep -i 'virtio|virtio_blk'
qemu-system-x86_64 --version
virsh --version
# use virt-install --print-xml (or virt-install --dry-run / --print-xml) to inspect the generated domain XML

If the kernel modules are missing, load them and rebuild the initramfs so virtio modules are present early in boot (keep a copy of the current initramfs first). On CentOS 6+/7+ systems use dracut; very old CentOS releases use mkinitrd. After rebuilding the initramfs, reboot the host and re-run the install. Also check libvirt/qemu logs (for older CentOS: /var/log/libvirt/libvirtd.log or /var/log/messages; on newer systems use journalctl -u libvirtd) — the hypervisor log usually reports why it refused the disk configuration.

If adding virtio support is not an option immediately, create the guest using a non-virtio bus as a workaround (explicitly set the disk bus to ide or scsi when creating the VM) so the installer can run and later switch to virtio once drivers are present. Finally, capture and inspect the generated XML (via virt-install --print-xml) and libvirt logs if the problem persists — those pieces show whether the disk element is being created with a virtio target (vda) and why the backend rejected it.

Hi Devang,
I think the virtio modules for the block device is not loaded. Another user faced a similar issue
The same thing has also been mentioned in the last section
Backup your initrd before updating it. You will need to reboot the system to test this.
Good luck !

Be a part of the DaniWeb community

We're a friendly, industry-focused community of developers, IT pros, digital marketers, and technology enthusiasts meeting, networking, learning, and sharing knowledge.