Shared non-redundant storage
The following steps assume that an instance of MITIGATOR has already been installed. Otherwise, perform the installation using one of the following methods.
Before setting up a cluster, you must set up a virtual network (VPN). It needs network connectivity between instances to work. Detailed information on setting up and the necessary access are described at the link.
Common databases for all MITIGATOR instances are physically stored on the server of one of them. The base instance must be allowed connections from other instances on the following TCP ports: 8888, 2003, 3080, 5432.
For correct system operation all packet processors must have the same amount of system resources available.
If the cluster is assembled from MITIGATOR instances that previously worked independently, then conflicts may arise during the integration. Therefore, you must execute the following command on all instances except the future leader:
docker-compose down -v
Executing this command will delete countermeasure settings, event log, graphs, and other information stored in the databases of these instances. If the data needs to be saved, you must first do backup.
The installation of the base instance follows the steps described in the «Setup» section.
The rest of the MITIGATOR instances must access the database of the base instance, and therefore, they must first also udergo the standard installation. After installation, but before starting, you must:
-
Download
docker-compose.worker.yml
:wget https://docs.mitigator.ru/v23.08/dist/multi/docker-compose.worker.yml \ -O docker-compose.worker.yml
-
In the
.env
file, set theCOMPOSE_FILE
variable like this:COMPOSE_FILE=docker-compose.yml:docker-compose.worker.yml
If additional customizations are required, for example when using Mellanox (NVIDIA) cards , put them in
docker-compose.override.yml
and add it to the list:COMPOSE_FILE=docker-compose.yml:docker-compose.override.yml:docker-compose.worker.yml
-
In the
.env
file, set the variableMITIGATOR_STORAGE_HOST=192.0.2.1
. Where192.0.2.1
is a base instance address. -
In the
.env
file, set the variableMITIGATOR_OWN_NAME=mitigator-1
. Wheremitigator-1
is an instance name. The name of each instance must be unique. -
In the
.env
file, set the variableMITIGATOR_HOST_ADDRESS=192.0.2.1
. Where192.0.2.1
is the host address for this instance.