lvs搭建DR方式(lvs有三种工作方式进行负载均衡技术)
一台主机做DR主机(可以是HA主机),俩台做RS(Real Server)
在DR主机上
yum install -y ipvsadm
在RS主机上
yum insatll -y httpd
yum install -y httpd
在DR打开一个虚拟网卡,网卡配置虚拟ip(VIP)
ifconfig eth0:0 192.168.0.92 netmask 255.255.255.0 up
ipvsadm -A -t 192.168.0.92:80 -s rr (-A给DH主机增添规则 -t tcprr 轮寻)
ipvsadm -a -t 192.168.0.92:80 -r 192.168.0.117:80 -g
ipvsadm -a -t 192.168.0.92:80 -r192.168.0.141:80 -g (-a增添RS)
ipvsadm -l 查看
/etc/init.d/ipvsadm save 保存
chkconfig ipvsadm on
在RS主机上开启web服务,俩太RS主机分别添加(lvs不像HA那样可以自动开启服务,要手动开启)
/etc/init.d/httpd start
/etc/init.d/httpd start
ifconfig eth0:0 192.168.0.92 netmask 255.255.255.255 up 增添VIP
echo `hostname` > /var/www/html/index.html
ifconfig eth0:0 192.168.0.92 netmask 255.255.255.255 up RS也要有VIP
echo `hostname` > /var/www/html/index.html
在测试机上arp -a 查看arp
arp -a 192.168.0.92
此时可以访问VIP但不能负载,因为arp装换功能开启的了,DR要是no-arp有俩中方法可以关闭apr,一种是在内核中关闭,另外一种是用红冒的工具arptables_jf 进行设置
在RS俩台主机上
yum install -y arptables_jf
yum install -y arptables_jf
arptables -A IN -d 192.168.0.92 -j DROP 进来的包拒绝掉
arptables -A OUT -s 192.168.0.92 -j mangle --mangle-ip-s 192.168.0.141
arptables -L 查看
/etc/init.d/arptables_jf save
另外一台上
arptables -A IN -d 192.168.0.92 -j DROP
arptables -A OUT -s 192.168.0.92 -j mangle--mangle-ip-s 192.168.0.117
arptables -L
/etc/init.d/arptables_jf save
此时就可以实现负载了
在测试机上
arp 192.168.0.92 查看92的mac是否来自DR主机
ipvsadm -l 查看访问的次数
lvs的DR只负责吧服务交给RS主机不管RS主机是否健康,当RS主机坏掉以后,服务不用行了。
2 HA和lvs的结合(iptables和selinux必须关闭)
用俩太DR主机做HA。俩太主机做RS
在DR主机上
yum install -y ipvsadm piranha(server94)
yum install -y ipvsadm piranha(server51)
ipvsadm -l 查看规则
ipvsadm -C 去掉以前的规则
在HA的master主机上(server51)
piranha-passwd 为piranha更改密码
/etc/init.d/piranha-gui start
netstat -antlp |grep 3636 次服务接听的是httpd的3636端口
在浏览器中输入192.168.0.151:3636(HA主机的地址和监听的端口)
单击login输入用户名和密码(user Name: piranha password :刚才更改的密码)
在HA master主机上 cd /etc/sysconfig/ha/(配置信息存放的地点lvs.cf)
cat lvs.conf 查看配置信息
在浏览器中
单击GLOBALSETTING---->Primary server public IP(192.168.0.151填写HAmaster主机的IP)――――――>下面选择三种工作方式的一种(本次实验选择Direct Routing)---->ACCEPT
单击REDUNDANCY----->Redundantserver public IP:(192.168.0.194HA备用主机的ip)--->Heartbeat interval(seconds检测心跳的时间)(填写2)----->Assume deadafter(seconds)(10)---->Heartbeat runs on port(539心跳检测监听的端口)----Monitor NIC links forfailures(选中)---->ACCEPT
单击VIRTUALSERVERS--->EDIT---->Name(www)--->Applicationport(80)----->Protocol(tcp)--->Virtual ip address(192.168.0.92VIP)---->Virtual IP NetworkMask(255.255.255.0)----Device(eth0:1)--->Re-entry Time(15)--->Servertimeout(6)--->Quiesce server(no)---->Loadmonitoring tool(none)----Scheduling(Round robin算法)---->Persistence Network Mask(Unused)----ACCEPT
单击REALSERVER----->add--->Name(server17.example.com)---->Address(192.168.0.117)---->Port(80)------>weight(1)----->ACCEPT
REALSERVER----->add---->Name(server41.example.com)---->Address(192.168.0.141)---->Port(80)---->Weight(1)----->ACCEPT
MONITORING SCRIPTS(监控脚本默认不变)----->ACCEPT
REAL SERVER ----->(选中RS主机)----->(D)ACTIVATE(让RS主机up,启动)
VIRTUAL SERVER----->(选中服务www)----->(De)ACTIVATE让www服务up,启动
scp /etc/sysconfig/ha/lvs.conf 192.168.0.194:/etc/sysconfig/ha/ 吧此配置文件复制到HA备份主机上
/etc/init.d/pulse start(server51)
ipvsadm -l 自动获得RS的信息,不要手动填写规则了
ifconfig 自动启动了eth0:1 这个VIP
/etc/init.d/pulse start(server94)
此时HA和lvs结合就配置好了,吧如果RS主机坏掉,HA主机可以自动检测到,并从规则列表中删除,如果RS主机再次好了,HA主机在次吧它添加进来,如果HA主机的master挂掉,HA的backup自动接受服务,当master好了后,依然是backup主机工作,直到backup主机挂掉,master主机才再次接受服务。