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

相关推荐
轻松Ai享生活15 小时前
5 节课深入学习Linux Cgroups
linux
christine-rr16 小时前
linux常用命令(4)——压缩命令
linux·服务器·redis
三坛海会大神55516 小时前
LVS与Keepalived详解(二)LVS负载均衡实现实操
linux·负载均衡·lvs
東雪蓮☆16 小时前
深入理解 LVS-DR 模式与 Keepalived 高可用集群
linux·运维·服务器·lvs
qq_2642208916 小时前
LVS负载均衡群集和LVS+Keepalived群集
运维·负载均衡·lvs
乌萨奇也要立志学C++17 小时前
【Linux】进程概念(二):进程查看与 fork 初探
linux·运维·服务器
绿箭柠檬茶18 小时前
Ubuntu 服务器配置转发网络访问
服务器·网络·ubuntu
獭.獭.18 小时前
Linux -- 信号【上】
linux·运维·服务器
hashiqimiya19 小时前
centos配置环境变量jdk
linux·运维·centos
hashiqimiya19 小时前
权限更改centos中系统文件无法创建文件夹,使用命令让普通用户具备操作文件夹
linux