mirror of
https://gitlab.isc.org/isc-projects/kea
synced 2025-08-22 01:49:48 +00:00
The commands used were: - find doc/sphinx/man -name '*.rst' | xargs grep -F '.. iscman' | cut -d ' ' -f 3 > /tmp/binaries - for i in $(cat /tmp/binaries); do find doc/sphinx/arm -name '*.rst' | xargs sed -i "s/\`\`${i}\`\`/:iscman:\`${i}\`/g"; done Manual adjustment was required in a few places to: - extend title lines - realign table lines
74 lines
2.9 KiB
ReStructuredText
74 lines
2.9 KiB
ReStructuredText
.. _kea-lfc:
|
|
|
|
***************
|
|
The LFC Process
|
|
***************
|
|
|
|
.. _kea-lfc-overview:
|
|
|
|
Overview
|
|
========
|
|
|
|
:iscman:`kea-lfc` is a service process that removes redundant information from
|
|
the files used to provide persistent storage for the memfile database
|
|
backend. This service is written to run as a standalone process.
|
|
|
|
While :iscman:`kea-lfc` can be started externally, there is usually no need to
|
|
do so. :iscman:`kea-lfc` is run on a periodic basis by the Kea DHCP servers.
|
|
|
|
The process operates on a set of files, using them to receive input and
|
|
output of the lease entries and to indicate what stage the process is
|
|
in, in the event of an interruption. Currently the caller must supply
|
|
names for all of the files.
|
|
|
|
.. _kea-lfc-usage:
|
|
|
|
Command-Line Options
|
|
====================
|
|
|
|
:iscman:`kea-lfc` is run as follows:
|
|
|
|
::
|
|
|
|
kea-lfc [-4 | -6] -c config-file -p pid-file -x previous-file -i copy-file -o output-file -f finish-file
|
|
|
|
The argument ``-4`` or ``-6`` selects the protocol version of the lease
|
|
files.
|
|
|
|
The ``-c`` argument specifies the configuration file. This is required,
|
|
but is not currently used by the process.
|
|
|
|
The ``-p`` argument specifies the PID file. When the :iscman:`kea-lfc` process
|
|
starts, it attempts to determine whether another instance of the process
|
|
is already running by examining the PID file. If one is already running,
|
|
the new process is terminated; if one is not running, Kea writes its PID
|
|
into the PID file.
|
|
|
|
The other filenames specify where the :iscman:`kea-lfc` process should look
|
|
for input, write its output, and perform its bookkeeping:
|
|
|
|
- ``previous`` — when :iscman:`kea-lfc` starts, this is the result of any
|
|
previous run of :iscman:`kea-lfc`. When :iscman:`kea-lfc` finishes, it is the
|
|
result of this run. If :iscman:`kea-lfc` is interrupted before completing,
|
|
this file may not exist.
|
|
|
|
- ``input`` — before the DHCP server invokes :iscman:`kea-lfc`, it moves
|
|
the current lease file here and then calls :iscman:`kea-lfc` with this file.
|
|
|
|
- ``output`` — this is the temporary file where :iscman:`kea-lfc` writes the
|
|
leases. Once the file has finished writing, it is moved to the
|
|
``finish`` file (see below).
|
|
|
|
- ``finish`` — this is another temporary file :iscman:`kea-lfc` uses for
|
|
bookkeeping. When :iscman:`kea-lfc` completes writing the ``output`` file, it
|
|
moves the contents to the file of this name. After :iscman:`kea-lfc` finishes deleting the
|
|
other files (``previous`` and ``input``), it moves this file to the ``previous``
|
|
lease file. By moving the files in this fashion, :iscman:`kea-lfc` and
|
|
the DHCP server processes can determine the correct file to use even
|
|
if one of the processes is interrupted before completing its task.
|
|
|
|
There are several additional arguments, mostly for debugging purposes.
|
|
``-d`` sets the logging level to debug. ``-v`` and ``-V`` print out
|
|
version stamps, with ``-V`` providing a longer form. ``-h`` prints out
|
|
the usage string.
|