Mikbill кластер
Mikbill кластер
Настраиваем репликацию master-masterhttps://mikbill.blogspot.com/2017/05/mysql-master-master.html
mysql будет в таком случае работать хоть одновременно (распределение нагрузки на два сервера), хоть на одном из них.
Cron делаем рабочим только на одном, на втором он будет включаться только после выключения первого.
Делает это такой скрипт запущенный демоном:
#!/bin/bash
MASTERHOST="192.168.10.100"
sleep_Time=1
available=2
log=/var/log/mikbill.log
Master_enable () {
if [ $available -ne 1 ]; then
#Добавить код для дампа
/etc/init.d/crond stop
echo "$(date) Master is Up">>$log
fi
available=1
}
Master_disable () {
if [ $available -ne 0 ]; then
#Добавить код для дампа
/etc/init.d/crond start
echo "$(date) Master is Down">>$log
fi
available=0
}
while true; do
count=$(ping -c 1 $MASTERHOST | grep 'received' | awk -F',' '{ print $2 }' | awk '{ print $1 }')
if [ $count -eq 0 ]; then
Master_disable
else
Master_enable
fi
sleep $sleep_Time
done
Сюда же можно добавить переключение alias (один IP на два сервера если нужно)
*****************************************************
меняем пароли на втором сервере mysql на root и mikbill как на первом
Создаем на первом alias ip
NAME="eth0:0"
ONBOOT="yes"
BOOTPROTO="static"
IPADDR="10.10.10.10"
NETMASK="255.255.255.0"
Где 10.10.10.10 мигрирующий IP
Настройка cron на втором сервере
*****************************************************
меняем пароли на втором сервере mysql на root и mikbill как на первом
Создаем на первом alias ip
- nano ifcfg-eth0:0
NAME="eth0:0"
ONBOOT="yes"
BOOTPROTO="static"
IPADDR="10.10.10.10"
NETMASK="255.255.255.0"
Где 10.10.10.10 мигрирующий IP
Настройка cron на втором сервере
- nano /etc/cron.d/claster
Комментарии
Отправить комментарий