更新时间:2022-09-07 10:07:55
有一个知识盲点,是这个VIP,在四个服务器上都要设置?
现在只测试了两个机器,REAL SERVER没有开动。
如果LVS和REALSERVER都可以停一个作互切的话,那KEEPALIVED要它他什么呢?它只是用来管理LVS群集的?
带着疑问学,好点。
参考URL:
http://blog.sina.com.cn/s/blog_5611597901013voi.html
PS补遗:
~~
Piranha是REDHAT提供的一个基于Web的LVS配置软件,可以省去手工配置LVS的繁琐工作,同时,也可单独提供cluster功能,例如,可以通过Piranha激活Director Server的后备主机,也就是配置Director Server的双机热备功能。
在lvs的DR和TUn模式下,用户的访问请求到达真实服务器后,是直接返回给用户的,而不再经过前端的Director Server,因此,就需要在每个Real server节点上增加虚拟的VIP地址,这样数据才能直接返回给用户,增加VIP地址的操作可以通过创建脚本的方式来实现,创建文件/etc/init.d/lvsrs,脚本内容如下:
#!/bin/bash
VIP=192.168.60.200
/sbin/ifconfig lo:0 $VIP broadcast $VIP netmask 255.255.255.255 up
/sbin/route add -host $VIP dev lo:0
echo “1″ >/proc/sys/net/ipv4/conf/lo/arp_ignore
echo “2″ >/proc/sys/net/ipv4/conf/lo/arp_announce
echo “1″ >/proc/sys/net/ipv4/conf/all/arp_ignore
echo “2″ >/proc/sys/net/ipv4/conf/all/arp_announce
sysctl -p
#end
此操作是在回环设备上绑定了一个虚拟IP地址,并设定其子网掩码为255.255.255.255,与Director Server上的虚拟IP保持互通,然后禁止了本机的ARP请求。
。。。
最后,可以通过下面命令启动或关闭lvsrs
service lvsrs {start|stop}
由于虚拟ip,也就是上面的VIP地址,是Director Server和所有的Real server共享的,如果有ARP请求VIP地址时,Director Server与所有Real server都做应答的话,就出现问题了,因此,需要禁止Real server响应ARP请求。而lvsrs脚本的作用就是使Real Server不响应arp请求。
对于2.4以下低版本,在Real Server上要安装ARP hidden内核补丁,幸运的是,在2.6内核中通过调整内核参数即可忽略ARP广播回应。
~~
相关配置:
[root@SaltMaster ~]# vi /etc/sysconfig/ha/lvs.cf serial_no = 23 primary = 192.168.1.104 service = lvs backup_active = 1 backup = 192.168.1.105 heartbeat = 1 heartbeat_port = 539 keepalive = 6 deadtime = 18 network = direct debug_level = NONE monitor_links = 0 syncdaemon = 0 virtual LVS { active = 0 address = 192.168.1.110 eth0:1 vip_nmask = 255.255.255.255 port = 80 persistent = 3 pmask = 255.255.255.255 send = "GET / HTTP/1.0\r\n\r\n" expect = "HTTP" use_regex = 0 load_monitor = none scheduler = rr protocol = tcp timeout = 6 reentry = 15 quiesce_server = 0 server web-1 { address = 192.168.1.106 active = 1 port = 80 weight = 1 } server web-2 { address = 192.168.1.108 active = 1 port = 80 weight = 1 } }