KVM
Host
Initial setup
Pre-requisites: qemu-kvm libvirt-clients libvirt-daemon-system bridge-utils virtinst libvirt-daemon qemu-utils.
Add local user to libvirt group adduser user libvirt.
Network setup
Load vhost_net kernel module modprobe vhost_net and add it to /etc/modules.
NAT
Start & autostart virtual network:
virsh net-list --all
virsh net-start default
virsh net-autostart default
Bridge
Comment out the primary interface completely in /etc/network/interfaces:
#iface eno1 ...
Bridge with DHCP server
auto br0
iface br0 inet dhcp
pre-up ip tuntap add dev tap0 mode tap user root
pre-up ip link set tap0 up
bridge_ports all tap0
bridge_stp off
bridge_maxwait 0
bridge_fd 0
post-down ip link set tap0 down
post-down ip tuntap del dev tap0 mode tap
Static bridge (192.168.1.10 == host address)
auto br0
iface br0 inet static
pre-up ip tuntap add dev tap0 mode tap user root
pre-up ip link set tap0 up
bridge_ports eno1 tap0
address 192.168.1.10
broadcast 192.168.1.255
netmask 255.255.255.0
gateway 192.168.1.1
dns-nameservers 8.8.8.8
bridge_stp off
bridge_maxwait 0
bridge_fd 0
post-down ip link set tap0 down
post-down ip tuntap del dev tap0 mode tap
Guest
Windows server + HP ROK (HPE OEM Microsoft Windows Server Reseller Option Kit)
Run dmidecode -t system on the host and note the following fields:
- Product Name
- Serial Number
- UUID
- SKU Number
- Family
Add smbios section (under the domain root element before the os tag)
<sysinfo type="smbios">
<bios>
<entry name="vendor">HPE</entry>
</bios>
<system>
<entry name="manufacturer">HPE</entry>
<entry name="product">PRODUCT_NAME</entry>
<entry name="serial">SERIAL_NUMBER</entry>
<entry name="uuid">UUID</entry>
<entry name="sku">SKU_NUMBER</entry>
<entry name="family">FAMILY</entry>
</system>
</sysinfo>
and restart the guest.
Guest additions
Ping the guest:
virsh qemu-agent-command DOMAIN '{"execute":"guest-ping"}'
Client
Pre-requisites: virt-manager gir1.2-spiceclientgtk-3.0.