云计算集群技术与应用- 教案-教学设计 第09章 大型网站集群架构项目二_第1页
云计算集群技术与应用- 教案-教学设计 第09章 大型网站集群架构项目二_第2页
云计算集群技术与应用- 教案-教学设计 第09章 大型网站集群架构项目二_第3页
云计算集群技术与应用- 教案-教学设计 第09章 大型网站集群架构项目二_第4页
云计算集群技术与应用- 教案-教学设计 第09章 大型网站集群架构项目二_第5页
已阅读5页,还剩27页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

云计算集群技术与应用教学设计课程名称:云计算集群技术与应用__授课年级:_______________________授课学期:_______________________教师姓名:_______________________年月日课程名称第9章大型网站集群架构项目二计划学时8学时内容分析本章主要介绍大型网站集群架构的相关知识,部署HAProxy+Keepalived高可用集群。教学目标与教学要求【知识目标】理解搭建完整网站集群架构的方式。理解HAProxy+Keepalived的部署方式。【技能目标】掌握使用LNMP部署网站。掌握部署共享存储。掌握共享存储实时备份。掌握部署HAProxy七层负载。【思政育人目标】培养学生树立正确的世界观、人生观和价值观,培养运维人员高水平网络道德。引导学生提升明辨是非的能力,树立健康的网络安全道德,践行正确的价值取向,增强自身的社会责任感。引导学生真正理解互联网行业与所处社会生活的关联所在,成为德才兼备的运维工程师和高技能创新型人才。教学重点共享存储实时备份、部署HAProxy七层负载教学难点部署HAProxy+Keepalived七层负载教学方式课堂讲解配合ppt演示4学时,上机演练4学时教学过程第一学时(项目准备、LNMP部署网站)一、提出需求,导入学习任务(1)思考LVS四层负载集群的学习应该从何入手。通过项目一的学习,读者已经可以掌握高并发大型网站的集群部署以及优化的基本操作。为了进一步提升读者在生产环境中对该部分内容的运用技巧,本章将针对HAProxy+Keepalived高可用集群的部署进行讲解。(2)明确学习方向。理解集群项目说明,完成集群项目设计。掌握使用LNMP架构部署网站。二、知识讲解(一)项目准备1.项目说明本章通过搭建集群实现内容管理系统的上线。用户可以通过网络对集群的资源进行访问,访问流程如下:首先,客户端的用户通过Internet访问新闻系统的网站地址,如。通过客户端在hosts文件中解析,解析到HAProxy前端负载均衡器上。HAProxy负载均衡器将请求轮询到后端的LAMPWeb服务器和LNMPWeb服务器。在两种web服务器上分别部署新闻系统虚拟主机网站内容。当用户注册登录、发布新闻等内容时,数据通过Web服务写入MySQL数据库。当用户上传新闻图片、视频、附件头像等文件时,这些数据会通过Web服务传到共享存储NFS服务器上,而不是存储到Web服务器上。所有服务器时间保持一致,对重要数据进行定时备份。NFS存储的静态文件数据会实时同步到备份服务器上,完成实时的数据热备。NFS服务器宕机后,完成备份服务器的快速切换,几乎保证数据无丢失。为HAProxyx配置高可用,实现宕机后由备机自动接管服务。2.项目设计本章将要搭建的HAProxy+Keepalived网站集群的架构图:该架构中用到的服务器及技术解释如下所示。七层负载均衡调度器(HAProxy+Keepalived)Web1服务器(Apache+PHP)Web2服务器(Nginx+PHP)数据库服务器(Mysql)共享存储服务器(NFS+Rsync+inotify-tools)backup(Rsync)3.项目实施本章所演示的综合项目首先以LNMP架构为基础,分离部署数据库,搭建小型网站集群,并上线内容管理系统。在Web集群搭建之后,再对该网站进行架构的升级,配置七层负载均衡器改善网站性能,配置共享存储服务器存储静态文件,配置备份服务器对网站数据进行安全备份。要完成图中的网站架构部署,至少要准备8台可用的服务器。本章项目使用云服务器,实验环境:服务器角色应用程序私网IP地址公网IP地址Web服务器1Apache+PHP26Web服务器2Nginx+PHP4数据库服务器mysqlMySQL0共享存储nfsNFS+Rsync+Inotify-tools430备份服务器backupRsync258七层负载均衡器lb01HAProxy+Keepalived76VIP:50弹性公网IP:91七层负载均衡器lb02HAProxy+Keepalived0备注:本实验中所有服务器都采用CentOS7.6操作系统,需要提前关闭防火墙及Selinux,同步系统时间,做域名解析。使用云服务器时需要注意,实际环境按业务实际需要选择区域购买。保证集群在同一内网段,就要使所有云资源须在同一区域。为2台同子网的弹性云服务器配置Keepalived,一台为主服务器,一台为备份服务器,并将这2台弹性云服务器绑定同一个虚拟IP。虚拟IP需要登录云控制台,在VPC网络板块下去申请,申请通过后可以在VPC网络板块下看到。将虚拟IP与弹性公网IP绑定,从互联网可以访问绑定了该虚拟IP地址的主备云服务器。(二)LNMP部署网站(详细步骤见第9章PPT)1.LNMP架构在Web服务器上搭建LNMP环境,以web1为例,首先安装Nginx,并设置为开机自启。接下来,使用源码编译安装PHP。#安装编译工具及PHP的相关依赖包[root@web1~]#yuminstall-ygccgcc-c++makezlibzlib-develpcrepcre-devellibjpeglibjpeg-devellibpnglibpng-develfreetypefreetype-devellibxml2libxml2-develglibcglibc-develglib2glib2-develbzip2bzip2-develncursesncurses-develcurlcurl-devele2fsprogse2fsprogs-develkrb5krb5-developensslopenssl-developenldapopenldap-develnss_ldapopenldap-clientsopenldap-servers#下载PHP软件包到/usr/local目录[root@web1~]#cd/usr/local/[root@web1local]#wget/distributions/php-7.2.20.tar.gz#解压[root@web1local]#tar-zxfphp-7.2.20.tar.gz进入解压后的PHP目录,对即将安装的PHP软件进行配置,以及检查当前环境是否满足源代码安装的依赖关系。[root@web1local]#cdphp-7.2.20[root@web1local]#./configure--prefix=/usr/local/php--with-config-file-path=/usr/local/php--enable-mbstring--with-openssl--enable-ftp--with-gd--with-jpeg-dir=/usr--with-png-dir=/usr--with-mysql=mysqlnd--with-mysqli=mysqlnd--with-pdo-mysql=mysqlnd--with-pear--enable-sockets--with-freetype-dir=/usr--with-zlib--with-libxml-dir=/usr--with-xmlrpc--enable-zip--enable-fpm--enable-xml--enable-sockets--with-gd--with-zlib--with-iconv--enable-zip--with-freetype-dir=/usr/lib/--enable-soap--enable-pcntl--enable-cli--with-curl--enable-exif--enable-bcmath#安装[root@web1php-7.2.20]#make&&makeinstall安装完成后,拷贝一份php.ini至php安装目录:[root@web1php-7.2.20]#cpphp.ini-production/usr/local/php/php.ini在环境配置文件/etc/profile中添加PHP环境变量。[root@web1php-7.2.20]#exportPATH=$PATH:/usr/local/php/bin[root@web1php-7.2.20]#source/etc/profile查看当前PHP的版本,进一步验证PHP是否安装成功。至此PHP安装完成,接着复制PHP-FPM的启动脚本:[root@web1php-7.2.20]#cp./sapi/fpm/init.d.php-fpm/etc/init.d/php-fpm[root@web1php-7.2.20]#chmod+x/etc/init.d/php-fpm修改PHP-FPM的配置文件。[root@web1php-7.2.20]#cd/usr/local/php/etc/[root@web1etc]#cpphp-fpm.conf.defaultphp-fpm.conf#删除pid=run/php-fpm.pid前面的分号[root@web1etc]#vimphp-fpm.conf……省略部分代码……pid=run/php-fpm.pid[root@web1etc]#cdphp-fpm.d/[root@web1php-fpm.d]#cpwww.conf.defaultwww.conf启动PHP-FPM:[root@web1php-fpm.d]#/etc/init.d/php-fpmstartStartingphp-fpmdone[root@web1php-fpm.d]#/etc/init.d/php-fpmstatusphp-fpm(pid126518)isrunning...查看PHP-FPM的进程信息。[root@web1php-fpm.d]#ps-ef|grepphp-fpm在两台Web服务器上各自编写一个PHP测试页,测试网站是否能解析PHP语言。若之前安装的PHP可以正常工作,在浏览器中访问该动态Web服务器IP时,可以看到PHP信息页。2.上线业务在web1服务器上创建网站目录/webdir,上传内容管理系统项目包。[root@web1~]#mkdir/webdir[root@web1~]#cd/webdir/[root@web1webdir]#wget/rpcms/RPCMS/repository/archive/master.zip[root@web1webdir]#unzipmaster.zip设置网站目录的权限。[root@web1webdir]#chmod777-R/webdir/*Nginx默认只处理以.html结尾的文件,将.php文件加入网站处理的范围,更新网站接收的文件类型以及网站目录。创建网站配置文件。重新启动Nginx使配置文件生效。有了执行权限,业务就可以在线上运行。重新启动Nginx服务后,访问web1的IP即可进入系统的安装协议页面。单击“同意”按钮,开始检测环境支持和读写权限,进入安装向导页面。单击“下一步”按钮,页面出现错误提示。可以看出,data、plugin、templates/index和upload文件显示“非www用户”,因此修改data、plugin、templates/index和upload文件的属主和属组为www。若没有www用户,则需要创建www用户和组。修改data、plugin、templates/index和upload文件的属主和属组为www。刷新页面,重新进入安装目录检测页面。安装目录检测一切正常,单击“下一步”按钮进入参数配置页面,开始填写MySQL数据库和网站管理员信息。接下来配置数据库服务器,web1和web2需要使用的是同一个数据库,才能使得数据同步。三、知识巩固(1)回顾上课前的学习目标,对本节课知识点进行总结。(2)使用第9章课后作业。第二学时(部署数据库服务器)一、回顾上节课内容(1)对上节课布置的作业以及学生提出的问题进行答疑解惑。(2)回顾上节课内容,引出本节课主题。(3)明确学习方向。掌握部署数据库服务器。二、知识讲解(一)下载安装MySQL卸载系统自动安装的MariaDB。使用wget命令下载MySQLRPM包。用RPM工具将该镜像包解析并更新至本机的镜像源中。当官方源配置完成,服务器就可以使用Yum进行安装并使用该软件。下载Yum管理工具包。下载完成后使用yum-config-manager命令关闭MySQL8.0版本,并开启MySQL5.7版本。使用Yum命令下载并安装MySQL。启动MySQL,并设置为开机自启。(二)配置数据库查看root用户被授予的临时密码。接下来登录数据库修改密码,创建数据库用户,并授予相关权限。[root@mysql~]#mysql-uroot-p'a_g7Rd:fqUa&'……#修改MySQL登录密码mysql>ALTERUSER'root'@'localhost'IDENTIFIEDWITHmysql_native_passwordBY'qf@123.coM';#授予web服务器权限mysql>grantallon*.*toroot@'192.168.1.%'identifiedby'qf@123;.coM';#创建数据库用户qianfengmysql>createuserqianfeng@'%'identifiedby'qf@123.coM';#授予权限mysql>grantallon*.*to'qianfeng'@'%';#允许远程登录mysql>usemysqlmysql>updateusersethost='%'whereuser='qianfeng'; #刷新mysql>flushprivileges;新建数据库用户为qianfeng,登录密码为“qf@123.coM”。初始化数据库之后,在网站根目录下编写test.php文件,测试网站是否能与数据库连通。若可以成功连接则返回Successfullyconnected,否则返回Fail。为内容管理系统创建数据库rpcms,并授予qianfeng用户管理该数据库的权限。#创建rpcms数据库mysql>createdatabaserpcms;#授予qianfeng管理数据库的权限mysql>grantallon*.*to'qianfeng'@'%';#刷新mysql>flushprivileges;(三)网站连接数据库数据库服务器配置完成后,开始填写MySQL数据库和网站管理员信息。填写完成后,单击“下一步”按钮,即可开始安装。至此,内容管理网站安装完成,单击“访问后台”按钮输入网站管理员信息,即可登录网站。单击“登录”按钮,进入网站管理后台。将web1的/webdir/目录拷贝给web2,使得Web集群将数据存储到同一个数据库中。[root@web1~]#scp-r/webdir/root@web2:/将web1的网站配置文件拷贝给web2。[root@web1RPCMS-master]#scp-r/etc/nginx/conf.d/rpcms.confroot@web2:/etc/nginx/conf.d/web2若没有www用户,则需要创建www用户和组。[root@web1~]#idwwwid:www:nosuchuser[root@web1~]#groupaddwww[root@web1~]#useradd-gwww-s/sbin/nologinwww[root@web1RPCMS-master]#idwwwuid=1000(www)gid=1000(www)组=1000(www)修改web2网站目录下data、plugin、templates/index和upload文件的属主和属组为www。修改网站目录的权限。重启web2服务器的Nginx,然后访问web2的IP地址,会直接访问到网站首页。至此,web集群已经成功上线网站业务。三、知识巩固(1)回顾上课前的学习目标,对本节课知识点进行总结。(2)使用第9章课后作业。第三学时(共享存储、共享存储实时备份)一、回顾上节课内容(1)对上节课布置的作业以及学生提出的问题进行答疑解惑。(2)回顾上节课内容,引出本节课主题。(3)明确学习方向。掌握部署共享存储。掌握部署共享存储实时备份。二、知识讲解(一)共享存储在Web服务器成功上线网站系统后,所有的资源都存储于Web服务器及其连接的第三方数据库中。将Web服务器中的静态资源文件通过NFS共享至Web服务器,搭建共享存储服务器,配置NFS,让Web集群读写数据都从NFS挂载,具体实现的步骤如下所示。1.配置NFS服务首先在NFS服务器中下载并安装NFS,启动该项服务,并设置其开机自启。设置完成后,新建商城网站存放目录/leadshop/web,用于接收Web服务器上安装完成的论坛网站数据。[root@nfs~]#mkdir-p/webdir/RPCMS-master/uploads[root@nfs~]#mkdir-p/webdir/RPCMS-master/static创建完成后,编辑/etc/exports文件,设置服务器共享规则。内容管理系统的uploads目录和static目录存储静态资源,故需设置这两个目录为共享目录即可,共享对象为Web集群。[root@nfs~]#vim/etc/exports/webdir/RPCMS-master/uploads/24(rw,all_squash,anonuid=0,insecure)/webdir/RPCMS-master/static//24(rw,all_squash,anonuid=0,insecure)执行exportfs-rv命令即可使修改的/etc/exports生效。2.配置Web集群首先将Web服务器中的静态数据发送至NFS服务器一份,使得NFS服务器存有相关数据,方便后续操作。发送完成后,在Web服务器中下载并安装NFS服务,启动该项服务,并设置其开机自启。设置完成后,查看NFS服务器共享出来的目录。当前可用的共享文件目录/webdir/RPCMS-master/static和/webdir/RPCMS-master/uploads。接下来继续在Web服务器上挂载共享目录://web1、web2#mountnfs:/webdir/RPCMS-master/static/webdir/RPCMS-master/static#mountnfs:/webdir/RPCMS-master/uploads/webdir/RPCMS-master/uploads需要注意,直接用mount方式进行挂载,重启后就会失效。一般企业工作中推荐使用配置文件的方式,使其开机自动挂载,编辑/etc/fstab文件,编辑挂载命令后保存即可://web1、web2#vim/etc/fstabnfs:/webdir/RPCMS-master/uploads/webdir/RPCMS-master/uploadsnfsdefaults00nfs:/webdir/RPCMS-master/static/webdir/RPCMS-master/staticnfsdefaults00输入mount-a使/etc/fstab中的内容重新加载,自动挂载共享目录。配置完成后,查看动态Web服务器的挂载信息。通过系统的反馈信息可以看到,目标目录均已成功挂载。3.测试共享数据资源共享部署完成后,测试静态文件能不能在各Web服务器之间达成共享。在NFS服务器的网站静态资源文件夹中编写测试文件test.html:[root@nfs~]#vim/webdir/RPCMS-master/static/test.htmlNFS共享存储测试页面!测试页面创建完成后,NFS服务器现已存有相关数据,在Web服务器端对该资源进行访问。浏览器访问web1的IP:浏览器访问web2的测试页面:尽管文件只在NFS服务器中进行写入,但因为不同的Web服务器之间对静态资源文件夹进行共享,共享系统中的动态Web服务器也可以直接获取共享文件夹内的资源,返回给用户,资源共享配置成功。同理,若用户与Web服务器进行交互,产生的动态数据将写入数据库,静态数据将写入共享的静态文件夹,两台Web服务器都可以访问。登录内容管理网站后台,发布一篇文章,上传一张图片。单击“发布文章”按钮,则成功创建了静态文件,可通过单击“文章”选项栏查看已发布的文章。网页上传的文件则保存至网站根目录下的uploads目录中。查看NFS共享存储服务器中是否同步数据。NFS共享存储服务器部署成功。(二)共享存储实时备份1.部署Rsync服务端—backup备份服务器首先查看备份主机是否安装了rsync工具。安装rsync服务。修改/etc/rsyncd.conf配置文件,添加webdir模块,模块名可根据NFS服务端的备份目录自定义:[root@backup~]#cat/etc/rsyncd.conf……[webdir]path=/webdir/创建rsync属主和属组。根据对配置文件的新模块的描述,创建相应目录。设置目录的属主和属组,使得rsync客户端通过用户连接时对备份目录获得相关权限。启动rsync服务,并且设置开机自启。将虚拟用户及密码写入密码配置文件:[root@backup~]#echo"rsync_backup:123456">/etc/rsync.password为提高密码安全性,修改密码文件的权限:[root@backup~]#chmod600/etc/rsync.password2.部署Rsync客户端—nfs存储服务器(1)实现rsync数据推送查看nfs主机是否安装了rsync工具。安装rsync服务。添加虚拟用户的密码文件,只写入密码即可。[root@nfs~]#echo"123456">/etc/rsync.password更改密码文件的权限,以提高安全性。Rsync同步包括两种方式,push推送和pull拉取。使用push推送需备份的静态资源文件,即在nfs主机中将指定的目录内容推送到rsync服务端指定目录下:[root@nfs~]#rsync-avH--port=873--progress/webdir/*rsync_backup@25::webdir/(2)安装Inotify插件-rsync客户端查看当前系统是否支持inotify。第一个窗口使用inotifywait命令监控/webdir目录的创建文件。[root@nfs~]#inotifywait-mrq--timefmt'%y/%m/%d%H:%M'--format'%T%w%f'-ecreate/webdir第二个窗口在/webdir目录中创建文件,以触发inotify的监控功能。#查看已有文件[root@nfs~]#ls/webdir/RPCMS-master#创建测试文件[root@nfs~]#touch/webdir/{1,2,3}.test.file[root@nfs~]#ls/webdir/1.test.file2.test.file3.test.fileRPCMS-master回到窗口1观察监控创建create事件会有什么变化,具体如下所示。[root@nfs~]#inotifywait-mrq--timefmt'%y/%m/%d%H:%M'--format'%T%w%f'-ecreate/webdir22/06/0914:24/webdir/1.test.file22/06/0914:24/webdir/2.test.file22/06/0914:24/webdir/3.test.fileinotify插件的监控功能正常。将rsync和inotify实现的功能写入脚本中。[root@nfs~]#cat/real_time_backup.sh#!/bin/bashwhile:dosrcdir=/webdirinotifywait-rq--timefmt'%d/%m/%y-%H:%M'--format'%T%w%f'-emodify,create,attrib,delete,move${srcdir}\|whilereadfiledoecho"${file}isnotified!"rsync-aH--port=873--progress/webdir/*rsync_backup@25::webdir/--password-file=/etc/rsync.passworddonedone开启两个nfs主机窗口用于测试实时同步数据备份,然后在备份服务器查看数据是否推送备份成功。首先在nfs主机窗口1,执行上述脚本。[root@nfs~]#bashrsync_test_1.sh然后在nfs主机窗口2,在需要备份的目录创建文件。#已有文件[root@nfs~]#ls/webdir/RPCMS-master/staticuploads#创建新的测试文件[root@nfs~]#touch/webdir/RPCMS-master/{a,b}.test返回窗口1观察。[root@nfs~]#bash/real_time_backup.sh09/06/22-14:50/webdir/RPCMS-master/a.testisnotified!sendingincrementalfilelistRPCMS-master/RPCMS-master/a.test0100%0.00kB/s0:00:00(xfr#1,to-chk=366/368)RPCMS-master/b.test0100%0.00kB/s0:00:00(xfr#2,to-chk=365/368)数据显示已经传到备份服务器。至此,NFS共享数据的实时同步推送备份成功实现。3.开机脚本自动执行该脚本需要在系统启动时自动执行,开机脚本自动执行的方式有多种,读者可任选一种方式进行配置。(1)通过chkconfig命令设置脚本开机自动执行。将(脚本)启动文件移动到/etc/init.d/或者/etc/rc.d/init.d/目录下。[root@nfs~]#mv/real_time_backup.sh/etc/init.d/启动文件前面务必添加如下3行代码,否则会提示chkconfig不支持。#!/bin/sh:表示系统使用的shell,所有的shell脚本都是这样。#chkconfig:例“#chkconfig:352080”分别代表运行级别,启动优先权,关闭优先权,此行代码必须存在。#description:自定义描述。脚本文件具体如下所示。[root@nfs~]#cat/etc/init.d/real_time_backup.sh#!/bin/bash#chkconfig:352080#description:httpserverwhile:dosrcdir=/webdirinotifywait-rq--timefmt'%d/%m/%y-%H:%M'--format'%T%w%f'-emodify,create,attrib,delete,move${srcdir}\|whilereadfiledoecho"${file}isnotified!"rsync-aH--port=873--progress/webdir/*rsync_backup@25::webdir/--password-file=/etc/rsync.passworddonedone设置脚本的可执行权限。[root@nfs~]#chmod+x/etc/init.d/real_time_backup.sh添加脚本到开机自动启动项目中。添加到chkconfig,开机自启动。[root@nfs~]#cd/etc/init.d/[root@nfsinit.d]#chkconfig--addreal_time_backup.sh[root@nfsinit.d]#chkconfigreal_time_backup.shon(2)脚本生效重启系统,验证脚本是否执行,备份目录是否被同步备份。[root@nfsinit.d]#reboot#创建文件[root@nfs~]#cd/webdir/[root@nfswebdir]#touch{a,b}.text[root@nfswebdir]#touch{XX,YY}.text[root@nfswebdir]#ls1.test.file3.test.fileb.textXX.text2.test.filea.textRPCMS-masterYY.text#查看备份机目录是否同步[root@backupwebdir]#ls/webdir/1.test.file3.test.fileb.textXX.text2.test.filea.textRPCMS-masterYY.text由上述结果可知,backup服务器已成功实现实时备份。三、知识巩固(1)回顾上课前的学习目标,对本节课知识点进行总结。(2)使用第9章课后作业。第四学时(部署HAProxy七层负载)一、回顾上节课内容(1)对上节课布置的作业以及学生提出的问题进行答疑解惑。(2)回顾上节课内容,引出本节课主题。(3)明确学习方向。掌握部署HAProxy七层负载。掌握为HAProxy七层负载配置高可用。二、知识讲解(一)Keepalived主备模式本章项目借助HAProxy可以快速,可靠的构建一个负载均衡群集。使用HAProxy构建群集时,如果HAProxy宕机,后方的HTTP虽然正常运行,但是网站也是瘫痪状态,这就造成了单点故障。这时Keepalived就登场了,利用Keepalived在两台主机之间配置一个虚拟IP,也称漂移IP。漂移IP由主服务器承担,一旦主服务器宕机,备服务器就会抢占漂移IP,接替工作。两者相结合有效地解决了集群中的单点故障。让HAProxy监听Keepalived的漂移IP工作,当HAProxy宕机时,备机抢占漂移IP继续承担着负载均衡的工作。Keepalived主节点配置查看本机是否安装Keepalived软件。安装Keepalived软件。修改后的Keepalived的配置文件。[root@lb01~]#cat/etc/keepalived/keepalived.conf!ConfigurationFileforkeepalivedglobal_defs{notification_email{}smtp_serversmtp_connect_timeout30router_idlb01}vrrp_instanceVI_1{stateMASTERinterfaceeth0virtual_router_id51priority100advert_int1authentication{auth_typePASSauth_pass1111}virtual_ipaddress{50/24deveth0#虚拟IP设为50}}Keepalived配置完成后,启动Keepalived服务,并设置为开机自启。检查虚拟IP是否设置成功。[root@lb01~]#ipa|grep'50'inet50/24scopeglobalsecondaryeth0由上述结果可知,Keepalived主服务器配置完成。Keepalived备节点配置查看备机lb02是否安装Keepalived软件。安装Keepalived软件。修改Keepalived备节点(lb02)的配置文件。[root@lb02~]#cat/etc/keepalived/keepalived.conf!ConfigurationFileforkeepalivedglobal_defs{notification_email{}smtp_serversmtp_connect_timeout30router_idlb02}vrrp_instanceVI_1{stateBACKUPinterfaceeth0virtual_router_id51priority90advert_int1authentication{auth_typePASSauth_pass1111}virtual_ipaddress{50/24deveth0}}启动Keepalived服务,并设置为开机自启。检查虚拟IP是否设置成功。[root@lb01~]#ipa|grep'50'由于同一个VIP只能出现在一台服务器上。主节点运行正常并且正在接管VIP,所以备节点不显示VIP。为了测试备节点是否能正常接管VIP,需要停掉主节点服务器或者关闭主节点的Keepalived服务,模拟主节点故障或宕机。关闭主节点的Keepalived服务后,查看备节点的虚拟IP。备节点成功接管了VIP。接着启动主节点的Keepalived服务,验证主节点能否恢复VIP的接管。(二)部署HAProxy负载均衡在lb01服务器和lb02服务器上安装HAproxy软件。安装HAProxy后,编辑其配置文件/etc/haproxy/haproxy.cfg。global#全局配置 loglocal3info#日志配置 maxconn4096#最大连接限制(优先级低)uidnobodygidnobody daemon nbproc1 #处理HAProxy进程的数量defaults log global mode http maxconn2048 retries 3 option redispatch stats uri/haproxy #设计统计页面的URI为/haproxy statsauthqianfeng:123 #设置统计页面认证的用户与密码# statshide-version #隐藏统计页面上的HAProxy版本信息 contimeout 5000 #重传计时器 clitimeout 50000 #向后长连接 srvtimeout 50000 #向前长连接frontendhttp-in bind50:80 modehttp #定义为HTTP模式 logglobal #继承global中log的定义 optionhttplog #启用日志记录HTTP请求 optionhttpclose aclhtmlurl_reg-i\.html$use_backendhtml-serverifhtmldefault_backendhtml-serverbackendhtml-server modehttp balanceroundrobin optionhttpchkGET/index.html cookieSERVERIDinsertindirectnocache serverhtml-Aweb1:80weight1cookie3checkinter2000rise2fall5 serverhtml-Bweb2:80

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论