一、群集介绍
1.1.群集的含义
集群(cluster)就是一组计算机,它们作为一个整体向用户提供一组网络资源。这些单个的计算机系统 就是集群的节点(node)。简单的说,就是由多台主机构成,但对外只表现为一个整体。
1.2.群集的类型
负载均衡群集(Load Balance Cluster)
高可用群集(High Availability Cluster)
高性能运算群集(High Performance Computer Cluster)
1.3.负载均衡的分层结构
第一层:负载调度器(Load Balancer或称为Director)
负责将客户的请求发送到一组服务器上执行,而客户认为服务 器是来自一个IP地址(称之为集群IP地址VIP)
第二层:服务器池(Server Pool)
只处理调度器分发过来的客户机请求
第三层:共享存储(Share Storage)
为服务器池提供一个共享的存储区,这样很容易使得服务器池拥有相同的内容,提供相同的服 务
1.4.负载均衡的工作模式
地址转换(Network Address Translation)
服务器使用 私有IP地址,有负载调度器为其转发。这种技术容易形成单点故障,并且存在带宽瓶颈。
IP隧道(IP Tunnel)
简称TUN模式,采用开放式网络结构,负载调度器和web服务器使用的都是公网地址
直接路由(Direct Routing)
简称DR模式。采用半开放网络结构,与TUN网络模式类似,只不过节点并不是分散在各地, 与调度器位于同一个物理网络
1.5.LVS的负载调度算法
轮询(Round Robin) 就是按依次循环的方式将请求调度到不同的服务器上。平均分配
加权轮询(Weighted Round Robin) 根据真实服务器的不同处理能力来调度访问请求。
最少连接(Least Connections) 把新的连接请求分配到当前连接数最小的服务器。闲者多劳
加权最少连接(Weighted Least Connections) 具有较高权值的服务器将承受较大比例的活动连接负载。
二、LVS-NAT群集搭建
调度服务器网络接口
ens32:222.222.222.254 模式:VMnet8 NAT 外网网卡
ens34:192.168.11.254 模式:VMnet1 仅主机 内网网卡(网关
#外网IP:222.222.222.254 (NAT)
[root@localhost ~]# vim /etc/sysconfig/network-scripts/ifcfg-ens32
TYPE="Ethernet" BOOTPROTO="static" //设置为静态IP
DEFROUTE="yes"
NAME="ens32"
DEVICE="ens32"
ONBOOT="yes" I
PADDR="222.222.222.254" //设置IP
NETMASK="255.255.255.0" /设置子网掩码
#内网IP:192.168.1.254 (仅主机,内网网关)
[root@localhost ~]# vim /etc/sysconfig/network-scripts/ifcfg-ens34
TYPE="Ethernet"
BOOTPROTO="static" //设置为静态IP
DEFROUTE="yes"
NAME="ens34" //名称
DEVICE="ens34" //设备
ONBOOT="yes"
IPADDR="192.168.11.254" //设置IP
NETMASK="255.255.255.0" //设置子网掩码
测试服务器
ens32:222.222.222.2 模式:VMnet8 NAT 外网网卡
[root@localhost ~]# vim /etc/sysconfig/network-scripts/ifcfg-ens32
TYPE="Ethernet"
BOOTPROTO="static" //设置为静态IP
DEFROUTE="yes"
NAME="ens32"
DEVICE="ens32"
ONBOOT="yes"
IPADDR="222.222.222.2" //设置IP
NETMASK="255.255.255.0" //设置子网掩码
其它服务器网络接口
NFS服务器 ens32:192.168.11.250 模式:VMnet1 仅主机 内网网卡 网关:192.168.11.254 web1节点服务器 ens32:192.168.11.10 模式:VMnet1 仅主机 内网网卡 网关:192.168.11.254 web1节点服务器 ens32:192.168.11.11 模式:VMnet1 仅主机 内网网卡 网关:192.168.11.254
2.1.web服务器
1、安装httpd
[root@localhost 桌面]# yum -y install httpd
2、安装 nfs-utils rpcbind
[root@localhost 桌面]# yum -y install nfs-utils rpcbin
3、挂载nfs服务器共享目录到本地(自动挂载)
[root@localhost html]# vim /etc/fstab
192.168.11.250:/opt/wwwroot /var/www/html/ nfs defaults,_netdev 0 0
临时挂载 [root@localhost 桌面]# mount 192.168.11.250:/opt/wwwroot /var/www/html/
4、nfs服务器设置同步的文件
[root@localhost 桌面]# cd /opt/wwwroot/
[root@localhost wwwroot]# echo "11111" > index.html
5、所有web节点服务器验证
[root@localhost 桌面]# cd /var/www/html/
[root@localhost html]# cat index.html
2.2.调度服务器
1、加载ip_vs模块,并查看ip_vs版本信息
[root@localhost Desktop]# modprobe ip_vs
[root@localhost Desktop]# cat /proc/net/ip_vs
2、开启ipv4路由功能
[root@localhost media]# vim /etc/sysctl.d/99-sysctl.conf
net.ipv4.ip_forward = 1
[root@localhost media]# sysctl -p
3、配置SNAT转发,其目的响应外网用户请求
[root@localhost media]# iptables -t nat -A POSTROUTING -s 192.168.11.0/24 -o ens32 -j SNAT --to-source 222.222.222.254
2.3.负载均衡调度策略设置
1、安装ipvsadm管理工具
[root@localhost media]# yum -y install ipvsadm
2、添加调度服务器
[root@localhost media]# ipvsadm -A -t 222.222.222.254:80 -s rr
3、添加服务器到服务池
[root@localhost media]# ipvsadm -a -t 222.222.222.254:80 -r 192.168.11.10:80 -m - w 1 [root@localhost media]# ipvsadm -a -t 222.222.222.254:80 -r 192.168.11.11:80 -m - w 1
4、查看集群节点状态
[root@localhost media]# ipvsadm -Ln
2.4.测试
客户机访问页面,URL路径为http://222.222.222.254,不停刷新页面
查看集群节点状态 [root@localhost media]# ipvsadm -Ln
三、LVS_DR群集搭建
将ip地址设备完毕
3.1.web服务器设置
在DR模式中,每个节点都需要知道VIP地址
1、设置vip
[root@localhost 桌面]# cd /etc/sysconfig/network-scripts/
[root@localhost network-scripts]# cp ifcfg-lo ifcfg-lo:0
[root@localhost network-scripts]# vim ifcfg-lo:0
DEVICE=lo:0
IPADDR=222.222.222.250
NETMASK=255.255.255.255
ONBOOT=yes
[root@localhost network-scripts]# ifup lo:0
2、添加虚拟IP到本地访问路由,开机会自动添加
[root@localhost network-scripts]# vim /etc/rc.local
/sbin/route add -host 222.222.222.250 dev lo:0
#手动添加方法 [root@localhost network-scripts]# route add -host 222.222.222.250 dev lo:0
3、修改通告级别
[root@localhost network-scripts]# echo 1 > /proc/sys/net/ipv4/conf/lo/arp_ignore
[root@localhost network-scripts]# echo 2 > /proc/sys/net/ipv4/conf/lo/arp_announce [root@localhost network-scripts]# echo 1 > /proc/sys/net/ipv4/conf/all/arp_ignore
[root@localhost network-scripts]# echo 2 > /proc/sys/net/ipv4/conf/all/arp_announce [root@localhost network-scripts]# echo 1 > /proc/sys/net/ipv4/conf/default/arp_ignore [root@localhost network-scripts]# echo 2 > /proc/sys/net/ipv4/conf/default/arp_announce
3.2.LVS调度器
1、加载ip_vs模块,查看ip_vs版本信息
[root@localhost Desktop]# modprobe ip_vs
[root@localhost Desktop]# cat /proc/net/ip_vs
2、绑定虚拟IP
[root@localhost /]# cd /etc/sysconfig/network-scripts/
[root@localhost network-scripts]# cp ifcfg-ens32 ifcfg-ens32:0
[root@localhost network-scripts]# vim ifcfg-ens32:0
DEVICE=ens32:0 TYPE=Ethernet
ONBOOT=yes BOOTPROTO=static
IPADDR=222.222.222.250
[root@localhost network-scripts]# ifup eth0:0
3、调整prco参数响应,禁止转发重定向报文(案例中未使用可不操作)
[root@localhost network-scripts]# vim /etc/sysctl.conf
[root@localhost network-scripts]# echo 0 > /proc/sys/net/ipv4/conf/all/send_redirects [root@localhost network-scripts]# echo 0 > /proc/sys/net/ipv4/conf/default/send_redirects [root@localhost network-scripts]# echo 0 > /proc/sys/net/ipv4/conf/ens32/send_redirects
4、负载均衡调度策略设置
[root@localhost media]# ipvsadm -A -t 222.222.222.250:80 -s rr
[root@localhost media]# ipvsadm -a -t 222.222.222.250:80 -r 222.222.222.1 -g -w 1 [root@localhost media]# ipvsadm -a -t 222.222.222.250:80 -r 222.222.222.2 -g -w 1
[root@localhost network-scripts]# ipvsadm -ln
3.3.测试
客户机访问页面,URL路径为http://222.222.222.250,不停刷新页面
[root@localhost 桌面]# ipvsadm -ln
IP Virtual Server version 1.2.1 (size=4096)
Prot LocalAddress:Port Scheduler Flags
-> RemoteAddress:Port Forward Weight ActiveConn InActConn
TCP 222.222.222.250:80 rr
-> 222.222.222.1:80 Route 1 0 15
-> 222.222.222.2:80 Route 1 0 15