· 6 years ago · Mar 17, 2020, 01:22 PM
1# Master configuration file for the QEMU driver.
2# All settings described here are optional - if omitted, sensible
3# defaults are used.
4
5# Use of TLS requires that x509 certificates be issued. The default is
6# to keep them in /etc/pki/qemu. This directory must contain
7#
8# ca-cert.pem - the CA master certificate
9# server-cert.pem - the server certificate signed with ca-cert.pem
10# server-key.pem - the server private key
11#
12# and optionally may contain
13#
14# dh-params.pem - the DH params configuration file
15#
16# If the directory does not exist, libvirtd will fail to start. If the
17# directory doesn't contain the necessary files, QEMU domains will fail
18# to start if they are configured to use TLS.
19#
20# In order to overwrite the default path alter the following. This path
21# definition will be used as the default path for other *_tls_x509_cert_dir
22# configuration settings if their default path does not exist or is not
23# specifically set.
24#
25#default_tls_x509_cert_dir = "/etc/pki/qemu"
26
27
28# The default TLS configuration only uses certificates for the server
29# allowing the client to verify the server's identity and establish
30# an encrypted channel.
31#
32# It is possible to use x509 certificates for authentication too, by
33# issuing an x509 certificate to every client who needs to connect.
34#
35# Enabling this option will reject any client who does not have a
36# certificate signed by the CA in /etc/pki/qemu/ca-cert.pem
37#
38# The default_tls_x509_cert_dir directory must also contain
39#
40# client-cert.pem - the client certificate signed with the ca-cert.pem
41# client-key.pem - the client private key
42#
43#default_tls_x509_verify = 1
44
45#
46# Libvirt assumes the server-key.pem file is unencrypted by default.
47# To use an encrypted server-key.pem file, the password to decrypt
48# the PEM file is required. This can be provided by creating a secret
49# object in libvirt and then to uncomment this setting to set the UUID
50# of the secret.
51#
52# NB This default all-zeros UUID will not work. Replace it with the
53# output from the UUID for the TLS secret from a 'virsh secret-list'
54# command and then uncomment the entry
55#
56#default_tls_x509_secret_uuid = "00000000-0000-0000-0000-000000000000"
57
58
59# VNC is configured to listen on 127.0.0.1 by default.
60# To make it listen on all public interfaces, uncomment
61# this next option.
62#
63# NB, strong recommendation to enable TLS + x509 certificate
64# verification when allowing public access
65#
66#vnc_listen = "0.0.0.0"
67
68# Enable this option to have VNC served over an automatically created
69# unix socket. This prevents unprivileged access from users on the
70# host machine, though most VNC clients do not support it.
71#
72# This will only be enabled for VNC configurations that have listen
73# type=address but without any address specified. This setting takes
74# preference over vnc_listen.
75#
76#vnc_auto_unix_socket = 1
77
78# Enable use of TLS encryption on the VNC server. This requires
79# a VNC client which supports the VeNCrypt protocol extension.
80# Examples include vinagre, virt-viewer, virt-manager and vencrypt
81# itself. UltraVNC, RealVNC, TightVNC do not support this
82#
83# It is necessary to setup CA and issue a server certificate
84# before enabling this.
85#
86#vnc_tls = 1
87
88
89# In order to override the default TLS certificate location for
90# vnc certificates, supply a valid path to the certificate directory.
91# If the provided path does not exist, libvirtd will fail to start.
92# If the path is not provided, but vnc_tls = 1, then the
93# default_tls_x509_cert_dir path will be used.
94#
95#vnc_tls_x509_cert_dir = "/etc/pki/libvirt-vnc"
96
97
98# Uncomment and use the following option to override the default secret
99# UUID provided in the default_tls_x509_secret_uuid parameter.
100#
101#vnc_tls_x509_secret_uuid = "00000000-0000-0000-0000-000000000000"
102
103
104# The default TLS configuration only uses certificates for the server
105# allowing the client to verify the server's identity and establish
106# an encrypted channel.
107#
108# It is possible to use x509 certificates for authentication too, by
109# issuing an x509 certificate to every client who needs to connect.
110#
111# Enabling this option will reject any client that does not have a
112# ca-cert.pem certificate signed by the CA in the vnc_tls_x509_cert_dir
113# (or default_tls_x509_cert_dir) as well as the corresponding client-*.pem
114# files described in default_tls_x509_cert_dir.
115#
116# If this option is not supplied, it will be set to the value of
117# "default_tls_x509_verify".
118#
119#vnc_tls_x509_verify = 1
120
121
122# The default VNC password. Only 8 bytes are significant for
123# VNC passwords. This parameter is only used if the per-domain
124# XML config does not already provide a password. To allow
125# access without passwords, leave this commented out. An empty
126# string will still enable passwords, but be rejected by QEMU,
127# effectively preventing any use of VNC. Obviously change this
128# example here before you set this.
129#
130#vnc_password = "XYZ12345"
131
132
133# Enable use of SASL encryption on the VNC server. This requires
134# a VNC client which supports the SASL protocol extension.
135# Examples include vinagre, virt-viewer and virt-manager
136# itself. UltraVNC, RealVNC, TightVNC do not support this
137#
138# It is necessary to configure /etc/sasl2/qemu.conf to choose
139# the desired SASL plugin (eg, GSSPI for Kerberos)
140#
141#vnc_sasl = 1
142
143
144# The default SASL configuration file is located in /etc/sasl2/
145# When running libvirtd unprivileged, it may be desirable to
146# override the configs in this location. Set this parameter to
147# point to the directory, and create a qemu.conf in that location
148#
149#vnc_sasl_dir = "/some/directory/sasl2"
150
151
152# QEMU implements an extension for providing audio over a VNC connection,
153# though if your VNC client does not support it, your only chance for getting
154# sound output is through regular audio backends. By default, libvirt will
155# disable all QEMU sound backends if using VNC, since they can cause
156# permissions issues. Enabling this option will make libvirtd honor the
157# QEMU_AUDIO_DRV environment variable when using VNC.
158#
159#vnc_allow_host_audio = 0
160
161
162
163# SPICE is configured to listen on 127.0.0.1 by default.
164# To make it listen on all public interfaces, uncomment
165# this next option.
166#
167# NB, strong recommendation to enable TLS + x509 certificate
168# verification when allowing public access
169#
170#spice_listen = "0.0.0.0"
171
172
173# Enable use of TLS encryption on the SPICE server.
174#
175# It is necessary to setup CA and issue a server certificate
176# before enabling this.
177#
178#spice_tls = 1
179
180
181# In order to override the default TLS certificate location for
182# spice certificates, supply a valid path to the certificate directory.
183# If the provided path does not exist, libvirtd will fail to start.
184# If the path is not provided, but spice_tls = 1, then the
185# default_tls_x509_cert_dir path will be used.
186#
187#spice_tls_x509_cert_dir = "/etc/pki/libvirt-spice"
188
189
190# Enable this option to have SPICE served over an automatically created
191# unix socket. This prevents unprivileged access from users on the
192# host machine.
193#
194# This will only be enabled for SPICE configurations that have listen
195# type=address but without any address specified. This setting takes
196# preference over spice_listen.
197#
198#spice_auto_unix_socket = 1
199
200
201# The default SPICE password. This parameter is only used if the
202# per-domain XML config does not already provide a password. To
203# allow access without passwords, leave this commented out. An
204# empty string will still enable passwords, but be rejected by
205# QEMU, effectively preventing any use of SPICE. Obviously change
206# this example here before you set this.
207#
208#spice_password = "XYZ12345"
209
210
211# Enable use of SASL encryption on the SPICE server. This requires
212# a SPICE client which supports the SASL protocol extension.
213#
214# It is necessary to configure /etc/sasl2/qemu.conf to choose
215# the desired SASL plugin (eg, GSSPI for Kerberos)
216#
217#spice_sasl = 1
218
219# The default SASL configuration file is located in /etc/sasl2/
220# When running libvirtd unprivileged, it may be desirable to
221# override the configs in this location. Set this parameter to
222# point to the directory, and create a qemu.conf in that location
223#
224#spice_sasl_dir = "/some/directory/sasl2"
225
226# Enable use of TLS encryption on the chardev TCP transports.
227#
228# It is necessary to setup CA and issue a server certificate
229# before enabling this.
230#
231#chardev_tls = 1
232
233
234# In order to override the default TLS certificate location for character
235# device TCP certificates, supply a valid path to the certificate directory.
236# If the provided path does not exist, libvirtd will fail to start.
237# If the path is not provided, but chardev_tls = 1, then the
238# default_tls_x509_cert_dir path will be used.
239#
240#chardev_tls_x509_cert_dir = "/etc/pki/libvirt-chardev"
241
242
243# The default TLS configuration only uses certificates for the server
244# allowing the client to verify the server's identity and establish
245# an encrypted channel.
246#
247# It is possible to use x509 certificates for authentication too, by
248# issuing an x509 certificate to every client who needs to connect.
249#
250# Enabling this option will reject any client that does not have a
251# ca-cert.pem certificate signed by the CA in the chardev_tls_x509_cert_dir
252# (or default_tls_x509_cert_dir) as well as the corresponding client-*.pem
253# files described in default_tls_x509_cert_dir.
254#
255# If this option is not supplied, it will be set to the value of
256# "default_tls_x509_verify".
257#
258#chardev_tls_x509_verify = 1
259
260
261# Uncomment and use the following option to override the default secret
262# UUID provided in the default_tls_x509_secret_uuid parameter.
263#
264# NB This default all-zeros UUID will not work. Replace it with the
265# output from the UUID for the TLS secret from a 'virsh secret-list'
266# command and then uncomment the entry
267#
268#chardev_tls_x509_secret_uuid = "00000000-0000-0000-0000-000000000000"
269
270
271# Enable use of TLS encryption for all VxHS network block devices that
272# don't specifically disable.
273#
274# When the VxHS network block device server is set up appropriately,
275# x509 certificates are required for authentication between the clients
276# (qemu processes) and the remote VxHS server.
277#
278# It is necessary to setup CA and issue the client certificate before
279# enabling this.
280#
281#vxhs_tls = 1
282
283
284# In order to override the default TLS certificate location for VxHS
285# backed storage, supply a valid path to the certificate directory.
286# This is used to authenticate the VxHS block device clients to the VxHS
287# server.
288#
289# If the provided path does not exist, libvirtd will fail to start.
290# If the path is not provided, but vxhs_tls = 1, then the
291# default_tls_x509_cert_dir path will be used.
292#
293# VxHS block device clients expect the client certificate and key to be
294# present in the certificate directory along with the CA master certificate.
295# If using the default environment, default_tls_x509_verify must be configured.
296# Since this is only a client the server-key.pem certificate is not needed.
297# Thus a VxHS directory must contain the following:
298#
299# ca-cert.pem - the CA master certificate
300# client-cert.pem - the client certificate signed with the ca-cert.pem
301# client-key.pem - the client private key
302#
303#vxhs_tls_x509_cert_dir = "/etc/pki/libvirt-vxhs"
304
305
306
307# Enable use of TLS encryption for all NBD disk devices that don't
308# specifically disable it.
309#
310# When the NBD server is set up appropriately, x509 certificates are required
311# for authentication between the client and the remote NBD server.
312#
313# It is necessary to setup CA and issue the client certificate before
314# enabling this.
315#
316#nbd_tls = 1
317
318
319# In order to override the default TLS certificate location for NBD
320# backed storage, supply a valid path to the certificate directory.
321# This is used to authenticate the NBD block device clients to the NBD
322# server.
323#
324# If the provided path does not exist, libvirtd will fail to start.
325# If the path is not provided, but nbd_tls = 1, then the
326# default_tls_x509_cert_dir path will be used.
327#
328# NBD block device clients expect the client certificate and key to be
329# present in the certificate directory along with the CA certificate.
330# Since this is only a client the server-key.pem certificate is not needed.
331# Thus a NBD directory must contain the following:
332#
333# ca-cert.pem - the CA master certificate
334# client-cert.pem - the client certificate signed with the ca-cert.pem
335# client-key.pem - the client private key
336#
337#nbd_tls_x509_cert_dir = "/etc/pki/libvirt-nbd"
338
339
340# In order to override the default TLS certificate location for migration
341# certificates, supply a valid path to the certificate directory. If the
342# provided path does not exist, libvirtd will fail to start. If the path is
343# not provided, but migrate_tls = 1, then the default_tls_x509_cert_dir path
344# will be used. Once/if a default certificate is enabled/defined, migration
345# will then be able to use the certificate via migration API flags.
346#
347#migrate_tls_x509_cert_dir = "/etc/pki/libvirt-migrate"
348
349
350# The default TLS configuration only uses certificates for the server
351# allowing the client to verify the server's identity and establish
352# an encrypted channel.
353#
354# It is possible to use x509 certificates for authentication too, by
355# issuing an x509 certificate to every client who needs to connect.
356#
357# Enabling this option will reject any client that does not have a
358# ca-cert.pem certificate signed by the CA in the migrate_tls_x509_cert_dir
359# (or default_tls_x509_cert_dir) as well as the corresponding client-*.pem
360# files described in default_tls_x509_cert_dir.
361#
362# If this option is not supplied, it will be set to the value of
363# "default_tls_x509_verify".
364#
365#migrate_tls_x509_verify = 1
366
367
368# Uncomment and use the following option to override the default secret
369# UUID provided in the default_tls_x509_secret_uuid parameter.
370#
371# NB This default all-zeros UUID will not work. Replace it with the
372# output from the UUID for the TLS secret from a 'virsh secret-list'
373# command and then uncomment the entry
374#
375#migrate_tls_x509_secret_uuid = "00000000-0000-0000-0000-000000000000"
376
377
378# By default, if no graphical front end is configured, libvirt will disable
379# QEMU audio output since directly talking to alsa/pulseaudio may not work
380# with various security settings. If you know what you're doing, enable
381# the setting below and libvirt will passthrough the QEMU_AUDIO_DRV
382# environment variable when using nographics.
383#
384#nographics_allow_host_audio = 1
385
386
387# Override the port for creating both VNC and SPICE sessions (min).
388# This defaults to 5900 and increases for consecutive sessions
389# or when ports are occupied, until it hits the maximum.
390#
391# Minimum must be greater than or equal to 5900 as lower number would
392# result into negative vnc display number.
393#
394# Maximum must be less than 65536, because higher numbers do not make
395# sense as a port number.
396#
397#remote_display_port_min = 5900
398#remote_display_port_max = 65535
399
400# VNC WebSocket port policies, same rules apply as with remote display
401# ports. VNC WebSockets use similar display <-> port mappings, with
402# the exception being that ports start from 5700 instead of 5900.
403#
404#remote_websocket_port_min = 5700
405#remote_websocket_port_max = 65535
406
407# The default security driver is SELinux. If SELinux is disabled
408# on the host, then the security driver will automatically disable
409# itself. If you wish to disable QEMU SELinux security driver while
410# leaving SELinux enabled for the host in general, then set this
411# to 'none' instead. It's also possible to use more than one security
412# driver at the same time, for this use a list of names separated by
413# comma and delimited by square brackets. For example:
414#
415# security_driver = [ "selinux", "apparmor" ]
416#
417# Notes: The DAC security driver is always enabled; as a result, the
418# value of security_driver cannot contain "dac". The value "none" is
419# a special value; security_driver can be set to that value in
420# isolation, but it cannot appear in a list of drivers.
421#
422#security_driver = "selinux"
423
424# If set to non-zero, then the default security labeling
425# will make guests confined. If set to zero, then guests
426# will be unconfined by default. Defaults to 1.
427#security_default_confined = 1
428
429# If set to non-zero, then attempts to create unconfined
430# guests will be blocked. Defaults to 0.
431#security_require_confined = 1
432
433# The user for QEMU processes run by the system instance. It can be
434# specified as a user name or as a user id. The qemu driver will try to
435# parse this value first as a name and then, if the name doesn't exist,
436# as a user id.
437#
438# Since a sequence of digits is a valid user name, a leading plus sign
439# can be used to ensure that a user id will not be interpreted as a user
440# name.
441#
442# By default libvirt runs VMs as non-root and uses AppArmor profiles
443# to provide host protection and VM isolation. While AppArmor
444# continues to provide this protection when the VMs are running as
445# root, /dev/vhost-net, /dev/vhost-vsock and /dev/vhost-scsi access is
446# allowed by default in the AppArmor security policy, so malicious VMs
447# running as root would have direct access to this file. If changing this
448# to run as root, you may want to remove this access from
449# /etc/apparmor.d/abstractions/libvirt-qemu. For more information, see:
450# https://launchpad.net/bugs/1815910
451# https://www.redhat.com/archives/libvir-list/2019-April/msg00750.html
452#
453# Some examples of valid values are:
454#
455# user = "qemu" # A user named "qemu"
456# user = "+0" # Super user (uid=0)
457# user = "100" # A user named "100" or a user with uid=100
458#
459#user = "root"
460
461# The group for QEMU processes run by the system instance. It can be
462# specified in a similar way to user.
463#group = "root"
464
465# Whether libvirt should dynamically change file ownership
466# to match the configured user/group above. Defaults to 1.
467# Set to 0 to disable file ownership changes.
468#dynamic_ownership = 1
469
470# What cgroup controllers to make use of with QEMU guests
471#
472# - 'cpu' - use for scheduler tunables
473# - 'devices' - use for device whitelisting
474# - 'memory' - use for memory tunables
475# - 'blkio' - use for block devices I/O tunables
476# - 'cpuset' - use for CPUs and memory nodes
477# - 'cpuacct' - use for CPUs statistics.
478#
479# NB, even if configured here, they won't be used unless
480# the administrator has mounted cgroups, e.g.:
481#
482# mkdir /dev/cgroup
483# mount -t cgroup -o devices,cpu,memory,blkio,cpuset none /dev/cgroup
484#
485# They can be mounted anywhere, and different controllers
486# can be mounted in different locations. libvirt will detect
487# where they are located.
488#
489#cgroup_controllers = [ "cpu", "devices", "memory", "blkio", "cpuset", "cpuacct" ]
490
491# This is the basic set of devices allowed / required by
492# all virtual machines.
493#
494# As well as this, any configured block backed disks,
495# all sound device, and all PTY devices are allowed.
496#
497# This will only need setting if newer QEMU suddenly
498# wants some device we don't already know about.
499#
500#cgroup_device_acl = [
501# "/dev/null", "/dev/full", "/dev/zero",
502# "/dev/random", "/dev/urandom",
503# "/dev/ptmx", "/dev/kvm",
504# "/dev/rtc","/dev/hpet"
505#]
506#
507# RDMA migration requires the following extra files to be added to the list:
508# "/dev/infiniband/rdma_cm",
509# "/dev/infiniband/issm0",
510# "/dev/infiniband/issm1",
511# "/dev/infiniband/umad0",
512# "/dev/infiniband/umad1",
513# "/dev/infiniband/uverbs0"
514
515
516# The default format for QEMU/KVM guest save images is raw; that is, the
517# memory from the domain is dumped out directly to a file. If you have
518# guests with a large amount of memory, however, this can take up quite
519# a bit of space. If you would like to compress the images while they
520# are being saved to disk, you can also set "lzop", "gzip", "bzip2", or "xz"
521# for save_image_format. Note that this means you slow down the process of
522# saving a domain in order to save disk space; the list above is in descending
523# order by performance and ascending order by compression ratio.
524#
525# save_image_format is used when you use 'virsh save' or 'virsh managedsave'
526# at scheduled saving, and it is an error if the specified save_image_format
527# is not valid, or the requested compression program can't be found.
528#
529# dump_image_format is used when you use 'virsh dump' at emergency
530# crashdump, and if the specified dump_image_format is not valid, or
531# the requested compression program can't be found, this falls
532# back to "raw" compression.
533#
534# snapshot_image_format specifies the compression algorithm of the memory save
535# image when an external snapshot of a domain is taken. This does not apply
536# on disk image format. It is an error if the specified format isn't valid,
537# or the requested compression program can't be found.
538#
539#save_image_format = "raw"
540#dump_image_format = "raw"
541#snapshot_image_format = "raw"
542
543# When a domain is configured to be auto-dumped when libvirtd receives a
544# watchdog event from qemu guest, libvirtd will save dump files in directory
545# specified by auto_dump_path. Default value is /var/lib/libvirt/qemu/dump
546#
547#auto_dump_path = "/var/lib/libvirt/qemu/dump"
548
549# When a domain is configured to be auto-dumped, enabling this flag
550# has the same effect as using the VIR_DUMP_BYPASS_CACHE flag with the
551# virDomainCoreDump API. That is, the system will avoid using the
552# file system cache while writing the dump file, but may cause
553# slower operation.
554#
555#auto_dump_bypass_cache = 0
556
557# When a domain is configured to be auto-started, enabling this flag
558# has the same effect as using the VIR_DOMAIN_START_BYPASS_CACHE flag
559# with the virDomainCreateWithFlags API. That is, the system will
560# avoid using the file system cache when restoring any managed state
561# file, but may cause slower operation.
562#
563#auto_start_bypass_cache = 0
564
565# If provided by the host and a hugetlbfs mount point is configured,
566# a guest may request huge page backing. When this mount point is
567# unspecified here, determination of a host mount point in /proc/mounts
568# will be attempted. Specifying an explicit mount overrides detection
569# of the same in /proc/mounts. Setting the mount point to "" will
570# disable guest hugepage backing. If desired, multiple mount points can
571# be specified at once, separated by comma and enclosed in square
572# brackets, for example:
573#
574# hugetlbfs_mount = ["/dev/hugepages2M", "/dev/hugepages1G"]
575#
576# The size of huge page served by specific mount point is determined by
577# libvirt at the daemon startup.
578#
579# NB, within these mount points, guests will create memory backing
580# files in a location of $MOUNTPOINT/libvirt/qemu
581#
582#hugetlbfs_mount = "/dev/hugepages"
583
584
585# Path to the setuid helper for creating tap devices. This executable
586# is used to create <source type='bridge'> interfaces when libvirtd is
587# running unprivileged. libvirt invokes the helper directly, instead
588# of using "-netdev bridge", for security reasons.
589#bridge_helper = "/usr/libexec/qemu-bridge-helper"
590
591
592
593# If clear_emulator_capabilities is enabled, libvirt will drop all
594# privileged capabilities of the QEMU/KVM emulator. This is enabled by
595# default.
596#
597# Warning: Disabling this option means that a compromised guest can
598# exploit the privileges and possibly do damage to the host.
599#
600#clear_emulator_capabilities = 1
601
602
603# If enabled, libvirt will have QEMU set its process name to
604# "qemu:VM_NAME", where VM_NAME is the name of the VM. The QEMU
605# process will appear as "qemu:VM_NAME" in process listings and
606# other system monitoring tools. By default, QEMU does not set
607# its process title, so the complete QEMU command (emulator and
608# its arguments) appear in process listings.
609#
610#set_process_name = 1
611
612
613# If max_processes is set to a positive integer, libvirt will use
614# it to set the maximum number of processes that can be run by qemu
615# user. This can be used to override default value set by host OS.
616# The same applies to max_files which sets the limit on the maximum
617# number of opened files.
618#
619#max_processes = 0
620#max_files = 0
621
622# If max_core is set to a non-zero integer, then QEMU will be
623# permitted to create core dumps when it crashes, provided its
624# RAM size is smaller than the limit set.
625#
626# Be warned that the core dump will include a full copy of the
627# guest RAM, if the 'dump_guest_core' setting has been enabled,
628# or if the guest XML contains
629#
630# <memory dumpcore="on">...guest ram...</memory>
631#
632# If guest RAM is to be included, ensure the max_core limit
633# is set to at least the size of the largest expected guest
634# plus another 1GB for any QEMU host side memory mappings.
635#
636# As a special case it can be set to the string "unlimited" to
637# to allow arbitrarily sized core dumps.
638#
639# By default the core dump size is set to 0 disabling all dumps
640#
641# Size is a positive integer specifying bytes or the
642# string "unlimited"
643#
644#max_core = "unlimited"
645
646# Determine if guest RAM is included in QEMU core dumps. By
647# default guest RAM will be excluded if a new enough QEMU is
648# present. Setting this to '1' will force guest RAM to always
649# be included in QEMU core dumps.
650#
651# This setting will be ignored if the guest XML has set the
652# dumpcore attribute on the <memory> element.
653#
654#dump_guest_core = 1
655
656# mac_filter enables MAC addressed based filtering on bridge ports.
657# This currently requires ebtables to be installed.
658#
659#mac_filter = 1
660
661
662# By default, PCI devices below non-ACS switch are not allowed to be assigned
663# to guests. By setting relaxed_acs_check to 1 such devices will be allowed to
664# be assigned to guests.
665#
666#relaxed_acs_check = 1
667
668
669# In order to prevent accidentally starting two domains that
670# share one writable disk, libvirt offers two approaches for
671# locking files. The first one is sanlock, the other one,
672# virtlockd, is then our own implementation. Accepted values
673# are "sanlock" and "lockd".
674#
675#lock_manager = "lockd"
676
677
678# Set limit of maximum APIs queued on one domain. All other APIs
679# over this threshold will fail on acquiring job lock. Specially,
680# setting to zero turns this feature off.
681# Note, that job lock is per domain.
682#
683#max_queued = 0
684
685###################################################################
686# Keepalive protocol:
687# This allows qemu driver to detect broken connections to remote
688# libvirtd during peer-to-peer migration. A keepalive message is
689# sent to the daemon after keepalive_interval seconds of inactivity
690# to check if the daemon is still responding; keepalive_count is a
691# maximum number of keepalive messages that are allowed to be sent
692# to the daemon without getting any response before the connection
693# is considered broken. In other words, the connection is
694# automatically closed approximately after
695# keepalive_interval * (keepalive_count + 1) seconds since the last
696# message received from the daemon. If keepalive_interval is set to
697# -1, qemu driver will not send keepalive requests during
698# peer-to-peer migration; however, the remote libvirtd can still
699# send them and source libvirtd will send responses. When
700# keepalive_count is set to 0, connections will be automatically
701# closed after keepalive_interval seconds of inactivity without
702# sending any keepalive messages.
703#
704#keepalive_interval = 5
705#keepalive_count = 5
706
707
708
709# Use seccomp syscall sandbox in QEMU.
710# 1 == seccomp enabled, 0 == seccomp disabled
711#
712# If it is unset (or -1), then seccomp will be enabled
713# only if QEMU >= 2.11.0 is detected, otherwise it is
714# left disabled. This ensures the default config gets
715# protection for new QEMU using the blacklist approach.
716#
717#seccomp_sandbox = 1
718
719
720# Override the listen address for all incoming migrations. Defaults to
721# 0.0.0.0, or :: if both host and qemu are capable of IPv6.
722#migration_address = "0.0.0.0"
723
724
725# The default hostname or IP address which will be used by a migration
726# source for transferring migration data to this host. The migration
727# source has to be able to resolve this hostname and connect to it so
728# setting "localhost" will not work. By default, the host's configured
729# hostname is used.
730#migration_host = "host.example.com"
731
732
733# Override the port range used for incoming migrations.
734#
735# Minimum must be greater than 0, however when QEMU is not running as root,
736# setting the minimum to be lower than 1024 will not work.
737#
738# Maximum must not be greater than 65535.
739#
740#migration_port_min = 49152
741#migration_port_max = 49215
742
743
744
745# Timestamp QEMU's log messages (if QEMU supports it)
746#
747# Defaults to 1.
748#
749#log_timestamp = 0
750
751
752# Location of master nvram file
753#
754# This configuration option is obsolete. Libvirt will follow the
755# QEMU firmware metadata specification to automatically locate
756# firmware images. See docs/interop/firmware.json in the QEMU
757# source tree. These metadata files are distributed alongside any
758# firmware images intended for use with QEMU.
759#
760# ------------------------------------------
761#
762# When a domain is configured to use UEFI instead of standard
763# BIOS it may use a separate storage for UEFI variables. If
764# that's the case libvirt creates the variable store per domain
765# using this master file as image. Each UEFI firmware can,
766# however, have different variables store. Therefore the nvram is
767# a list of strings when a single item is in form of:
768# ${PATH_TO_UEFI_FW}:${PATH_TO_UEFI_VARS}.
769# Later, when libvirt creates per domain variable store, this list is
770# searched for the master image. The UEFI firmware can be called
771# differently for different guest architectures. For instance, it's OVMF
772# for x86_64 and i686, but it's AAVMF for aarch64. The libvirt default
773# follows this scheme.
774#nvram = [
775# "/usr/share/OVMF/OVMF_CODE.fd:/usr/share/OVMF/OVMF_VARS.fd",
776# "/usr/share/OVMF/OVMF_CODE.secboot.fd:/usr/share/OVMF/OVMF_VARS.fd",
777# "/usr/share/AAVMF/AAVMF_CODE.fd:/usr/share/AAVMF/AAVMF_VARS.fd",
778# "/usr/share/AAVMF/AAVMF32_CODE.fd:/usr/share/AAVMF/AAVMF32_VARS.fd",
779# "/usr/share/OVMF/OVMF_CODE.ms.fd:/usr/share/OVMF/OVMF_VARS.ms.fd"
780#]
781
782# The backend to use for handling stdout/stderr output from
783# QEMU processes.
784#
785# 'file': QEMU writes directly to a plain file. This is the
786# historical default, but allows QEMU to inflict a
787# denial of service attack on the host by exhausting
788# filesystem space
789#
790# 'logd': QEMU writes to a pipe provided by virtlogd daemon.
791# This is the current default, providing protection
792# against denial of service by performing log file
793# rollover when a size limit is hit.
794#
795#stdio_handler = "logd"
796
797# QEMU gluster libgfapi log level, debug levels are 0-9, with 9 being the
798# most verbose, and 0 representing no debugging output.
799#
800# The current logging levels defined in the gluster GFAPI are:
801#
802# 0 - None
803# 1 - Emergency
804# 2 - Alert
805# 3 - Critical
806# 4 - Error
807# 5 - Warning
808# 6 - Notice
809# 7 - Info
810# 8 - Debug
811# 9 - Trace
812#
813# Defaults to 4
814#
815#gluster_debug_level = 9
816
817# To enhance security, QEMU driver is capable of creating private namespaces
818# for each domain started. Well, so far only "mount" namespace is supported. If
819# enabled it means qemu process is unable to see all the devices on the system,
820# only those configured for the domain in question. Libvirt then manages
821# devices entries throughout the domain lifetime. This namespace is turned on
822# by default.
823#namespaces = [ "mount" ]
824
825# This directory is used for memoryBacking source if configured as file.
826# NOTE: big files will be stored here
827#memory_backing_dir = "/var/lib/libvirt/qemu/ram"
828
829# Path to the SCSI persistent reservations helper. This helper is
830# used whenever <reservations/> are enabled for SCSI LUN devices.
831#pr_helper = "/usr/bin/qemu-pr-helper"
832
833# User for the swtpm TPM Emulator
834#
835# Default is 'tss'; this is the same user that tcsd (TrouSerS) installs
836# and uses; alternative is 'root'
837#
838#swtpm_user = "tss"
839#swtpm_group = "tss"
840
841# Thing to get VirtIO to work
842cgroup_device_acl = [
843 "/dev/null", "/dev/full", "/dev/zero",
844 "/dev/random", "/dev/urandom",
845 "/dev/ptmx", "/dev/kvm", "/dev/kqemu",
846 "/dev/rtc","/dev/hpet",
847 "/dev/input/by-id/usb-Logitech_USB_Receiver-event-kbd",
848 "/dev/input/by-id/usb-SIGMACHIP_Usb_Mouse-event-mouse"
849]
850user = "evdev"
851group = "evdev"
852clear_emulator_capabilities = 0