lvs集群与nat模式

一,什么是集群:

集群,群集,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访问负载均衡服务器即可。

相关推荐
碎梦归途2 小时前
Linux 软件安装方式全解(适用于 CentOS/RHEL 系统)
linux·运维·centos
啃火龙果的兔子2 小时前
CentOS 7.9 安装 宝塔面板
linux·运维·centos
DexterLien2 小时前
基于 Alpine 定制单功能用途(kiosk)电脑
linux·alpine·kiosk
小和尚敲木头2 小时前
krpano 字符串拼接,传参。
java·linux·前端
程序猿小D2 小时前
第11节 Node.js 模块系统
服务器·前端·node.js·编辑器·vim
国际云,接待3 小时前
阿里云无影云桌面深度测评
运维·服务器·阿里云·云原生·云计算
#君君#3 小时前
解决 Ubuntu 20.04 虚拟机中 catkin_make 编译卡死问题
linux·运维·ubuntu
IT布道3 小时前
强制卸载openssl-libs导致系统异常的修复方法
linux·运维·服务器
太空1号3 小时前
飞腾D2000,麒麟系统V10,docker,ubuntu1804,小白入门喂饭级教程
linux·c++·docker
秦jh_3 小时前
【Linux网络】传输层TCP协议
linux·运维·服务器·网络·网络协议·tcp/ip