I recently bought and setup a Asrock DeskMini with a i5 6400 (will take any desktop S1151 65W CPU), 16GB RAM and an SSDs to act as a KVM/ QEMU host at home. At some point I’ll share the end-to-end setup, but for now suffice to say I am really happy with this very flexible and tiny box of computing power!
I did however want to share some useful VM setup and management commands I have been using, some useful background information:
- Host O/S Ubuntu Server 16.10 – with “Virtual Machine host” option select at install time.
- Network configuration as below
apt-get install -y bridge-utils cat /etc/network/interfaces # The loopback network interface auto lo iface lo inet loopback # The primary network interface auto br0 iface br0 inet static address 192.168.1.240 netmask 255.255.255.0 broadcast 192.168.1.255 gateway 192.168.1.1 dns-nameserver 192.168.1.1 bridge_ports enp0s31f6 bridge_stp off bridge_fd 0
- Storage layout as below:
sdb ├─sdb4 /var/kvm/images ├─sdb2 [SWAP] ├─sdb3 part / └─sdb1 part /boot/efi
Install virtinst:
apt-get install virtinst
Create directories to store vhd files and iso files used for installing VMs
mkdir -p /var/kvm/images/vm mkdir -p /var/kvm/images/iso
Creating New Virtual Machines
Ubuntu Server 16.04 LTS (from an ISO)
First download Ubuntu server 16.04 LTS ISO:
cd /var/kvm/images/iso wget http://releases.ubuntu.com/16.04.1/ubuntu-16.04.1-server-amd64.iso
Create the virtual machine – requires the use of sudo – this machine will have 4 vCPUs, 4GB RAM and a 32GB vhd.
virt-install \ --virt-type=kvm \ --hvm \ --name vlinux1 \ --ram 4096 \ --disk path=/var/kvm/images/vm/vlinux1.qcow2,size=32,bus=virtio,format=qcow2 \ --vcpus=4 \ --os-type linux \ --os-variant ubuntu16.04 \ --network bridge=br0 \ --graphics vnc,listen=0.0.0.0 \ --noautoconsole \ --console pty,target_type=serial \ --cdrom /var/kvm/images/iso/ubuntu-16.04.1-server-amd64.iso
Complete the installation using TightVNC (or another VNC client) to connect via <kvmhostip>:59000
Once completed, the virtual machine will shutdown. Once shutdown the VNC graphics will no longer function, even when you restart the mahcine.
You can configure persistent VNC-based graphics by modifying the XML file associated with the virtual machine – stored under /etc/libvirt/qemu/
vi /etc/libvirt/qemu/vlinux1.xml # Now remove all lines relating to <graphics> and replace with single line as below: <graphics type='vnc' port='-1' autoport='yes' listen='0.0.0.0'/>
When you start the machine, you’ll be able to reconnect via VNC. The port number automatically increments for every VM configured like this – based on the order in which the machines start up/ are started up.
Managing Virtual Machines
Use virsh to manage and configure VMs – examples below – all require the use of sudo.
# List powered-on / running virtual machines virsh list --all # Start / power-on virtual machine "vlinux1" virsh start vlinux1 # Reset virtual machine "vlinux1" virsh reset vlinux1 # Hard power-off virtual machine "vlinux1" virsh destory vlinux1 # Shutdown virtual machine "vlinux1" virsh shutdown vlinux1 # Remove from inventory virtual machine "vlinux1" virsh undefine vlinux1 # Set power-on at host start-up for virtual machine "vlinux1" virsh autostart vlinux1 # Display VM information for virtual machine "vlinux1" virsh dominfo vlinux1
One reply on “Creating and Managing VMs in Ubuntu Server 16.10”
Hi,
I am getting this error while creating VM.
ERROR Host does not support virtualization type ‘hvm’