Skip to main content
Version: 5.0

Hypervisor Installation

Requirements

Resources

  • A large /home partition (This is the default location for virtual server data)

Operating Systems

The following operating systems are supported.

Operating Systemx86_64AArch64StatusNotes
Debian 11 (Bullseye)Fully SupportedVirtFusion is built and tested primarily on Debian based systems. This is our preferred choice of hypervisor.
Debian 12 (Bookworm)Fully SupportedVirtFusion is built and tested primarily on Debian based systems. This is our preferred choice of hypervisor.
AlmaLinux 8 (RHEL 8)Fully Supported
AlmaLinux 9 (RHEL 9)Fully Supported
Rocky Linux 8 (RHEL 8)Fully Supported
Rocky Linux 9 (RHEL 9)Fully Supported
Ubuntu 22.04Fully SupportedWe don't recommend Ubuntu unless it supports something that Debian does not (drivers etc...). "I don't know Debian" is not an excuse.
Ubuntu 24.04Fully SupportedWe don't recommend Ubuntu unless it supports something that Debian does not (drivers etc...). "I don't know Debian" is not an excuse.
Important

VirtFusion should be the only application installed on the server. Installing any other applications (i.e. Pterodactyl, cPanel etc...) at hypervisor level is not advised, and may invalidate any support contracts included with your VirtFusion license. It is permitted to install monitoring agents (Netdata, Hetrix Tools etc...).

VirtFusion does not include an uninstaller. If you make a mistake or decide not to use it, you must re-install the operating system to remove it.

Installation

Select your operating system.

Run the following commands as a root SSH user.

x86_64

apt install curl -y
curl https://install.virtfusion.net/install-hypervisor-kvm-debian-11.sh | sh -s -- --verbose

Once the installer has completed, you may add it to the control server.

installer

Network setup

VirtFusion supports Direct, Bridged, Routed, NAT, Open vSwitch Bridged, and Isolated networking.

Important

MacVTap is the default networking used by VirtFusion since v1.7.2 and usually does not require further network setup, however, if you need the ability to filter traffic (IP Spoofing) or firewalls, you should use a bridged or routed network.

Very Important

If your intention is to use NAT networking, It's not mandatory to setup any of the below networks. * Continue the installation process here*

MacVTap (direct) networking

MacVTap (direct) is a device driver meant to simplify virtualized bridged networking. It replaces the combination of the tun/tap and bridge drivers with a single module based on the macvlan device driver.

This option has a limitation that you cannot filter traffic and you will lose IP Anti-Hijacking and firewall functionality.

VirtFusion will attempt to detect the primary interface naming, however, it may not be possible. If you have a problem booting servers, it may mean your interface name is incorrect under the hypervisor settings (Network) in VirtFusion. Find eth0 and replace it with correct name for your primary interface.

No further configuration required.

Standard bridge networking

On Debian a standard /etc/network/interfaces file will look similar to this.

auto lo
iface lo inet loopback

auto eth0
iface eth0 inet static
address <IPADDRESS>
gateway <GATEWAY>
netmask <NETMASK>
dns-nameservers <DNS1> <DNS2>

This will need to be modified to the following.

auto lo
iface lo inet loopback

auto eth0
iface eth0 inet manual

auto br0
iface br0 inet static
bridge_ports eth0
address <IPADDRESS>
gateway <GATEWAY>
netmask <NETMASK>
dns-nameservers <DNS1> <DNS2>
bridge_stp off
bridge_waitport 0
bridge_fd 0

Once the bridge is set up, networking will need to be restarted.

systemctl restart networking

Libvirt routed networking

No modification of the main networking configuration is required.

Network configuration

Defining a Libvirt network is reasonably straightforward and should be low maintenance.

Create a file named network.xml with the following contents.


<network>
<name>br0</name>
<forward mode='route' dev="eth0"/>
<bridge name='br0' stp='on' delay='0'/>
<ip address='10.0.0.1' netmask='255.255.255.0'/>
<ip family="ipv6" address="2001:db8:aa::1" prefix="64"/>
</network>
  • If you don't require IPv6 you may remove the family="ipv6" line.
  • Replace eth0 with the device name of the main network.
  • Replace 10.0.0.1 with your own subnet that is to be assigned to the server and the corresponding netmask.
  • If you require IPv6, replace the address with your own subnet and the corresponding prefix.

You may need to install dnsmasq if it's not installed already. You can do so by running apt -y install dnsmasq.

Define the network, set it to autostart and start it.

virsh net-define --file network.xml
virsh net-autostart br0
virsh net-start br0

Network setup is now complete. You should use the main IP of the hypervisor as the gateway for the defined subnet.

Open vSwitch Bridged

Open vSwitch supports multiple VLANS and trunking per virtual server out of the box.

Important

This option has a limitation that you cannot filter traffic and you will lose IP Anti-Hijacking and firewall functionality.

There is currently limited documentation for this network type. See here

Notes

Although it's not advised, you may install a hypervisor directly on the control server. This allows for a single server setup but will restrict the hypervisor to a total of 99 active servers.