|
NAMExl-disk-configuration - XL Disk Configuration SyntaxSYNTAXThis document specifies the xl config file format disk configuration option. It has the following form:disk = [ 'DISKSPEC', 'DISKSPEC', ... ] where each "DISKSPEC" is in this form: [<key>=<value>|<flag>,]*, [<target>, [<format>, [<vdev>, [<access>]]]], [<key>=<value>|<flag>,]* [target=<target>] For example, these strings are equivalent: /dev/vg/guest-volume,,hda /dev/vg/guest-volume,raw,hda,rw format=raw, vdev=hda, access=rw, target=/dev/vg/guest-volume raw:/dev/vg/guest-volume,hda,w (deprecated, see below) As are these: /root/image.iso,,hdc,cdrom /root/image.iso,,hdc,,cdrom /root/image.iso,raw,hdc,devtype=cdrom format=raw, vdev=hdc, access=ro, devtype=cdrom, target=/root/image.iso raw:/root/image.iso,hdc:cdrom,ro (deprecated, see below) These might be specified in the domain config file like this: disk = [ '/dev/vg/guest-volume,,hda', '/root/image.iso,,hdc,cdrom' ] More formally, the string is a series of comma-separated keyword/value pairs, flags and positional parameters. Parameters which are not bare keywords and which do not contain "=" symbols are assigned to the so-far-unspecified positional parameters, in the order below. The positional parameters may also be specified explicitly by name. Each parameter may be specified at most once, either as a positional parameter or a named parameter. Default values apply if the parameter is not specified, or if it is specified with an empty value (whether positionally or explicitly). Whitespace may appear before each parameter and will be ignored. Positional Parameters
Other Parameters And Flags
Specifies the backend domain which this device should attach to. This defaults to domain 0. Specifying another domain requires setting up a driver domain which is outside the scope of this document.
This does not affect the guest's view of the device. It controls which software implementation of the Xen backend driver is used. Not all backend drivers support all combinations of other options. For example, "phy" does not support formats other than "raw". Normally this option should not be specified, in which case libxl will automatically determine the most suitable backend.
There is a memory lifetime bug in some driver domain (dom0) kernels which can cause crashes when using O_DIRECT. The bug occurs due to a mismatch between the backend-visible lifetime of pages used for the Xen PV network protocol and that expected by the backend kernel's networking subsystem. This can cause crashes when using certain backends with certain underlying storage. See: <https://lists.xenproject.org/archives/html/xen-devel/2012-12/msg01154.html> For this reason, (this version of) the Xen libxl toolstack disables O_DIRECT when using the qemu-based Xen PV backend ("qdisk"). However, this workaround has performance and scaling implications, and it is only necessary if the underlying device is a network filesystem. If the underlying device is not, then it is good to disable it; that is what this option is for. This option simply requests that the workaround be disabled. (However, not all backends versions which use the workaround understand this option, so this is on a best effort basis.) It's important to note that if you are storing the VM disk on a network filesystem or a network block device (NFS or ISCSI) it might not be safe to use this option. Otherwise specifying it is safe and can give better performances. If in the future the bug is fixed properly this option will then be silently ignored.
An advisory setting for the backend driver, specifying whether to advertise discard support (TRIM, UNMAP) to the frontend. The real benefit of this option is to be able to force it off rather than on. It can be used to disable "hole punching" for file based backends which were intentionally created non-sparse to avoid fragmentation of the file. COLO Parameters
Deprecated Parameters, Prefixes And SyntaxesDeprecated forms are acceptable and are intended work compatibly with xend and xl from xen 4.1. In future they may print a warning. Support for deprecated parameters and syntaxes are likely to be dropped in future versions of xl.There is support for a deprecated old syntax for "DISKSPEC": [<format>:][<target>],<vdev>[:<devtype>],<access> (deprecated) This syntax also supports deprecated prefixes, described below. These are found prepended to the format parameter - eg "tap:aio:qcow:".
In xend and old versions of libxl it was necessary to specify the format with a prefix. For compatibility, these three prefixes are recognised as specifying the corresponding format. They are equivalent to "format=FORMAT" or the specification of format (without a colon) as a positional parameter.
In xend and old versions of libxl it was necessary to specify the "script" (see above) with a prefix. For compatibility, these four prefixes are recognised as specifying the corresponding script. They are equivalent to "script=block-SCRIPT".
Various prefixes were required by xend and older versions of libxl to make the block devices work. In some cases these options would override the backend type, but in other cases they would be ignored in favour of "making it work"; in yet other cases it would be necessary to specify several of these, for example: tap:aio:/some/path... All of these prefixes are now stripped and ignored. Missing format and empty targetThe following syntax is also supported:,<vdev>:<devtype>,<access> (deprecated) This is solely for compatibility with xend's syntax for empty cdroms, which is (for example) ",hdc:cdrom,r".
Visit the GSP FreeBSD Man Page Interface. |