On 8/4/21 8:51 AM, Yuva Raj wrote: > Hi Team, > > I am new to the Qemu/KVM, libvirt and these technologies. > Hypervisor is running on linux kernel with libvirtd version 1.3.2. > I am trying to spawn LXC ubuntu(21.04) container using virsh -c lxc:// > commands on the hypervisor and ubuntu container is running now. > On the ubuntu 21.04 container, I have installed debian "libvirt-clients" > package to use the virsh utility. > > Updated the /etc/libvirt/libvirt.conf with to the hypervisor Qemu URI. > When I run virsh commands without URI, observing below error > root@host:~# virsh list > error: failed to connect to the hypervisor > error: Failed to connect socket to '/var/run/libvirt/libvirt-sock': No such > file or directory
This means that you have no daemon running, which is not surprising because IIUC you are running virsh from within the container and it's not configured to share /var/run/libvirt with the host. > > root@host:~# virsh -c <Qemu URI> list > Id Name State > ------------------------- > 2 VM running > > If I execute the virsh commands without "-c" option, then ubuntu 21.04 > container would display the VM's running as same as hypervisor. > Could you please help to manage this on the LXC ubuntu container? So the problem is that plain virsh without any -c argument doesn't connect to LXC driver? By default, virsh uses UNIX sockets to connect to daemon. This can be overridden and another transport layer can be used (e.g. TCP), it's documented here: https://libvirt.org/uri.html For UNIX sockets to work you will need to share the directory with UNIX sockets between container and the host. Alternatively, you can try some other transport. Michal