阿里云-云小站(无限量代金券发放中)
【腾讯云】云服务器、云数据库、COS、CDN、短信等热卖云产品特惠抢购

LVS负载均衡之LVS-NAT搭建Web群集

143次阅读
没有评论

共计 2517 个字符,预计需要花费 7 分钟才能阅读完成。

实现 LVS 的 NAT 模式

其原理及特点详细介绍请看 LVS 的 NAT 模式 LVS 负载均衡之 LVS-NAT 搭建 Web 群集

1. 实验环境

IP 地址规划

客户端访问服务的请求 IP 地址:VIP 12.0.0.1

Server IP 系统
Director Server DIP 192.168.10.1 CentOS7
NFS Server 192.168.10.50 RedHat6
Real Server1 RIP 192.168.10.51 CentOS7
Real Server2 RIP 192.168.10.52 CentOS7

在配置的 Director 的服务器上添加两块网卡,详细步骤可参考 DNS 分离解析这篇文章中有介绍,设置外网 ens37 为 VIP,内网 ens33 为 DIP,把两个 real server 的网关设置为 Director 的内网 iP 即 DIP。

在虚拟机的配置中 DIP 网络连接方式设置为仅主机模式,Real Server 也配置为仅主机模式。
LVS 负载均衡之 LVS-NAT 搭建 Web 群集

2. 安装和配置

yum 安装软件

方法一:如果虚拟机网络是仅主机模式,没有网络,可以本地创建 yum 仓库,然后进行 yum 安装。

方法二:如果虚拟机网络是 NAT 模式,有网络,可以在线 yum 安装。

(1) 配置 NFS 服务器

安装 nfs 软件并启动 nfs 服务

yum install nfs-utils -y    #7 系统版本需要安装 nfs 工具包 
service rpcbind start  
service nfs restart

创建共享目录并赋予写入权限

mkdir /opt/wwwroot1 /opt/wwwroot2
chmod 777 /opt/wwwroot1 /opt/wwwroot2

编辑配置文件

vim /etc/exports
/opt/wwwroot1 192.168.10.0/24(rw,sync) 
/opt/wwwroot2 192.168.10.0/24(rw,sync) 

发布共享

exportfs -rv

关闭防火墙

service iptables stop
(2) 配置两个 real server 服务器

安装 nfs 客户端

yum install nfs-utils -y 
systemctl start rpcbind.service  
systemctl start nfs.service

查看 nfs 挂载

showmount -e 192.168.10.50

Real Server1 挂载 nfs

# 法一:直接挂载 
mount.nfs 192.168.10.50:/opt/wwwroot1 /var/www/html

# 法二:修改 fatab 文件挂载 
vim /etc/fstab
  192.168.10.50:/opt/wwwroot1 /var/www/html nfs defaults,_netdev  0 0

Real Server2 挂载 nfs

 方法同 Real Server1, 将挂载目录 /opt/wwwroot1 改成 /opt/wwwroot2, 其余一样。

安装 httpd

yum install httpd -y

创建测试网页并启动 httpd 服务

#real server1 创建测试网页 
echo "Server 192.168.10.51" > /var/www/html/index.html
#real server2 创建测试网页 
echo "Server 192.168.10.52" > /var/www/html/index.html
# 启动 httpd 服务 
systemctl start httpd.service 
systemctl enable httpd.service 

关闭防火墙和安全性策略

systemctl stop  firewalld.service 
systemctl disable firewalld.service
setenforce 0

测试网页打开是否正常

firefox http://127.0.0.1/

LVS 负载均衡之 LVS-NAT 搭建 Web 群集
LVS 负载均衡之 LVS-NAT 搭建 Web 群集

(3) 配置 Director server 服务器

安装 ipvsadm 管理工具

yum install ipvsadm -y

调用 LVS 内核模块

modprobe ip_vs # 加载 LVS 内核模块 
cat /proc/net/ip_vs  # 查看 ip_vs 版本信息 

LVS 负载均衡之 LVS-NAT 搭建 Web 群集

开启路由转发

# 法一:编辑 sysctl.conf 文件,永久路由转发 
vim /etc/sysctl.conf
  net.ipv4.ip_forward=1
sysctl -p  # 保存 

# 法二:直接编辑, 临时路由转发 
echo "1" > /proc/sys/net/ipv4/ip_forward

配置 SNAT 转发规则, 设置 nat 防火墙

iptables -F -t nat      # 清空 nat 防火墙 
iptables -t nat -A POSTROUTING -s 192.168.10.0/24 -o ens37 -j SNAT --to-source 12.0.0.1

Director 上编辑 nat 实现负载分配脚本

# 设置 ipvsadm
vim nat.sh
 #!/bin/bash
 ipvsadm-save  > /etc/sysconfig/ipvsadm   # 保存策略 
 service ipvsadm start 
 ipvsadm -C     # 清除内核虚拟服务器表中的所有记录 
 ipvsadm -A -t 12.0.0.1:80 -s rr  # 创建虚拟服务器 
 ipvsadm -a -t 12.0.0.1:80 -r 192.168.10.51:80 -m 
 ipvsadm -a -t 12.0.0.1:80 -r 192.168.10.52:80 -m 
 ipvsadm

ipvsadm 管理工具的选项用法:

  • -A: 表示添加虚拟服务器
  • -t: 用来指定 VIP 地址及 TCP 端口
  • -s: 用来指定负载均衡调度算法
  • -a: 表示添加真实服务器
  • -r: 用来指定 RIP 地址及 TCP 端口
  • -m: 表示使用 NAT 群集模式
  • -g: 表示使用 DR 群集模式
  • -i: 表示使用 TUN 群集模式
  • -w: 用来设置权重

保存 nat 脚本后直接运行

chmod +x nat.sh
./nat.sh

LVS 负载均衡之 LVS-NAT 搭建 Web 群集
查看 ipvsadm 设置的规则

ipvsadm -ln

LVS 负载均衡之 LVS-NAT 搭建 Web 群集

3. 测试 LVS 群集

用 Windows 客户端直接访问 http://12.0.0.1,将能够看到由真实服务器提供的网页内容。

第一次访问:
LVS 负载均衡之 LVS-NAT 搭建 Web 群集
Real Server 连接次数查看:
LVS 负载均衡之 LVS-NAT 搭建 Web 群集
刷新一次:
LVS 负载均衡之 LVS-NAT 搭建 Web 群集
Real Server 连接次数查看:
LVS 负载均衡之 LVS-NAT 搭建 Web 群集

LVS 的 DR 模式案例部署详细请看 LVS 负载均衡之 LVS-DR 搭建 Web 群集与 LVS 结合 Keepalived 搭建高可用 Web 群集

正文完
星哥说事-微信公众号
post-qrcode
 0
星锅
版权声明:本站原创文章,由 星锅 于2022-01-21发表,共计2517字。
转载说明:除特殊说明外本站文章皆由CC-4.0协议发布,转载请注明出处。
【腾讯云】推广者专属福利,新客户无门槛领取总价值高达2860元代金券,每种代金券限量500张,先到先得。
阿里云-最新活动爆款每日限量供应
评论(没有评论)
验证码
【腾讯云】云服务器、云数据库、COS、CDN、短信等云产品特惠热卖中