2021-11-15 15:42:13 +03:00
.. _sysadmin_traffic_control:
Traffic Control
---------------
2021-11-22 18:05:16 +03:00
.. image :: images/screenshots/pbs-gui-traffic-control-add.png
2022-11-28 19:15:42 +03:00
:target: _images/pbs-gui-traffic-control-add.png
2021-11-22 18:05:16 +03:00
:align: right
:alt: Add a traffic control limit
2021-11-15 15:42:13 +03:00
2022-05-17 19:12:42 +03:00
Creating and restoring backups can produce a lot of traffic, can impact shared
storage and other users on the network.
2021-11-22 18:05:16 +03:00
2022-05-17 19:12:42 +03:00
With Proxmox Backup Server, you can constrain network traffic for clients within
2021-11-22 18:05:16 +03:00
specified networks using a token bucket filter (TBF).
2022-05-17 19:12:42 +03:00
This allows you to avoid network congestion and prioritize traffic from
2021-11-22 18:05:16 +03:00
certain hosts.
2022-05-17 19:12:42 +03:00
You can manage the traffic controls either via the web-interface or using the
`` traffic-control `` commands of the `` proxmox-backup-manager `` command-line
2021-11-22 18:05:16 +03:00
tool.
2022-05-17 19:12:42 +03:00
.. note :: Sync jobs on the server are not affected by the configured rate-in limits.
If you want to limit the incoming traffic that a pull-based sync job
2021-11-22 18:05:16 +03:00
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:
2021-11-15 15:42:13 +03:00
.. code-block :: console
# proxmox-backup-manager traffic-control create rule0 --network 0.0.0.0/0 \
2021-11-22 11:05:01 +03:00
--rate-in 100MB --rate-out 100MB \
2021-11-15 15:42:13 +03:00
--comment "Default rate limit (100MB/s) for all clients"
2022-05-17 19:12:42 +03:00
.. note :: To limit both IPv4 and IPv6 network spaces, you need to pass two
2021-11-22 18:05:16 +03:00
network parameters `` ::/0 `` and `` 0.0.0.0/0 `` .
It is possible to restrict rules to certain time frames, for example the
2022-05-17 19:12:42 +03:00
company's office hours:
2021-11-22 18:05:16 +03:00
.. tip :: You can use SI (base 10: KB, MB, ...) or IEC (base 2: KiB, MiB, ...)
units.
2021-11-15 15:42:13 +03:00
.. code-block :: console
# proxmox-backup-manager traffic-control update rule0 \
--timeframe "mon..fri 8-12" \
--timeframe "mon..fri 14:30-18"
2022-05-17 19:12:42 +03:00
If there are multiple rules, the server chooses the one with the smaller
network. For example, we can overwrite the setting for our private network (and
the server itself) with:
2021-11-15 15:42:13 +03:00
.. code-block :: console
# proxmox-backup-manager traffic-control create rule1 \
--network 192.168.2.0/24 \
--network 127.0.0.0/8 \
2021-11-22 11:05:01 +03:00
--rate-in 20GB --rate-out 20GB \
2021-11-15 15:42:13 +03:00
--comment "Use 20GB/s for the local network"
.. note :: The behavior is undefined if there are several rules for the same network.
2022-05-17 19:12:42 +03:00
If there are multiple rules which match a specific network, they will all be
2021-11-22 18:05:16 +03:00
applied, which means that the smallest one wins, as it's bucket fills up the
fastest.
2022-05-17 19:12:42 +03:00
To list the current rules, use:
2021-11-15 15:42:13 +03:00
.. code-block :: console
# proxmox-backup-manager traffic-control list
┌───────┬─────────────┬─────────────┬─────────────────────────┬────────────...─┐
│ name │ rate-in │ rate-out │ network │ timeframe ... │
╞═══════╪═════════════╪═════════════╪═════════════════════════╪════════════...═╡
2021-11-22 11:05:01 +03:00
│ rule0 │ 100 MB │ 100 MB │ ["0.0.0.0/0"] │ ["mon..fri ... │
2021-11-15 15:42:13 +03:00
├───────┼─────────────┼─────────────┼─────────────────────────┼────────────...─┤
2021-11-22 11:05:01 +03:00
│ rule1 │ 20 GB │ 20 GB │ ["192.168.2.0/24", ...] │ ... │
2021-11-15 15:42:13 +03:00
└───────┴─────────────┴─────────────┴─────────────────────────┴────────────...─┘
Rules can also be removed:
.. code-block :: console
# proxmox-backup-manager traffic-control remove rule1
To show the state (current data rate) of all configured rules use:
.. code-block :: console
# proxmox-backup-manager traffic-control traffic
2021-11-22 11:05:01 +03:00
┌───────┬─────────────┬──────────────┐
│ name │ cur-rate-in │ cur-rate-out │
╞═══════╪═════════════╪══════════════╡
│ rule0 │ 0 B │ 0 B │
├───────┼─────────────┼──────────────┤
│ rule1 │ 1.161 GiB │ 19.146 KiB │
└───────┴─────────────┴──────────────┘