对LVS负载均衡群集的总结
发表于:2024-11-25 作者:千家信息网编辑
千家信息网最后更新 2024年11月25日,下文给大家带来对LVS负载均衡群集的总结,希望能够给大家在实际运用中带来一定的帮助,负载均衡涉及的东西比较多,理论也不多,网上有很多书籍,今天我们就用在行业内累计的经验来做一个解答。群集应用概述群集的
千家信息网最后更新 2024年11月25日对LVS负载均衡群集的总结
下文给大家带来对LVS负载均衡群集的总结,希望能够给大家在实际运用中带来一定的帮助,负载均衡涉及的东西比较多,理论也不多,网上有很多书籍,今天我们就用在行业内累计的经验来做一个解答。
群集应用概述
群集的含义
1.Cluster,集群、群集2.由多台主机构成,但对外只表现为一个整体
在互联网应用中,随着站点对硬件性能、响应速度、服务稳定性、数据可靠性等要求越来越高,单台云服务器力不从心
解决方法
1.使用价格昂贵的小型机、大型机2.使用普通服务器构建服务群集
企业群集分类
根据群集所针对的目标差异,可分为三种类型:
1.负载均衡群集(轮询,最小连接的加权重)2.高可用群集(访问的速度,可靠性)3.高性能运算群集(并发处理任务)
负载均衡群集(Load Balance Cluster)
1.以提高应用系统的响应能力、尽可能处理更多的访问请求、减少延迟为目标,获得高并发、负载(LB) 的整体性能2.LB的负载分配依赖于主节点的分流算法
高可用群集(High Availability Cluster)
1.以提高应用系统的可靠性、尽可能地减少中断时间为目标,确保服务的连续性,达到高可用(HA) 的容错效果2.HA的工作方式包括双工和主从两种模式
高性能运算群集(High Performance Computer Cluster)
1.以提高应用系统的CPU运算速度、扩展硬件资源和分析能力为目标,获得相当于大型、超级计算机的高性能运算(HPC)能力2.高性能运算群集的高性能依赖于"分布式运算"、"并行计算" ,通过专用硬件和软件将多个服务器的CPU、内存等资源整合在一起,实现只有大型、超级计算机才具备的计算能力
负载均衡群集工作模式分析
负载均衡群集是目前企业用得最多的群集类型
群集的负载调度技术有三种工作模式:
1.地址转换2.IP隧道3.直接路由(DR)
NAT模式
地址转换(Network Address Translation):
1.简称NAT模式,类似于防火墙的私有网络结构,负载调度器作为所有服务器节点的网关,即作为客户机的访问入口,也是各节点回应客户机的访问出口2.服务器节点使用私有IP地址,与负载调度器位于同一个物理网络,安全性要优于其他两种方式
TUN模式
IP隧道(IP Tunnel):
1.简称TUN模式,采用开放式的网络结构,负载调度器仅作为客户机的访问入口,各节点通过各自的Internet连接直接回应客户机,而不再经过负载调度器2.服务器节点分散在互联网中的不同位置,具有独立的公网IP地址,通过专用IP隧道与负载调度器相互通信
DR模式
直接路由(Direct Routing)
1.简称DR模式,采用半开放式的网络结构,与TUN模式的结构类似,但各节点并不是分散在各地,而是与调度器位于同一个物理网络2.负载调度器与各节点服务器通过本地网络连接,不需要建立专用的IP隧道
负载均衡群集架构
负载均衡的结构:
1.第一层,负载调度器(Load Balancer或Director)2.第二层,服务器池(Server Pool)3.第三层,共享存储(Share Storage)
LVS的负载调度算法
1.轮询(Round Robin):
1.将收到的访问请求按照顺序轮流分配给群集中的各节点(真实服务器)2.均等地对待每一台服务器, 而不管服务器实际的连接数和系统负载
2.加权轮询(Weighted Round Robin):
1.根据真实服务器的处理能力轮流分配收到的访问请求,调度器可以自动查询各节点的负载情况,并动态调整其权重2.保证处理能力强的服务器承担更多的访问流量
3.最少连接(Least Connections)
根据真实服务器已建立的连接数进行分配,将收到的访问请求优先分配给连接数最少的节点
4.加权最少连接(Weighted Least Connections)
1.在服务器节点的性能差异较大的情况下,可以为真实服务器自动调整权重2.权重较高的节点将承担更大比例的活动连接负载
使用ipvsadm工具
LVS群集创建与管理步骤
NFS共享存储服务
Network File System,网络文件系统
1.依赖于RPC (远端过程调用)2.需安装nfs-utils、rpcbind软件包3.系统服务: nfs、 rpcbind4.共享配置文件: /etc/exports
在客户机中访问NFS共享资源
1.安装rpcbind软件包,并启动rpcbind服务2.手动挂载NFS共享目录3.fstab自动挂载设置
实验环境部署
CentOS 7-1:调度器及网关(两块网卡) 外网(ens36):12.0.0.1 内网(ens33):192.168.200.1CentOS 7-2:网站服务器(Apache) 192.168.200.110CentOS 7-3:网站服务器(Apache) 192.168.200.120CentOS 7-4:共享存储服务器 192.168.200.130Windows 7 : 客户端 12.0.0.12
第一步:联网状态下,在每台服务器上安装服务软件包
1.在调度器服务器上安装ipvsadm管理工具
#要先添加一个网络适配器,成为两个网卡#安装ipvsadm管理工具[root@localhost ~]# yum install ipvsadm -y
2.在两台web节点服务器上的操作
#安装httpd服务[root@localhost ~]# yum install httpd -y
3.在共享存储服务器上的操作
#使用rpm查询是否有nfs-utils和rpcbind软件包[root@localhost ~]# rpm -q nfs-utilsnfs-utils-1.3.0-0.48.el7.x86_64[root@localhost ~]# rpm -q rpcbind rpcbind-0.2.0-42.el7.x86_64
第二步:配置共享存储服务器
#修改ens33网卡配置[root@localhost ~]# vim /etc/sysconfig/network-scripts/ifcfg-ens33BOOTPROTO="static" #将dhcp改为staticDEVICE="ens33"ONBOOT="yes"IPADDR=192.168.200.130 #在末行下追加:IP地址,子网掩码和网关NETMASK=255.255.255.0GATEWAY=192.168.200.1#重启网络服务[root@localhost ~]# systemctl network restart #关闭防火墙和安全功能[root@localhost ~]# systemctl stop firewalld.service [root@localhost ~]# setenforce 0#开启nfs共享服务[root@localhost ~]# systemctl start nfs.service[root@localhost ~]# systemctl start rpcbind.service#编辑共享目录配置文件[root@localhost ~]# vim /etc/exports#写入共享目录条目,并授予读写权限/usr/share *(ro,sync)/opt/accp 192.168.200.0/24(rw,sync)/opt/kgc 192.168.200.0/24(rw,sync)[root@localhost ~]# cd /opt/[root@localhost opt]# mkdir kgc accp[root@localhost opt]# chmod 777 kgc/ accp/ #提升目录权限[root@localhost opt]# exportfs -rv #进行发布共享目录exporting 192.168.200.0/24:/opt/kgcexporting 192.168.200.0/24:/opt/accpexporting *:/usr/share
第三步:配置Web1节点服务器
#修改ens33网卡配置[root@localhost ~]# vim /etc/sysconfig/network-scripts/ifcfg-ens33BOOTPROTO="static" #将dhcp改为staticDEVICE="ens33"ONBOOT="yes"IPADDR=192.168.200.110 #追加IP地址,子网掩码以及网关NETMASK=255.255.255.0GATEWAY=192.168.200.1#重启服务[root@localhost ~]# systemctl network restart #关闭防火墙和安全功能[root@localhost ~]# systemctl stop firewalld.service [root@localhost ~]# setenforce 0[root@localhost ~]# systemctl start httpd.service[root@localhost ~]# netstat -ntap | grep 80 tcp6 0 0 :::80 :::* LISTEN 7315/httpd [root@localhost ~]# ping 192.168.200.130PING 192.168.200.130 (192.168.200.130) 56(84) bytes of data.64 bytes from 192.168.200.130: icmp_seq=1 ttl=64 time=0.754 ms64 bytes from 192.168.200.130: icmp_seq=2 ttl=64 time=0.372 ms64 bytes from 192.168.200.130: icmp_seq=3 ttl=64 time=0.372 ms64 bytes from 192.168.200.130: icmp_seq=3 ttl=64 time=0.372 ms[root@localhost ~]# showmount -e 192.168.200.130Export list for 192.168.200.130:/usr/share */opt/kgc 192.168.200.0/24/opt/accp 192.168.200.0/24#挂载网站[root@localhost ~]# mount.nfs 192.168.200.130:/opt/kgc /var/www/html/[root@localhost ~]# cd /var/www/html/[root@localhost html]# echo "this is kgc web" > index.html[root@localhost html]# lsindex.html
第四步:确认存储服务器上查看有无站点文件
[root@localhost ~]# cd /opt/[root@localhost opt]# lskgc accp rh[root@localhost opt]# cd kgc/[root@localhost accp]# cat index.html this is kgc web
第五步:验证Web1节点服务器提供的网页
第六步:配置Web2节点服务器上
#修改ens33网卡配置[root@localhost ~]# vim /etc/sysconfig/network-scripts/ifcfg-ens33BOOTPROTO="static" #将dhcp改为staticDEVICE="ens33"ONBOOT="yes"IPADDR=192.168.200.120 #追加IP地址,子网掩码以及网关NETMASK=255.255.255.0GATEWAY=192.168.200.1[root@localhost ~]# systemctl network restart [root@localhost ~]# systemctl stop firewalld.service [root@localhost ~]# setenforce 0[root@localhost ~]# systemctl start httpd.service[root@localhost ~]# netstat -ntap | grep 80 tcp6 0 0 :::80 :::* LISTEN 7315/httpd [root@localhost ~]# ping 192.168.200.130PING 192.168.200.130 (192.168.200.130) 56(84) bytes of data.64 bytes from 192.168.200.130: icmp_seq=1 ttl=64 time=0.853 ms64 bytes from 192.168.200.130: icmp_seq=2 ttl=64 time=0.853 ms64 bytes from 192.168.200.130: icmp_seq=3 ttl=64 time=0.624 ms64 bytes from 192.168.200.130: icmp_seq=3 ttl=64 time=0.624 ms[root@localhost ~]# showmount -e 192.168.200.130Export list for 192.168.200.130:/usr/share */opt/kgc 192.168.200.0/24/opt/accp 192.168.200.0/24[root@localhost ~]# mount.nfs 192.168.200.130:/opt/accp /var/www/html/[root@localhost ~]# cd /var/www/html/[root@localhost html]# echo "this is accp web" > index.html[root@localhost html]# cat index.htmlthis is accp web
第七步: 确认存储服务器上查看有无站点文件
[root@localhost ~]# ls /opt/kgc accp rh[root@localhost opt]# cd accp/[root@localhost accp]# cat index.html this is accp web
第八步:验证Web2节点服务器提供的网页
第九步:配置调度服务器
#修改ens33网卡配置[root@localhost network-scripts]# vim /etc/sysconfig/network-scripts/ifcfg-ens33BOOTPROTO="static" #将dhcp改为staticDEVICE="ens33"ONBOOT="yes" #追加IP地址,子网掩码以及网关IPADDR=192.168.200.1NETMASK=255.255.255.0[root@localhost ~]# cd /etc/sysconfig/network-scripts/[root@localhost network-scripts]# lsifcfg-ens33 ifdown-ppp ifup-ib ifup-Teamifcfg-lo ifdown-routes ifup-ippp ifup-TeamPort[root@localhost network-scripts]# cp ifcfg-ens33 ifcfg-ens36#修改ens36网卡[root@localhost network-scripts]# vim ifcfg-ens36BOOTPROTO="static" #将dhcp改为staticNAME="ens36" #改名称为ens36UUID号删除DEVICE="ens36" #改名称改为ens36ONBOOT="yes"IPADDR=12.0.0.1 #追加IP地址,子网掩码以及网关NETMASK=255.255.255.0[root@localhost network-scripts]# vim /etc/sysconfig/network-scripts/ifcfg-ens33BOOTPROTO="static" #将dhcp改为staticDEVICE="ens33"ONBOOT="yes" #追加IP地址,子网掩码以及网关IPADDR=192.168.200.1NETMASK=255.255.255.0[root@localhost network-scripts]# systemctl network restart [root@localhost network-scripts]# vim /etc/sysctl.conf #在尾行行追加一下条目net.ipv4.ip_forward=1#加载路由转发[root@localhost network-scripts]# sysctl -pnet.ipv4.ip_forward = 1[root@localhost network-scripts]# iptables -t nat -F[root@localhost network-scripts]# iptables -F#配置SNAT转发规则[root@localhost network-scripts]# iptables -t nat -A POSTROUTING -o ens36 -s 192.168.200.0/24 -j SNAT --to-source 12.0.0.1
第十步:加载LVS内核模块
[root@localhost network-scripts]# modprobe ip_vs[root@localhost network-scripts]# cat /proc/net/ip_vsIP Virtual Server version 1.2.1 (size=4096)Prot LocalAddress:Port Scheduler Flags -> RemoteAddress:Port Forward Weight ActiveConn InActConn
第十一步:保存配置项并启动服务
#将设置进行保存[root@localhost network-scripts]# ipvsadm --save > /etc/sysconfig/ipvsadm[root@localhost network-scripts]# systemctl start ipvsadm.service #配置负载分配策略[root@localhost network-scripts]# cd /opt/[root@localhost opt]# vim nat.sh#!/bin/bash#清除内核虚拟服务器表中的所有记录ipvsadm -C #添加新的虚拟服务器ipvsadm -A -t 12.0.0.1:80 -s rr ipvsadm -a -t 12.0.0.1:80 -r 192.168.200.110:80 -mipvsadm -a -t 12.0.0.1:80 -r 192.168.200.120:80 -m#生效负载分配策略[root@localhost opt]# source nat.shIP Virtual Server version 1.2.1 (size=4096)Prot LocalAddress:Port Scheduler Flags -> RemoteAddress:Port Forward Weight ActiveConn InActConnTCP localhost.localdomain:http rr -> 129.168.200.110:http Masq 1 0 0 -> 129.168.200.120:http Masq 1 0 0
最后一步:使用Windows 7 客户终端访问网页
1.首次访问到由Web1访问器提供的网页
2.刷新网页后,出现由Web2服务器提供的网页
看了以上关于对LVS负载均衡群集的总结,如果大家还有什么地方需要了解的可以在行业资讯里查找自己感兴趣的或者找我们的专业技术工程师解答的,技术工程师在行业内拥有十几年的经验了。
服务
服务器
节点
调度
配置
地址
模式
均衡
网络
网关
客户
网卡
分配
存储
系统
网页
能力
子网
运算
客户机
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
中石化网络安全防护措施
修改dns服务器是什么
远程服务器安全吗
网络安全测试与分析课程设计
数据库1c顶6c
增加软件开发人员说明
9月1日网络安全立法
网络技术类专业的未来工作
云购夺宝软件开发
苹果小服务器
网络安全法考试答题
软件开发语言应用
先有数据库吗
清镇商城软件开发公司
杭州奕冉星网络技术有限公司
公安机关软件开发需求方案
查看服务器显卡是否已经插入
自己开手游服务器
上海新时代网络技术价格表格
个人网站怎么租用云服务器
欣欣十三水软件开发
matlab分割数据库
杭州品牌网络技术优势
花生壳 dns服务器
开始菜单怎么打开数据库
云服务器网关连接工具
电脑服务器启动
最大容量服务器硬盘
网络安全法低二十一条
自建云存储服务器成本