1、Ruijie University第六章LVS负载均衡群集技能展示p 了解群集的结构与工作模式p 学会配置NFS共享服务p 学会构建LVS负载均衡群集本章结构LVS负载均衡群集负载均衡群集案例案例1:LVS-NAT群集群集案例案例2:LVS-DR群集群集集群技术概述集群技术概述LVS虚拟服务器虚拟服务器LVS群集应用基础群集应用基础构建负载均衡群集构建负载均衡群集NFS共享存储服务共享存储服务集群技术概述3-1p 群集的含义 Cluster,集群、群集 由多台主机构成,但对外只表现为一个整体p 群集的类型 负载均衡(Load Balancer)群集 高可用(High Available)群集
2、高性能运算(High Performance Computer)群集集群技术概述3-2p 负载均衡的结构 第一层,负载调度器(Load Balancer或Director) 第二层,服务器池(Server Pool) 第三层,共享存储(Share Storage)InternetInternetNAS存储设备备用调度器主调度器HA服务器池共享存储负载调度器群集IP地址(VIP)集群技术概述3-3p 负载均衡的工作模式 地址转换(NAT)模式 IP隧道(TUN)模式 直接路由(DR)模式InternetInternetInternetInternetInternetInternetNAT模式TU
3、N模式DR模式关于LVS虚拟服务器2-1p Linux Virtual Server 针对Linux内核的负载均衡解决方案 1998年5月,由我国的章文嵩博士创建 官方网站:http:/www.linuxvirtualserver.org/rootlocalhost # modprobe ip_vsrootlocalhost # cat /proc/net/ip_vsIP Virtual Server version 1.2.1 (size=4096)Prot LocalAddress:Port Scheduler Flags - RemoteAddress:Port Forward Weig
4、ht ActiveConn InActConn确认内核对确认内核对LVSLVS的支持的支持关于LVS虚拟服务器2-2p LVS的负载调度算法 轮询(Round Robin) 加权轮询(Weighted Round Robin) 最少连接(Least Connections) 加权最少连接(Weighted Least Connections) rootlocalhost # cd /misc/cd/Packages/rootlocalhost Packages# rpm -ivh ipvsadm-1.25-9.el6.i686.rpmrootlocalhost Packages# ipvsad
5、m -vipvsadm v1.25 2008/5/15 (compiled with popt and IPVS v1.2.1)v 安装安装ipvsadm管理工具管理工具使用ipvsadm工具4-1p 创建虚拟服务器 主要操作选项l -A添加虚拟服务器l -t设置群集地址(VIP,Virtual IP)l -s指定负载调度算法rootlocalhost # ipvsadm -A -t 172.16.16.172:80 -s rr使用ipvsadm工具4-2p 添加、删除服务器节点 主要操作选项l -a添加真实服务器l -d删除真实服务器l -r指定真实服务器(Real Server)的地址l
6、-m使用NAT模式;-g、-i分别对应DR、TUN模式l -w为节点服务器设置权重,默认为1rootlocalhost # ipvsadm -a -t 172.16.16.172:80 -r 192.168.7.21:80 -mrootlocalhost # ipvsadm -a -t 172.16.16.172:80 -r 192.168.7.22:80 -mrootlocalhost # ipvsadm -a -t 172.16.16.172:80 -r 192.168.7.23:80 -mrootlocalhost # ipvsadm -a -t 172.16.16.172:80 -r
7、192.168.7.24:80 -mrootlocalhost # ipvsadm -d -r 192.168.7.24:80 -t 172.16.16.172:80使用ipvsadm工具4-3p 查看群集及节点情况 主要操作选项l -L查看LVS群集方案l -n以数字形式显示地址信息l -c查看各节点的负载连接情况rootlocalhost # ipvsadm -L -nTCP 172.16.16.172:80 rr - 192.168.7.21:80 Masq 1 2 7 - 192.168.7.22:80 Masq 1 3 9 - 192.168.7.23:80 Masq 1 2 8 -
8、 192.168.7.24:80 Masq 1 4 6rootlocalhost # ipvsadm -LncIPVS connection entriespro expire state source virtual destinationTCP 01:51 FIN_WAIT 172.16.16.110:49712 172.16.16.172:80 192.168.7.21:80TCP 01:52 FIN_WAIT 172.16.16.110:49720 172.16.16.172:80 192.168.7.22:80 使用ipvsadm工具4-4p 保存负载分配策略 导出工具:ipvsad
9、m-save 导入工具:ipvsadm-restore 系统服务:/etc/init.d/ipvsadm 默认策略文件:/etc/sysconfig/ipvsadmrootlocalhost # ipvsadm-save /etc/sysconfig/ipvsadmrootlocalhost # cat /etc/sysconfig/ipvsadm-A -t 172.16.16.172:http -s rr-a -t 172.16.16.172:http -r 192.168.7.21:http -m -w 1-a -t 172.16.16.172:http -r 192.168.7.22:h
10、ttp -m -w 1-a -t 172.16.16.172:http -r 192.168.7.23:http -m -w 1rootlocalhost # service ipvsadm stoprootlocalhost # service ipvsadm startLVSLVS策略的默认存放位置策略的默认存放位置NFS共享存储服务2-1p Network File System,网络文件系统 依赖于RPC(远端过程调用) 需安装nfs-utils、portmap软件包 系统服务:nfs、portmap 共享配置文件:/etc/exportsrootlocalhost # yum -y
11、install nfs-utils portmaprootlocalhost # chkconfig nfs onrootlocalhost # chkconfig rpcbind onNFS共享存储服务2-2p 配置NFS共享 修改/etc/exports文件 依次启动rpcbind、nfs服务 确认已发布的共享p 挂载NFS共享目录 mount -t nfs 服务器:/共享路径 挂载点rootlocalhost # mkdir -p /opt/wwwrootrootlocalhost # vi /etc/exports/opt/wwwroot 172.16.16.0/24(rw,sync,
12、no_root_squash)/var/ftp/pub 192.168.4.11(ro) 192.168.4.110(rw)rootlocalhost # service rpcbind startrootlocalhost # service nfs startrootlocalhost # showmount -eExport list for localhost.localdomain:/var/ftp/pub 192.168.4.11/opt/wwwroot 172.16.16.0/24共享路径共享路径 客户机地址客户机地址( (权限选项权限选项) )rootlocalhost # y
13、um -y install portmaprootlocalhost # chkconfig portmap onrootlocalhost # service portmap startrootlocalhost # showmount -e 172.16.16.172Export list for 172.16.16.172:/var/ftp/pub 192.168.4.11/opt/wwwroot 172.16.16.0/24rootlocalhost # mount 172.16.16.172:/opt/wwwroot /var/www/htmlrootlocalhost # tail
14、 -1 /etc/mtab172.16.16.172:/opt/wwwroot /var/www/html nfs rw,vers=4,addr=172.16.16.172,clientaddr=172.16.16.177 0 0客户机也必须支持客户机也必须支持RPCRPC挂载挂载NFSNFS共享目录共享目录小结p 请思考: 常见的服务器群集有哪几种类型? 使用ipvsadm建立LVS群集的基本过程是什么? 如何配置、使用NFS共享目录?构建LVS-NAT群集2-1p 案例环境 LVS调度器作为Web服务器池的网关 使用轮询(rr)调度算法Web服务器池:节点1-节点4192.168.7.21
15、-24/24InternetInternetNFS共享:/var/www/html192.168.7.250/24LVS负载调度器woeth0: 172.16.16.172172.16.16.172/24eth1: 192.168.7.254/24群集地址:172.16.16.172构建LVS-NAT群集2-2p 配置过程 LVS调度器的配置:SNAT策略、LVS-NAT策略 Web节点服务器的配置:httpd服务 访问http:/172.16.16.172/,并验证群集分配情况rootlocalhost # vi /etc/sysctl.confnet.ipv4.ip_forward = 1
16、rootlocalhost # sysctl -prootlocalhost # iptables -t nat -A POSTROUTING -s 192.168.7.0/24 -o eth0 -j SNAT -to-source 172.16.16.172rootlocalhost # service ipvsadm stoprootlocalhost # ipvsadm -A -t 172.16.16.172:80 -s rrrootlocalhost # ipvsadm -a -t 172.16.16.172:80 -r 192.168.7.21:80 -mrootlocalhost
17、# ipvsadm -a -t 172.16.16.172:80 -r 192.168.7.22:80 -mrootlocalhost # ipvsadm -a -t 172.16.16.172:80 -r 192.168.7.23:80 -mrootlocalhost # ipvsadm -a -t 172.16.16.172:80 -r 192.168.7.24:80 -mrootlocalhost # service ipvsadm saverootlocalhost # chkconfig ipvsadm onSNATSNAT地址转换策略地址转换策略LVS-NATLVS-NAT群集模式
18、群集模式rootlocalhost # yum -y install httpdrootlocalhost # mount 192.168.7.250:/opt/wwwroot /var/www/htmlrootlocalhost # vi /var/www/html/index.htmlLVS负载均衡群集测试网页/rootlocalhost # service httpd startrootlocalhost # chkconfig httpd on各节点的网页相同各节点的网页相同rootlocalhost # ipvsadm -LnIP Virtual Server version 1.2
19、.1 (size=4096)Prot LocalAddress:Port Scheduler Flags - RemoteAddress:Port Forward Weight ActiveConn InActConnTCP 172.16.16.172:80 rr - 192.168.7.21:80 Masq 1 2 9 - 192.168.7.22:80 Masq 1 3 8 - 192.168.7.23:80 Masq 1 2 9 - 192.168.7.24:80 Masq 1 4 7查看群集分配情况查看群集分配情况构建LVS-DR群集4-1p 案例环境 LVS调度器只作为Web访问入口
20、 Web访问出口由各节点服务器分别承担Web服务器池:节点1-节点4172.16.16.177-180/24InternetInternetNFS共享:/var/www/html192.168.7.250/24LVS负载调度器172.16.16.173/24群集地址:172.16.16.172构建LVS-DR群集4-2p 配置过程 LVS调度器 外网接口eth0、群集接口eth0:0 调整/proc内核参数,关闭重定向响应 配置LVS-DR群集策略rootlocalhost # ip addr show dev eth0 inet 172.16.16.173/24 brd 172.16.16.
21、255 scope global eth0 inet 172.16.16.172/24 brd 172.16.16.255 scope global eth0:0rootlocalhost # vi /etc/sysctl.confnet.ipv4.conf.all.send_redirects = 0net.ipv4.conf.default.send_redirects = 0net.ipv4.conf.eth0.send_redirects = 0rootlocalhost # sysctl -p/proc/proc参数调整参数调整群集地址接口群集地址接口rootlocalhost #
22、service ipvsadm stoprootlocalhost # ipvsadm -A -t 172.16.16.172:80 -s rrrootlocalhost # ipvsadm -a -t 172.16.16.172:80 -r 172.16.16.177 -grootlocalhost # ipvsadm -a -t 172.16.16.172:80 -r 172.16.16.178 -grootlocalhost # ipvsadm -a -t 172.16.16.172:80 -r 172.16.16.179 -grootlocalhost # ipvsadm -a -t
23、172.16.16.172:80 -r 172.16.16.180 -grootlocalhost # service ipvsadm saveLVS-DRLVS-DR群集模式群集模式构建LVS-DR群集4-3p 配置过程 Web节点服务器 外网接口eth0、群集接口lo:0 调整/proc内核参数,关闭ARP响应 添加到群集IP地址的本地路由记录 配置并启用httpd服务rootlocalhost # ip addr show dev loinet 127.0.0.1/8 scope host lo inet 172.16.16.172/0 brd 255.255.255.255 scope
24、 global lo:0rootlocalhost # vi /etc/sysctl.confnet.ipv4.conf.all.arp_ignore = 1net.ipv4.conf.all.arp_announce = 2net.ipv4.conf.default.arp_ignore = 1net.ipv4.conf.default.arp_announce = 2net.ipv4.conf.lo.arp_ignore = 1net.ipv4.conf.lo.arp_announce = 2rootlocalhost # sysctl -p/proc/proc参数调整参数调整群集地址接口
25、群集地址接口rootlocalhost # vi /etc/rc.local/sbin/route add -host 172.16.16.172 dev lo:0rootlocalhost # route add -host 172.16.16.172 dev lo:0添加本机访问添加本机访问VIPVIP的路由的路由构建LVS-DR群集4-4p 测试LVS-DR群集 访问http:/172.16.16.172/,并验证群集分配情况rootlocalhost # ipvsadm -LnIP Virtual Server version 1.2.1 (size=4096)Prot LocalAd
26、dress:Port Scheduler Flags - RemoteAddress:Port Forward Weight ActiveConn InActConnTCP 172.16.16.172:80 rr - 172.16.16.177:80 Route 1 2 9 - 172.16.16.178:80 Route 1 3 8 - 172.16.16.179:80 Route 1 2 9 - 172.16.16.180:80 Route 1 4 7查看群集分配情况查看群集分配情况本章总结LVS负载均衡群集案例1:LVS-NAT群集案例2:LVS-DR群集集群技术概述LVS虚拟服务器LV
27、S群集应用基础构建负载均衡群集NFS共享存储服务试验操作实验案例:构建LVS-DR群集4-1p 实验环境 为了提高网站负载能力,需要构建Web群集平台 网页文档存放在内网,各Web节点公用Web服务器池:节点1-节点4172.16.16.177-180/24192.168.7.177-180/24InternetInternetNFS共享:/var/www/html192.168.7.250/24LVS负载调度器172.16.16.173/24192.168.7.173/24VIP: 172.16.16.172/24外网交换机内网交换机实验案例:构建LVS-DR群集4-2p 需求描述 一台LV
28、S调度器、四台节点服务器,均配置双网卡 在内网提供NFS可写共享:/var/www/html Web群集的地址为172.16.16.172p 实现思路 使用ipvsadm工具建立LVS方案 为调度器的eth0:0、节点的lo:0配置VIP地址 通过nfs-utils软件包提供NFS共享服务实验案例:构建LVS-DR群集4-3p 学员练习1 分别配置LVS调度器、Web节点服务器 访问Web群集地址,确认LVS架构工作正常5555分钟完成分钟完成实验案例:构建LVS-DR群集4-4p 学员练习2 安装nfs-utils软件包,并配置NFS共享 在Web节点中挂载NFS共享,重新测试Web群集2525分钟完成分钟完成THANKSRuijie Networks Certification CenterAddr: 北京海淀区复兴路29号中意鹏奥大厦东塔A座11层 邮编:100036Office Tel: 0591- E-Mail: