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