domain — Top Xend VM Guest SXP Configuration Element
(domain { bootloader | bootloader_args | cpus |cpu_time | description | device | features | image | maxmem | memory | name | online_vcpus | on_crash | on_poweroff | on_reboot | on_xend_start | on_xend_stop | shadow_memory | start_time | status | store_mfn | uuid | vcpus })
The top level element of each VM Guest configuration is “(domain)”. It needs several subelements to store all needed data.
Define the program that is used to boot the VM Guest. Paravirtualized
SUSE Linux Enterprise 11 systems use /usr/bin/pygrub
by default.
Example:
(bootloader /usr/bin/pygrub)
Provide additional parameters to the boot loader program. Example:
(bootloader_args -q)
Defines which CPUs are available to a VM Guest. The settings may be changed with xm vcpu-pin. Example:
(cpus ((1 2) (1 2)))
(device { console | pci | vbd | vfb | vif | vkbd | vusb })
All devices that are presented to the VM Guest start with the element “device”
(console { location | protocol | uuid })
Defines the console that can be accessed with xm console
id
.
Defines the connection information for the console of the given
VM Guest. A vfb
device will look like:
(location 'localhost:5901')
(pci { dev | uuid })
Defines the device of a PCI device that is dedicated to the given
VM Guest. The PCI device number is organized as
[[[[
.
domain
]:]bus
]:][slot
][.[func
]]
(dev { bus | domain | func | slot | uuid | vslt })
Defines the path to the PCI device that is dedicated to the given VM Guest.
A PCI device with device number 03:02.1
has the
bus number 0x03
(bus 0x03)
Most computers have only one PCI domain. This is then
0x0
. To check the domain numbers of the PCI
devices, use lspci -D.
(domain 0x0)
A PCI device with device number 03:02.1
has the
function number
(func 0x1)
A PCI device with device number 03:02.1
has the
function number
(slot 0x02)
Unique identifier for this device. Example:
(uuid d33733fe-e36f-fa42-75d0-fe8c8bc3b4b7)
Defines the virtual slot for the PCI device in the VM Guest system.
(vslt 0x0)
(vbd { backend | bootable | dev | mode | protocol | uname | uuid | VDI })
Defines a virtual block device.
All paravirtualized virtual devices are implemented by a “split device driver”. This expression defines the domain that holds the back-end device that the front-end device of the current VM Guest should connect to. Example:
(backend 0)
Defines where the virtual block device really stores its data. See also Section 7.1, “Mapping Physical Storage to Virtual Disks”. Example:
(uname file:/var/lib/xen/images/sles11/disk1)
(vfb { keymap | location | type | uuid | vncunused | xauthority })
The Virtual Frame Buffer (VFB) defines a graphical interface and input device to the VM Guest.
Defines where to access the virtual frame buffer device when using
VNC. By default, the server will listen to
localhost
and port number 5900+N where N is the ID
of the VM Guest. Example:
(location localhost:5900)
Defines whether to use VNC
or
SDL
. VNC will only provide a server that has to be
connected from a client. SDL provides a display that is started on
creation of the VM Guest. Example:
(type vnc)
Unique identifier for the current virtual frame buffer device. Example:
(uuid 39eb88bb-9ce6-d329-73fd-811681e6b536)
(vif { backend | bridge | mac | model | script | uuid })
The virtual interface definition is used to create and set up virtual network devices. To list, add, or remove network interfaces during runtime, you can use xm with the commands network-list, network-attach, and network-detach.
Defines the back-end domain that is used for paravirtualized network interfaces. Example:
(backend 0)
Defines the bridge where the virtual network interface should connect to. Example:
(bridge br0)
Defines the mac address of the virtual network interface. The mac
addresses reserved for Xen virtual network interfaces look like
00:16:3E:xx:xx:xx
. Example:
(mac 00:16:3e:32:e7:81)
When using emulated IO, this defines the network interface that should be presented to the VM Guest. See also Section 6.2, “Network Devices for Guest Systems”. Example:
(model rtl8139)
(vkbd { backend })
Defines a virtual keyboard and mouse device. This is needed for
paravirtualized VM Guest systems and must be defined before
vfb
devices.
(vusb { backend | num-ports | usb-ver | port-? })
Defines a virtual USB controller for the VM Guest. This is needed before any USB device can be assigned to the guest.
Defines the number of ports that the virtual USB host controller provides for the VM Guest. Example:
(num-ports 8)
(image { linux | HVM })
This is the container for the main machine configuration. The actual
image type is either Linux
or HVM
for fully virtualized guests. HVM is only available if your computer
supports VMX and also activates this feature during boot.
(linux { args | device_model | kernel | notes })
The linux
image definition is used for
paravirtualized Linux installations.
When booting a kernel from the image definition,
args
defines extra boot parameters for the
kernel. Example:
(args ' sax2=1')
The device model used by the VM Guest. This defaults to qemu-dm. Example:
(device_model /usr/lib/xen/bin/qemu-dm)
(hvm { acpi | apic | boot | device_model | extid | guest_os_type | hap | hpet | isa | kernel | keymap | loader | localtime | monitor | nographic | notes | pae | pci | rtc_timeoffset | serial | stdvga | timer_mode | usb | usbdevice | vnc | vncunused | xauthority })
The HVM
image definition is used for all fully
virtualized installations.
Defines if ACPI (Advanced Configuration and Power Interface) functionality should be available to the VM Guest. Example:
(acpi 1)
Defines if ACPI (Advanced Programmable Interrupt Controller) functionality should be available to the VM Guest. Example:
(apic 1)
The device model used by the VM Guest. This defaults to qemu-dm. Example:
(device_model /usr/lib/xen/bin/qemu-dm)
Defines whether a guest should use Hyper-V extensions. Only applies to guests types that support Hyper-V. Example:
(extid 1)
Defines the guest operating system type. Allowed values are
default
, linux
, and
windows
. Currently, this has only an effect
on Itanium systems. Example:
(guest_os_type default)
Defines if hardware assisted paging should be enabled. Enabled with
value 1
, disabled with value 0
.
Example:
(hap 1)
Defines if the emulated multimedia timer hpet
should be activated. Enabled with value 1
, disabled
with value 0
. Example:
(hpet 0)
Defines the path to the kernel image this VM Guest should boot. Defaults to no image. Example:
(kernel )
Defines if the device model (for example, qemu-dm) should use monitor. Use Ctrl+Alt+2 in the VNC viewer to connect to the monitor. Example:
(monitor 0)
Displays several settings and features available to the current VM Guest. Example:
(notes (SUSPEND_CANCEL 1))
(pciBus
:Slot
.Function
Add a given PCI device to a VM Guest. This must be supported by the hardware and can be added multiple times. Example:
(pci 03:02.1)
Defines the offset between local time and hardware clock. Example:
(rtc_timeoffset 3600)
Defines Domain0 serial device that will be connected to the hvm
VM Guest. To connect /dev/ttyS0
of Domain0 to the
HVM VM Guest, use:
(serial /dev/ttyS0)
Defines if the timer should be delayed when ticks are missed or if the
real time should always be used. 0
delays the
virtual time, 1
always uses the real time.
(timer_mode 0)
Defines how much memory in MB can be assigned to the VM Guest while running. Example:
(maxmem 1024)
(on_crash { coredump-destroy | coredump-restart | destroy | preserve | rename-restart | restart })
Defines the behavior after a domain exits because of a “crash”.
Dumps the core of the VM Guest before destroying it. Example:
(on_crash coredump-destroy)
Dumps the core of the VM Guest before restarting it. Example:
(on_crash coredump-restart)
In order to clean up a VM Guest with preserve status, it has to be destroyed manually. Example:
(on_crash preserve)
(on_poweroff { destroy | preserve | rename-restart | rename })
Defines the behavior after a domain exits because of a restart. For details about the available parameters, see the section called “on_crash”.
(on_reboot { destroy | preserve | rename-restart | rename })
Defines the behavior after a domain exits because of a reboot. For details about the available parameters, see the section called “on_crash”.
(on_xend_start { destroy | preserve | rename-restart | rename | start })
Defines the behavior when Xend starts. For details about the available parameters, see the section called “on_crash”.
(on_xen_stop { destroy | preserve | rename-restart | rename | shutdown })
Defines the behavior when Xend stops. For details about the available parameters, see the section called “on_crash”.
Define how much shadow pagetable memory in MB is available for the VM Guest. This is needed for fully virtualized VM Guest systems. Example:
(shadow_memory 10)