lvs集群与nat模式

  • Post author:
  • Post category:其他


一,什么是集群:

集群,群集,Cluster,由多台主机构成,但是对外只表现为一个整体,只提供一个访问入口(域名与ip地址),相当于一台大型计算机。

二,集群适用场景:高并发

三,集群的分类:

1,负载均衡集群

减少响应延迟,提高并发处理能力

2,高可用集群(HA)

提高系统的稳定性,减少服务器中断的时间,减少损失

3,高性能运算集群

分布式计算

四,负载均衡的集群架构

数据流向:用户—-vip—访问

第一层:负载调度器通过调度算法,以及rip的发送

第二层:服务器池所有服务器用的资源通过

第三层:共享存储提供网站,存储资源

五,负载均衡器的工作模式:

1,地址转换(NAT模式)

调度器做网关的同时还承担请求入口与访问出口,在高并发场景下负载压力很高,但是安全性很高。缺点:一台设备承担入口,出口,负载调度,高并发模型可能性能不足。

2,ip隧道(TUN模式)

仅作为访问的入口,响应不经过调度器,但是需要大量的公网ip,还需要专用的ip隧道(成本太高)数据转发受ip隧道的额外的影响。缺点:对公网ip数量要求比较高,对ip隧道数量有要求。

3,直接路由(DR模式)

仅作为请求的入口,响应数据不经过调度器,节点服务器和调度器在一个物理网络中,转发数据不受额外影响。

六,lvs的负载均衡算法

1,轮询

2,加权轮询

3,最少链接数

4,加权最少链接数

七,lvs组成

  1. 基于内核态的netfilter框架来实现的ipvs功能,工作在内核态。用户配置vip等相关信息并且传递到ipvs就需要用到ipvs当中的adm工具。
  2. Ipvs adm是lvs用户态的一个配套工具,可以实现vip和rs增删改查。Ipvsadm就是类似于iptables工具的地位。

八,lvs的作用:

  1. 主要用于多服务器的负载均衡
  2. 工作在网络层,可实现高性能,高可用的服务集群技术
  3. 廉价,可把我们的许多低性能的服务器组合在一起形成一个超级设备
  4. 易用,配置简单,有多重负载均衡的方式
  5. 稳定可靠,即使在集群的服务器中某台服务器无法正常工作,也不会影响整体效果
  6. 可扩展性好

九,lvs支持与工具

1,查看系统是否支持lvs:

modprobe ip_vs

2,lvs管理工具:ipvsadm

-A    添加虚拟服务器

-D    删除整个虚拟服务器

-s    指定负载调度算法 (轮询:rr、加权轮询: wrr、最少连接: lc、加权最少连接: wlc )

-a    表示添加真实服务器 (节点服务器)

-d    删除某一个节点

-t    指定 VIP地址及 TCP端口

-r    指定 RIP地址及 TCP端口

-m    表示使用 NAT群集模式.

-g    表示使用 DR模式

-i    表示使用 TUN模式

-w    设置权重 (权重为 0 时表示暂停节点)

-p 60    表示保持长连接60秒

-l    列表查看 LVS 虚拟服务器 (默认为查看所有)

-n    以数字形式显示地址、端口等信息,常与 “-l” 选项组合使用。ipvsadm -ln

十,具体配置:

本次实验需要在vmware中添加一块新网卡,并且给负载均衡器设置新的网卡。

NFS服务器:

安装nfs及其相关程序
yum install -y nfs-utils rpcbind

开启并设置自启动
systemctl start nfs.service 
systemctl start rpcbind.service
systemctl enable nfs.service 
systemctl enable rpcbind.service

创建共享目录两个,对应两个web服务器,然后更改权限
mkdir /opt/kgc /opt/benet
chmod 777 /opt/kgc /opt/benet

进项共享目录的设置
/usr/share *(ro,sync)
/opt/kgc 192.168.10.0/24(rw,sync)
/opt/benet 192.168.10.0/24(rw,sync)

发布共享
exportfs -rv
showmount -e

web服务器1(192.168.10.16)

安装httpd,开启并设置自启动
yum install -y httpd
systemctl start httpd.service 
systemctl enable httpd.service

安装nfs以及相关组件,开启并设置自启动
yum install -y nfs-utils rpcbind
systemctl start rpcbind.service
systemctl enable rpcbind.service

检测来自192.168.10.18的挂载目录
showmount -e 192.168.10.18

挂载目录后写入网页内容
mount.nfs 192.168.10.18:/opt/kgc /var/www/html/
echo 'this is kgc' > /var/www/html/index.html

设置永久挂载
vim /etc/fstab 
192.168.10.18:/opt/kgc /var/www/html nfs defaults,_netdev 0 0
mount -a

修改网卡网关为lvs服务器
vim /etc/sysconfig/network-scripts/ifcfg-ens33
GATEWAY=192.168.10.19

web服务器2(192.168.10.17)

安装httpd,开启并设置自启动
yum install -y httpd
systemctl start httpd.service 
systemctl enable httpd.service

安装nfs以及相关组件,开启并设置自启动
yum install -y nfs-utils rpcbind
systemctl start rpcbind.service
systemctl enable rpcbind.service

检测来自192.168.10.18的挂载目录
showmount -e 192.168.10.18

挂载目录后写入网页内容
mount.nfs 192.168.10.18:/opt/benet /var/www/html/
echo 'this is benet' > /var/www/html/index.html

设置永久挂载
vim /etc/fstab 
192.168.10.18:/opt/benet /var/www/html nfs defaults,_netdev 0 0
mount -a

修改网卡网关为lvs服务器
vim /etc/sysconfig/network-scripts/ifcfg-ens33
GATEWAY=192.168.10.19

负载调度器

添加网卡后,使用ifconfig扫描新加入的网卡,然后复制原有的网卡信息到新的网卡文件中,不使用DNS与网关,ip地址用新加入的vmnet3,vmnet3在本次实验中用的网段为10.0.0.0

配置snat转发规则
vim /etc/sysctl.conf
net.ipv4.ip_forward=1

查看配置是否生效
sysctl -p

清空iptables策略并且写入新的策略
iptables -t nat -F
iptables -t nat -A POSTROUTING -s 192.168.10.0/24 -o ens37 -j SNAT --to-source 10.0.0.1

加载lvs内核模块并查看版本
modprobe ip_vs
cat /proc/net/ip_vs

安装管理工具
yum install -y ipvsadm

启动服务(启动之前需要先保存策略)
ipvsadm-save > /etc/sysconfig/ipvsadm
systemctl start ipvsadm.service

配置负载均衡策略
ipvsadm -C
ipvsadm -A -t 10.0.0.1:80 -s rr
ipvsadm -a -t 10.0.0.1:80 -r 192.168.10.16:80 -m -w 1
ipvsadm -a -t 10.0.0.1:80 -r 192.168.10.17:80 -m -w 1

启动策略并查看节点状态,查看后保存
ipvsadm
ipvsadm -ln
ipvsadm-save > /etc/sysconfig/ipvsadm

配置结束后使用win10访问负载均衡服务器即可。



版权声明:本文为qq_61855329原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。