docs: add/update tc related screenshots & content, document tc for sync-job
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
This commit is contained in:
parent
064497756e
commit
4954d3130b
Binary file not shown.
Before Width: | Height: | Size: 21 KiB After Width: | Height: | Size: 24 KiB |
Binary file not shown.
After Width: | Height: | Size: 32 KiB |
|
@ -85,6 +85,11 @@ To set up sync jobs, the configuring user needs the following permissions:
|
||||||
#. ``Remote.Read`` on the ``/remote/{remote}/{remote-store}`` path
|
#. ``Remote.Read`` on the ``/remote/{remote}/{remote-store}`` path
|
||||||
#. At least ``Datastore.Backup`` on the local target datastore (``/datastore/{store}``)
|
#. At least ``Datastore.Backup`` on the local target datastore (``/datastore/{store}``)
|
||||||
|
|
||||||
|
.. note:: A sync job can only sync backup groups that the configured remote's
|
||||||
|
user/API token can read. If a remote is configured with a user/API token that
|
||||||
|
only has ``Datastore.Backup`` privileges, only the limited set of accessible
|
||||||
|
snapshots owned by that user/API token can be synced.
|
||||||
|
|
||||||
If the ``remove-vanished`` option is set, ``Datastore.Prune`` is required on
|
If the ``remove-vanished`` option is set, ``Datastore.Prune`` is required on
|
||||||
the local datastore as well. If the ``owner`` option is not set (defaulting to
|
the local datastore as well. If the ``owner`` option is not set (defaulting to
|
||||||
``root@pam``) or is set to something other than the configuring user,
|
``root@pam``) or is set to something other than the configuring user,
|
||||||
|
@ -107,7 +112,15 @@ of the specified criteria are synced. The available criteria are:
|
||||||
The same filter is applied to local groups for handling of the
|
The same filter is applied to local groups for handling of the
|
||||||
``remove-vanished`` option.
|
``remove-vanished`` option.
|
||||||
|
|
||||||
.. note:: A sync job can only sync backup groups that the configured remote's
|
|
||||||
user/API token can read. If a remote is configured with a user/API token that
|
Bandwidth Limit
|
||||||
only has ``Datastore.Backup`` privileges, only the limited set of accessible
|
^^^^^^^^^^^^^^^
|
||||||
snapshots owned by that user/API token can be synced.
|
|
||||||
|
Syncing datastores to an archive can produce lots of traffic and impact other
|
||||||
|
users of the network. So, to avoid network or storage congetsion you can limit
|
||||||
|
the bandwith of the sync job by setting the ``rate-in`` option either in the
|
||||||
|
web interface or using the ``proxmox-backup-manager`` command-line tool:
|
||||||
|
|
||||||
|
.. code-block:: console
|
||||||
|
|
||||||
|
# proxmox-backup-manager sync-job update ID --rate-in 20MiB
|
||||||
|
|
|
@ -3,10 +3,30 @@
|
||||||
Traffic Control
|
Traffic Control
|
||||||
---------------
|
---------------
|
||||||
|
|
||||||
Proxmox Backup Server allows to limit network traffic for clients
|
.. image:: images/screenshots/pbs-gui-traffic-control-add.png
|
||||||
within specified source networks. The following command adds a traffic
|
:align: right
|
||||||
control rule to limit all clients (network ``0.0.0.0/0``) to 100 MB/s:
|
:alt: Add a traffic control limit
|
||||||
|
|
||||||
|
Creating and restoring backups can produce lots of traffic and impact other
|
||||||
|
users of the network or shared storages.
|
||||||
|
|
||||||
|
Proxmox Backup Server allows to limit network traffic for clients within
|
||||||
|
specified networks using a token bucket filter (TBF).
|
||||||
|
|
||||||
|
This allows you to avoid network congestion or to prioritize traffic from
|
||||||
|
certain hosts.
|
||||||
|
|
||||||
|
You can manage the traffic controls either over the web-interface or using the
|
||||||
|
``traffic-control`` commandos of the ``proxmox-backup-manager`` command-line
|
||||||
|
tool.
|
||||||
|
|
||||||
|
.. note:: Sync jobs on the server are not affected by its rate-in limits. If
|
||||||
|
you want to limit the incomming traffic that a pull-based sync job
|
||||||
|
generates, you need to setup a job-specific rate-in limit. See
|
||||||
|
:ref:`syncjobs`.
|
||||||
|
|
||||||
|
The following command adds a traffic control rule to limit all IPv4 clients
|
||||||
|
(network ``0.0.0.0/0``) to 100 MB/s:
|
||||||
|
|
||||||
.. code-block:: console
|
.. code-block:: console
|
||||||
|
|
||||||
|
@ -14,8 +34,14 @@ control rule to limit all clients (network ``0.0.0.0/0``) to 100 MB/s:
|
||||||
--rate-in 100MB --rate-out 100MB \
|
--rate-in 100MB --rate-out 100MB \
|
||||||
--comment "Default rate limit (100MB/s) for all clients"
|
--comment "Default rate limit (100MB/s) for all clients"
|
||||||
|
|
||||||
It is possible to restrict rules to certain time frames, for example
|
.. note:: To limit both IPv4 and IPv6 network spaces you need to pass two
|
||||||
the company office hours:
|
network parameters ``::/0`` and ``0.0.0.0/0``.
|
||||||
|
|
||||||
|
It is possible to restrict rules to certain time frames, for example the
|
||||||
|
company office hours:
|
||||||
|
|
||||||
|
.. tip:: You can use SI (base 10: KB, MB, ...) or IEC (base 2: KiB, MiB, ...)
|
||||||
|
units.
|
||||||
|
|
||||||
.. code-block:: console
|
.. code-block:: console
|
||||||
|
|
||||||
|
@ -23,9 +49,9 @@ the company office hours:
|
||||||
--timeframe "mon..fri 8-12" \
|
--timeframe "mon..fri 8-12" \
|
||||||
--timeframe "mon..fri 14:30-18"
|
--timeframe "mon..fri 14:30-18"
|
||||||
|
|
||||||
If there are more rules, the server uses the rule with the smaller
|
If there are more rules, the server uses the rule with the smaller network. For
|
||||||
network. For example, we can overwrite the setting for our private
|
example, we can overwrite the setting for our private network (and the server
|
||||||
network (and the server itself) with:
|
itself) with:
|
||||||
|
|
||||||
.. code-block:: console
|
.. code-block:: console
|
||||||
|
|
||||||
|
@ -37,6 +63,10 @@ network (and the server itself) with:
|
||||||
|
|
||||||
.. note:: The behavior is undefined if there are several rules for the same network.
|
.. note:: The behavior is undefined if there are several rules for the same network.
|
||||||
|
|
||||||
|
If there are multiple rules that match the same network all of them will be
|
||||||
|
applied, which means that the smallest one wins, as it's bucket fills up the
|
||||||
|
fastest.
|
||||||
|
|
||||||
To list the current rules use:
|
To list the current rules use:
|
||||||
|
|
||||||
.. code-block:: console
|
.. code-block:: console
|
||||||
|
|
Loading…
Reference in New Issue