初次使用keepalived应该注意的

来源:互联网 发布:淘宝爱爱丸小虎牙模特 编辑:程序博客网 时间:2024/04/23 14:04

http://www.07net01.com/linux/chucishiyongkeepalivedyinggaizhuyide_58436_1358909551.html

1.如果keepalived做HA的时候只需要配置全局配置 不需要配置lvs部分(废话 呵呵 提示下新手)

 


2.vip指定的时候 最好指定下子网掩码的位数否则可能为出错
example:
我在一次keepalived+haproxy的时候指定vip 没有为其制定子网掩码位数
我是用的事192.168.0.0网段24位子网掩码 结果用ip addr查看我指定的vip时发现其子网掩码位32位 具体原因我没去深究,估计是默认的。

 


3.master和backup需要指定不同的priority 以便于可以产生竞争

 


4.抢占式的master和backup之间的切换
example:
通常如果master服务死掉后backup会变成master但是当master服务又好了的时候 master此时
会抢占成为backup这样就会发生两次切换对业务繁忙的网站来说是不好的。
所以我们要在配置文件加入  nopreempt  非抢占 但是这个参数只能用于state 为backup 故我们在用HA的时候最好master 和backup的state都设置成backup 让其通过priority来竞争
假设在这里master和backup都加入了nopreempt 则此时我们要注意启动keepalived服务的顺序
假设我想让A成为backup那你就不能先启动A的keepalived服务。

 


5.开启接口共享IP功能
确保这个设置的值为1 至于为什么可以参考vrrp的原理一文
net.ipv4.ip_nonlocal_bind=1
 


6.关闭selinux
selinux可能会对实验结果产生影响

 


7.iptables的影响
iptables默认是阻止vrrp报文的 而且有的人可能iptables只开启了22 80 3306等端口
1.关闭iptables
2.在iptables 中加入对vrrp报文的允许  注意书写iptables的时候是-i插入 因为通常大家的iptables最后一条默认都是拒绝的。
iptables -A INPUT -d 224.0.0.18 -j ACCEPT
vrrp广播报文使用的地址是224.0.0.18

 


8.vip无法生效问题
example:可能是配置习惯问题吧,有些人这里一辈子不会出错,有些人就不一样了,
我主要是没太注意0.0.0.0:80和192.168.0.1:80这两者的区别 这两者的区别我知道,前者代表
在本机所有接口的80端口产生套接字监听 后者只是产生了192.168.0.1:80这个套接字 注意我的描述
前者是接口 后者没指定接口  假设我有eth0 eth0:1 那前者会产生两个套接字(什么是套接字? ip:端口->套接字)
后者只会产生192.168.0.1:80这个套接字不针对哪个接口(只要本机网卡接口有192.168.0.1这个IP). 这是这个问题产生的背景

一次我在做haproxy的HA的时候配置都做好了就是不起作用 telnet vip 80就是不产生结果 说明没产生套接字啊 没监听在80端口
找了好长时间没解决最后重新查看haproxy的配置文件 发现自己的fronted是这样写的bind 192.168.0.222:80 看到这里大家应该明白了吧
问题就出在这里 我这样写的话,当vip绑定在eth0口的时候并没有产生相应的套接字。如果这里改成0.0.0.0:80则会产生vip:80和192.168.0.222:80这
两个套接字。0.0.0.0:80这种写法会将所有网卡接口上的IP都产生套接字。这就是解决问题的关键地方。到此问题解决

0 0
原创粉丝点击