Если требуется обеспечить отказоустойчивость системы WNAM, то необходимо создать две виртуальные машины с системой, каждая со своей локальной базой данных.

После создания виртуальных машин и запуска WNAM на каждой, до проведения настроек, необходимо загрузить и выполнить скрипт для настройки кластера на обоих узлах системы. Для настройки скрипта используется команды:

wget https://www.netams.com/files/wnam/misc/wnam-cluster-config.sh

chmod +x wnam-cluster-config.sh

sudo ./wnam-cluster-config.sh

Для начала скрипт спросит какой вариант кластера вы хотите использовать: только репликация посредством kafka или репликация и использование общего кластерного ip-адреса (служба keepalived)

После выбора первого варианта скрипт выведет следующее окно настройки. Укажите там адреса обоих узлов кластера:

Для второго варианта настройки окно для ввода данных будет отличаться (в данном случае сервера должны находиться в одной подсети):

Нажмите кнопку "Да", дождитесь формирования конфигурационных файлов, запуска сервиса kafka, перезапуска WNAM.

Теперь, сделайте то же самое на втором сервере.

Внимание! Вы должны указать IP адреса узлов точно в той же последовательности, как и на первом сервере. Не поменяв их местами.

Также дождитесь формирования конфигураций, и перезапуска сервисов.

В случае использования кластерного IP адреса отредактируйте файл /home/wnam/keepalived.state.sh:


#!/bin/bash

TYPE=$1
NAME=$2
STATE=$3

echo $STATE > /var/run/keepalived.state

if [ $STATE == "MASTER" ]; then
    /sbin/ip route delete NET/MASK #Эта строка нужна если WNAM и NAS находятся в одной подсети. Здесь указать нужную подсеть.
    /sbin/ip route add NAS_IP dev IF src CLUSTER_IP #если WNAM и NAS в одной подсети
    /sbin/ip route add NAS_IP via GW src CLUSTER_IP #если WNAM и NAS в разных подсетях
fi


Вместо NAS_IP подставьте ip адрес вашего NAS, вместо IF имя интерфейса, на котором висит кластерный адрес, CLUSTER_IP кластерный ip адрес, GW - ip адрес шлюза до нужного хоста или подсети.
Таких записей может быть несколько. В таком случае добавлять их перед fi.

  • No labels