1QEMU persistent reservation helper 2================================== 3 4Synopsis 5-------- 6 7**qemu-pr-helper** [*OPTION*] 8 9Description 10----------- 11 12Implements the persistent reservation helper for QEMU. 13 14SCSI persistent reservations allow restricting access to block devices 15to specific initiators in a shared storage setup. When implementing 16clustering of virtual machines, it is a common requirement for virtual 17machines to send persistent reservation SCSI commands. However, 18the operating system restricts sending these commands to unprivileged 19programs because incorrect usage can disrupt regular operation of the 20storage fabric. QEMU's SCSI passthrough devices ``scsi-block`` 21and ``scsi-generic`` support passing guest persistent reservation 22requests to a privileged external helper program. :program:`qemu-pr-helper` 23is that external helper; it creates a socket which QEMU can 24connect to to communicate with it. 25 26If you want to run VMs in a setup like this, this helper should be 27started as a system service, and you should read the QEMU manual 28section on "persistent reservation managers" to find out how to 29configure QEMU to connect to the socket created by 30:program:`qemu-pr-helper`. 31 32After connecting to the socket, :program:`qemu-pr-helper` can 33optionally drop root privileges, except for those capabilities that 34are needed for its operation. 35 36:program:`qemu-pr-helper` can also use the systemd socket activation 37protocol. In this case, the systemd socket unit should specify a 38Unix stream socket, like this:: 39 40 [Socket] 41 ListenStream=/var/run/qemu-pr-helper.sock 42 43Options 44------- 45 46.. program:: qemu-pr-helper 47 48.. option:: -d, --daemon 49 50 run in the background (and create a PID file) 51 52.. option:: -q, --quiet 53 54 decrease verbosity 55 56.. option:: -v, --verbose 57 58 increase verbosity 59 60.. option:: -f, --pidfile=PATH 61 62 PID file when running as a daemon. By default the PID file 63 is created in the system runtime state directory, for example 64 :file:`/var/run/qemu-pr-helper.pid`. 65 66.. option:: -k, --socket=PATH 67 68 path to the socket. By default the socket is created in 69 the system runtime state directory, for example 70 :file:`/var/run/qemu-pr-helper.sock`. 71 72.. option:: -T, --trace [[enable=]PATTERN][,events=FILE][,file=FILE] 73 74 .. include:: ../qemu-option-trace.rst.inc 75 76.. option:: -u, --user=USER 77 78 user to drop privileges to 79 80.. option:: -g, --group=GROUP 81 82 group to drop privileges to 83 84.. option:: -h, --help 85 86 Display a help message and exit. 87 88.. option:: -V, --version 89 90 Display version information and exit. 91