标签:keepalived 主备 脚本
这几天palived 这个博文后期还会编辑,现在只学了皮毛而已,特此记录下!我用的是yum安装的keepalived,用光盘搭建的yum源
两台机器 ip地址分别是 10.91.10.173 和10.91.10.172
首先两台机器 安装yum install -y httpd keepalived
keepalived配置文件在 /etc/keepalived/keepalived.conf 之所以实用yum安装时因为方便。主要是学习keepalived的不是为了学习怎样编译安装软件。怎样解决 编译中出现的问题的。
vim /etc/keepalived/keepalived.conf
打开配置文件 10.91.10.173
Configuration File for keepalived
global_defs {
notification_email {
keepalived@master.com
}
notification_email_from keepalived@admin.com
smtp_server 127.0.0.1
smtp_connect_timeout 30
router_id master1 诸葛主备一定不能相同
}
vrrp_script chk_httpd { 这里是检测实用的脚本配置文件,
script "/home/if.sh" 这个是脚本if.sh 我写的比较简单 下面会贴出
interval 2 这个是检测间隔时间 为2秒
weight -20 这个是权限降低20 不知道为什么 我的好像是不起作用 我不写它也能实用
}
vrrp_instance VI_1 { 这里是主要的配置 VI_I可以随便给的名字
state MASTER 设置为主
interface ens33 监听的网卡名称 和主机的网卡要匹配
virtual_router_id 51 ID 主备相同
priority 100 权重值 备要低一些
advert_int 1 检测时间间隔1秒
authentication { 两台机器之间的通信暗号
auth_type PASS
auth_pass 1111
}
virtual_ipaddress { 设定虚拟IP地址,我设置的是和真是ip地址同一网段的地址。为了同网段内任意机器都可以访问。
10.91.10.174/32 dev ens33 label ens33:0
}
track_script {
chk_httpd上面脚本名称。
}
}
下面的全部注释掉。。。。。。。。
因为我们没有安装LVS 只是单纯的实用keepalived 主备
#virtual_server 192.168.200.100 443 {
# delay_loop 6
# lb_algo rr
# lb_kind NAT
# persistence_tim
以上主就配置完成,可以适当的编辑http的配置文件 vim /var/www/html/index.html 加入 10.91.10.173
配置备keepalived 10.91.10.172
! Configuration File for keepalived
global_defs {
notification_email {
keepalived@master.com
}
notification_email_from keepalived@admin.com
smtp_server 127.0.0.1
smtp_connect_timeout 30
router_id backup1
}
}
vrrp_instance VI_1 {
state BACKUP
interface ens33
virtual_router_id 51
priority 90
advert_int 1
authentication {
auth_type PASS
auth_pass 1111
}
virtual_ipaddress {
10.91.10.174/32 dev ens33 label ens33:0
}
}
这个配置文件没有多说的了 直接把主的scp过来就行 然后修改MASTER为BACHUP 权重值改为90 router_id bakeuup1 别的就没啥了。
还是 以下的注释了
#virtual_server 192.168.200.100 443 {
# delay_loop 6
# lb_algo rr
# lb_kind NAT
# persistence_timeout 50
http的配置文件写入 10.91.10.172 为了区分
关闭 selinux 和firewall 清空iptables
if.sh脚本内容如下
#!/bin/bash
jiance=$(netstat -tlun | grep 80 | awk '{printf $4 "\n"}'| cut -d ":" -f4)
if [ -z "$jiance" ]
then
/usr/bin/systemctl stop keepalived
fi
写的比较简单主要是检测http是否运行 如果没有运行的话就停止掉keepalived
这就完事了 这个是主 能看到vip是10.91.10.174
访问10.91.10.174
查看10.91.10.173 ifconfig
可以看到无vip地址
现在停掉10.91.10.172的httpd
可以看到VIP也消失了
现在看10.91.10.173上
VIP自动漂移过来 现在访问10.91.10.174
这就配置完成了,当然如果主服务商的keepalived启动后VIP会自动漂移到主上面,我写的那个脚本就是检测http停止后自动关闭keepalived的 正常的应该是检测到httpd停止后降低权限而已,所有这里配置的还不够准确。现在还在学习,后再再来更新!!
标签:keepalived 主备 脚本
原文地址:http://blog.51cto.com/12529218/2124485