云計算集群技術與應用- 教案-教學設計 第09章 大型網(wǎng)站集群架構項目二_第1頁
云計算集群技術與應用- 教案-教學設計 第09章 大型網(wǎng)站集群架構項目二_第2頁
云計算集群技術與應用- 教案-教學設計 第09章 大型網(wǎng)站集群架構項目二_第3頁
云計算集群技術與應用- 教案-教學設計 第09章 大型網(wǎng)站集群架構項目二_第4頁
云計算集群技術與應用- 教案-教學設計 第09章 大型網(wǎng)站集群架構項目二_第5頁
已閱讀5頁,還剩27頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領

文檔簡介

云計算集群技術與應用教學設計課程名稱:云計算集群技術與應用__授課年級:_______________________授課學期:_______________________教師姓名:_______________________年月日課程名稱第9章大型網(wǎng)站集群架構項目二計劃學時8學時內(nèi)容分析本章主要介紹大型網(wǎng)站集群架構的相關知識,部署HAProxy+Keepalived高可用集群。教學目標與教學要求【知識目標】理解搭建完整網(wǎng)站集群架構的方式。理解HAProxy+Keepalived的部署方式?!炯寄苣繕恕空莆帐褂肔NMP部署網(wǎng)站。掌握部署共享存儲。掌握共享存儲實時備份。掌握部署HAProxy七層負載。【思政育人目標】培養(yǎng)學生樹立正確的世界觀、人生觀和價值觀,培養(yǎng)運維人員高水平網(wǎng)絡道德。引導學生提升明辨是非的能力,樹立健康的網(wǎng)絡安全道德,踐行正確的價值取向,增強自身的社會責任感。引導學生真正理解互聯(lián)網(wǎng)行業(yè)與所處社會生活的關聯(lián)所在,成為德才兼?zhèn)涞倪\維工程師和高技能創(chuàng)新型人才。教學重點共享存儲實時備份、部署HAProxy七層負載教學難點部署HAProxy+Keepalived七層負載教學方式課堂講解配合ppt演示4學時,上機演練4學時教學過程第一學時(項目準備、LNMP部署網(wǎng)站)一、提出需求,導入學習任務(1)思考LVS四層負載集群的學習應該從何入手。通過項目一的學習,讀者已經(jīng)可以掌握高并發(fā)大型網(wǎng)站的集群部署以及優(yōu)化的基本操作。為了進一步提升讀者在生產(chǎn)環(huán)境中對該部分內(nèi)容的運用技巧,本章將針對HAProxy+Keepalived高可用集群的部署進行講解。(2)明確學習方向。理解集群項目說明,完成集群項目設計。掌握使用LNMP架構部署網(wǎng)站。二、知識講解(一)項目準備1.項目說明本章通過搭建集群實現(xiàn)內(nèi)容管理系統(tǒng)的上線。用戶可以通過網(wǎng)絡對集群的資源進行訪問,訪問流程如下:首先,客戶端的用戶通過Internet訪問新聞系統(tǒng)的網(wǎng)站地址,如。通過客戶端在hosts文件中解析,解析到HAProxy前端負載均衡器上。HAProxy負載均衡器將請求輪詢到后端的LAMPWeb服務器和LNMPWeb服務器。在兩種web服務器上分別部署新聞系統(tǒng)虛擬主機網(wǎng)站內(nèi)容。當用戶注冊登錄、發(fā)布新聞等內(nèi)容時,數(shù)據(jù)通過Web服務寫入MySQL數(shù)據(jù)庫。當用戶上傳新聞圖片、視頻、附件頭像等文件時,這些數(shù)據(jù)會通過Web服務傳到共享存儲NFS服務器上,而不是存儲到Web服務器上。所有服務器時間保持一致,對重要數(shù)據(jù)進行定時備份。NFS存儲的靜態(tài)文件數(shù)據(jù)會實時同步到備份服務器上,完成實時的數(shù)據(jù)熱備。NFS服務器宕機后,完成備份服務器的快速切換,幾乎保證數(shù)據(jù)無丟失。為HAProxyx配置高可用,實現(xiàn)宕機后由備機自動接管服務。2.項目設計本章將要搭建的HAProxy+Keepalived網(wǎng)站集群的架構圖:該架構中用到的服務器及技術解釋如下所示。七層負載均衡調(diào)度器(HAProxy+Keepalived)Web1服務器(Apache+PHP)Web2服務器(Nginx+PHP)數(shù)據(jù)庫服務器(Mysql)共享存儲服務器(NFS+Rsync+inotify-tools)backup(Rsync)3.項目實施本章所演示的綜合項目首先以LNMP架構為基礎,分離部署數(shù)據(jù)庫,搭建小型網(wǎng)站集群,并上線內(nèi)容管理系統(tǒng)。在Web集群搭建之后,再對該網(wǎng)站進行架構的升級,配置七層負載均衡器改善網(wǎng)站性能,配置共享存儲服務器存儲靜態(tài)文件,配置備份服務器對網(wǎng)站數(shù)據(jù)進行安全備份。要完成圖中的網(wǎng)站架構部署,至少要準備8臺可用的服務器。本章項目使用云服務器,實驗環(huán)境:服務器角色應用程序私網(wǎng)IP地址公網(wǎng)IP地址Web服務器1Apache+PHP26Web服務器2Nginx+PHP4數(shù)據(jù)庫服務器mysqlMySQL0共享存儲nfsNFS+Rsync+Inotify-tools430備份服務器backupRsync258七層負載均衡器lb01HAProxy+Keepalived76VIP:50彈性公網(wǎng)IP:91七層負載均衡器lb02HAProxy+Keepalived0備注:本實驗中所有服務器都采用CentOS7.6操作系統(tǒng),需要提前關閉防火墻及Selinux,同步系統(tǒng)時間,做域名解析。使用云服務器時需要注意,實際環(huán)境按業(yè)務實際需要選擇區(qū)域購買。保證集群在同一內(nèi)網(wǎng)段,就要使所有云資源須在同一區(qū)域。為2臺同子網(wǎng)的彈性云服務器配置Keepalived,一臺為主服務器,一臺為備份服務器,并將這2臺彈性云服務器綁定同一個虛擬IP。虛擬IP需要登錄云控制臺,在VPC網(wǎng)絡板塊下去申請,申請通過后可以在VPC網(wǎng)絡板塊下看到。將虛擬IP與彈性公網(wǎng)IP綁定,從互聯(lián)網(wǎng)可以訪問綁定了該虛擬IP地址的主備云服務器。(二)LNMP部署網(wǎng)站(詳細步驟見第9章PPT)1.LNMP架構在Web服務器上搭建LNMP環(huán)境,以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軟件進行配置,以及檢查當前環(huán)境是否滿足源代碼安裝的依賴關系。[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在環(huán)境配置文件/etc/profile中添加PHP環(huán)境變量。[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測試頁,測試網(wǎng)站是否能解析PHP語言。若之前安裝的PHP可以正常工作,在瀏覽器中訪問該動態(tài)Web服務器IP時,可以看到PHP信息頁。2.上線業(yè)務在web1服務器上創(chuàng)建網(wǎng)站目錄/webdir,上傳內(nèi)容管理系統(tǒng)項目包。[root@web1~]#mkdir/webdir[root@web1~]#cd/webdir/[root@web1webdir]#wget/rpcms/RPCMS/repository/archive/master.zip[root@web1webdir]#unzipmaster.zip設置網(wǎng)站目錄的權限。[root@web1webdir]#chmod777-R/webdir/*Nginx默認只處理以.html結尾的文件,將.php文件加入網(wǎng)站處理的范圍,更新網(wǎng)站接收的文件類型以及網(wǎng)站目錄。創(chuàng)建網(wǎng)站配置文件。重新啟動Nginx使配置文件生效。有了執(zhí)行權限,業(yè)務就可以在線上運行。重新啟動Nginx服務后,訪問web1的IP即可進入系統(tǒng)的安裝協(xié)議頁面。單擊“同意”按鈕,開始檢測環(huán)境支持和讀寫權限,進入安裝向?qū)ы撁?。單擊“下一步”按鈕,頁面出現(xiàn)錯誤提示。可以看出,data、plugin、templates/index和upload文件顯示“非www用戶”,因此修改data、plugin、templates/index和upload文件的屬主和屬組為www。若沒有www用戶,則需要創(chuàng)建www用戶和組。修改data、plugin、templates/index和upload文件的屬主和屬組為www。刷新頁面,重新進入安裝目錄檢測頁面。安裝目錄檢測一切正常,單擊“下一步”按鈕進入?yún)?shù)配置頁面,開始填寫MySQL數(shù)據(jù)庫和網(wǎng)站管理員信息。接下來配置數(shù)據(jù)庫服務器,web1和web2需要使用的是同一個數(shù)據(jù)庫,才能使得數(shù)據(jù)同步。三、知識鞏固(1)回顧上課前的學習目標,對本節(jié)課知識點進行總結。(2)使用第9章課后作業(yè)。第二學時(部署數(shù)據(jù)庫服務器)一、回顧上節(jié)課內(nèi)容(1)對上節(jié)課布置的作業(yè)以及學生提出的問題進行答疑解惑。(2)回顧上節(jié)課內(nèi)容,引出本節(jié)課主題。(3)明確學習方向。掌握部署數(shù)據(jù)庫服務器。二、知識講解(一)下載安裝MySQL卸載系統(tǒng)自動安裝的MariaDB。使用wget命令下載MySQLRPM包。用RPM工具將該鏡像包解析并更新至本機的鏡像源中。當官方源配置完成,服務器就可以使用Yum進行安裝并使用該軟件。下載Yum管理工具包。下載完成后使用yum-config-manager命令關閉MySQL8.0版本,并開啟MySQL5.7版本。使用Yum命令下載并安裝MySQL。啟動MySQL,并設置為開機自啟。(二)配置數(shù)據(jù)庫查看root用戶被授予的臨時密碼。接下來登錄數(shù)據(jù)庫修改密碼,創(chuàng)建數(shù)據(jù)庫用戶,并授予相關權限。[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';#創(chuàng)建數(shù)據(jù)庫用戶qianfengmysql>createuserqianfeng@'%'identifiedby'qf@123.coM';#授予權限mysql>grantallon*.*to'qianfeng'@'%';#允許遠程登錄mysql>usemysqlmysql>updateusersethost='%'whereuser='qianfeng'; #刷新mysql>flushprivileges;新建數(shù)據(jù)庫用戶為qianfeng,登錄密碼為“qf@123.coM”。初始化數(shù)據(jù)庫之后,在網(wǎng)站根目錄下編寫test.php文件,測試網(wǎng)站是否能與數(shù)據(jù)庫連通。若可以成功連接則返回Successfullyconnected,否則返回Fail。為內(nèi)容管理系統(tǒng)創(chuàng)建數(shù)據(jù)庫rpcms,并授予qianfeng用戶管理該數(shù)據(jù)庫的權限。#創(chuàng)建rpcms數(shù)據(jù)庫mysql>createdatabaserpcms;#授予qianfeng管理數(shù)據(jù)庫的權限mysql>grantallon*.*to'qianfeng'@'%';#刷新mysql>flushprivileges;(三)網(wǎng)站連接數(shù)據(jù)庫數(shù)據(jù)庫服務器配置完成后,開始填寫MySQL數(shù)據(jù)庫和網(wǎng)站管理員信息。填寫完成后,單擊“下一步”按鈕,即可開始安裝。至此,內(nèi)容管理網(wǎng)站安裝完成,單擊“訪問后臺”按鈕輸入網(wǎng)站管理員信息,即可登錄網(wǎng)站。單擊“登錄”按鈕,進入網(wǎng)站管理后臺。將web1的/webdir/目錄拷貝給web2,使得Web集群將數(shù)據(jù)存儲到同一個數(shù)據(jù)庫中。[root@web1~]#scp-r/webdir/root@web2:/將web1的網(wǎng)站配置文件拷貝給web2。[root@web1RPCMS-master]#scp-r/etc/nginx/conf.d/rpcms.confroot@web2:/etc/nginx/conf.d/web2若沒有www用戶,則需要創(chuàng)建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網(wǎng)站目錄下data、plugin、templates/index和upload文件的屬主和屬組為www。修改網(wǎng)站目錄的權限。重啟web2服務器的Nginx,然后訪問web2的IP地址,會直接訪問到網(wǎng)站首頁。至此,web集群已經(jīng)成功上線網(wǎng)站業(yè)務。三、知識鞏固(1)回顧上課前的學習目標,對本節(jié)課知識點進行總結。(2)使用第9章課后作業(yè)。第三學時(共享存儲、共享存儲實時備份)一、回顧上節(jié)課內(nèi)容(1)對上節(jié)課布置的作業(yè)以及學生提出的問題進行答疑解惑。(2)回顧上節(jié)課內(nèi)容,引出本節(jié)課主題。(3)明確學習方向。掌握部署共享存儲。掌握部署共享存儲實時備份。二、知識講解(一)共享存儲在Web服務器成功上線網(wǎng)站系統(tǒng)后,所有的資源都存儲于Web服務器及其連接的第三方數(shù)據(jù)庫中。將Web服務器中的靜態(tài)資源文件通過NFS共享至Web服務器,搭建共享存儲服務器,配置NFS,讓Web集群讀寫數(shù)據(jù)都從NFS掛載,具體實現(xiàn)的步驟如下所示。1.配置NFS服務首先在NFS服務器中下載并安裝NFS,啟動該項服務,并設置其開機自啟。設置完成后,新建商城網(wǎng)站存放目錄/leadshop/web,用于接收Web服務器上安裝完成的論壇網(wǎng)站數(shù)據(jù)。[root@nfs~]#mkdir-p/webdir/RPCMS-master/uploads[root@nfs~]#mkdir-p/webdir/RPCMS-master/static創(chuàng)建完成后,編輯/etc/exports文件,設置服務器共享規(guī)則。內(nèi)容管理系統(tǒng)的uploads目錄和static目錄存儲靜態(tài)資源,故需設置這兩個目錄為共享目錄即可,共享對象為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)執(zhí)行exportfs-rv命令即可使修改的/etc/exports生效。2.配置Web集群首先將Web服務器中的靜態(tài)數(shù)據(jù)發(fā)送至NFS服務器一份,使得NFS服務器存有相關數(shù)據(jù),方便后續(xù)操作。發(fā)送完成后,在Web服務器中下載并安裝NFS服務,啟動該項服務,并設置其開機自啟。設置完成后,查看NFS服務器共享出來的目錄。當前可用的共享文件目錄/webdir/RPCMS-master/static和/webdir/RPCMS-master/uploads。接下來繼續(xù)在Web服務器上掛載共享目錄://web1、web2#mountnfs:/webdir/RPCMS-master/static/webdir/RPCMS-master/static#mountnfs:/webdir/RPCMS-master/uploads/webdir/RPCMS-master/uploads需要注意,直接用mount方式進行掛載,重啟后就會失效。一般企業(yè)工作中推薦使用配置文件的方式,使其開機自動掛載,編輯/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中的內(nèi)容重新加載,自動掛載共享目錄。配置完成后,查看動態(tài)Web服務器的掛載信息。通過系統(tǒng)的反饋信息可以看到,目標目錄均已成功掛載。3.測試共享數(shù)據(jù)資源共享部署完成后,測試靜態(tài)文件能不能在各Web服務器之間達成共享。在NFS服務器的網(wǎng)站靜態(tài)資源文件夾中編寫測試文件test.html:[root@nfs~]#vim/webdir/RPCMS-master/static/test.htmlNFS共享存儲測試頁面!測試頁面創(chuàng)建完成后,NFS服務器現(xiàn)已存有相關數(shù)據(jù),在Web服務器端對該資源進行訪問。瀏覽器訪問web1的IP:瀏覽器訪問web2的測試頁面:盡管文件只在NFS服務器中進行寫入,但因為不同的Web服務器之間對靜態(tài)資源文件夾進行共享,共享系統(tǒng)中的動態(tài)Web服務器也可以直接獲取共享文件夾內(nèi)的資源,返回給用戶,資源共享配置成功。同理,若用戶與Web服務器進行交互,產(chǎn)生的動態(tài)數(shù)據(jù)將寫入數(shù)據(jù)庫,靜態(tài)數(shù)據(jù)將寫入共享的靜態(tài)文件夾,兩臺Web服務器都可以訪問。登錄內(nèi)容管理網(wǎng)站后臺,發(fā)布一篇文章,上傳一張圖片。單擊“發(fā)布文章”按鈕,則成功創(chuàng)建了靜態(tài)文件,可通過單擊“文章”選項欄查看已發(fā)布的文章。網(wǎng)頁上傳的文件則保存至網(wǎng)站根目錄下的uploads目錄中。查看NFS共享存儲服務器中是否同步數(shù)據(jù)。NFS共享存儲服務器部署成功。(二)共享存儲實時備份1.部署Rsync服務端—backup備份服務器首先查看備份主機是否安裝了rsync工具。安裝rsync服務。修改/etc/rsyncd.conf配置文件,添加webdir模塊,模塊名可根據(jù)NFS服務端的備份目錄自定義:[root@backup~]#cat/etc/rsyncd.conf……[webdir]path=/webdir/創(chuàng)建rsync屬主和屬組。根據(jù)對配置文件的新模塊的描述,創(chuàng)建相應目錄。設置目錄的屬主和屬組,使得rsync客戶端通過用戶連接時對備份目錄獲得相關權限。啟動rsync服務,并且設置開機自啟。將虛擬用戶及密碼寫入密碼配置文件:[root@backup~]#echo"rsync_backup:123456">/etc/rsync.password為提高密碼安全性,修改密碼文件的權限:[root@backup~]#chmod600/etc/rsync.password2.部署Rsync客戶端—nfs存儲服務器(1)實現(xiàn)rsync數(shù)據(jù)推送查看nfs主機是否安裝了rsync工具。安裝rsync服務。添加虛擬用戶的密碼文件,只寫入密碼即可。[root@nfs~]#echo"123456">/etc/rsync.password更改密碼文件的權限,以提高安全性。Rsync同步包括兩種方式,push推送和pull拉取。使用push推送需備份的靜態(tài)資源文件,即在nfs主機中將指定的目錄內(nèi)容推送到rsync服務端指定目錄下:[root@nfs~]#rsync-avH--port=873--progress/webdir/*rsync_backup@25::webdir/(2)安裝Inotify插件-rsync客戶端查看當前系統(tǒng)是否支持inotify。第一個窗口使用inotifywait命令監(jiān)控/webdir目錄的創(chuàng)建文件。[root@nfs~]#inotifywait-mrq--timefmt'%y/%m/%d%H:%M'--format'%T%w%f'-ecreate/webdir第二個窗口在/webdir目錄中創(chuàng)建文件,以觸發(fā)inotify的監(jiān)控功能。#查看已有文件[root@nfs~]#ls/webdir/RPCMS-master#創(chuàng)建測試文件[root@nfs~]#touch/webdir/{1,2,3}.test.file[root@nfs~]#ls/webdir/1.test.file2.test.file3.test.fileRPCMS-master回到窗口1觀察監(jiān)控創(chuàng)建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插件的監(jiān)控功能正常。將rsync和inotify實現(xiàn)的功能寫入腳本中。[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主機窗口用于測試實時同步數(shù)據(jù)備份,然后在備份服務器查看數(shù)據(jù)是否推送備份成功。首先在nfs主機窗口1,執(zhí)行上述腳本。[root@nfs~]#bashrsync_test_1.sh然后在nfs主機窗口2,在需要備份的目錄創(chuàng)建文件。#已有文件[root@nfs~]#ls/webdir/RPCMS-master/staticuploads#創(chuàng)建新的測試文件[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)數(shù)據(jù)顯示已經(jīng)傳到備份服務器。至此,NFS共享數(shù)據(jù)的實時同步推送備份成功實現(xiàn)。3.開機腳本自動執(zhí)行該腳本需要在系統(tǒng)啟動時自動執(zhí)行,開機腳本自動執(zhí)行的方式有多種,讀者可任選一種方式進行配置。(1)通過chkconfig命令設置腳本開機自動執(zhí)行。將(腳本)啟動文件移動到/etc/init.d/或者/etc/rc.d/init.d/目錄下。[root@nfs~]#mv/real_time_backup.sh/etc/init.d/啟動文件前面務必添加如下3行代碼,否則會提示chkconfig不支持。#!/bin/sh:表示系統(tǒng)使用的shell,所有的shell腳本都是這樣。#chkconfig:例“#chkconfig:352080”分別代表運行級別,啟動優(yōu)先權,關閉優(yōu)先權,此行代碼必須存在。#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設置腳本的可執(zhí)行權限。[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)腳本生效重啟系統(tǒng),驗證腳本是否執(zhí)行,備份目錄是否被同步備份。[root@nfsinit.d]#reboot#創(chuàng)建文件[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服務器已成功實現(xiàn)實時備份。三、知識鞏固(1)回顧上課前的學習目標,對本節(jié)課知識點進行總結。(2)使用第9章課后作業(yè)。第四學時(部署HAProxy七層負載)一、回顧上節(jié)課內(nèi)容(1)對上節(jié)課布置的作業(yè)以及學生提出的問題進行答疑解惑。(2)回顧上節(jié)課內(nèi)容,引出本節(jié)課主題。(3)明確學習方向。掌握部署HAProxy七層負載。掌握為HAProxy七層負載配置高可用。二、知識講解(一)Keepalived主備模式本章項目借助HAProxy可以快速,可靠的構建一個負載均衡群集。使用HAProxy構建群集時,如果HAProxy宕機,后方的HTTP雖然正常運行,但是網(wǎng)站也是癱瘓狀態(tài),這就造成了單點故障。這時Keepalived就登場了,利用Keepalived在兩臺主機之間配置一個虛擬IP,也稱漂移IP。漂移IP由主服務器承擔,一旦主服務器宕機,備服務器就會搶占漂移IP,接替工作。兩者相結合有效地解決了集群中的單點故障。讓HAProxy監(jiān)聽Keepalived的漂移IP工作,當HAProxy宕機時,備機搶占漂移IP繼續(xù)承擔著負載均衡的工作。Keepalived主節(jié)點配置查看本機是否安裝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備節(jié)點配置查看備機lb02是否安裝Keepalived軟件。安裝Keepalived軟件。修改Keepalived備節(jié)點(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只能出現(xiàn)在一臺服務器上。主節(jié)點運行正常并且正在接管VIP,所以備節(jié)點不顯示VIP。為了測試備節(jié)點是否能正常接管VIP,需要停掉主節(jié)點服務器或者關閉主節(jié)點的Keepalived服務,模擬主節(jié)點故障或宕機。關閉主節(jié)點的Keepalived服務后,查看備節(jié)點的虛擬IP。備節(jié)點成功接管了VIP。接著啟動主節(jié)點的Keepalived服務,驗證主節(jié)點能否恢復VIP的接管。(二)部署HAProxy負載均衡在lb01服務器和lb02服務器上安裝HAproxy軟件。安裝HAProxy后,編輯其配置文件/etc/haproxy/haproxy.cfg。global#全局配置 loglocal3info#日志配置 maxconn4096#最大連接限制(優(yōu)先級低)uidnobodygidnobody daemon nbproc1 #處理HAProxy進程的數(shù)量defaults log global mode http maxconn2048 retries 3 option redispatch stats uri/haproxy #設計統(tǒng)計頁面的URI為/haproxy statsauthqianfeng:123 #設置統(tǒng)計頁面認證的用戶與密碼# statshide-version #隱藏統(tǒng)計頁面上的HAProxy版本信息 contimeout 5000 #重傳計時器 clitimeout 50000 #向后長連接 srvtimeout 50000 #向前長連接frontendhttp-in bind50:80 modehttp #定義為HTTP模式 logglobal #繼承global中l(wèi)og的定義 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. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論