summaryrefslogtreecommitdiff
path: root/docs/configuration/highavailability
diff options
context:
space:
mode:
authorYuriy Andamasov <yuriy@vyos.io>2026-04-10 21:46:24 +0300
committerGitHub <noreply@github.com>2026-04-10 19:46:24 +0100
commitac00e1c4a6b456628e412123383450653f668bdb (patch)
treed17abbfc59ef01c3386d8d75c47649b9d69d6a6a /docs/configuration/highavailability
parentb5858598e32441560da34a4a62dc687fe4df9c16 (diff)
downloadvyos-documentation-ac00e1c4a6b456628e412123383450653f668bdb.tar.gz
vyos-documentation-ac00e1c4a6b456628e412123383450653f668bdb.zip
docs: remove TODO markers, fix stub notes, add linter markers (#1828)
Remove TODO tracking comments, reformat stub notes with inline links, add stop/start_vyoslinter markers around long code blocks, and fix minor structural issues across 23 documentation files. Co-authored-by: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Diffstat (limited to 'docs/configuration/highavailability')
-rw-r--r--docs/configuration/highavailability/index.rst45
1 files changed, 39 insertions, 6 deletions
diff --git a/docs/configuration/highavailability/index.rst b/docs/configuration/highavailability/index.rst
index 40465c30..c82391c7 100644
--- a/docs/configuration/highavailability/index.rst
+++ b/docs/configuration/highavailability/index.rst
@@ -2,8 +2,9 @@
.. _high-availability:
+#################
High availability
-=================
+#################
VRRP (Virtual Router Redundancy Protocol) provides active/backup redundancy for
routers. Every VRRP router has a physical IP/IPv6 address, and a virtual
@@ -252,8 +253,12 @@ need to configure it. But if necessary, Gratuitous ARP can be configured in
0 if not defined.
+.. stop_vyoslinter
+
.. cfgcmd:: set high-availability vrrp global-parameters garp master-delay <1-255>
+.. start_vyoslinter
+
.. cfgcmd:: set high-availability vrrp group <name> garp master-delay <1-255>
Set delay for second set of gratuitous ARPs after transition to MASTER.
@@ -316,37 +321,46 @@ vice versa and can be used to enable or disable certain services, for example.
chmod +x /config/scripts/script-name.sh
-.. warning:: It is not recommended to change VRRP configuration inside health-check
- and transition scripts.
+.. warning:: It is not recommended to change VRRP configuration
+ inside health-check and transition scripts.
Health check scripts
^^^^^^^^^^^^^^^^^^^^
-There is the ability to run an arbitrary script at regular intervals according to health-check
-parameters. If a script returns 0, it indicates success. If a script returns anything
-else, it will indicate that the VRRP instance should enter the FAULT state.
+There is the ability to run an arbitrary script at regular intervals
+according to health-check parameters. If a script returns 0, it
+indicates success. If a script returns anything else, it will indicate
+that the VRRP instance should enter the FAULT state.
This setup will make the VRRP process execute the
``/config/scripts/vrrp-check.sh script`` every 60 seconds, and transition the
group to the fault state if it fails (i.e. exits with non-zero status) three
times:
+.. stop_vyoslinter
+
.. code-block:: none
set high-availability vrrp group Foo health-check script /config/scripts/vrrp-check.sh
set high-availability vrrp group Foo health-check interval 60
set high-availability vrrp group Foo health-check failure-count 3
+.. start_vyoslinter
+
When the vrrp group is a member of the sync group will use only
the sync group health check script.
This example shows how to configure it for the sync group:
+.. stop_vyoslinter
+
.. code-block:: none
set high-availability vrrp sync-group Bar health-check script /config/scripts/vrrp-check.sh
set high-availability vrrp sync-group Bar health-check interval 60
set high-availability vrrp sync-group Bar health-check failure-count 3
+.. start_vyoslinter
+
Transition scripts
^^^^^^^^^^^^^^^^^^
@@ -356,12 +370,16 @@ This setup will make the VRRP process execute the
``/config/scripts/vrrp-fail.sh`` with argument ``Foo`` when VRRP fails,
and the ``/config/scripts/vrrp-master.sh`` when the router becomes the master:
+.. stop_vyoslinter
+
.. code-block:: none
set high-availability vrrp group Foo transition-script backup "/config/scripts/vrrp-fail.sh Foo"
set high-availability vrrp group Foo transition-script fault "/config/scripts/vrrp-fail.sh Foo"
set high-availability vrrp group Foo transition-script master "/config/scripts/vrrp-master.sh Foo"
+.. start_vyoslinter
+
To know more about scripting, check the :ref:`command-scripting` section.
Virtual-server
@@ -401,10 +419,14 @@ Health-check
^^^^^^^^^^^^
Custom health-check script allows checking real-server availability
+.. stop_vyoslinter
+
.. code-block:: none
set high-availability virtual-server 203.0.113.1 real-server 192.0.2.11 health-check script <path-to-script>
+.. start_vyoslinter
+
Fwmark
^^^^^^
Firewall mark. It possible to loadbalancing traffic based on ``fwmark`` value
@@ -417,10 +439,14 @@ Real server
^^^^^^^^^^^
Real server IP address and port
+.. stop_vyoslinter
+
.. code-block:: none
set high-availability virtual-server 203.0.113.1 real-server 192.0.2.11 port '80'
+.. start_vyoslinter
+
Example
^^^^^^^
@@ -432,6 +458,8 @@ protocol TCP is balanced between 2 real servers ``192.0.2.11`` and
Real server is auto-excluded if port check with this server fail.
+.. stop_vyoslinter
+
.. code-block:: none
set interfaces ethernet eth0 address '203.0.113.11/24'
@@ -451,6 +479,7 @@ Real server is auto-excluded if port check with this server fail.
set high-availability virtual-server 203.0.113.1 real-server 192.0.2.11 port '80'
set high-availability virtual-server 203.0.113.1 real-server 192.0.2.12 port '80'
+.. start_vyoslinter
A firewall mark ``fwmark`` allows using multiple ports for high-availability
virtual-server.
@@ -460,6 +489,8 @@ In this example all traffic destined to ports "80, 2222, 8888" protocol TCP
marks to fwmark "111" and balanced between 2 real servers.
Port "0" is required if multiple ports are used.
+.. stop_vyoslinter
+
.. code-block:: none
set interfaces ethernet eth0 address 'dhcp'
@@ -483,6 +514,8 @@ Port "0" is required if multiple ports are used.
set nat source rule 100 source address '192.0.2.0/24'
set nat source rule 100 translation address 'masquerade'
+.. start_vyoslinter
+
Op-mode check virtual-server status
.. code-block:: none