Virtual Machine (KVM): Difference between revisions
(Still WIP - added Create Server (no GUI)) |
(→Create Server (no GUI): Added "Create Workstation (GUI)", still WIP) |
||
Line 41: | Line 41: | ||
=== Create Server (no GUI) === | === Create Server (no GUI) === | ||
Update paths to reflect where install ISO, and where VM disk files are intended to be | Update paths to reflect where install ISO, and where VM disk files are intended to be. | ||
The <code>--extra-args "console=ttyS0"</code> option allows a local console to be accessed from the host machine (to allow OS install etc before the VM is on a network), though note that it can't be used with <code>--cdrom</code>, so <code>--location</code> has been used instead. | |||
<pre> | <pre> | ||
virt-install \ | virt-install \ | ||
Line 49: | Line 52: | ||
--vcpus=1 \ | --vcpus=1 \ | ||
--os-variant=ubuntu16.04 \ | --os-variant=ubuntu16.04 \ | ||
--network=bridge= | --network=bridge=br0,model=virtio \ | ||
--graphics none \ | --graphics none \ | ||
--disk path=/mnt/md0/kvm/vm/server-name.img,size=20,bus=virtio \ | --disk path=/mnt/md0/kvm/vm/server-name.img,size=20,bus=virtio \ | ||
Line 56: | Line 59: | ||
</pre> | </pre> | ||
=== Create Workstation (GUI) === | |||
<pre> | |||
virt-install \ | |||
--virt-type=kvm \ | |||
--name ubuntu-desktop \ | |||
--ram 2048 \ | |||
--vcpus=1 \ | |||
--os-variant=ubuntu16.04 \ | |||
--cdrom=/mnt/md0/kvm/iso/ubuntu-16.04.3-desktop-amd64.iso \ | |||
--network=bridge=br0,model=virtio \ | |||
--graphics vnc \ | |||
--disk path=/mnt/md0/kvm/vm/ubuntu-desktop.img,size=40,bus=virtio | |||
</pre> | |||
Once the command has got as far as <code>Waiting for installation to complete.</code> you need to connect to the VNC console session, to find the port number to connect on query the config from anothet SSH session connected to the host (typically VNC uses ports starting from 5900 upwards). | |||
virsh dumpxml ubuntu-desktop | grep vnc | |||
[[Category:KVM]] | [[Category:KVM]] |
Revision as of 09:44, 14 February 2018
Prerequisites
This guide assumes you have a basic working environment, run the kvm-ok
command to sanity check...
root@kvm-host:# kvm-ok INFO: /dev/kvm exists KVM acceleration can be used
Install Media
You need to have a local copy of the appropriate ISO. If you have the ISO file already, upload to your KVM server, alternatively download from the site using wget
- Ubuntu Desktop LTS - http://releases.ubuntu.com/16.04.3/ubuntu-16.04.3-desktop-amd64.iso
Create Virtual Machine
Parameter | Example | Usage |
---|---|---|
name |
VM-Name | Name of virtual machine (typically this should match the intended hostname of the VM) |
description |
"Test VM to be used for X" | Description of virtual machine's purpose etc |
os-type |
Linux | OS family, can be Linux, Solaris, Unix or Windows |
os-variant |
ubuntu16.04 | Distribution type for the above (run osinfo-query os to view what is available)
|
ram |
2048 | vRAM in GB |
vcpus |
2 | vCPUs (cores) |
vcpus |
2 | vCPUs (cores) |
disk path |
/vm-store/images/VM-Name.img,bus=virtio,size=50 | Virtual disk path, using virtio bus and with a 50GB disk |
graphics |
none | If noneset, VM will be created with a serial display output (as opposed to VNC window) |
cdrom |
/home/user/cdrom.iso | Path to installation ISO |
network |
bridge:br0 | Network connection details |
Create Server (no GUI)
Update paths to reflect where install ISO, and where VM disk files are intended to be.
The --extra-args "console=ttyS0"
option allows a local console to be accessed from the host machine (to allow OS install etc before the VM is on a network), though note that it can't be used with --cdrom
, so --location
has been used instead.
virt-install \ --virt-type=kvm \ --name server-name \ --ram 1024 \ --vcpus=1 \ --os-variant=ubuntu16.04 \ --network=bridge=br0,model=virtio \ --graphics none \ --disk path=/mnt/md0/kvm/vm/server-name.img,size=20,bus=virtio \ --extra-args "console=ttyS0" \ --location /mnt/md0/kvm/iso/ubuntu-16.04.3-server-amd64.iso
Create Workstation (GUI)
virt-install \ --virt-type=kvm \ --name ubuntu-desktop \ --ram 2048 \ --vcpus=1 \ --os-variant=ubuntu16.04 \ --cdrom=/mnt/md0/kvm/iso/ubuntu-16.04.3-desktop-amd64.iso \ --network=bridge=br0,model=virtio \ --graphics vnc \ --disk path=/mnt/md0/kvm/vm/ubuntu-desktop.img,size=40,bus=virtio
Once the command has got as far as Waiting for installation to complete.
you need to connect to the VNC console session, to find the port number to connect on query the config from anothet SSH session connected to the host (typically VNC uses ports starting from 5900 upwards).
virsh dumpxml ubuntu-desktop | grep vnc