LVS-NAT 集群环境实现
同步集群环境所有服务器的时间:(时间必须同步, 注意防火墙和 SELinux 状态)
LVS 服务器配置:
安装包 chrony
修改配置文件 vim /etc/chrony.conf 添加下面配置
- server 172.18.0.1 iburst (同步 172.18.0.1 服务器的时间)
- allow 192.168.205.0/24 (允许同步本服务器时间的 IP 网段)
- local stratum 10 (当 LVS 无法同步 172.18.0.1 服务器的时间时, 允许的主机仍可以同步本机时间)
- systemctl restart chronyd
RS1 服务器配置:
安装包 chrony
修改配置文件 vim /etc/chrony.conf 添加下面配置
- server 192.168.205.132 iburst (同步 LVS 服务器的时间)
- systemctl restart chronyd
RS2 服务器配置:
安装包 chrony
修改配置文件 vim /etc/chrony.conf 添加下面配置
- server 192.168.205.132 iburst (同步 LVS 服务器的时间)
- systemctl restart chronyd
搭建网络环境:
LVS 服务器有两个网卡, 一个配置私网 IP 一个配置公网 IP(LVS 服务器需要开启 IP 转发功能)
- echo net.ipv4.ip_forward=1>> /etc/sysctl.conf
- sysctl -p
RS1 和 RS2 默认网关指向 LVS 的私网 IP
nmcli connection modify ens33 ipv4.gateway 192.168.205.132
客户端的网关指向 LVS 的公网 IP
nmcli connection modify ens37 ipv4.gateway 172.18.205.166
此时客户端和 RS 服务器就可以 ping 通了
在 RS 服务器上布置 httpd 服务调度实现 (LVS 服务器上安装 ipvsadm 包)
在 LVS 服务器上添加集群:
ipvsadm -A -t 172.18.205.166:80 -s rr
在集群中添加 RS 服务器:
- ipvsadm -a -t 172.18.205.166:80 -r 192.168.205.100 -m
- ipvsadm -a -t 172.18.205.166:80 -r 192.168.205.160 -m
查看 LVS 集群和 RS 服务器:
ipvsadm -ln(选项顺序不能变)
客户端访问:(访问 LVS 的公网 IP)
curl 172.18.205.166
由于指定的调度算法是 rr(轮询), 如果只有一台机器测试, 则看到的结果是两台 RS 服务器轮流响应
调度算法可以修改为别的调度算法
ipvsadm -E -t 172.18.205.166:80 -s wrr(默认权重都为 1)
修改 RS 服务器权重
ipvsadm -e -t 172.18.205.166:80 -r 192.168.205.160:80 -w 3 -m
LVS-NAT 支持端口映射:
ipvsadm -e -t 172.18.205.166:80 -r 192.168.205.160:8080 -w 3 -m
LVS-NAT 实现 http 和 https 的分开调度 (即在不同的集群):
1RS 服务器上安装 mod_ssl, 实现 https
2 添加新的集群
ipvsadm -A -t 172.18.205.166:443 (默认调度算法 wlc)
3 添加 RS 服务器
- ipvsadm -a -t 172.18.205.166:443 -r 192.168.205.100:443 -m
- ipvsadm -a -t 172.18.205.166:443 -r 192.168.205.160:443 -m
4 客户端访问
curl -k https://172.18.205.166
负载均衡集群设计时要注意的问题
(1) 是否需要会话保持
(2) 是否需要共享存储
共享存储: NAS, SAN, DS(分布式存储)
数据同步:
LVS-NAT:
设计要点:
(1) RIP 与 DIP 在同一 IP 网络, RIP 的网关要指向 DIP
(2) 支持端口映射
(3) Director 要打开核心转发功能
来源: http://www.bubuko.com/infodetail-2546079.html