- linux_centos6_lvs负载均衡的nat模型实现流程
- 标签: linux_lvs负载均衡 nat模型实现流程
- 作者:忙碌的蚂蚁 ( 2020年3月4日 20:39 )
-
以web负载均衡集群为例
1. 首先要准备3台主机(这里我们使用虚拟主机)A、B、C
A. 作为lvs主服务器,用来调度各个节点服务器,
需要两块网卡(eth0连接外网 eth1连接内网 两块网卡的ip地址不在一个网段)
外网:公网
内网:各个节点服务器组成的内部网络,不能被公网直接访问
B. 节点服务器
C. 节点服务器
2. 了解lvs nat模型的朋友都知道lvs服务器(director)是需要双网卡的,所以我们要为虚拟机再添加一块新的网卡,至于如何添加网卡这里我们就不做介绍了,下面我们来看看如何配置两块网卡
1. ifconfig你会发现没有eth1的信息
解决方法:
1.执行ip addr会显示mac地址信息,找到eth1的mac地址,记录下来
2.进入/etc/sysconfig/network-scripts/目录下
cd /etc/sysconfig/network-scripts/
3.把ifcfg-eth0复制成ifcfg-eth1
cp ifcfg-eth0 ifcfg-eth1
2 修改ifcfg-eth0文件
DEVICE=eth0
HWADDR=00:0C:29:8C:90:46
TYPE=Ethernet
ONBOOT=yes
BOOTPROTO=static
IPADDR=192.168.205.183 (用来访问公网)
NETMASK=255.255.0.0
GATEWAY=192.168.205.2
DNS1=192.168.205.2
3 修改ifcfg-eth1文件
DEVICE=eth1
HWADDR=00:0c:29:8c:90:50 (这里换成刚刚我们记录的eth1的Mac地址)
TYPE=Ethernet
ONBOOT=yes
NM_CONTROLLED=yes
BOOTPROTO=static
IPADDR=192.168.20.9 (用来访问内网)
NETMASK=255.255.255.0
4. 重启网卡服务
service network restart
5.开启双网卡间的数据自动转发功能
echo 1 >/proc/sys/net/ipv4/ip_forward
6.关闭iptables(注意lvs与iptables不能同时使用)
iptables -F
3.配置B主机
1.需要安装httpd用来验证lvs的调度功能
yum install -y httpd
2.开启httpd服务
service httpd start
3.创建首页文件(这里我们只是为了验证,所有简单编辑一下就好)
echo 111111.html>/var/www/html/index.html
4.验证httpd
curl localhost
显示结果111111.html内容,表示正常
5.修改网卡信息
vi /etc/sysconfig/network-scripts/ifcfg-eth0
BOOTPROTO=static
IPADDR=192.168.20.10 (要和A主机的eth1在同一个网段)
NETMASK=255.255.255.0
GATEWAY=192.168.20.9(网关要指向A主机的eth1的IP地址)
6.重启网卡服务
service network restart
7.关闭iptables
iptables -F
4.配置C主机
1.需要安装httpd用来验证lvs的调度功能
yum install -y httpd
2.开启httpd服务
service httpd start
3.创建首页文件(为了验证集群调度功能,这里我们故意设置成与B主机不一样的内容)
echo 222222.html>/var/www/html/index.html
4.验证httpd
curl localhost
显示结果222222.html内容,表示正常
5.修改网卡信息
vi /etc/sysconfig/network-scripts/ifcfg-eth0
BOOTPROTO=static
IPADDR=192.168.20.11 (要和A主机的eth1在同一个网段)
NETMASK=255.255.255.0
GATEWAY=192.168.20.9(网关要指向A主机的eth1的IP地址)
6.重启网卡服务
service network restart
7.关闭iptables
iptables -F
6.配置A主机的集群服务
1.查看系统是否支持ipvs功能
grep -i 'vs' /boot/config-2.6.32-696.el6.x86_64显示内容如下表示支持
CONFIG_GENERIC_TIME_VSYSCALL=y
# CONFIG_X86_VSMP is not set
CONFIG_HIBERNATION_NVS=y
CONFIG_IP_VS=m
CONFIG_IP_VS_IPV6=y
# CONFIG_IP_VS_DEBUG is not set
CONFIG_IP_VS_TAB_BITS=12
# IPVS transport protocol load balancing support
CONFIG_IP_VS_PROTO_TCP=y
CONFIG_IP_VS_PROTO_UDP=y
CONFIG_IP_VS_PROTO_AH_ESP=y
CONFIG_IP_VS_PROTO_ESP=y
CONFIG_IP_VS_PROTO_AH=y
CONFIG_IP_VS_PROTO_SCTP=y
# IPVS scheduler
CONFIG_IP_VS_RR=m
CONFIG_IP_VS_WRR=m
CONFIG_IP_VS_LC=m
CONFIG_IP_VS_WLC=m
CONFIG_IP_VS_LBLC=m
CONFIG_IP_VS_LBLCR=m
CONFIG_IP_VS_DH=m
CONFIG_IP_VS_SH=m
CONFIG_IP_VS_SED=m
CONFIG_IP_VS_NQ=m
# IPVS application helper
CONFIG_IP_VS_FTP=m
CONFIG_IP_VS_PE_SIP=m
CONFIG_OPENVSWITCH=m
CONFIG_OPENVSWITCH_GRE=y
CONFIG_OPENVSWITCH_VXLAN=y
CONFIG_MTD_BLKDEVS=m
CONFIG_SCSI_MVSAS=m
# CONFIG_SCSI_MVSAS_DEBUG is not set
# CONFIG_SCSI_MVSAS_TASKLET is not set
CONFIG_VMWARE_PVSCSI=m
CONFIG_MOUSE_VSXXXAA=m
CONFIG_MAX_RAW_DEVS=8192
CONFIG_USB_SEVSEG=m
CONFIG_USB_VST=m
如果不能支持需要另行安装
2.安装ipvsadm
yum install -y ipvsadm
3.添加集群服务
ipvsadm -A -t 192.168.205.183:80 -s rr
4.添加集群节点
ipvsadm -a -t 192.168.205.183:80 -r 192.168.20.10 -m
ipvsadm -a -t 192.168.205.183:80 -r 192.168.20.11 -m
5.验证
在windows真机上打开浏览器 地址栏输入http://192.168.205.183回车
多刷新几次,如果显示的内容不一样,表示lvs nat模型的负载均衡集群功能搭建成功
- 最佳人气 top10
- 解决Django AttributeError: ‘str’ object has no attribute ‘decode’错误
- 解决django.db.utils.InternalError: (1049, "Unknown database 'exam_db'")
- linux中man命令的查看级别
- vsftpd+pam+mariadb实现虚拟用户登陆
- 'filter' is not a registered tag library
- python fabric模块常用选项
- 形容词的比较级和最高级
- centos7如何使用mysql5.7通用二进制格式
- 解决mysql数据库中文乱码问题
- Django连接MySQL数据库