莫恭鈺
摘要:政務(wù)辦公系統(tǒng)作為一種數(shù)據(jù)統(tǒng)計(jì)、信息上傳的重要手段已經(jīng)得到相關(guān)政府部門的廣泛普及以及使用,隨著網(wǎng)絡(luò)用戶訪問流量的不斷增大以及網(wǎng)絡(luò)安全問題的日益突出,使得政務(wù)辦公系統(tǒng)在管理和運(yùn)維當(dāng)中面臨著巨大的考驗(yàn)。為解決本系統(tǒng)在正常使用過程數(shù)據(jù)可靠保存以及安全運(yùn)行問題,應(yīng)用LVS+keeplived負(fù)載均衡技術(shù),對本系統(tǒng)運(yùn)行環(huán)境進(jìn)行升級改造。應(yīng)用負(fù)載均衡技術(shù)之后,使得政務(wù)辦公系統(tǒng)具有健壯性、功能針對性強(qiáng)、便于維護(hù)等特點(diǎn)。經(jīng)過初步設(shè)備調(diào)試,能夠?qū)φ?wù)辦公系統(tǒng)的運(yùn)行起到重大的安全保障作用。
關(guān)鍵詞:負(fù)載均衡;LVS;keeplived;Nginx
中圖分類號:TP393 文獻(xiàn)標(biāo)識碼:A 文章編號:1007-9416(2020)03-0045-02
0 引言
網(wǎng)絡(luò)技術(shù)的快速發(fā)展使得政務(wù)辦公系統(tǒng)的網(wǎng)絡(luò)帶寬以及服務(wù)器面臨巨大的挑戰(zhàn),政務(wù)辦公系統(tǒng)需要提供全天不間斷的服務(wù),任何系統(tǒng)服務(wù)中斷或者關(guān)鍵的數(shù)據(jù)丟失都會造成補(bǔ)課預(yù)計(jì)的嚴(yán)重后果。因此,可以研究并應(yīng)用一個高可用的網(wǎng)站系統(tǒng)負(fù)載均衡技術(shù),實(shí)現(xiàn)兩臺或者以上的服務(wù)器或者站點(diǎn)為系統(tǒng)網(wǎng)站提供服務(wù),將來自客戶端的請求依靠算法盡可能平均分?jǐn)偟郊褐校档鸵慌_服務(wù)器因負(fù)載太高而出現(xiàn)故障的概率,提高政務(wù)辦公系統(tǒng)的可靠性、安全性。
負(fù)載均衡的實(shí)現(xiàn)方式主要分為兩大類型[1],一種是依靠硬件實(shí)現(xiàn)負(fù)載均衡,另一種是依靠軟件實(shí)現(xiàn)負(fù)載均衡。硬件負(fù)載均衡是通過在服務(wù)器和網(wǎng)絡(luò)安裝負(fù)載均衡硬件設(shè)備,由硬件設(shè)備完成負(fù)載均衡功能任務(wù),但是需要購置設(shè)備,需要資金投入、成本較高。軟件負(fù)載均衡,通過安裝軟件并進(jìn)行相關(guān)配置來實(shí)現(xiàn)負(fù)載均衡功能,相對來說不需要成本、性價比高,而且能夠達(dá)到不錯的使用效果。本文將研究通過軟件的方法實(shí)現(xiàn)負(fù)載均衡技術(shù)。
1 技術(shù)分析
1.1 LVS技術(shù)分析
LVS是Linux Virtual Server的簡稱,是Linux服務(wù)器集群開發(fā)的自由軟件項(xiàng)目[2]。LVS應(yīng)用的服務(wù)器集群主要應(yīng)用于OSI網(wǎng)絡(luò)協(xié)議中的傳輸層,運(yùn)行穩(wěn)定,不產(chǎn)生額外流量,有完整的雙機(jī)熱備方案。LVS能夠?qū)崿F(xiàn)多種IP負(fù)載均衡和連接調(diào)度算法,能夠提供詳細(xì)的數(shù)據(jù)統(tǒng)計(jì)信息,實(shí)現(xiàn)連接速率和報文流量控制能功能。網(wǎng)絡(luò)安全當(dāng)中能實(shí)現(xiàn)多種安全策略并且具備有針對地抵抗拒絕服務(wù)攻擊的能力。更重要的是能夠應(yīng)用在多種服務(wù)器系統(tǒng)當(dāng)中,可以全面支持Windows Server系列以及Linux系列服務(wù)器系統(tǒng)。同時,LVS技術(shù)實(shí)現(xiàn)的服務(wù)器集群功能具有良好的網(wǎng)絡(luò)伸縮、高可用、可管理特點(diǎn),支持百萬級別的網(wǎng)絡(luò)并發(fā)連接,系統(tǒng)網(wǎng)絡(luò)吞吐量達(dá)到萬兆級別。
LVS的工作框架如圖1所示。LVS工作框架圖中KTCPVS是基于內(nèi)容請求分發(fā)的內(nèi)核服務(wù)[3],IPVS的功能是實(shí)現(xiàn)IP負(fù)載均衡方式,IP負(fù)載均衡技術(shù)可以做到對數(shù)據(jù)包的分發(fā),具有非常高的效率。
1.2 Keeplived技術(shù)分析
keepalived負(fù)載均衡框架的實(shí)現(xiàn)依賴于LVS技術(shù)的IPVS內(nèi)核模塊[3],keepalived通過對服務(wù)器池的運(yùn)行狀態(tài)來動態(tài)地、自動維護(hù)地管理系統(tǒng)。通過VRRP協(xié)議來實(shí)現(xiàn)keepalived高可用性能要求,VRRP技術(shù)可以實(shí)現(xiàn)系統(tǒng)故障遷移,具有較高的可靠性和穩(wěn)定性。通過對服務(wù)器池的運(yùn)行狀態(tài)檢查,可以快速檢測出失效設(shè)備以及進(jìn)行故障及時通知。
keepalived主要目標(biāo)是能為系統(tǒng)的基礎(chǔ)設(shè)施平臺提供在負(fù)載均衡以及高可用上穩(wěn)定保障。通過VRRP協(xié)議實(shí)現(xiàn)keepalived對服務(wù)器池高可用管理。keepalived能夠在LVS框架之上實(shí)現(xiàn)可兼容擴(kuò)展,keepalived分為用戶空間和內(nèi)核空間兩層結(jié)構(gòu)。用戶空間分為I/O復(fù)用分發(fā)調(diào)度器、內(nèi)存管理機(jī)制、控制面板以及核心組件4個部分,內(nèi)核空間分為IPVS和NETLINK兩個部分[4],具體結(jié)構(gòu)如圖2所示。
其中,核心組件當(dāng)中包括的功能模塊包括5部分[4]。一是通過監(jiān)視模塊實(shí)現(xiàn)監(jiān)控系統(tǒng)進(jìn)程的狀況;二是通過檢查模塊實(shí)現(xiàn)服務(wù)器的運(yùn)行過程檢查;三是通過VRRP棧模塊實(shí)現(xiàn)負(fù)載均衡器之間的切換;四是通過IPVS包裝模塊實(shí)現(xiàn)設(shè)定規(guī)則到內(nèi)核的接口;五是通過反射器模塊對路由相關(guān)的功能進(jìn)行設(shè)置。
2 負(fù)載均衡配置實(shí)現(xiàn)
2.1 LVS配置
LVS集群采用三層結(jié)構(gòu)。一是負(fù)載調(diào)度器功能實(shí)現(xiàn)將客戶端的請求發(fā)送至服務(wù)器,二是服務(wù)器池執(zhí)行客戶端web請求,三是共享存儲服務(wù)器池能夠確保服務(wù)器池當(dāng)中的每一臺服務(wù)器提供內(nèi)容一致的服務(wù)。
(1)安裝ipvsadm工具。在服務(wù)器中安裝ipvsadm工具,通過ipvsadm工具實(shí)現(xiàn)調(diào)用IPVS內(nèi)核模塊功能。
(2)配置服務(wù)器池成員。安裝nginx服務(wù),并啟動服務(wù)器中的nginx服務(wù),通過nginx提供Web服務(wù)。在兩臺Web服務(wù)器進(jìn)行政務(wù)辦公系統(tǒng)的配置,基本配置結(jié)束后可以打開瀏覽器,地址欄分別輸入IP地址,初步檢驗(yàn)LVS配置結(jié)果。
(3)配置調(diào)度器規(guī)則。首先開啟負(fù)載均衡器的內(nèi)核路由轉(zhuǎn)發(fā)功能,然后通過相關(guān)命令查看內(nèi)核路由轉(zhuǎn)發(fā)情況,如果ip_forward的返回值為1,證明系統(tǒng)已經(jīng)運(yùn)行了內(nèi)核路由轉(zhuǎn)發(fā)功能。
(4)使用ipvsadm添加ipvs規(guī)則。具體的添加集群服務(wù)的參數(shù)如表1所示。
以上步驟實(shí)現(xiàn)了使用LVS配置服務(wù)器集群的負(fù)載均衡功能。
2.2 LVS+keeplived配置
由于LVS存在單點(diǎn)故障的潛在風(fēng)險問題,僅僅通過LVS配置的方式會產(chǎn)生單點(diǎn)故障的問題,因此,需要使用LVS結(jié)合keeplived的方式解決這一問題。結(jié)合上一步驟,在服務(wù)器創(chuàng)建兩個loadBalancer作為VRRP組。
(1)安裝nginx并配置政務(wù)辦公系統(tǒng)的相關(guān)頁面,并啟動nginx服務(wù)。
(2)修改內(nèi)核參數(shù)配置降低arp功能給LVS集群帶來的數(shù)據(jù)包接收影響。具體修改操作可以參考表2。
(3)添加路由。配置虛擬IP地址,通過route add命令添加路由,并處理負(fù)載均衡設(shè)備上發(fā)送過來的數(shù)據(jù)包。
(4)安裝Keepalived工具并進(jìn)行配置。安裝Keepalived工具并修改相應(yīng)的配置文件,確定主路由器,同時進(jìn)行全局配置確保節(jié)點(diǎn)出現(xiàn)故障時候的通知響應(yīng)的及時性。
(5)對vrrp進(jìn)行配置,指定keepalived的主要/備用角色功能,指定網(wǎng)絡(luò)監(jiān)測接口,虛擬路由標(biāo)識,定義優(yōu)先級以及vrrp的認(rèn)證方式。
(6)配置虛擬服務(wù)器,設(shè)置服務(wù)器的IP地址以及端口,并對服務(wù)器節(jié)點(diǎn)進(jìn)行詳細(xì)配置。完成配置并啟動成功之后通過ipvsadm -l檢查keepalived的配置規(guī)則。
通過以上步驟實(shí)現(xiàn)了使用LVS技術(shù)結(jié)合keeplived技術(shù)的方式配置服務(wù)器集群的負(fù)載均衡功能。
3 應(yīng)用結(jié)果分析
(1)應(yīng)用LVS測試分析。通過虛擬IP訪問Nginx站點(diǎn)1,經(jīng)過多次的刷新能夠訪問另一個站點(diǎn)2的內(nèi)容。當(dāng)停止站點(diǎn)1的nginx服務(wù)時,通過虛擬IP訪問站點(diǎn)2,并能夠正常顯示頁面內(nèi)容。能夠?qū)⒄军c(diǎn)1的請求發(fā)送給站點(diǎn)2,保證了1臺服務(wù)出現(xiàn)問題時,另一臺服務(wù)器能夠提供正常的訪問功能。反之,正常訪問站點(diǎn)內(nèi)容時,停止站點(diǎn)2的nginx服務(wù)時,也能夠正常訪問頁面內(nèi)容。能夠?qū)⒄军c(diǎn)2的請求發(fā)送給站點(diǎn)1,保證了1臺服務(wù)出現(xiàn)問題時,另一臺服務(wù)器能夠提供正常的訪問功能。因此說明LVS能夠正常工作。
(2)應(yīng)用keepalived測試分析。查看當(dāng)前虛擬IP指向的物理地址是主節(jié)點(diǎn),也就是loadbalancer1節(jié)點(diǎn),而另一臺loadBalancer2則為備份節(jié)點(diǎn)。當(dāng)停止主節(jié)點(diǎn)的keepalived服務(wù)后,通過IP地址訪問政務(wù)辦公系統(tǒng)站點(diǎn),我們依然能夠正常訪問,通過通過命令可以查看到當(dāng)前起作用的為備份節(jié)點(diǎn)。反之,當(dāng)停止備份節(jié)點(diǎn)的keepalived服務(wù)后,通過IP地址訪問政務(wù)辦公系統(tǒng)站點(diǎn),我們依然能夠正常訪問,通過命令可以查看到當(dāng)前起作用的為主節(jié)點(diǎn)。因此,充分說明了Keepalived其作用。
通過配置后運(yùn)行結(jié)果分析可知,keepalived在負(fù)載均衡器上做到出口路由的規(guī)劃調(diào)節(jié),LVS在后臺運(yùn)行做好負(fù)載均衡,這樣的結(jié)構(gòu)搭配能夠在大流量訪問時提高了網(wǎng)站的服務(wù)質(zhì)量。
4 結(jié)語
經(jīng)過測試,負(fù)載均衡技術(shù)在政務(wù)辦公系統(tǒng)中的功能作用都達(dá)到預(yù)期目的,通過對系統(tǒng)環(huán)境進(jìn)行升級配置,使得系統(tǒng)具有健壯性、功能針對性強(qiáng)、便于維護(hù)等功能特點(diǎn),實(shí)現(xiàn)兩臺服務(wù)器為系統(tǒng)網(wǎng)站提供服務(wù),能夠把不同的客戶端請求通過使用負(fù)載均衡算法平衡到集群中,降低單一服務(wù)器因高負(fù)載而導(dǎo)致故障的概率,完全符合政務(wù)辦公系統(tǒng)的使用要求。對政務(wù)辦公系統(tǒng)的日常投入使用可以起到提高系統(tǒng)的安全性以及方便運(yùn)維,同時也為其他類型的系統(tǒng)平臺在安裝配置以及升級提供參考的作用。
參考文獻(xiàn)
[1] 張奎,李丙春.基于Nginx+Keepalived的Web集群負(fù)載均衡應(yīng)用與分析[J].伊犁師范學(xué)院學(xué)報(自然科學(xué)版),2019,13(03):57-63.
[2] 李姍姍,高岑,王美吉,等.LVS資源負(fù)載策略應(yīng)用研究[J].計(jì)算機(jī)系統(tǒng)應(yīng)用,2019,28(06):243-246.
[3] 香華冠.LVS+Keepalived+Weblogic集群在郵政電子商務(wù)平臺的應(yīng)用研究[J].郵政研究,2019,35(01):13-15.
[4] 吳海明.基于Linux高可用性負(fù)載均衡集群技術(shù)的研究與應(yīng)用[J].科技創(chuàng)新與應(yīng)用,2018(36):17-18.