Take the 2-minute tour ×
Unix & Linux Stack Exchange is a question and answer site for users of Linux, FreeBSD and other Un*x-like operating systems.. It's 100% free, no registration required.

I'm using Virtualbox 4.3.18 on my Arch Linux Host machine and libvirt-bin 1.2.9 on my Ubuntu Server Cloud guest machine. Everytime I try to follow this tutorial I receive the following error when I run virsh:

Command:

virsh -c vbox+ssh://[email protected]/system list --all

Error:

error: failed to connect to the hypervisor
error: internal error: unable to initialize VirtualBox driver API

Someone know how to fix this?

share|improve this question

migrated from serverfault.com Oct 17 '14 at 19:58

This question came from our site for system and network administrators.

    
Can you ssh to the IP address 10.0.3.15 as the user leandro? –  slm Oct 17 '14 at 21:39
    
Yes, I can ssh to his IP. –  Leandro_GS Oct 17 '14 at 23:55

1 Answer 1

Your installation of libvirtd needs to be configured to handle the vbox+ssh connection type. Details on how to do this are covered here, titled: VirtualBox hypervisor driver.

There's a sample domain XML config that you'll need to load into libvirtd so that it knows how to talk to the VirtualBox VM.

excerpt - sample config
<domain type='vbox'>
  <name>vbox</name>
  <uuid>4dab22b31d52d8f32516782e98ab3fa0</uuid>

  <os>
    <type>hvm</type>
    <boot dev='cdrom'/>
    <boot dev='hd'/>
    <boot dev='fd'/>
    <boot dev='network'/>
  </os>

  <memory>654321</memory>
  <vcpu>1</vcpu>

  <features>
    <pae/>
    <acpi/>
    <apic/>
  </features>

  <devices>
    <disk type='file' device='cdrom'>
      <source file='/home/user/Downloads/slax-6.0.9.iso'/>
      <target dev='hdc'/>
      <readonly/>
    </disk>

    <disk type='file' device='disk'>
      <source file='/home/user/tmp/vbox.vdi'/>
      <target dev='hdd'/>
    </disk>

    <disk type='file' device='floppy'>
      <source file='/home/user/tmp/WIN98C.IMG'/>
      <target dev='fda'/>
    </disk>

    <filesystem type='mount'>
      <source dir='/home/user/stuff'/>
      <target dir='my-shared-folder'/>
    </filesystem>

    <!--BRIDGE-->
    <interface type='bridge'>
      <source bridge='eth0'/>
      <mac address='00:16:3e:5d:c7:9e'/>
      <model type='am79c973'/>
    </interface>

    <!--NAT-->
    <interface type='user'>
      <mac address='56:16:3e:5d:c7:9e'/>
      <model type='82540eM'/>
    </interface>

    <sound model='sb16'/>

    <parallel type='dev'>
      <source path='/dev/pts/1'/>
      <target port='0'/>
    </parallel>

    <parallel type='dev'>
      <source path='/dev/pts/2'/>
      <target port='1'/>
    </parallel>

    <serial type="dev">
      <source path="/dev/ttyS0"/>
      <target port="0"/>
    </serial>

    <serial type="pipe">
      <source path="/tmp/serial.txt"/>
      <target port="1"/>
    </serial>

    <hostdev mode='subsystem' type='usb'>
      <source>
        <vendor id='0x1234'/>
        <product id='0xbeef'/>
      </source>
    </hostdev>

    <hostdev mode='subsystem' type='usb'>
      <source>
        <vendor id='0x4321'/>
        <product id='0xfeeb'/>
      </source>
    </hostdev>
  </devices>
</domain>

Save this to a file, say my.xml, on your system and then use virsh to import it.

$ virsh create my.xml

NOTE: You'll also need the libvirt daemon driver installed. On Fedora 20 it's in a package called: libvirt-daemon-driver-vbox. You'll need libvirt-daemon along with the interface, libvirt-daemon-driver-interface. I would assume there are similar packages that provide these on ArchLinux.

References

KVM/Virsh - Ubuntu documentation

share|improve this answer
    
I couldn't find any of this packages for Arch and Ubuntu. –  Leandro_GS Oct 17 '14 at 23:54
    
Their names will likely be different. Relax your searches using pacman. Look for libvirt. –  slm Oct 18 '14 at 0:05
    
There are only 3 packages: libvirt, libvirt-glib and libvirt-python –  Leandro_GS Oct 18 '14 at 0:30
    
@Leandro_GS - Then you may not be able to make use of libvirt on Arch if it doesn't have these packages. You cannot do what you want without the vbox driver for libvirt. –  slm Oct 18 '14 at 0:39
    
Looks like these packages are all included on "libvirt" package. libvirt is a virtualization API and a daemon for managing virtual machines (VMs) -- remote or locally, using multiple virtualization back-ends (QEMU/KVM, VirtualBox, Xen, etc), communally called hypervisors . –  Leandro_GS Oct 18 '14 at 0:41

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.