Если требуется обеспечить отказоустойчивость системы 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.
Теперь, сделайте то же самое на втором сервере.
Также дождитесь формирования конфигураций, и перезапуска сервисов.
/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.