Browse Source
Split the documentation of the qemu-pr-helper binary into the tools manual, and give it a manpage like our other standalone executables. Signed-off-by: Peter Maydell <peter.maydell@linaro.org> Reviewed-by: Alex Bennée <alex.bennee@linaro.org>pull/102/head
5 changed files with 99 additions and 33 deletions
@ -0,0 +1,90 @@ |
|||
QEMU persistent reservation helper |
|||
================================== |
|||
|
|||
Synopsis |
|||
-------- |
|||
|
|||
**qemu-pr-helper** [*OPTION*] |
|||
|
|||
Description |
|||
----------- |
|||
|
|||
Implements the persistent reservation helper for QEMU. |
|||
|
|||
SCSI persistent reservations allow restricting access to block devices |
|||
to specific initiators in a shared storage setup. When implementing |
|||
clustering of virtual machines, it is a common requirement for virtual |
|||
machines to send persistent reservation SCSI commands. However, |
|||
the operating system restricts sending these commands to unprivileged |
|||
programs because incorrect usage can disrupt regular operation of the |
|||
storage fabric. QEMU's SCSI passthrough devices ``scsi-block`` |
|||
and ``scsi-generic`` support passing guest persistent reservation |
|||
requests to a privileged external helper program. :program:`qemu-pr-helper` |
|||
is that external helper; it creates a socket which QEMU can |
|||
connect to to communicate with it. |
|||
|
|||
If you want to run VMs in a setup like this, this helper should be |
|||
started as a system service, and you should read the QEMU manual |
|||
section on "persistent reservation managers" to find out how to |
|||
configure QEMU to connect to the socket created by |
|||
:program:`qemu-pr-helper`. |
|||
|
|||
After connecting to the socket, :program:`qemu-pr-helper` can |
|||
optionally drop root privileges, except for those capabilities that |
|||
are needed for its operation. |
|||
|
|||
:program:`qemu-pr-helper` can also use the systemd socket activation |
|||
protocol. In this case, the systemd socket unit should specify a |
|||
Unix stream socket, like this:: |
|||
|
|||
[Socket] |
|||
ListenStream=/var/run/qemu-pr-helper.sock |
|||
|
|||
Options |
|||
------- |
|||
|
|||
.. program:: qemu-pr-helper |
|||
|
|||
.. option:: -d, --daemon |
|||
|
|||
run in the background (and create a PID file) |
|||
|
|||
.. option:: -q, --quiet |
|||
|
|||
decrease verbosity |
|||
|
|||
.. option:: -v, --verbose |
|||
|
|||
increase verbosity |
|||
|
|||
.. option:: -f, --pidfile=PATH |
|||
|
|||
PID file when running as a daemon. By default the PID file |
|||
is created in the system runtime state directory, for example |
|||
:file:`/var/run/qemu-pr-helper.pid`. |
|||
|
|||
.. option:: -k, --socket=PATH |
|||
|
|||
path to the socket. By default the socket is created in |
|||
the system runtime state directory, for example |
|||
:file:`/var/run/qemu-pr-helper.sock`. |
|||
|
|||
.. option:: -T, --trace [[enable=]PATTERN][,events=FILE][,file=FILE] |
|||
|
|||
.. include:: ../qemu-option-trace.rst.inc |
|||
|
|||
.. option:: -u, --user=USER |
|||
|
|||
user to drop privileges to |
|||
|
|||
.. option:: -g, --group=GROUP |
|||
|
|||
group to drop privileges to |
|||
|
|||
.. option:: -h, --help |
|||
|
|||
Display a help message and exit. |
|||
|
|||
.. option:: -V, --version |
|||
|
|||
Display version information and exit. |
|||
Loading…
Reference in new issue