什么是群集?
多台主机组成的一个整体,提供一个ip访问通道,所有的主机干一件事 提供同样的服务。
群集有哪些类型?
①负载均衡群集(LB):
提高系统的响应能力,处理更多的访问请求,减少延迟时间,获得高负载、高并发的性能。
②高可用群集(HA):
提供系统的可靠性,尽可能减少中断时间,保证业务的连续性。
③高性能传输群集:
云计算。
LVS有哪些类型?
①NAT模式:
均衡器是所有节点服务器的网关,既做客户端的访问入口,又是节点服务器回应响应报文的出口,会有性能瓶颈。因为他是做nat地址转换的,所有内网中的节点服务器安全性高。
②IP隧道(TUN)模式:
均衡器只做客户端的访问入口,节点服务器直接发送响应报文给客户端,不经过均衡器;节点服务器都分布在互联网各地,需要独立的公用ip,费用较高;因为发送响应报文要用专用的ip,所以多一次封装和解封装的过程,会造成损耗。
③DR模式:
均衡器只做客户端的访问入口,节点服务器直接发送响应报文给客户端,不经过均衡器;均衡器和节点服务器在同一局域网中,所以不用专用的ip隧道,这在生产中常用。
负载均衡工作原理:
首先客户通过互联网发送到负载均衡的vip(虚拟ip),均衡器会根据调度算法得知怎么分发给节点服务器,再根据节点服务器的RIP(真实ip)进行发送请求,节点服务器接收到后进行相应,也会去共享nas里面找到共享网页,然后转发给调度器,均衡器转发给客户。
LVS的负载调度算法:
rr(轮询)
wrr(加权轮询)
lc(最少连接)
wlc(加权最少连接)
sh(源哈希)
dh(目标地址哈希)
lblc(基于目的地址的最小连接)
ipvasdm工具选项:
-A:添加虚拟服务器
-D:删除整个虚拟fuwq
-s:指定负载调度算法(轮询,加权轮询,最少连接,加权最少连接,wlc)
-a:表示添加真实服务器(节点服务器)
-d:删除某一个节点
-t:指定VIP地址及TCP端口
-r:指定RIP地址及TCP端口
-m:表示使用NAT群集模式
-g:表示使用DR模式
-i:表示使用TUN模式
-w:设置权重(权重为0时表示暂停节点)
-p60:表示保持长连接60秒
-l:列表查看LVS虚拟服务器(默认为查看所有)
-n:以数字形式显示地址,端口等信息,常与“-l”选项组合使用
实验
准备四台虚拟机:
192.168.22.10 做网关服务器
192.168.22.11和192.168.22.12做nginx
192.168.22.13做nfs共享服务器
①首先配置nfs共享服务器,(192.168.22.13)
在/opt目录下创建test1 和test2 做共享目录,在里面配置网页页面,并给777权限
第二步vim /etc/exports
这样就成功了!
然后在两台nginx服务器上进行挂载
192.168.22.11
192.168.22.12
进网页测试一下
然后进行网关服务器192.168.22.10的配置
首先进行添加一张网卡,设置成仅主机模式,然后进入/etc/sysconfig/network-scripts/ cp -a复制去修改
由于在nat模式下,所以需要将两个节点服务器30和50的网关设置为调度器的地址
192.168.22.11
vim /etc/sysconfig/network-scripts/ifcfg-ens33
TYPE=Ethernet
DEVICE=ens33
ONBOOT=yes
BOOTPROTO=static
IPADDR=192.168.22.11
NETMASK=255.255.255.0
GATEWAY=192.168.22.10
#DNS1=192.168.146.2
systemctl restart network
192.168.22.12
vim /etc/sysconfig/network-scripts/ifcfg-ens33
TYPE=Ethernet
DEVICE=ens33
ONBOOT=yes
BOOTPROTO=static
IPADDR=192.168.22.12
NETMASK=255.255.255.0
GATEWAY=192.168.22.10
#DNS1=192.168.146.2
systemctl restart network
设置ip转发功能
vim /etc/sysctl.conf
net.ipv4.ip_forward=1
sysctl -p #加载
iptables -F && iptables -t nat -F #清空iptables规则
iptables -t nat -A POSTROUTING -s 192.168.22.0/24 -o ens36 -j SNAT --to 12.0.0.10
iptables -nL -t nat
modprobe ip_vs #加载模块(此实验只要加载一个通用的就可以了)
yum -y install ipvsadm
如果直接启动ipvsadm会报错
/var/log/messages查看一下,原因是缺少/etc/sysconfig/ipvsadm这个文件,所以我们可以手动给他添加一下
ipvsadm-save > /etc/sysconfig/ipvsadm
systemctl start ipvsadm
配置负载分配策略(NAT模式只要在调度器上配置,节点服务器不需要特殊配置)
ipvsadm -ln #查看是否有规则
ipvsadm -C #清楚现有规则
ipvsadm -A -t 12.0.0.10:80 -s rr #添加一个虚拟服务器
ipvsadm -a -t 12.0.0.10:80 -r 192.168.22.11:80 -m #添加节点服务器
ipvsadm -a -t 12.0.0.10:80 -r 192.168.22.12:80 -m
ipvsadm #启用
测试
修改客户端的模式也为vMnat1 模式,并且修改ip地址