Vagrant/Virtualbox not working on Debian 11

I followed Debian.org’s instructions to install Virtualbox, which while installing tells me Failed to start LSB: VirtualBox Linux kernel module. Other forums suggest disabling secure boot; mine’s already disabled. I have DKMS. I’m not a super beginner to Linux but I do seem to run into seemingly random issues. I plan to run multiple Cardono nodes in these VMs. Maybe it’d be better to use Docker/Podman but I’m not as familiar with them. sudo systemctl status virtualbox shows failed.

If you want to run multiple virtual machines on Debian, I would recommend KVM rather than VirtualBox.

You may want to have the virtual machines communicate over their own virtual network so you probably want bridge-utils package

apt install bridge-utils

Installing kvm on debian is quite easy and works pretty much out of the box

Check first that your hardware virtualisation extensions are enabled:

grep --color --perl-regexp 'vmx|svm' /proc/cpuinfo

egrep -c '(vmx|svm)' /proc/cpuinfo

Install kvm tools

apt install --no-install-recommends qemu-kvm libvirt-clients libvirt-daemon-system virtinst

On a secure server you will only want the stuff you need and not a graphical interface. Hence the above “–no-install-recommends” so apt doesn’t try to install gnome and all its boatload of dependencies. If you are just experimenting on your own PC then you can remove that switch if you want to pull in the graphical tools for installing and configuring virtual machines.

If you are looking to run a stake pool then you need to strongly consider security. You need to have a well written firewall preferably using nftables. You will also need to setup networking so that the host machine acts as a router with packet forwarding enabled.

There are lots of well written tutorials on how to setup and configure kvm virtual machines on Debian.

1 Like

Update: finally found an article with the right ‘install’ list, but now after uncommenting the public network from the Vagrantfile and running vagrant up I’m getting

Bringing machine 'default' up with 'libvirt' provider...
There are errors in the configuration of this machine. Please fix
the following errors and try again:

Libvirt Provider:
* network configuration 0 for machine default is a public_network referencing host device '' which does not exist, consider adding ':dev => ....' referencing one of 

Old post:

After running vagrant plugin install vagrant-libvirt from here I get

Vagrant failed to install the requested plugin because it depends
on a library which is not currently installed on this system. The
following library is required by the 'vagrant-kvm' plugin:

  libvirt

Please install the library and then run the command again.

Debian doesn’t have libvirt but vagrant plugin install libvirt shows

Installing the 'libvirt' plugin. This can take a few minutes...
Vagrant failed to properly resolve required dependencies. These
errors can commonly be caused by misconfigured plugin installations
or transient network issues. The reported error is:

conflicting dependencies ffi (~> 0.6.3) and ffi (= 1.15.5)
  Activated ffi-1.15.5
  which does not match conflicting dependency (~> 0.6.3)

  Conflicting dependency chains:
    ffi (= 1.15.5), 1.15.5 activated

  versus:
    libvirt (> 0), 0.1.0 activated, depends on
    ffi (~> 0.6.3)

If you are not a super beginner, getting started with Docker shouldn’t be that much of a problem.

Alternative could also be to not use virtualisation at all, but let the same binaries run on the host machine with different configurations, ports, data directories, … Pro: Less resources (playing around a bit, you could maybe even share the huge blockchain database, at least the non-volatile part), less complexity that has nothing to do with Cardano, but only with the chosen virtualisation. Con: Harder to get security isolation (although that’s also not trivial with virtualisation solutions), probably even less documentation on how to do it.

That’s what I should do but insufficient documentation’s a real pain. I guess most pool admins are using cloud providers, no? Maybe I should just use those and stick to free tiers for now. One day there should be a zero to hero guide on all this.