source: npl/virt/libvirt_conf/root/etc/libvirt/qemu.conf @ c5c522c

gcc484ntopperl-5.22
Last change on this file since c5c522c was c5c522c, checked in by Edwin Eefting <edwin@datux.nl>, 8 years ago

initial commit, transferred from cleaned syn3 svn tree

  • Property mode set to 100644
File size: 19.1 KB
Line 
1# Master configuration file for the QEMU driver.
2# All settings described here are optional - if omitted, sensible
3# defaults are used.
4
5# VNC is configured to listen on 127.0.0.1 by default.
6# To make it listen on all public interfaces, uncomment
7# this next option.
8#
9# NB, strong recommendation to enable TLS + x509 certificate
10# verification when allowing public access
11#
12#vnc_listen = "0.0.0.0"
13
14# Enable this option to have VNC served over an automatically created
15# unix socket. This prevents unprivileged access from users on the
16# host machine, though most VNC clients do not support it.
17#
18# This will only be enabled for VNC configurations that do not have
19# a hardcoded 'listen' or 'socket' value. This setting takes preference
20# over vnc_listen.
21#
22#vnc_auto_unix_socket = 1
23
24# Enable use of TLS encryption on the VNC server. This requires
25# a VNC client which supports the VeNCrypt protocol extension.
26# Examples include vinagre, virt-viewer, virt-manager and vencrypt
27# itself. UltraVNC, RealVNC, TightVNC do not support this
28#
29# It is necessary to setup CA and issue a server certificate
30# before enabling this.
31#
32#vnc_tls = 1
33
34
35# Use of TLS requires that x509 certificates be issued. The
36# default it to keep them in /etc/pki/libvirt-vnc. This directory
37# must contain
38#
39#  ca-cert.pem - the CA master certificate
40#  server-cert.pem - the server certificate signed with ca-cert.pem
41#  server-key.pem  - the server private key
42#
43# This option allows the certificate directory to be changed
44#
45#vnc_tls_x509_cert_dir = "/etc/pki/libvirt-vnc"
46
47
48# The default TLS configuration only uses certificates for the server
49# allowing the client to verify the server's identity and establish
50# an encrypted channel.
51#
52# It is possible to use x509 certificates for authentication too, by
53# issuing a x509 certificate to every client who needs to connect.
54#
55# Enabling this option will reject any client who does not have a
56# certificate signed by the CA in /etc/pki/libvirt-vnc/ca-cert.pem
57#
58#vnc_tls_x509_verify = 1
59
60
61# The default VNC password. Only 8 bytes are significant for
62# VNC passwords. This parameter is only used if the per-domain
63# XML config does not already provide a password. To allow
64# access without passwords, leave this commented out. An empty
65# string will still enable passwords, but be rejected by QEMU,
66# effectively preventing any use of VNC. Obviously change this
67# example here before you set this.
68#
69#vnc_password = "XYZ12345"
70
71
72# Enable use of SASL encryption on the VNC server. This requires
73# a VNC client which supports the SASL protocol extension.
74# Examples include vinagre, virt-viewer and virt-manager
75# itself. UltraVNC, RealVNC, TightVNC do not support this
76#
77# It is necessary to configure /etc/sasl2/qemu.conf to choose
78# the desired SASL plugin (eg, GSSPI for Kerberos)
79#
80#vnc_sasl = 1
81
82
83# The default SASL configuration file is located in /etc/sasl2/
84# When running libvirtd unprivileged, it may be desirable to
85# override the configs in this location. Set this parameter to
86# point to the directory, and create a qemu.conf in that location
87#
88#vnc_sasl_dir = "/some/directory/sasl2"
89
90
91# QEMU implements an extension for providing audio over a VNC connection,
92# though if your VNC client does not support it, your only chance for getting
93# sound output is through regular audio backends. By default, libvirt will
94# disable all QEMU sound backends if using VNC, since they can cause
95# permissions issues. Enabling this option will make libvirtd honor the
96# QEMU_AUDIO_DRV environment variable when using VNC.
97#
98#vnc_allow_host_audio = 0
99
100
101
102# SPICE is configured to listen on 127.0.0.1 by default.
103# To make it listen on all public interfaces, uncomment
104# this next option.
105#
106# NB, strong recommendation to enable TLS + x509 certificate
107# verification when allowing public access
108#
109#spice_listen = "0.0.0.0"
110
111
112# Enable use of TLS encryption on the SPICE server.
113#
114# It is necessary to setup CA and issue a server certificate
115# before enabling this.
116#
117#spice_tls = 1
118
119
120# Use of TLS requires that x509 certificates be issued. The
121# default it to keep them in /etc/pki/libvirt-spice. This directory
122# must contain
123#
124#  ca-cert.pem - the CA master certificate
125#  server-cert.pem - the server certificate signed with ca-cert.pem
126#  server-key.pem  - the server private key
127#
128# This option allows the certificate directory to be changed.
129#
130#spice_tls_x509_cert_dir = "/etc/pki/libvirt-spice"
131
132
133# The default SPICE password. This parameter is only used if the
134# per-domain XML config does not already provide a password. To
135# allow access without passwords, leave this commented out. An
136# empty string will still enable passwords, but be rejected by
137# QEMU, effectively preventing any use of SPICE. Obviously change
138# this example here before you set this.
139#
140#spice_password = "XYZ12345"
141
142
143# Enable use of SASL encryption on the SPICE server. This requires
144# a SPICE client which supports the SASL protocol extension.
145#
146# It is necessary to configure /etc/sasl2/qemu.conf to choose
147# the desired SASL plugin (eg, GSSPI for Kerberos)
148#
149#spice_sasl = 1
150
151# The default SASL configuration file is located in /etc/sasl2/
152# When running libvirtd unprivileged, it may be desirable to
153# override the configs in this location. Set this parameter to
154# point to the directory, and create a qemu.conf in that location
155#
156#spice_sasl_dir = "/some/directory/sasl2"
157
158
159# By default, if no graphical front end is configured, libvirt will disable
160# QEMU audio output since directly talking to alsa/pulseaudio may not work
161# with various security settings. If you know what you're doing, enable
162# the setting below and libvirt will passthrough the QEMU_AUDIO_DRV
163# environment variable when using nographics.
164#
165#nographics_allow_host_audio = 1
166
167
168# Override the port for creating both VNC and SPICE sessions (min).
169# This defaults to 5900 and increases for consecutive sessions
170# or when ports are occupied, until it hits the maximum.
171#
172# Minimum must be greater than or equal to 5900 as lower number would
173# result into negative vnc display number.
174#
175# Maximum must be less than 65536, because higher numbers do not make
176# sense as a port number.
177#
178#remote_display_port_min = 5900
179#remote_display_port_max = 65535
180
181# VNC WebSocket port policies, same rules apply as with remote display
182# ports.  VNC WebSockets use similar display <-> port mappings, with
183# the exception being that ports start from 5700 instead of 5900.
184#
185#remote_websocket_port_min = 5700
186#remote_websocket_port_max = 65535
187
188# The default security driver is SELinux. If SELinux is disabled
189# on the host, then the security driver will automatically disable
190# itself. If you wish to disable QEMU SELinux security driver while
191# leaving SELinux enabled for the host in general, then set this
192# to 'none' instead. It's also possible to use more than one security
193# driver at the same time, for this use a list of names separated by
194# comma and delimited by square brackets. For example:
195#
196#       security_driver = [ "selinux", "apparmor" ]
197#
198# Notes: The DAC security driver is always enabled; as a result, the
199# value of security_driver cannot contain "dac".  The value "none" is
200# a special value; security_driver can be set to that value in
201# isolation, but it cannot appear in a list of drivers.
202#
203#security_driver = "selinux"
204
205# If set to non-zero, then the default security labeling
206# will make guests confined. If set to zero, then guests
207# will be unconfined by default. Defaults to 1.
208#security_default_confined = 1
209
210# If set to non-zero, then attempts to create unconfined
211# guests will be blocked. Defaults to 0.
212#security_require_confined = 1
213
214# The user for QEMU processes run by the system instance. It can be
215# specified as a user name or as a user id. The qemu driver will try to
216# parse this value first as a name and then, if the name doesn't exist,
217# as a user id.
218#
219# Since a sequence of digits is a valid user name, a leading plus sign
220# can be used to ensure that a user id will not be interpreted as a user
221# name.
222#
223# Some examples of valid values are:
224#
225#       user = "qemu"   # A user named "qemu"
226#       user = "+0"     # Super user (uid=0)
227#       user = "100"    # A user named "100" or a user with uid=100
228#
229#user = "root"
230
231# The group for QEMU processes run by the system instance. It can be
232# specified in a similar way to user.
233#group = "root"
234
235# Whether libvirt should dynamically change file ownership
236# to match the configured user/group above. Defaults to 1.
237# Set to 0 to disable file ownership changes.
238#dynamic_ownership = 1
239
240
241# What cgroup controllers to make use of with QEMU guests
242#
243#  - 'cpu' - use for schedular tunables
244#  - 'devices' - use for device whitelisting
245#  - 'memory' - use for memory tunables
246#  - 'blkio' - use for block devices I/O tunables
247#  - 'cpuset' - use for CPUs and memory nodes
248#  - 'cpuacct' - use for CPUs statistics.
249#
250# NB, even if configured here, they won't be used unless
251# the administrator has mounted cgroups, e.g.:
252#
253#  mkdir /dev/cgroup
254#  mount -t cgroup -o devices,cpu,memory,blkio,cpuset none /dev/cgroup
255#
256# They can be mounted anywhere, and different controllers
257# can be mounted in different locations. libvirt will detect
258# where they are located.
259#
260#cgroup_controllers = [ "cpu", "devices", "memory", "blkio", "cpuset", "cpuacct" ]
261
262# This is the basic set of devices allowed / required by
263# all virtual machines.
264#
265# As well as this, any configured block backed disks,
266# all sound device, and all PTY devices are allowed.
267#
268# This will only need setting if newer QEMU suddenly
269# wants some device we don't already know about.
270#
271#cgroup_device_acl = [
272#    "/dev/null", "/dev/full", "/dev/zero",
273#    "/dev/random", "/dev/urandom",
274#    "/dev/ptmx", "/dev/kvm", "/dev/kqemu",
275#    "/dev/rtc","/dev/hpet", "/dev/vfio/vfio"
276#]
277#
278# RDMA migration requires the following extra files to be added to the list:
279#   "/dev/infiniband/rdma_cm",
280#   "/dev/infiniband/issm0",
281#   "/dev/infiniband/issm1",
282#   "/dev/infiniband/umad0",
283#   "/dev/infiniband/umad1",
284#   "/dev/infiniband/uverbs0"
285
286
287# The default format for Qemu/KVM guest save images is raw; that is, the
288# memory from the domain is dumped out directly to a file.  If you have
289# guests with a large amount of memory, however, this can take up quite
290# a bit of space.  If you would like to compress the images while they
291# are being saved to disk, you can also set "lzop", "gzip", "bzip2", or "xz"
292# for save_image_format.  Note that this means you slow down the process of
293# saving a domain in order to save disk space; the list above is in descending
294# order by performance and ascending order by compression ratio.
295#
296# save_image_format is used when you use 'virsh save' or 'virsh managedsave'
297# at scheduled saving, and it is an error if the specified save_image_format
298# is not valid, or the requested compression program can't be found.
299#
300# dump_image_format is used when you use 'virsh dump' at emergency
301# crashdump, and if the specified dump_image_format is not valid, or
302# the requested compression program can't be found, this falls
303# back to "raw" compression.
304#
305# snapshot_image_format specifies the compression algorithm of the memory save
306# image when an external snapshot of a domain is taken. This does not apply
307# on disk image format. It is an error if the specified format isn't valid,
308# or the requested compression program can't be found.
309#
310#save_image_format = "raw"
311#dump_image_format = "raw"
312#snapshot_image_format = "raw"
313
314# When a domain is configured to be auto-dumped when libvirtd receives a
315# watchdog event from qemu guest, libvirtd will save dump files in directory
316# specified by auto_dump_path. Default value is /var/lib/libvirt/qemu/dump
317#
318#auto_dump_path = "/var/lib/libvirt/qemu/dump"
319
320# When a domain is configured to be auto-dumped, enabling this flag
321# has the same effect as using the VIR_DUMP_BYPASS_CACHE flag with the
322# virDomainCoreDump API.  That is, the system will avoid using the
323# file system cache while writing the dump file, but may cause
324# slower operation.
325#
326#auto_dump_bypass_cache = 0
327
328# When a domain is configured to be auto-started, enabling this flag
329# has the same effect as using the VIR_DOMAIN_START_BYPASS_CACHE flag
330# with the virDomainCreateWithFlags API.  That is, the system will
331# avoid using the file system cache when restoring any managed state
332# file, but may cause slower operation.
333#
334#auto_start_bypass_cache = 0
335
336# If provided by the host and a hugetlbfs mount point is configured,
337# a guest may request huge page backing.  When this mount point is
338# unspecified here, determination of a host mount point in /proc/mounts
339# will be attempted.  Specifying an explicit mount overrides detection
340# of the same in /proc/mounts.  Setting the mount point to "" will
341# disable guest hugepage backing. If desired, multiple mount points can
342# be specified at once, separated by comma and enclosed in square
343# brackets, for example:
344#
345#     hugetlbfs_mount = ["/dev/hugepages2M", "/dev/hugepages1G"]
346#
347# The size of huge page served by specific mount point is determined by
348# libvirt at the daemon startup.
349#
350# NB, within these mount points, guests will create memory backing
351# files in a location of $MOUNTPOINT/libvirt/qemu
352#
353#hugetlbfs_mount = "/dev/hugepages"
354
355
356# Path to the setuid helper for creating tap devices.  This executable
357# is used to create <source type='bridge'> interfaces when libvirtd is
358# running unprivileged.  libvirt invokes the helper directly, instead
359# of using "-netdev bridge", for security reasons.
360#bridge_helper = "/usr/libexec/qemu-bridge-helper"
361
362
363
364# If clear_emulator_capabilities is enabled, libvirt will drop all
365# privileged capabilities of the QEmu/KVM emulator. This is enabled by
366# default.
367#
368# Warning: Disabling this option means that a compromised guest can
369# exploit the privileges and possibly do damage to the host.
370#
371#clear_emulator_capabilities = 1
372
373
374# If enabled, libvirt will have QEMU set its process name to
375# "qemu:VM_NAME", where VM_NAME is the name of the VM. The QEMU
376# process will appear as "qemu:VM_NAME" in process listings and
377# other system monitoring tools. By default, QEMU does not set
378# its process title, so the complete QEMU command (emulator and
379# its arguments) appear in process listings.
380#
381#set_process_name = 1
382
383
384# If max_processes is set to a positive integer, libvirt will use
385# it to set the maximum number of processes that can be run by qemu
386# user. This can be used to override default value set by host OS.
387# The same applies to max_files which sets the limit on the maximum
388# number of opened files.
389#
390#max_processes = 0
391#max_files = 0
392
393
394
395# mac_filter enables MAC addressed based filtering on bridge ports.
396# This currently requires ebtables to be installed.
397#
398#mac_filter = 1
399
400
401# By default, PCI devices below non-ACS switch are not allowed to be assigned
402# to guests. By setting relaxed_acs_check to 1 such devices will be allowed to
403# be assigned to guests.
404#
405#relaxed_acs_check = 1
406
407
408# If allow_disk_format_probing is enabled, libvirt will probe disk
409# images to attempt to identify their format, when not otherwise
410# specified in the XML. This is disabled by default.
411#
412# WARNING: Enabling probing is a security hole in almost all
413# deployments. It is strongly recommended that users update their
414# guest XML <disk> elements to include  <driver type='XXXX'/>
415# elements instead of enabling this option.
416#
417#allow_disk_format_probing = 1
418
419
420# In order to prevent accidentally starting two domains that
421# share one writable disk, libvirt offers two approaches for
422# locking files. The first one is sanlock, the other one,
423# virtlockd, is then our own implementation. Accepted values
424# are "sanlock" and "lockd".
425#
426#lock_manager = "lockd"
427
428
429
430# Set limit of maximum APIs queued on one domain. All other APIs
431# over this threshold will fail on acquiring job lock. Specially,
432# setting to zero turns this feature off.
433# Note, that job lock is per domain.
434#
435#max_queued = 0
436
437###################################################################
438# Keepalive protocol:
439# This allows qemu driver to detect broken connections to remote
440# libvirtd during peer-to-peer migration.  A keepalive message is
441# sent to the daemon after keepalive_interval seconds of inactivity
442# to check if the daemon is still responding; keepalive_count is a
443# maximum number of keepalive messages that are allowed to be sent
444# to the daemon without getting any response before the connection
445# is considered broken.  In other words, the connection is
446# automatically closed approximately after
447# keepalive_interval * (keepalive_count + 1) seconds since the last
448# message received from the daemon.  If keepalive_interval is set to
449# -1, qemu driver will not send keepalive requests during
450# peer-to-peer migration; however, the remote libvirtd can still
451# send them and source libvirtd will send responses.  When
452# keepalive_count is set to 0, connections will be automatically
453# closed after keepalive_interval seconds of inactivity without
454# sending any keepalive messages.
455#
456#keepalive_interval = 5
457#keepalive_count = 5
458
459
460
461# Use seccomp syscall whitelisting in QEMU.
462# 1 = on, 0 = off, -1 = use QEMU default
463# Defaults to -1.
464#
465#seccomp_sandbox = 1
466
467
468# Override the listen address for all incoming migrations. Defaults to
469# 0.0.0.0, or :: if both host and qemu are capable of IPv6.
470#migration_address = "0.0.0.0"
471
472
473# The default hostname or IP address which will be used by a migration
474# source for transferring migration data to this host.  The migration
475# source has to be able to resolve this hostname and connect to it so
476# setting "localhost" will not work.  By default, the host's configured
477# hostname is used.
478#migration_host = "host.example.com"
479
480
481# Override the port range used for incoming migrations.
482#
483# Minimum must be greater than 0, however when QEMU is not running as root,
484# setting the minimum to be lower than 1024 will not work.
485#
486# Maximum must not be greater than 65535.
487#
488#migration_port_min = 49152
489#migration_port_max = 49215
490
491
492
493# Timestamp QEMU's log messages (if QEMU supports it)
494#
495# Defaults to 1.
496#
497#log_timestamp = 0
498
499
500# Location of master nvram file
501#
502# When a domain is configured to use UEFI instead of standard
503# BIOS it may use a separate storage for UEFI variables. If
504# that's the case libvirt creates the variable store per domain
505# using this master file as image. Each UEFI firmware can,
506# however, have different variables store. Therefore the nvram is
507# a list of strings when a single item is in form of:
508#   ${PATH_TO_UEFI_FW}:${PATH_TO_UEFI_VARS}.
509# Later, when libvirt creates per domain variable store, this list is
510# searched for the master image. The UEFI firmware can be called
511# differently for different guest architectures. For instance, it's OVMF
512# for x86_64 and i686, but it's AAVMF for aarch64. The libvirt default
513# follows this scheme.
514#nvram = [
515#   "/usr/share/OVMF/OVMF_CODE.fd:/usr/share/OVMF/OVMF_VARS.fd",
516#   "/usr/share/AAVMF/AAVMF_CODE.fd:/usr/share/AAVMF/AAVMF_VARS.fd"
517#]
518
519# The backend to use for handling stdout/stderr output from
520# QEMU processes.
521#
522#  'file': QEMU writes directly to a plain file. This is the
523#          historical default, but allows QEMU to inflict a
524#          denial of service attack on the host by exhausting
525#          filesystem space
526#
527#  'logd': QEMU writes to a pipe provided by virtlogd daemon.
528#          This is the current default, providing protection
529#          against denial of service by performing log file
530#          rollover when a size limit is hit.
531#
532#stdio_handler = "logd"
Note: See TracBrowser for help on using the repository browser.