引言
隨著計算機系統(tǒng)和網(wǎng)絡(luò)的不斷普及,數(shù)據(jù)作為開展業(yè)務(wù)不可缺少的基礎(chǔ),其安全性成為了各公司、政府機構(gòu)等需要考慮的問題。傳統(tǒng)的數(shù)據(jù)容災(zāi)系統(tǒng)往往提供基于邏輯卷的備份能力,當客戶服務(wù)器數(shù)據(jù)被破壞或者丟失后,可以通過遠程存儲服務(wù)器提供數(shù)據(jù)的在線恢復(fù),但是這種方式仍然無法避免服務(wù)中斷給企業(yè)造成的損失。服務(wù)級容災(zāi)技術(shù)雖然可以提供服務(wù)級上的數(shù)據(jù)一致性和服務(wù)連續(xù)性,但是系統(tǒng)實現(xiàn)往往過于復(fù)雜,從傳統(tǒng)的數(shù)據(jù)容災(zāi)系統(tǒng)遷移到服務(wù)容災(zāi)系統(tǒng)的成本也比較大。
文中提出了一種基于遠程數(shù)據(jù)容災(zāi)系統(tǒng)的服務(wù)漂移方案。當客戶服務(wù)器出現(xiàn)故障或者數(shù)據(jù)被破壞時,另一個鏡像服務(wù)器可以通過isCSI協(xié)議發(fā)起對存儲服務(wù)器上對應(yīng)邏輯卷的連接請求,當虛擬邏輯建立后利用存儲服務(wù)器上的數(shù)據(jù)繼續(xù)提供服務(wù)。待客戶服務(wù)器的故障修復(fù)或數(shù)據(jù)恢復(fù)后,再將服務(wù)切換回客戶服務(wù)器。該方案拓展了傳統(tǒng)數(shù)據(jù)容災(zāi)系統(tǒng)的功能,使其可以實現(xiàn)服務(wù)級別的容災(zāi),也為企業(yè)從數(shù)據(jù)容災(zāi)系統(tǒng)遷移到服務(wù)容災(zāi)系統(tǒng)提供了一種可行的方案。
1服務(wù)漂移的原理與實現(xiàn)
1.1 iSCSI介紹
iSCSI是Intemet小型計算機系統(tǒng)接口(InternetSmall Computer System Interface)的簡稱。如圖1所示,iSCSI是一種基于TCP/IP的協(xié)議,用來建立和管理IP存儲設(shè)備、主機和客戶機等之間的相互連接,并創(chuàng)建存儲區(qū)域網(wǎng)絡(luò)SAN。iSCSI的主要功能是在TCP/IP網(wǎng)絡(luò)上的主機系統(tǒng)(啟動器Initiator)和存儲設(shè)備(目標器Target)之間進行大量數(shù)據(jù)的封裝和可靠傳輸過程。此外,iSCSI提供了在IP網(wǎng)絡(luò)封裝SCSI命令,且運行在TCP上。
圖1 iSCSI結(jié)構(gòu)圖
iSCSI的工作過程是:當iSCSI主機應(yīng)用程序發(fā)出數(shù)據(jù)讀寫請求后,操作系統(tǒng)會生成一個相應(yīng)的SCSI命令,該SCSI命令在iSCSI Initiator層被封裝成iSCSI消息包并通過TCP/IP傳送到設(shè)備端,設(shè)備端的iSCSItarget層會解開iSCSI消息包,得到SCSI命令的內(nèi)容,然后傳送給SCSI設(shè)備執(zhí)行;設(shè)備執(zhí)行SCSI命令后的響應(yīng),在經(jīng)過設(shè)備端iSCSI Target層時被封裝成iSCSI響應(yīng)包,通過TCP/IP網(wǎng)絡(luò)傳送給主機的iSCSI Initiator層,iSCSI Initiator會從ISCSI響應(yīng)包里解析出SCSI響應(yīng)并傳送給操作系統(tǒng),操作系統(tǒng)再響應(yīng)給應(yīng)用程序。
在服務(wù)漂移系統(tǒng)中,鏡像服務(wù)器用于在客戶服務(wù)器故障時代替其提供服務(wù)。鏡像服務(wù)器上所有對于數(shù)據(jù)的訪問請求都通過iSCSI Initiator封裝成TCP數(shù)據(jù)包,然后通過IP網(wǎng)路發(fā)送給存儲服務(wù)器。存儲服務(wù)器上iSCSI Target解封TCP數(shù)據(jù)包,執(zhí)行數(shù)據(jù)訪問請求,然后把結(jié)果封裝成TCP數(shù)據(jù)包發(fā)送回去。通過這種方式在鏡像服務(wù)器和存儲服務(wù)器建立一種虛擬的邏輯卷鏈接,所有數(shù)據(jù)的實際操作在存儲服務(wù)器上執(zhí)行,而操作的發(fā)起卻在鏡像服務(wù)器上,這樣保證了存儲服務(wù)器上的數(shù)據(jù)可以一直保持最新。
1.2系統(tǒng)結(jié)構(gòu)
服務(wù)漂移要求當客戶服務(wù)器由于各種原因中斷運行時,可以由鏡像服務(wù)器代替其提供同樣的服務(wù),并且能夠保證數(shù)據(jù)和服務(wù)訪問地址的一致性。服務(wù)漂移的實現(xiàn)應(yīng)該包括為3部分:請求的重定向、數(shù)據(jù)的同步以及服務(wù)的啟用。
圖2顯示了服務(wù)漂移的系統(tǒng)架構(gòu)。
圖2 包含服務(wù)漂移功能的容災(zāi)系統(tǒng)架構(gòu)圖
1.2.1客戶服務(wù)器
客戶服務(wù)是數(shù)據(jù)生產(chǎn)中心,客戶服務(wù)器上產(chǎn)生的數(shù)據(jù)通過Internet實時地備份到遠程存儲服務(wù)器中。
1.2.2網(wǎng)關(guān)服務(wù)器
網(wǎng)關(guān)服務(wù)器處于客戶服務(wù)器和外部網(wǎng)絡(luò)之間,將來自外部網(wǎng)絡(luò)的服務(wù)請求定向到客戶服務(wù)器,同時保護客戶不受外部攻擊。當客戶服務(wù)器服務(wù)中斷時,網(wǎng)關(guān)負責(zé)將服務(wù)請求定向到鏡像服務(wù)器。
1.2.3任務(wù)管理主機
任務(wù)管理主機可以是任何一臺接入Internet的主機,它通過Web界面和ActiveX控件分別與存儲服務(wù)器、客戶服務(wù)器進行通信,實現(xiàn)對于備份任務(wù)的遠程管理。
1.2.4數(shù)據(jù)庫服務(wù)器
數(shù)據(jù)服務(wù)器用于提供數(shù)據(jù)庫服務(wù)和Web訪問服務(wù)。關(guān)于任務(wù)的配置信息保存在數(shù)據(jù)庫中,其他模塊在初始化時可以通過訪問數(shù)據(jù)庫獲得任務(wù)的基本信息和狀態(tài)。同時數(shù)據(jù)庫服務(wù)也提供Web訪問服務(wù),方便用戶遠程管理任務(wù)。
1.2.5存儲服務(wù)器
存儲服務(wù)器用于保存客戶服務(wù)器上的邏輯卷鏡像。它不斷接受來自客戶服務(wù)器上的實時備份數(shù)據(jù),并寫人到對應(yīng)邏輯卷鏡像。同時對于指定任務(wù)還可以執(zhí)行數(shù)據(jù)同步、數(shù)據(jù)恢復(fù)等工作。
1.2.6鏡像服務(wù)器
鏡像服務(wù)器用于在客戶服務(wù)器出現(xiàn)故障無法提供服務(wù)時,代替客戶服務(wù)器提供服務(wù)。通過iSCSI協(xié)議將對邏輯卷的訪問請求轉(zhuǎn)發(fā)到存儲服務(wù)器上對應(yīng)的邏輯卷鏡像。
1.3模塊實現(xiàn)
如圖3所示,包含服務(wù)漂移功能的容災(zāi)系統(tǒng)包括三個子系統(tǒng):數(shù)據(jù)存儲子系統(tǒng)、配置管理子系統(tǒng)、服務(wù)漂移子系統(tǒng)。
圖3 容災(zāi)系統(tǒng)模塊結(jié)構(gòu)
1.3.1數(shù)據(jù)存儲子系統(tǒng)
數(shù)據(jù)存儲子系統(tǒng)包括客戶端和服務(wù)器端的存儲模塊,提供客戶服務(wù)器和存儲服務(wù)器之間的實時備份、數(shù)據(jù)同步、數(shù)據(jù)恢復(fù)、離線數(shù)據(jù)導(dǎo)出等功能。
1.3.2配置管理子系統(tǒng)
配置管理主要為用戶提供給予Web的遠程管理界面,通過ActiveX和客戶端消息處理模塊實現(xiàn)控件和客戶服務(wù)器的通信。
1.3.3服務(wù)漂移子系統(tǒng)
服務(wù)漂移子系統(tǒng)主要負責(zé)當客戶服務(wù)器中斷服務(wù)時,啟動鏡像服務(wù)器上對應(yīng)的服務(wù),并將對于指向原客戶服務(wù)的服務(wù)請求重新定向到鏡像服務(wù)器。
1.4服務(wù)漂移過程
容災(zāi)系統(tǒng)在正常工作情況下,存儲服務(wù)器和客戶服務(wù)器會保持定時的通信,以確定對方處于正常的工作狀態(tài)。當客戶服務(wù)器出現(xiàn)故障或災(zāi)難時,存儲服務(wù)器會在檢測到客戶服務(wù)器長時間沒有返回消息后判斷客戶服務(wù)器出現(xiàn)了故障,并且在界面上通知用戶。
用戶通過配置管理子系統(tǒng)啟動服務(wù)漂移過程。如圖4所示,服務(wù)漂移過程的啟動主要經(jīng)過三個階段:客戶服務(wù)器和存儲服務(wù)器之間iSCSI連接的建立、鏡像服務(wù)器上服務(wù)腳本的啟動、網(wǎng)關(guān)服務(wù)器的請求重定向。
1.4.1iSCSI連接的建立
存儲服務(wù)器在收到配置管理系統(tǒng)的消息后,首先會停止對于該客戶服務(wù)器對應(yīng)邏輯卷的更新,并將對應(yīng)任務(wù)調(diào)整為停止狀態(tài)。同時存儲服務(wù)器使用iSCSITarget工具建立一個iSCSI目標,并將該任務(wù)對應(yīng)邏輯卷加人到該iSCSI目標中。在存儲服務(wù)器完成這些操作后,由鏡像服務(wù)器上的iSCSI Initiator工具發(fā)起對存儲服務(wù)器上iSCSI目標的連接。
1.4.2服務(wù)腳本的啟動
為了保證鏡像服務(wù)器上能夠提供和客戶服務(wù)器上相同的服務(wù),并且保持數(shù)據(jù)的一致性,需要執(zhí)行一系列的服務(wù)啟動腳本。服務(wù)啟動腳本的作用主要作用如下:發(fā)起iSCSI連接請求,建立和存儲服務(wù)器的邏輯卷連接;然后凋用系統(tǒng)API將連接的邏輯卷掛載到指定的盤符;啟動與客戶服務(wù)器上相同的服務(wù)進程(如Web服務(wù)器、FTP服務(wù)器等等)。
圖4 服務(wù)漂移的流程圖
1.4.3服務(wù)重定向
當完成以上兩個過程后,鏡像服務(wù)器已經(jīng)能夠替代客戶服務(wù)器提供連續(xù)性的服務(wù)了。最后的服務(wù)重定向過程配置網(wǎng)關(guān)服務(wù)器將目前定位到客戶服務(wù)器的服務(wù)請求重定向到鏡像服務(wù)器。位于網(wǎng)關(guān)服務(wù)器上的重定向模塊通過運行iptables工具將所有指向原客戶服務(wù)器的請求轉(zhuǎn)發(fā)到鏡像服務(wù)器。
2性能測試
對于服務(wù)漂移系統(tǒng)的評估從兩個方面考慮:一是服務(wù)漂移切換的時間,時間越短對于服務(wù)中斷的影響越小,系統(tǒng)的性能也越好;二是服務(wù)漂移之后服務(wù)器的10性能,因為漂移是通過iSCSI實現(xiàn)遠程數(shù)據(jù)讀寫的,10性能可能不可能達到原來的磁盤直接讀取速度,漂移后的IO性能越高說明系統(tǒng)的性能越好。
測試環(huán)境的存儲服務(wù)器為Intel Xeon 2. 8Nz雙核CPU, 512MB內(nèi)存,希捷ST3500630AV 7200轉(zhuǎn)硬盤,Intel 82541GI網(wǎng)卡。其他服務(wù)均為普通PC機。試驗環(huán)境下主要測試服務(wù)漂移速度和漂移后磁盤IO性能,數(shù)據(jù)如下:
在服務(wù)漂移的性能測試中,分別針對了200m到3200m數(shù)據(jù)進行了讀寫測試。結(jié)果如圖5所示,漂移之前原始邏輯卷的讀寫平均速度為28~29MB/s,漂移后通過iSCSI讀寫IO的平均速度為1OMI3/s。造成這樣的主要原因在于本系統(tǒng)使用的是百兆網(wǎng)卡,理論上的最高下行速度為12. SMB/s,所以iSCSI傳輸速度實際上已經(jīng)達到了網(wǎng)卡傳輸速度的上限。雖然目前漂移后iSCSI的性能比起原始磁盤的讀取速度還有一定差距,但是在使用了千兆網(wǎng)卡后性能還能夠獲得進一步的提升。
圖5 服務(wù)漂移的性能測試
在服務(wù)漂移切換時間的測試中,啟動腳本主要執(zhí)行兩個操作,一是啟動Windows Server2003上的IIS服務(wù),二是啟動Microsoft SqlServer服務(wù)。結(jié)果如圖6所示,服務(wù)漂移的平均切換時間為17.2s,這樣的切換時間能夠比較快速地完成服務(wù)漂移的切換,不會對服務(wù)中斷造成太大的影響。
圖6 服務(wù)漂移的切換時間測試
3結(jié)束語
提出并實現(xiàn)一種基于現(xiàn)有數(shù)據(jù)容災(zāi)系統(tǒng)的服務(wù)漂移方案,該服務(wù)漂移功能可以在客戶服務(wù)器遭到災(zāi)難或故障時有效地實現(xiàn)服務(wù)連續(xù)性和數(shù)據(jù)一致性,并且具有較快的服務(wù)切換時間和,在IO性能上也具有較大的提升潛力。該方案是對現(xiàn)有數(shù)據(jù)容災(zāi)系統(tǒng)功能一個有力的擴充,適合作為中小型系統(tǒng)的服務(wù)容災(zāi)方案。
核心關(guān)注:拓步ERP系統(tǒng)平臺是覆蓋了眾多的業(yè)務(wù)領(lǐng)域、行業(yè)應(yīng)用,蘊涵了豐富的ERP管理思想,集成了ERP軟件業(yè)務(wù)管理理念,功能涉及供應(yīng)鏈、成本、制造、CRM、HR等眾多業(yè)務(wù)領(lǐng)域的管理,全面涵蓋了企業(yè)關(guān)注ERP管理系統(tǒng)的核心領(lǐng)域,是眾多中小企業(yè)信息化建設(shè)首選的ERP管理軟件信賴品牌。
轉(zhuǎn)載請注明出處:拓步ERP資訊網(wǎng)http://www.ezxoed.cn/
本文標題:基于數(shù)據(jù)容災(zāi)系統(tǒng)的服務(wù)漂移實現(xiàn)
本文網(wǎng)址:http://www.ezxoed.cn/html/support/1112152282.html