Update to v26.04
Warning
In MITIGATOR v26.04, default settings for network interfaces have changed.
For installations with more than four network ports, it may be necessary to increase
the value of packet_mempool_size in data-plane.conf.
Read more.
Warning
Starting from MITIGATOR v26.04, Linux kernel version 5.0 or higher is required for TAP interface operation.
If you use traffic redirection to a TAP interface in the operating system, before updating MITIGATOR ensure that your OS uses the required kernel version, otherwise the TAP interface will not work.
Warning
Update to v26.04 must be performed from a minor version of v25.12.5 or later.
In version v26.04, the PostgreSQL version has been updated, so when updating MITIGATOR you need to delete the database and restore it from a full backup. A script for creating a full database backup is included in version v25.12.5+.
Preparation for Update
-
Update all MITIGATOR instances to version v25.12.5+ according to standard procedure.
-
After starting MITIGATOR on version v25.12.5+, wait for the message
database system is ready to accept connections, press Ctrl+C. -
Create a database backup on the MITIGATOR instance where the database is in Primary status:
Warning
To create a backup, execute the command below, which specifies
backup_all.
Using the standard command from the Backup article will NOT transfer all necessary data. -
Verify that the backup was created without errors:
There should be no
errormessages in the output. -
Stop all MITIGATOR instances (first with Standby database, then with Primary):
Update to v26.04
-
On all instances, write the version line to the
.envfile:Here
Xis the target minor version. -
On all instances, download the current Compose file:
-
On all instances, update the contents of
docker-compose.failover.ymlanddocker-compose.worker.failover.ymlfiles, if they are used.Download the current files:
If the
command:section of thepgfailoverservice was previously customized, for example to use more than two databases, then manually migrate these changes to the updateddocker-compose.failover.ymlanddocker-compose.worker.failover.ymlfiles:- move the custom server list (formerly
-server) todocker-compose.override.yml, overridingPGFAILOVER_SERVERS; - if the number of connection attempts (formerly
-attempts) was changed, setMITIGATOR_PGFAILOVER_ATTEMPTSin.env; - if the server role check interval (formerly
-interval) was changed, setMITIGATOR_PGFAILOVER_INTERVALin.env.
Also transfer the values of the
FWSTATS_GRAPHITE_ADDRESSandCARBONAPI_BACKENDSvariables from the old files to the new ones.Example of
docker-compose.override.ymlfor three servers:Info
docker-compose.override.ymlis placed at the end ofCOMPOSE_FILEin the.envfile: its settings must take precedence over settings from earlier files.See the fault-tolerant storage setup for details.
- move the custom server list (formerly
-
On all instances, remove the
MITIGATOR_OWN_INDEXvariable from the.envfile. -
On all instances, download new images:
-
On the MITIGATOR instance where the database is in Primary status, delete the database:
-
On the MITIGATOR instance where the database is in Primary status, start temporary Postgres container:
-
On the MITIGATOR instance where the database is in Primary status, open Postgres logs:
-
On the MITIGATOR instance where the database is in Primary status, wait for the message
database system is ready to accept connections, press Ctrl+C. Ignore messagesrole "repuser" does not existandrole "backend" does not exist. -
On the MITIGATOR instance where the database is in Primary status, copy the backup to the container and restore the data:
-
Stop the temporary Postgres container and start the main service:
-
Wait for the message
database system is ready to accept connections, press Ctrl+C. -
On MITIGATOR instances where the database is in Standby status, delete the database:
-
On MITIGATOR instances where the database is in Standby status, perform database initialization:
-
Start the MITIGATOR instance where the database is in Primary status:
-
After startup, wait for all migrations to complete and settings to propagate.
-
Start other MITIGATOR instances: