- Virtual Server via Network Address Translation(VS/NAT)
通过网络地址转换,调度器重写请求报文的目标地址,根据预设的调度算法,将请求分派给后端的真实服务器;真实服务器的响应报文通过调度器时,报文的源地址被重写,再返回给客户,完成整个负载调度过程- ldirectord 对lvs策略的动态维护:
ldirectord是监视集群节点(真实服务器),并从集群中自动移除节点,我们需要使用ldirectord程序,这个程序在启动时自动建立IPVS表,然后监视集群节点的健康情况,在发现失效节点时将其自动从IPVS表中移除。
拓扑如下:
Ldirectord + ipvsadm 进行LVS的管理
在调度器上设置双网卡,eth0:172.25.21.1 对内
eth2:172.25.254.1 对外
VIP:172.25.254.251,绑定在eth2上
Http: real server1: ip :172.25.21.2/24
GW:172.25.21.1
Http: real server2: ip :172.25.21.3/24
GW:172.25.21.1
首先在调度器上开启地址转发,让真实主机网段,可以访问外界
执行如下:
编辑/etc/sysctl.conf
编辑第7 行,打开路由转发功能
6 # Controls IP packet forwarding
7 net.ipv4.ip_forward = 1
进行查看:,路由转发开启:
[root@Server1 mnt]# sysctl -p
此时RS1,RS2均可ping 通172.25.254.0/24网段
进行ldiectord 的安装配置:
[root@Server1 html]# yum install ldirectord-3.9.5-3.1.x86_64.rpm -y
查看其配置文件所在目录:
[root@Server1 mnt]# rpm -ql ldirectord
/etc/ha.d
/etc/ha.d/resource.d
/etc/ha.d/resource.d/ldirectord
/etc/init.d/ldirectord
/etc/logrotate.d/ldirectord
/usr/lib/ocf/resource.d/heartbeat/ldirectord
/usr/sbin/ldirectord
/usr/share/doc/ldirectord-3.9.5
/usr/share/doc/ldirectord-3.9.5/COPYING
/usr/share/doc/ldirectord-3.9.5/ldirectord.cf # 策略文件所在
/usr/share/man/man8/ldirectord.8.gz
执行如下命令将策略文件复制到 /etc/ha.d/
[root@Server1 ha.d]# cp /usr/share/doc/ldirectord-3.9.5/ldirectord.cf /etc/ha.d/
编辑 ldirectord.cf
编辑如下:
- 此时查看 ipvsadm 的策略,可以发现时没有的
在重新启动 ldirectord 之后,在/etc/ha.d/ldirectord.cf 中的配置将会自动写入 ipvsadm 成为LVS 的策略
配置后端服务器
http 服务端:
RS1:启动httpd服务,编辑默认发布文件:
RS2:启动httpd服务,编辑默认发布文件:
在客户端进行测试:
进行测试:
若一个HTTP 服务器宕机,客户端显示如下:
服务器宕机:
客户端显示如下:
调度器端:自动将宕机的服务端删除