版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)
文檔簡介
摘要隨著互聯(lián)網(wǎng)的全球的全面興起,全球上網(wǎng)人數(shù)也在與日俱增,因此也考驗網(wǎng)站的承載能力。如果它的性能沒有跟上訪問量,就會導(dǎo)致用戶在訪問網(wǎng)站的時候刷出網(wǎng)頁的速度很慢,網(wǎng)頁響應(yīng)的速度也大打折扣,嚴(yán)重影響用戶上網(wǎng)體驗。更有甚者,如果碰到極高峰值的訪問量和交互度,可能會導(dǎo)致整個服務(wù)器宕機,用戶完全鏈接不上網(wǎng)絡(luò),將會對企業(yè)和政府機構(gòu)造成不可估量的損失。本次論文也是以探尋高性能Web服務(wù)器為主題進行相關(guān)研究,主要研究基于LVS的高性能web應(yīng)用服務(wù)器部署和應(yīng)用。主要通過lvs和keepalived實現(xiàn),具有負(fù)載均衡和高可用性,網(wǎng)站的數(shù)據(jù)安全性強,通過主從同步來自動完成數(shù)據(jù)備份,能自動監(jiān)控。通過本次的課題研究,對現(xiàn)實web應(yīng)用有了一個更加全面的認(rèn)識。關(guān)鍵詞:LVS虛擬化高性能目錄TOC\o"1-3"\h\u第一章緒論 11.1課題背景及研究意義 11.2相關(guān)關(guān)鍵技術(shù)介紹 1第二章需求分析 42.1高性能web應(yīng)用服務(wù)器部署概述 42.2高性能web應(yīng)用服務(wù)器功能性需求 4第三章基于LVS的高性能web應(yīng)用服務(wù)器部署設(shè)計 53.1系統(tǒng)功能結(jié)構(gòu)圖 53.2網(wǎng)絡(luò)結(jié)構(gòu)設(shè)計 6第四章基于LVS的高性能web應(yīng)用服務(wù)器部署的應(yīng)用 84.1web應(yīng)用服務(wù)器部署與設(shè)計 84.2存儲設(shè)計 144.3數(shù)據(jù)庫設(shè)計 154.4虛擬化設(shè)計 184.5網(wǎng)絡(luò)設(shè)計 21第五章基于LVS的高性能web應(yīng)用服務(wù)器部署測試 255.1web應(yīng)用服務(wù)器負(fù)載均衡測試 255.2web應(yīng)用服務(wù)器高可用性測試 265.3存儲測試 275.4數(shù)據(jù)庫測試 285.5監(jiān)控測試 30結(jié)論 33參考文獻 34第一章緒論隨著信息技術(shù)的發(fā)展,有越來越多的互聯(lián)網(wǎng)應(yīng)用應(yīng)運而生,這就無可避免需要服務(wù)器能夠承載更大訪問量的同時,響應(yīng)速度等性能也不會受到影響。不少人針對這個問題展開研究,也設(shè)計了很多不同的方案以解決該問題。本次論文也是以探尋高性能Web服務(wù)器為主題進行相關(guān)研究。1.1課題背景及研究意義現(xiàn)在的社會已經(jīng)是一個互聯(lián)網(wǎng)的社會,網(wǎng)絡(luò)使得人與人之間的距離變得更近,我們發(fā)現(xiàn)小到我們的日常生活,平常的上網(wǎng)沖浪,到企業(yè)政府的業(yè)務(wù)處理,乃至關(guān)聯(lián)到整個社會的和諧穩(wěn)定,都少不了互聯(lián)網(wǎng)的參與。而伴隨著互聯(lián)網(wǎng)的全球的全面興起,全球上網(wǎng)人數(shù)也在與日俱增,因此也考驗網(wǎng)站的承載能力。如果它的性能沒有跟上訪問量,就會導(dǎo)致用戶在訪問網(wǎng)站的時候刷出網(wǎng)頁的速度很慢,網(wǎng)頁響應(yīng)的速度也大打折扣,嚴(yán)重影響用戶上網(wǎng)體驗。更有甚者,如果碰到極高峰值的訪問量和交互度,可能會導(dǎo)致整個服務(wù)器宕機,用戶完全鏈接不上網(wǎng)絡(luò),將會對企業(yè)和政府機構(gòu)造成不可估量的損失。就像一些如淘寶等大型的電商網(wǎng)站,尤其是在雙十一的時候,這么大而密的訪問量,網(wǎng)頁不遲緩,交易也不卡,服務(wù)器和數(shù)據(jù)庫要承受多大的數(shù)據(jù)訪問量。因此本課題具有較高的現(xiàn)實意義,搭建具有較好承載力的web應(yīng)用服務(wù)器依然是眾多學(xué)者一直深度學(xué)習(xí)的課題,也是現(xiàn)代社會發(fā)展的必經(jīng)之路。1.2相關(guān)關(guān)鍵技術(shù)介紹(1)VMware虛擬化與云計算,是一項綜合的技術(shù),需要掌握網(wǎng)絡(luò)、存儲、服務(wù)器等方面的知識,有一定的動手實踐能力。VMware就是一門虛擬化技術(shù),但虛擬化從來不是單獨存在的,要學(xué)好、用好虛擬化,需要一系列的基礎(chǔ)服務(wù),WindowsServer2008R2或WindowsServer2012R2ActiveDirectory的配置、DHCP配置、WSUS配置、KMS配置,并了解證書服務(wù),為服務(wù)器申請并安裝證書,這些都是虛擬化的基礎(chǔ)。只有掌握了這些,并配置好這些環(huán)境,才能讓虛擬化的項目運行的更好。(2)centos和vyatta我們?nèi)粘A?xí)慣都是用windows系統(tǒng),但是在服務(wù)器里使用Unix或者Linux系統(tǒng),不僅是因為這兩個系統(tǒng)開源免費,在開發(fā)上大大降低了前期的成本;而且因為這兩個系統(tǒng)相較于windows系統(tǒng)的安全性更高,穩(wěn)定性更佳,系統(tǒng)崩潰的概率非常小,并且一般針對windows的病毒也更多?;谏鲜鲈?,這兩個系統(tǒng)在服務(wù)器系統(tǒng)中大受歡迎。開發(fā)人員也針對這兩個系統(tǒng)設(shè)計了很多版本的系統(tǒng),他們逐漸占據(jù)更大的份額。其中,CentOS可以說是更穩(wěn)定以及更安全。由于CentOS的更新頻率較低,這意味著軟件測試的時間更長,并且只有真正穩(wěn)定的版本才會得到發(fā)布。如果用戶使用CentOS,你不會因新的bug的應(yīng)用程序版本而遇到任何穩(wěn)定性問題,因為你不會得到那個新的有bug的版本。并且CentOS的市場占用率更大,這也就意味著人們更習(xí)慣于在CentOS上面開發(fā)應(yīng)用,因此開源項目也就更多,初學(xué)者很容易找到相應(yīng)可供學(xué)習(xí)的東西。Vyatta同樣也是一個Linux版本,它的安裝簡單,用戶不需要在配置其他環(huán)境就可以使用。Vyatta還針對VMware,CitrixXenServer,Xen,KVM和HyperV等虛擬環(huán)境進行了優(yōu)化。它基于Debian,可以從物理硬件安裝和運行。安裝過程使用LiveCD,格式化可用硬盤,安裝系統(tǒng)并在完成后重新啟動。一旦重啟,它就可以像普通系統(tǒng)一樣運行。(3)LVSLVS實現(xiàn)的是負(fù)載均衡的作用,可支持上萬并發(fā)連接,支持多種論調(diào)算法,對內(nèi)存和CPU資源消耗極低。LVS通過vrrp協(xié)議進行數(shù)據(jù)包轉(zhuǎn)發(fā)的,提供的是4層的負(fù)載均衡。特點是效率高,只要我們的機器網(wǎng)卡抗的住就不是問題。LVS本身是明顯的單點故障,因此需要使用雙機軟件做熱備,來保證高可用性。LVS有負(fù)載均衡機制,目前支持8中均衡算法。(4)keepalivedKeepalived是一個路由軟件。初學(xué)者可能會難以區(qū)分Keepalived和LVS的功能,因為LVS可以用ipvsadm寫個記錄能實現(xiàn)負(fù)載均衡,keepalived同樣也能配置LVS實現(xiàn)負(fù)載均衡。但其實keepalived不是一個負(fù)載均衡軟件主要作用是對服務(wù)器狀態(tài)檢測和故障隔離。對于在keepalived中配置lvs模塊,一般的理解是對補充lvs的配置。Keepalived是采用低層語言C語言編寫而成的,它可作用熱備和健康檢測。一般實際應(yīng)用中,我們使用兩臺Keepalived做雙機熱備。雙機熱備份的意思就是二臺服務(wù)器同時工作,如果在運行過程中壞了一臺也不要緊,還有另外一臺可以直接使用。與冷備不同,熱備不需要我們手工進行機器的切換,在監(jiān)控keepalived所在服務(wù)器上的其他業(yè)務(wù)進程出現(xiàn)異常的時候,系統(tǒng)將會直接進行切換。盡管在使用的時候有一臺機器出現(xiàn)問題,但是由于這個雙機熱備的機制,以至于這個切換完全在后臺自動完成,我們在前臺使用的時候依然可以正常使用,完全沒有出現(xiàn)故障的感覺。但是這些還不夠,我們還需要監(jiān)控keepalived所在服務(wù)器上的其他業(yè)務(wù)進程,根據(jù)業(yè)務(wù)進程的運行狀態(tài)決定是否需要進行主備切換。(5)apacheApache是一個網(wǎng)頁服務(wù)器軟件,簡單的說,就是網(wǎng)站的平臺。網(wǎng)站webapplication不能直接編譯運行,需要放在web服務(wù)器上才能夠正常執(zhí)行,也就是將網(wǎng)站webapplication部署到web服務(wù)器,我們實際上是通過連接服務(wù)器訪問網(wǎng)站,才能被browser訪問。Apache能夠提供各種各樣的服務(wù)和功能,具體看j2ee的定義。(6)glusterfs 世界每天都在不斷增加數(shù)據(jù)量,科學(xué)應(yīng)用,天氣預(yù)報,研究,醫(yī)院,軍事服務(wù)等幾個應(yīng)用領(lǐng)域是這些數(shù)據(jù)量的主要貢獻者。隨著數(shù)據(jù)量的增加,提供高效,易用的解決方案的需求已成為這些類型的計算的主要問題之一。這么龐大的數(shù)據(jù)量必然需要一個強大的系統(tǒng)進行支撐,防止數(shù)據(jù)的溢出。Gluster文件系統(tǒng)就是為了解決這一問題而設(shè)計的,它支持標(biāo)準(zhǔn)的posix接口,是一個集群的文件系統(tǒng)。目前已經(jīng)有越來越多的公司使用該系統(tǒng),進行文件的分布式存儲。并且Gluster具有較高的可用性,它可以掛載在linux系統(tǒng)中直接使用,而不像Fastdfs需要提供API進行操作。相對來說,Gluster的容錯率也較高,它使用FUSE(用戶空間中的文件系統(tǒng))將自己與VFS層掛鉤。它采用分層方法來處理文件系統(tǒng),根據(jù)需要添加/刪除功能。(7)MycatMycat是開源的分布式數(shù)據(jù)庫系統(tǒng),但實際上,按我的理解,只是一個類似于jdbc的數(shù)據(jù)庫管理中間件。雖然它和出名的MySql數(shù)據(jù)庫名字相仿,但是兩者之間的差距很大。Mysql我們都知道,是一個非常常用的輕量級數(shù)據(jù)庫,而Mycat實際上只是一個數(shù)據(jù)庫的中間件,他并不存儲任何數(shù)據(jù)。所以當(dāng)有一天我們不用Mycat了只需要把mysql中的數(shù)據(jù)歸集以后就能正常使用。Mycat的作用是統(tǒng)一出口,查詢緩存,查詢優(yōu)化。Mycat實際上就是一個分布式管理系統(tǒng),它是一個中間件,它的功能主要就是起到應(yīng)用于數(shù)據(jù)間負(fù)責(zé)協(xié)調(diào)統(tǒng)籌作用。但是在具體的數(shù)據(jù)庫工作還是在MySql數(shù)據(jù)庫這邊來完成。并且如果只有一臺數(shù)據(jù)庫服務(wù)器的時候,此時它只有一個出口,因此并不用使用到這個中間件。只有在多個數(shù)據(jù)庫的時候,我們需要一個能夠協(xié)調(diào)統(tǒng)籌數(shù)據(jù)的中間件,實現(xiàn)數(shù)據(jù)庫的抽象。而且,要讓Mycat派上用場,MySql數(shù)據(jù)庫還必須要開啟讀寫分離模式。(8)Mariadb隨著數(shù)據(jù)需求不斷增加,信息的管理在個人日常生活中起到了不可或缺的作用。信息量帶來了數(shù)據(jù)庫管理程序的開發(fā),最廣為人知的包括Oracle,PostgreSQL,DB2,MySQL,MariaDB和SQLite。MariaDB數(shù)據(jù)庫是一種開源軟件,MariaDB數(shù)據(jù)庫和MySql數(shù)據(jù)庫在用法、功能上可以說沒有什么差別,MariaDB數(shù)據(jù)庫被認(rèn)為是具有改進MySQL性能的數(shù)據(jù)庫。例如,一項研究表明MariaDB數(shù)據(jù)庫可以提高壓縮性能閃存設(shè)備的壓縮性能,改善存儲提高效率,提高電源效率和CPU利用率。(9)zabbixZabbix是一種監(jiān)控系統(tǒng),具有相當(dāng)優(yōu)異的實時性,但是在掌握和安裝Zabbix軟件前,要求用戶對Linux知識有所了解,因為zabbixserver只能部署在Linux環(huán)境下,所以Linux日常使用是必須的,起碼lamp日常各種服務(wù)的搭建要了解,才能看明白文檔,因為涉及到監(jiān)控數(shù)據(jù)的保存,數(shù)據(jù)庫的操作也需要會點,涉及到不同需求可能定制開發(fā)自己的監(jiān)控模板,最好掌握一門腳本語言shell足夠了,到后期為了滿足各種不同需求肯定會需要針對性的對zabbix進行二次開發(fā)。第二章需求分析2.1高性能web應(yīng)用服務(wù)器部署概述本文擬搭建一個電商網(wǎng)站,但是考慮到電商網(wǎng)站本身帶來的巨大訪問量將對網(wǎng)站的承載能力產(chǎn)生考驗。我們都知道,網(wǎng)站是部署在服務(wù)器上,如果服務(wù)器的性能沒有跟上訪問量,就會導(dǎo)致用戶在訪問網(wǎng)站的時候刷出網(wǎng)頁的速度很慢,網(wǎng)頁響應(yīng)的速度也大打折扣,嚴(yán)重影響用戶上網(wǎng)體驗。因此,本文在考慮到要搭建電商網(wǎng)站時可能承受大而密的訪問量,對高性能Web服務(wù)器展開研究,從而給用戶更佳的購物體驗。2.2高性能web應(yīng)用服務(wù)器功能性需求通過上文對課題的了解,以及對相關(guān)關(guān)鍵技術(shù)的掌握,本文選用lvs技術(shù)進行相關(guān)研究高性能web應(yīng)用服務(wù)器功能性需求,具體包含如下幾點:(1)LVS負(fù)載均衡集群;負(fù)載均衡的實現(xiàn)有兩種截然不同的方案可供選擇,一個就是使用硬件設(shè)備實現(xiàn),但這種方案的硬件成本較高;另一個方案就是使用軟件負(fù)載,這個方案目前被大多數(shù)企業(yè)使用。這個方案主要要解決的就是兩個問題:(1)選擇服務(wù)器問題;(2)轉(zhuǎn)發(fā)問題,而LVS是目前能夠很好的解決這兩個問題,是目前最出名的軟件負(fù)載方案之一。它工作在網(wǎng)絡(luò)層,安全穩(wěn)定,并且原理簡單易懂,成本低廉。LVS很好地體現(xiàn)了“集成”的概念,它將一對性能較低的服務(wù)器進行組合,在使用中能支持多種論調(diào)算法進行服務(wù)器的選擇。LVS針對高并發(fā)網(wǎng)絡(luò)服務(wù)提供商普遍面臨的流量分析導(dǎo)致響應(yīng)速度慢的問題,研究了LVS(Linux虛擬服務(wù)器)和KEEPALIVED(軟件交換機制的原理)的負(fù)載均衡,高可用性實現(xiàn)了負(fù)載均衡系統(tǒng)的可擴展性,高可用性和容災(zāi)能力,使用系統(tǒng)的VS/DR模型和基于IP層的系統(tǒng)和基于內(nèi)容請求分布的負(fù)載均衡調(diào)度解算算法,算法為在Linux內(nèi)核中實現(xiàn),以及系統(tǒng)的高可用性和負(fù)載均衡實驗,實驗表明負(fù)載均衡系統(tǒng)分流給客戶請求,并能有效降低單個服務(wù)器的負(fù)載壓力。(2)Web服務(wù)器;我們要搭建的是一個電商網(wǎng)站,那么在系統(tǒng)架構(gòu)中顯然不能夠缺少Web服務(wù)器這個關(guān)鍵的角色。而為了研究高性能web應(yīng)用服務(wù)器,達到負(fù)載均衡的目的,我們選用了三臺Apache服務(wù)器進行研究。(3)Web應(yīng)用程序我們都知道,PHP語言可以說是目前為止用來制作網(wǎng)頁做常見的語言之一了,目前很多國內(nèi)外大型的網(wǎng)站都是采用PHP技術(shù)開發(fā)完成的。而本次我們的電商網(wǎng)站也是使用PHP語言設(shè)計。(4)MySQL數(shù)據(jù)庫MySQL是一種的數(shù)據(jù)庫管理系統(tǒng),它是一種開源、免費的數(shù)據(jù)庫應(yīng)用,一般小型用戶用比較合適。MySQL數(shù)據(jù)庫單純的存儲功能是我們眾多周知的,但是為了實現(xiàn)負(fù)載均衡,我們在數(shù)據(jù)庫中做讀寫分離。(5)共享存儲為了達到完成文件數(shù)據(jù)的一致性,保證重要資源的可用性。本文設(shè)計的基于LVS的高性能web應(yīng)用服務(wù)器部署和應(yīng)用使用共享存儲的概念。(6)監(jiān)控系統(tǒng)現(xiàn)在,在考慮到服務(wù)器性能的時候,我們需要比以往任何時候都更加關(guān)注自己的需求網(wǎng)絡(luò)為了使其保持健康狀態(tài),還要快速識別和解決任何類型的瓶頸和停機。更理想的情況是,能夠在這些可能出現(xiàn)的瓶頸和停機出現(xiàn)前就能夠及時進行組織。因此,實現(xiàn)對系統(tǒng)的監(jiān)控是十分有必要的,而分布式的zabbix監(jiān)控系統(tǒng)就十分適用于監(jiān)控系統(tǒng)。第三章基于LVS的高性能web應(yīng)用服務(wù)器部署設(shè)計3.1本系統(tǒng)主要分為四個功能模塊。(1).LVS采用三層結(jié)構(gòu):①負(fù)載調(diào)度器(loadbalancer):通過上一章的需求分析我們可以知道,LVS很好地體現(xiàn)了“集成”的概念,它將一組性能較低的服務(wù)器進行組合,在響應(yīng)用戶請求的時候,通過論調(diào)算法進行服務(wù)器的選擇,判斷每個服務(wù)器的負(fù)載情況,之后選擇出一臺當(dāng)前最合適的服務(wù)器進行響應(yīng)。這個服務(wù)器選擇的工作就是交由負(fù)載調(diào)度器來完成。②服務(wù)器池(serverpool):服務(wù)器池從字面意義上就很好里面,在其中必定包含了很多服務(wù)器,她們是執(zhí)行用戶請求的應(yīng)用服務(wù)器;③共享存儲(sharedstored):共享存儲池是一個SAN存儲設(shè)備的池,這個存儲是共享的,也就是服務(wù)器池內(nèi)的所有服務(wù)器都配備的內(nèi)容和服務(wù)都能夠完全一樣。共享存儲技術(shù)極大地降低實際存儲空間的占用,減少了開發(fā)成本。(2)Web應(yīng)用程序我們要搭建的是一個電商網(wǎng)站,那么就需要在Web服務(wù)器上面部署一個電商的應(yīng)用程序。Web應(yīng)用程序在我的理解中,是有一臺在互聯(lián)網(wǎng)中的計算機,在該計算機上有一個軟件。然后我們將服務(wù)器語言編寫的互聯(lián)網(wǎng)產(chǎn)品(網(wǎng)站、web服務(wù)、web應(yīng)用程序)配置在該軟件上。這個樣大家就可以通過瀏覽器等web客戶端去訪問我們的互聯(lián)網(wǎng)產(chǎn)品。(3).數(shù)據(jù)庫mariadb的主從同步和讀寫分離也為數(shù)據(jù)庫的優(yōu)化提供一種思路,設(shè)計對以后web項目能否承擔(dān)高并發(fā)所帶來的巨大負(fù)擔(dān)是個非常好的解決方案。本次課題使用的是兩臺mariadb數(shù)據(jù)庫服務(wù)器,并使用mycat作為中間件,使用主從同步和讀寫分離的方法,主數(shù)據(jù)庫用來寫入數(shù)據(jù),從數(shù)據(jù)庫用來查詢,分擔(dān)了主數(shù)據(jù)庫的一大部分工作,這樣做的好處是當(dāng)主服務(wù)器崩了之后,還是在從服務(wù)器上獲取到數(shù)據(jù),起到的備份的作用。(4).監(jiān)控系統(tǒng)本次課題使用的監(jiān)控系統(tǒng)是Zabbix,它具有相當(dāng)優(yōu)異的實時性,可擴展性強。zabbixserver只能部署在Linux環(huán)境下,一般情況下運行在LAMP平臺上,LAMP平臺是一種網(wǎng)站服務(wù)器架構(gòu),LAMP主要由Linux系統(tǒng)+apache服務(wù)器+mysql數(shù)據(jù)庫+php語言組成。我們要監(jiān)控服務(wù)器上的業(yè)務(wù)進程,通過web方式進行管理。但由于本課題要監(jiān)控的服務(wù)器數(shù)量并沒有很多,所以我們設(shè)計LAMP網(wǎng)站服務(wù)器架構(gòu)都直接部署在監(jiān)控服務(wù)器上。服務(wù)器的數(shù)量不多,因此我們不需要考慮高并發(fā)的問題。3.2系統(tǒng)功能結(jié)構(gòu)圖圖3-2系統(tǒng)功能結(jié)構(gòu)圖客戶通過網(wǎng)絡(luò)訪問VIP,請求的數(shù)據(jù)包文到達input鏈,發(fā)現(xiàn)是集群服務(wù)(input上設(shè)有規(guī)則),就把報文轉(zhuǎn)發(fā)送出去VIP是由調(diào)度端擁有的本地IP地址,所以調(diào)度端上的內(nèi)核中的路由表將始終以本地方式傳遞數(shù)據(jù)包。負(fù)載調(diào)度器在收到用戶請求的時候,通過調(diào)度算法進行服務(wù)器的選擇,判斷每個服務(wù)器的負(fù)載情況,之后選擇出一臺當(dāng)前最合適的服務(wù)器進行響應(yīng)。在處理請求的Web服務(wù)器端,會對mariadb數(shù)據(jù)庫服務(wù)器進行讀寫操作,使用主從同步和讀寫分離的方法,主數(shù)據(jù)庫用來寫入數(shù)據(jù),從數(shù)據(jù)庫用來查詢,分擔(dān)了主數(shù)據(jù)庫的一大部分工作,這樣做的好處是當(dāng)主服務(wù)器崩了之后,還是在從服務(wù)器上獲取到數(shù)據(jù),起到的備份的作用。3.3網(wǎng)絡(luò)結(jié)構(gòu)設(shè)計圖3-3是高性能web應(yīng)用服務(wù)器的網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)圖,整個網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)中以交換機為核心。它連接所有的服務(wù)器,因此不需要路由器轉(zhuǎn)發(fā),保證所有的服務(wù)器都在一個網(wǎng)段內(nèi)。圖3-3網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)圖
第四章基于LVS的高性能web應(yīng)用服務(wù)器部署的應(yīng)用4.1web應(yīng)用服務(wù)器部署與設(shè)計(1)負(fù)載均衡和高可用設(shè)計表4-1是lvs和keepalived的服務(wù)器信息表4-1LVS服務(wù)器信息如表4-1,是lvs和keepalived的服務(wù)器信息,接下來描述ipvs的安裝和Keepalived安裝。ipvs的安裝:查看是否安裝lvs:lsmod|grepip_vs(查看ipvs模塊是否加載成功),如果已經(jīng)安裝好lvs,則可以直接安裝ipvs,使用命令yuminstallipvsadm–y,其中ipvsadm是管理ipvs的工具。輸入完上述命令,按回車,等待自動完成安裝。圖4-1LVS狀態(tài)Keepalived安裝:配置好本地的源,也可以用網(wǎng)絡(luò)源,使用網(wǎng)絡(luò)源前提是要聯(lián)網(wǎng)。安裝編譯所需的gcc和keepalived必備的依賴關(guān)系包。(操作這一步的前提是,必需滿足第一步的環(huán)境。)解壓keepalived源碼包,接著運行如下命令:如果編譯如圖4-2所示,則表示系統(tǒng)環(huán)境正常,可以安裝keepalived。圖4-2keepalived安裝進行編譯和安裝。源碼包編譯安裝沒有什么好說的,系統(tǒng)會自動進行安裝,只要滿足前面的環(huán)境,基本不會出現(xiàn)問題。keepalived我們已經(jīng)編譯安裝成功,就可以使用#servicekeepalivedstart來啟動keepalived了,當(dāng)然也可以把keepalived做成一個隨系統(tǒng)啟動的服務(wù)。如圖4-3,輸入#servicekeepalivedstart,可以看到命令行提示:startingkeppalived:ok,則說明已經(jīng)啟動好keepalived系統(tǒng)。圖4-3keepalived服務(wù)啟動如圖4-4所示,輸入ps–ef|grepkeepalived命令查看進程,要出現(xiàn)圖4-4中提醒。圖4-4keepalived進程keepalived配置文件內(nèi)容:通過ipadd查看vip是否已經(jīng)綁定到了lvs1,即lvs的主服務(wù)器上。如果出現(xiàn)如圖4-5所示的提示,就說明綁定成功,并且可以ping通lvs1。如圖4-6,我們輸入命令“ping00”,發(fā)現(xiàn)可以ping通,則說明vip已生效。圖4-5VIP綁定情況圖4-6VIP連通性測試(2)Apachecmd以管理員權(quán)限打開并進入apache的bin目錄下,安裝apache服務(wù),按照順序輸入如下命令:圖4-7磁盤掛載情況web應(yīng)用的安裝:在web應(yīng)用的選擇上,本文使用的是TinyShop網(wǎng)店系統(tǒng),它是國內(nèi)商城系統(tǒng)及服務(wù)提供領(lǐng)先品牌。為傳統(tǒng)企業(yè)及創(chuàng)業(yè)者提供零售網(wǎng)店及解決方案。使用PHP語言編寫,基于Tiny框架開發(fā),系統(tǒng)更加高效、穩(wěn)定。我們依次輸入下面的命令開始TinyShop網(wǎng)店系統(tǒng)的安裝,圖4-8為我們訪問TinyShop網(wǎng)店系統(tǒng)的安裝向?qū)?。cp-r/tinyshopV2.6_data/*/var/www//chownapache./var/www//-R訪問瀏覽器http圖4-8安裝向?qū)У诙?,進入了Tiny系列產(chǎn)品的安裝向?qū)?,包括許可協(xié)議、檢查安裝環(huán)境、創(chuàng)建數(shù)據(jù)庫等一系列步驟,TinyShop網(wǎng)店系統(tǒng)就直接根據(jù)安裝向?qū)У奶崾局苯舆M行安裝,我們不需要額外再輸入什么命令。如果安裝向?qū)z測的系統(tǒng)環(huán)境符合安裝要求,則可以繼續(xù)下一步的安裝工作。圖4-9安裝環(huán)境檢測第三步,在安裝向?qū)z測完系統(tǒng)安裝環(huán)境,確保TinyShop網(wǎng)店系統(tǒng)可以正常安裝在當(dāng)前環(huán)境下時,就可以進行數(shù)據(jù)庫的創(chuàng)建。如圖4-10所示我們依次輸入數(shù)據(jù)庫地址、名稱、賬戶名稱、密碼,以及管理員賬戶、密碼,如果均符合要求,經(jīng)過系統(tǒng)檢測后后,點擊“下一步”,就可以直接展開對于TinyShop網(wǎng)店系統(tǒng)的知道自動安裝,圖4-10數(shù)據(jù)庫連接創(chuàng)建出現(xiàn)如下圖4-11所示的圖片,看到包括商品中心、訂單中心、客戶中心、營銷推廣、統(tǒng)計報表、內(nèi)容管理等主界面,說明TinyShop網(wǎng)店系統(tǒng)已經(jīng)安裝。圖4-11系統(tǒng)后臺4.2存儲設(shè)計圖4-12存儲結(jié)構(gòu)表4-2存儲服務(wù)器信息圖4-12是系統(tǒng)的存儲服務(wù)器結(jié)構(gòu),從圖中可以看出一臺Web應(yīng)用服務(wù)器是接兩臺的storage。這兩臺storage之間的數(shù)據(jù)是相互同步的,這樣做的好處是當(dāng)storage1崩了之后,Web應(yīng)用服務(wù)器就會在從storage2中讀取數(shù)據(jù)。Glusterfs安裝命令如下,這里兩臺服務(wù)器同時執(zhí)行以下命令,以建立集群。如果出現(xiàn)圖4-13的提示,則說明安裝成功。圖4-13存儲集群狀態(tài)4.3數(shù)據(jù)庫設(shè)計圖4-14數(shù)據(jù)庫服務(wù)器結(jié)構(gòu)圖4-14是數(shù)據(jù)庫服務(wù)器的結(jié)構(gòu)圖,使用主從同步和讀寫分離的方法,主數(shù)據(jù)庫用來寫入數(shù)據(jù),從數(shù)據(jù)庫用來查詢,分擔(dān)了主數(shù)據(jù)庫的一大部分工作,這樣做的好處是當(dāng)主服務(wù)器崩了之后,還是在從服務(wù)器上獲取到數(shù)據(jù),起到的備份的作用。由Mycat作為一個分布式管理系統(tǒng),起到應(yīng)用于數(shù)據(jù)間負(fù)責(zé)協(xié)調(diào)統(tǒng)籌作用。mariadb主從同步過程如圖4-15所示:(1)主節(jié)點任何的數(shù)據(jù)修改在binlog寫入binlog中;(2)從節(jié)點通過I/Othead線程發(fā)起請求;(3)主節(jié)點通過I/Odumpthread線程發(fā)送binlog中的內(nèi)容;(4)從節(jié)點通過I/Othead線程將主節(jié)點binlog中的內(nèi)容寫入本地relaylog中;(5)從節(jié)點通過sqlthread線程將relaylog中的內(nèi)容在本地replay。圖4-15主從同步過程主服務(wù)器:我們在cmd命令行可以查看master的狀態(tài),如圖4-16所示,可以看到一個名為“master-bin.000001”的文件,這就是她的二進制日志。圖4-16主數(shù)據(jù)庫服務(wù)器狀態(tài)從服務(wù)器:如圖4-17所示,輸入“mysql–uroot-p”命令,之后輸入正確的數(shù)據(jù)庫密碼后,就可以連接MySQL數(shù)據(jù)庫。圖4-17從數(shù)據(jù)庫服務(wù)器中繼日志狀態(tài)圖4-18數(shù)據(jù)庫從服務(wù)器狀態(tài)4.4虛擬化設(shè)計本文對高性能Web服務(wù)器展開研究,使用VMware工具對虛擬化技術(shù)展開研究。使用它的ESXi的6.0版本和VMwarevsphereclient服務(wù)器虛擬化平臺(1)VMwareESXi,界面如圖4-19所示圖4-19VMwareESXi界面如圖4-20所示,VMwareESXi只是一個服務(wù)的提供者,無法獨立完成工作,因此我們在上面只能完成密碼修改、日志查看等操作。圖4-20VMwareESXi配置頁wmwarevsphereclient圖4-21是wmwarevsphereclient的登錄界面:圖4-21wmwarevsphereclient登錄界面圖4-22所示虛擬機管理界面。圖4-22wmwarevsphereclient管理界面如圖4-23、圖4-24所示,vshpereclient可以性能監(jiān)控、資源分配等。圖4-23wmwarevsphereclient性能監(jiān)控界面圖4-24wmwarevsphereclient資源分配界面4.5網(wǎng)絡(luò)設(shè)計因為我們的網(wǎng)絡(luò)部署是公司局域網(wǎng),如果我們想從外網(wǎng)訪問我們的電商網(wǎng)站,就需要靠VPN的幫助。VPN的連接方法一共有三種,除了目前使用很少的OpenVPN,還有PPTP和LT2P兩個連接方法。PPTP是最簡單的服務(wù)器驗證,而LT2P的是屬于比PPTP更安全的加密的連接協(xié)議,需要VPN可以使用臉譜VPN。為了提高本次課題設(shè)計的安全性,在本課題中使用L2TP的加密方式。VPN服務(wù)器自備兩個網(wǎng)卡,那么也包含兩個地址,一個是內(nèi)網(wǎng)訪問時候的地址,另一個是外網(wǎng)訪問時候的地址。如圖4-25所示。圖4-25網(wǎng)絡(luò)接口信息如圖4-26、4-27所示是L2TP的配置圖4-26VPN配置1圖4-27VPN配置2圖4-28VPN連接狀態(tài)如圖4-28所示,是網(wǎng)絡(luò)連接詳細(xì)信息界面。從圖中我們客戶已看出當(dāng)前網(wǎng)絡(luò)的ip地址為“0”,使用window連接VPN成功。第五章基于LVS的高性能web應(yīng)用服務(wù)器部署測試5.1web應(yīng)用服務(wù)器負(fù)載均衡測試圖5-1到5-3分別使我們連續(xù)刷新vip頁面時候輸出的結(jié)果,這是負(fù)載均衡器將一組性能較低的服務(wù)器進行組合,在響應(yīng)用戶請求的時候,通過論調(diào)算法進行服務(wù)器的選擇,判斷每個服務(wù)器的負(fù)載情況,之后選擇出一臺當(dāng)前最合適的服務(wù)器進行響應(yīng)。我們看到圖5-1到5-3結(jié)果輸出分別是1,2和3,說明有3個服務(wù)器,每個服務(wù)器都有可能會被調(diào)撥去響應(yīng)用戶請求。而我們連續(xù)刷新vip頁面均等概率分到了這三個服務(wù)器,說明它們的權(quán)重是相同的。web應(yīng)用服務(wù)器負(fù)載均衡測試通過。圖5-1web測試頁1圖5-2web測試頁2圖5-3web測試頁35.2web應(yīng)用服務(wù)器高可用性測試我們模擬主lvs服務(wù)器發(fā)生宕機情形,檢測web應(yīng)用服務(wù)器高可用性。我們先把它的網(wǎng)絡(luò)直接斷開,并且再次訪問vip,圖5-5至5-7都表明負(fù)載均衡在主lvs服務(wù)器掛掉后仍然可以正常使用。圖5-3keepalived服務(wù)關(guān)閉圖5-5web測試頁1圖5-6web測試頁2圖5-7web測試頁35.3存儲測試圖5-8復(fù)制卷信息查看掛載情況,圖5-9顯示掛載成功:圖5-9磁盤掛載情況為了證明熱備份是否生效,我們可以輸入圖5-10所示的命令分別查看當(dāng)前webroot目錄下的文件,可以發(fā)現(xiàn)兩個存儲下的相同文件夾都的文件也相同,就下都有該熱備份有有效性。圖5-10查看當(dāng)前目錄下文件5.4數(shù)據(jù)庫測試主從復(fù)制測試:(1)MariaDB數(shù)據(jù)庫和數(shù)據(jù)庫在用法可以說沒有什么差別,因此我們按照創(chuàng)建MySql數(shù)據(jù)庫的表創(chuàng)建一個數(shù)據(jù)庫zg,如圖5-11所示:圖5-11創(chuàng)建庫(2)為了進行主從復(fù)制測試,我們先不進行其他操作,只在數(shù)據(jù)庫中輸入查詢命令,如圖5-12所示,我們查看所有的庫名。此時我們發(fā)現(xiàn)第一步中創(chuàng)建的數(shù)據(jù)庫zg也出現(xiàn)在了從服務(wù)器上。圖5-12查看所有庫名(3)之后我們在第一步的數(shù)據(jù)庫中創(chuàng)建一個新的表,并且加入兩個數(shù)據(jù)記錄,如圖5-13所示。圖5-13表的查詢與插入(4)為了進行主從復(fù)制測試,我們繼續(xù)在數(shù)據(jù)庫中輸入查詢命令,如圖,如圖5-13顯示。圖5-14表的查詢(5)同樣,如圖5-15我們輸入刪除數(shù)據(jù)庫表info的命令,再次查詢表showtables,發(fā)現(xiàn)刪除的表已經(jīng)變空。圖5-15刪除庫(6)為了進行主從復(fù)制測試,如圖5-16我們繼續(xù)在數(shù)據(jù)庫中輸入查詢命令,發(fā)現(xiàn)從服務(wù)器對應(yīng)表也是空。圖5-16查看所有表名綜上所述,本次課題使用的是兩臺mariadb數(shù)據(jù)庫服務(wù)器,并使用mycat作為中間件,已成功實現(xiàn)主從同步和讀寫分離的方法。主數(shù)據(jù)庫用來寫入數(shù)據(jù),從數(shù)據(jù)庫用來查詢,分擔(dān)了主數(shù)據(jù)庫的一大部分工作,這樣做的好處是當(dāng)主服務(wù)器崩了之后,還是在從服務(wù)器上獲取到數(shù)據(jù),起到的備份的作用。在具有兩臺mariadb數(shù)據(jù)庫服務(wù)器的時候,我們通過一個能夠協(xié)調(diào)統(tǒng)籌數(shù)據(jù)的中間件Mycat,實現(xiàn)數(shù)據(jù)庫的抽象。5.5監(jiān)控測試現(xiàn)在,在考慮到服務(wù)器性能的時候,我們需要比以往任何時候都更加關(guān)注自己的需求網(wǎng)絡(luò)為了使其保持健康狀態(tài),還要快速識別和解決任何類型的瓶頸和停機。更理想的情況是,能夠在這些可能出現(xiàn)的瓶頸和停機出現(xiàn)前就能夠及時進行組織。因此,實現(xiàn)對系統(tǒng)的監(jiān)控是十分有必要的,而分布式的zabbix監(jiān)控系統(tǒng)就十分適用于監(jiān)控系統(tǒng)。本課題使用agent和VMware兩種方法進行監(jiān)控。其中,agent方法運行在虛擬機中,直接與系統(tǒng)交互獲取數(shù)據(jù);而VMware方法中,監(jiān)控方式變成了zabbix向它請求監(jiān)測到數(shù)據(jù)。相對來說,在靈活性等方面來考慮,agent方法更勝一籌。,(1)監(jiān)控項,本課題選取了如CPU使用情況、內(nèi)存容量、網(wǎng)絡(luò)等進行監(jiān)控。圖5-17CPU使用情況圖5-18流量使用情況圖5-19內(nèi)存使用情況報警機制:Zabbix監(jiān)控能夠快速識別和解決任何類型的瓶頸和停機。更理想的情況是,能夠在這些可能出現(xiàn)的瓶頸和停機出現(xiàn)前就能夠及時進行報警。此外Zabbix監(jiān)控支持分級報警,對于所有異常的項目它們可以自定義時間發(fā)送警告。當(dāng)然鑒于這次課題研究的條件相對有限,只通過web端展示報警內(nèi)容,主要由觸發(fā)器完成這些操作。①圖5-20所示是一個觸發(fā)器,可以設(shè)置報警級別以及報警通知時間。圖5-20密碼修改觸發(fā)器②圖5-21所示是一個硬盤的觸發(fā)器,當(dāng)小于20%就會報警圖5-21磁盤容量觸發(fā)器③圖5-22所示是一個進程觸發(fā)器,進程太多就會報警圖5-22進程觸發(fā)器
結(jié)論而伴隨著互聯(lián)網(wǎng)的全球的全面興起,全球上網(wǎng)人數(shù)也在與日俱增,因此也考驗網(wǎng)站的承載能力。如果它的性能沒有跟上訪問量,就會導(dǎo)致用戶在訪問網(wǎng)站的時候刷出網(wǎng)頁的速度很慢,網(wǎng)頁響應(yīng)的速度也大打折扣,嚴(yán)重影響用戶上網(wǎng)體驗。更有甚者,如果碰到極高峰值的訪問量和交互度,可能會導(dǎo)致整個服務(wù)器宕機,用戶完全鏈接不上網(wǎng)絡(luò),將會對企業(yè)和政府機構(gòu)造成不可估量的損失。不少人針對這個問題展開研究,也設(shè)計了很多不同的方案以解決該問題。本次論文也是以探尋高性能Web服務(wù)器為主題進行相關(guān)研究,主要研究基于LVS的高性能web應(yīng)用服務(wù)器部署和應(yīng)用。本文擬搭建一個電商網(wǎng)站,但是考慮到電商網(wǎng)站本身帶來的巨大訪問量將對網(wǎng)站的承載能力產(chǎn)生考驗。我們都知道,網(wǎng)站是部署在服務(wù)器上,如果服務(wù)器的性能沒有跟上訪問量,就會導(dǎo)致用戶在訪問網(wǎng)站的時候刷出網(wǎng)頁的速度很慢,嚴(yán)重影響用戶上網(wǎng)體驗。因此,本文在考慮到要搭建電商網(wǎng)站時可能承受大而密的訪問量,對高性能W
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 北京轉(zhuǎn)讓牌照合同范例
- 外貿(mào)業(yè)務(wù)合同范例實例
- 2024年國貿(mào)實務(wù):合同簽訂前的磋商策略與技巧
- 2024年城市照明項目合同
- 嶺南師范學(xué)院《高等數(shù)學(xué)II》2021-2022學(xué)年第一學(xué)期期末試卷
- 農(nóng)業(yè)產(chǎn)業(yè)鏈優(yōu)化與現(xiàn)代農(nóng)業(yè)技術(shù)應(yīng)用方案
- 委托購買船舶合同模板
- 合格合同模板
- 聲光設(shè)備租賃合同模板
- 農(nóng)場養(yǎng)殖服務(wù)合同模板
- DB21T 3354-2020 遼寧省綠色建筑設(shè)計標(biāo)準(zhǔn)
- 湖南文藝出版社五年級下冊音樂教學(xué)計劃
- 我的家鄉(xiāng)安徽課件
- 原油電脫鹽電脫水技術(shù)
- 小學(xué)生勞動教育評價細(xì)則
- 專業(yè)工程分包業(yè)主審批表
- XX公司員工跟投管理辦法
- 道路運輸安全事故報告、統(tǒng)計與調(diào)查處理制度
- 甘肅廣播電視大學(xué)鋼結(jié)構(gòu)(本)不計分-3.3小測驗答案
- 人員密集場所火災(zāi)疏散應(yīng)急預(yù)案(精選14篇)
- 不合理處方登記表
評論
0/150
提交評論