keepalived主从备份保活

1.需要安装openssl_devel包。yum install openssl_devel。

2../configure; make; make install  安装keepalived。

3.拷贝配置文件,启动程序,使用目录到系统目录下面:

cp /usr/local/etc/rc.d/init.d/keepalived /etc/rc.d/init.d/

cp /usr/local/etc/sysconfig/keepalived /etc/sysconfig/

mkdir /etc/keepalived

cp /usr/local/etc/keepalived/keepalived.conf /etc/keepalived/

cp /usr/local/sbin/keepalived /usr/sbin

4.编辑/etc/keepalived/keepalived.conf

需要记得下面的修改配置:

vrrp_instance VI_1 {

state MASTER #设置为主服务器,如果是备服务器,则设置为BACKUP

interface eth0 #设置keepalived的网卡

virtual_router_id 51 #设置唯一号,主备都要相同

priority 100 #优先级,要保证主服务器的优先比备的高,备服务器要低于主服务器,在这里是100

advert_int 1 #心跳检测的间隔(秒)

...

...

}

在下面的地址上写(若是在三层的检测服务器,就设置这项足够)

virtual_ipaddress{

10.0.0.12 虚拟ip,主备要一直

*.*.*.* 可以设置多个虚拟ip,通过虚拟ip来达到keepalived

}

5.启动keepalived

service keepalived start

检查主服务器的状态

ip a

可以查看到主服务器里多个个虚拟ip

但在备服务器上没看到虚拟ip

这是因为现在默认访问虚拟ip,是对应的主服务器

一旦主服务器挂掉了,备用服务器马上接管此ip

测试:

在主服务器上service keepalived stop

然后在备服务器上

ip a

看到虚拟ip已经显示

这就证明备服务器已接管虚拟ip。

 

实验结束

若要主从互备,则只需要加入另外一个vrrp_instance,命名为vrrp_instance VI_2 {。。。}

当然,里面的主从要互换位置,优先级也要有高低。。。

 

题外

若要只监测80端口或其他端口的网络四层keepalived,则需修改另一个选项,virtual server

如:

virtual_server 192.168.1.200 3306 {

delay_loop 2 #每个2秒检查一次real_server状态
lb_algo wrr#LVS算法
lb_kind DR#LVS模式
persistence_timeout 60#会话保持时间
protocol TCP
real_server 192.168.0.111 80 { 真实的ip
weight 3 权重3
notify_down /root/httpd.sh #检测到服务down后执行的脚本
TCP_CHECK {
connect_timeout 10#连接超时时间
nb_get_retry 3#重连次数
delay_before_retry 3#重连间隔时间
connect_port 80#健康检查端口
}
}

httpd.sh脚本:

#vi /root/httpd.sh

 

#!/bin/sh

pkillkeepalived

#chmod +x /root/httpd.sh

注:此脚本是上面配置文件notify_down选项所用到的,keepalived使用notify_down选项来检查real_server的服务状态,当发现real_server服务故障时,便触发此脚本


下个实验做

你可能感兴趣的:(算法,server,服务器,脚本,service,delay)