keepalived高可用集群配置
[软件安装]yum install -y keepalived
rpm -qa keepalived
LB01配置文件
# cat /etc/keepalived/keepalived.conf
!Configuration file for keepalived
global_defs {
notification_email {
845330082@qq.ocm
}
notification_email_from Lufeng.
lufeng@firewall.loc
smtp_server 127.0.0.1
smtp_connect_timeout 30
router_id lb01
}
vrrp_script chk_nginx_proxy {
script "/home/lufeng/tools/chk_nginx_proxy.sh"
interval 2
weight 2
}
vrrp_instance VI_BBS {
state MASTER
interface eth0
virtual_router_id 55
priority 150
advert_int 1
authentication {
auth_type PASS
auth_pass 1111
}
virtual_ipaddress {
192.1.1.45/24 dev eth0 label eth0:1
}
track_script {
chk_nginx_proxy
}
}
vrrp_instance VI_WWW {
state BACKUP
interface eth0
virtual_router_id 56
priority 100
advert_int 1
authentication {
auth_type PASS
auth_pass 1111
}
virtual_ipaddress {
192.1.1.46/24 dev eth0 label eth0:2
}
}
LB02配置文件
# cat /etc/keepalived/keepalived.conf
!Configuration file for keepalived
global_defs {
notification_email {
845330082@qq.ocm
}
notification_email_from Lufeng.
lufeng@firewall.loc
smtp_server 127.0.0.1
smtp_connect_timeout 30
router_id lb02
}
vrrp_instance VI_BBS {
state BACKUP
interface eth0
virtual_router_id 55
priority 100
advert_int 1
authentication {
auth_type PASS
auth_pass 1111
}
virtual_ipaddress {
192.1.1.45/24 dev eth0 label eth0:1
}
}
vrrp_script chk_nginx_proxy {
script "/home/lufeng/tools/chk_nginx_proxy.sh"
interval 2
weight 2
}
vrrp_instance VI_WWW {
state MASTER
interface eth0
virtual_router_id 56
priority 150
advert_int 1
authentication {
auth_type PASS
auth_pass 1111
}
virtual_ipaddress {
192.1.1.46/24 dev eth0 label eth0:2
}
track_script {
chk_nginx_proxy
}
}
检查nginx脚本:
# cat /home/lufeng/tools/chk_nginx_proxy.sh
#!/bin/sh
if [ `netstat -lntup|grep nginx|wc -l` -ne1 ];then
/etc/init.d/keepalived stop
fi
记得加上执行权限:
# chmod +x /home/lufeng/tools/chk_nginx_proxy.sh
补充VIP添加及查看方式:
设置网卡的ip别名
#ifconfig eth0:0 192.168.6.100 netmask 255.255.255.0 up
#ifconfig eth0:1 173.173.173.173 netmask 255.255.255.0 up
#ifconfig eth0:2 119.110.120.1 netmask 255.255.255.0 up
先进命令:
#ip addr add 192.168.0.118/24 dev eth0
查看
#ip add|grep 192.168.0
清除ip别名
#ifconfg eth0:0 down
#ifconfg eth0:1 down
#ifconfg eth0:2 down ......
将别名保存到配置文件:
方法1:
1.将增加ip别名的命令填写到/etc/rc.local文件中 即将所有如这样ifconfig eth0:0 192.168.6.100 netmask 255.255.255.0 up的命令一行行全部填写到rc.local文件中去,rc.local文件是作用于linux开机自动执行命令,详细用法g或b一下,这里不详细说明。 这个方法最方便,但不太可靠,有时会失灵。
方法2:
#vi ifcfg-eth0:0
创建eth0:0的配置文件,并将刚才复制的字段粘贴到这个配置文件,按照下文的介绍修改部分信息,修改完成后保存退出以下是网卡配置文件的部分信息说明,其他类似信息默认即可:
##############################################################################
# 3Com Corporation 3c905B 100BaseTX ??? //硬件型号,忽略不计
DEVICE=eth0:0???????????????? //虚拟网络接口,随意???????????????????????????????????? ONBOOT=yes??????????????????? //系统启动时激活
BOOTPROTO=static?? ??? ????? //使用静态ip地址????????????????
IPADDR=192.168.6.100????????? //该虚拟网络接口的ip别名,随意
NETMASK=255.255.255.0???????? //子网掩码,对应ip别名
GATEWAY=192.168.6.1?????????? //网关,对应ip别名
HWADDR=00:10:5A:5E:B1:E4????? //网卡MAC地址,无需更改???????????????????
USERCTL=no??????????????????? //是否给予非root用户设备管理权限##############################################################################
设置必要开机自启动:
# echo "/application/nginx/sbin/nginx">>/etc/rc.local
# echo "/etc/init.d/keepalived start">>/etc/rc.local
# cat /etc/rc.local
#!/bin/sh
#
# This script will be executed *after* all the other init scripts.
# You can put your own initialization stuff in here if you don't
# want to do the full Sys V style init stuff.
touch /var/lock/subsys/local
/application/nginx/sbin/nginx
/etc/init.d/keepalived start
页:
[1]