馬辰王博曹寧生
云架構(gòu)中高可用技術(shù)現(xiàn)狀與發(fā)展
馬辰王博曹寧生
(中國(guó)艦船研究院北京100192)
論文從云架構(gòu)著手,從內(nèi)容和網(wǎng)絡(luò)兩個(gè)方面分析高可用技術(shù)現(xiàn)狀。在內(nèi)容上,著重分析基于數(shù)據(jù)庫(kù)、大數(shù)據(jù)和虛擬化的高可用性方案;在網(wǎng)絡(luò)上,分析以SDN架構(gòu)為基礎(chǔ)的高可用性方案。通過(guò)整合云架構(gòu)中各類高可用技術(shù)方案,從船舶應(yīng)用的角度對(duì)其未來(lái)發(fā)展提出合理化建議。
云架構(gòu);高可用;服務(wù)器;內(nèi)容;網(wǎng)絡(luò)
Class NumberTP393
美軍全艦計(jì)算環(huán)境(Total-Ship Computing Environment,TSCE)在DDG-1000中的應(yīng)用引起了廣泛的關(guān)注[1]。美軍認(rèn)為,TSCE為艦艇電子信息系統(tǒng)的集成方式和組織運(yùn)行帶來(lái)重大變革,在擴(kuò)展升級(jí)、抗毀生存、分散布置、統(tǒng)一標(biāo)準(zhǔn)、開(kāi)放集成和靈活重構(gòu)等六個(gè)方面具有重大優(yōu)勢(shì)[2]。目前,我國(guó)研究人員深入分析美軍TSCE現(xiàn)狀,對(duì)我軍下一代艦艇裝備建設(shè),提出了許多建議。其中,提供差異化的高服務(wù)質(zhì)量,具有高抗毀性,對(duì)提升艦艇的戰(zhàn)斗力和生存能力至關(guān)重要[3]。
以服務(wù)器和網(wǎng)絡(luò)為核心的云架構(gòu)的出現(xiàn),為我軍的艦艇信息系統(tǒng)發(fā)展提供了一種有效的解決方案。在云架構(gòu)中,通過(guò)動(dòng)態(tài)的資源調(diào)配,通過(guò)網(wǎng)絡(luò)以虛擬資源的形式提供服務(wù)[4]。用戶無(wú)論身在何處,只要能夠接入云網(wǎng)絡(luò)中,就能在云架構(gòu)上完成任務(wù);而操控者通過(guò)對(duì)云架構(gòu)資源的調(diào)度和維護(hù),為用戶提供高可用服務(wù),同時(shí)減少資源消耗,降低運(yùn)維的復(fù)雜度。目前,使用最多的云平臺(tái)有AWS,OpenStack,ClouFoundry和CloudStack等[5~7];大數(shù)據(jù)平臺(tái)有Hadoop,Spark等[8~10]。在這些平臺(tái)中,均設(shè)計(jì)一定的冗余資源,為用戶提供高可用服務(wù)。
而目前的云架構(gòu),也存在著數(shù)據(jù)庫(kù)、虛擬化和大數(shù)據(jù)等多種架構(gòu)并存,缺乏統(tǒng)一的數(shù)據(jù)管理和配置,無(wú)法提供差異化服務(wù)的問(wèn)題。本文以船舶云架構(gòu)為基礎(chǔ),圍繞國(guó)產(chǎn)數(shù)據(jù)庫(kù)、大數(shù)據(jù)、虛擬化和軟件定義網(wǎng)絡(luò)(Software Defined Network,SDN)等技術(shù),進(jìn)行綜合分析。按照高可用技術(shù)涉及的范圍,將其分為內(nèi)容高可用和網(wǎng)絡(luò)高可用。在內(nèi)容高可用中,歸納數(shù)據(jù)級(jí)、應(yīng)用級(jí)和平臺(tái)級(jí)的高可用;在網(wǎng)絡(luò)方面,歸納出基于內(nèi)容連通性的高可用架構(gòu)。這兩種技術(shù)均能為用戶提供差異化的高可用服務(wù),從不同角度滿足用戶的需求。
云架構(gòu)中有用戶和管理員兩個(gè)角色。用戶可以在任意一點(diǎn)接入網(wǎng)絡(luò),向云架構(gòu)請(qǐng)求存儲(chǔ)、計(jì)算和虛擬機(jī)等服務(wù);管理員調(diào)試云架構(gòu)中的存儲(chǔ)、計(jì)算和網(wǎng)絡(luò)資源,響應(yīng)用戶的需求。在圖1中,用戶通過(guò)交換機(jī)5接入云架構(gòu),并向管理員發(fā)送應(yīng)用請(qǐng)求,而管理員通過(guò)調(diào)度服務(wù)器3中的服務(wù)資源并建立起通路:服務(wù)器3→交換機(jī)4→交換機(jī)5→用戶,響應(yīng)用戶需求。
高可用(High Availability)技術(shù),就是以提供持續(xù)性的穩(wěn)定服務(wù)為目的,通過(guò)冗余的和并行的方式實(shí)現(xiàn)業(yè)務(wù)不間斷提升系統(tǒng)性能,而云架構(gòu)是高可用技術(shù)的一種具體實(shí)現(xiàn)方式[11]。一般情況下,在云架構(gòu)中的高可用技術(shù)指的是內(nèi)容的高可用,即網(wǎng)絡(luò)默認(rèn)為是可靠的,而需要在不同的服務(wù)器中調(diào)用存儲(chǔ)和計(jì)算資源,以保證服務(wù)的穩(wěn)定性[6],如圖1中,當(dāng)服務(wù)出現(xiàn)故障時(shí),認(rèn)為服務(wù)器3故障,即發(fā)生故障1。但隨著網(wǎng)絡(luò)規(guī)模的擴(kuò)大和結(jié)構(gòu)的復(fù)雜,網(wǎng)絡(luò)本身的高可用性也被考慮進(jìn)了云架構(gòu)中[12],如圖1中,交換機(jī)4和5之間的網(wǎng)絡(luò)故障2也會(huì)造成用戶服務(wù)的中斷。因而,在考慮船舶云的高可用性技術(shù)時(shí),需要從內(nèi)容和網(wǎng)絡(luò)兩個(gè)方面分別分析。
3.1 云架構(gòu)中的內(nèi)容架構(gòu)
云架構(gòu)提供內(nèi)容的服務(wù),主要包括存儲(chǔ)、計(jì)算和虛擬機(jī)等,其平臺(tái)架構(gòu)如圖2所示。底層是由服務(wù)器、存儲(chǔ)單元和交換機(jī)構(gòu)成的硬件資源。在虛擬化層,提供虛擬化平臺(tái),將由若干個(gè)服務(wù)器的集群虛化成一個(gè)資源池。在云計(jì)算架構(gòu)層,云架構(gòu)為用戶提供存儲(chǔ)服務(wù)、大數(shù)據(jù)服務(wù)和虛擬機(jī)服務(wù)環(huán)境。其中存儲(chǔ)服務(wù)由分布式數(shù)據(jù)庫(kù)和文件管理系統(tǒng),對(duì)結(jié)構(gòu)化非結(jié)構(gòu)化數(shù)據(jù)提供存儲(chǔ)和檢索等數(shù)據(jù)級(jí)服務(wù);大數(shù)據(jù)服務(wù)在Hadoop架構(gòu)下,提供MapReduce和Spark等分布式離線計(jì)算和實(shí)時(shí)計(jì)算等應(yīng)用級(jí)的服務(wù);虛擬機(jī)服務(wù)由OpenStack技術(shù)為某些業(yè)務(wù)建立多個(gè)虛擬機(jī),提供平臺(tái)級(jí)的服務(wù)。
按照用戶請(qǐng)求內(nèi)容的不同,將內(nèi)容高可用需求分為四級(jí),分別是:
1)數(shù)據(jù)級(jí)高可用:用戶向云架構(gòu)請(qǐng)求數(shù)據(jù)的存儲(chǔ)與讀取,該數(shù)據(jù)在用戶端進(jìn)行處理。在數(shù)據(jù)級(jí)高可用中,云架構(gòu)需要將數(shù)據(jù)存儲(chǔ)于不同位置的服務(wù)器中,以保證當(dāng)某服務(wù)器出現(xiàn)故障時(shí),其他存儲(chǔ)冗余資源的服務(wù)器可以及時(shí)提供資源。數(shù)據(jù)級(jí)高可用的恢復(fù)時(shí)間一般在ms~s級(jí)之間。
2)應(yīng)用級(jí)高可用:用戶業(yè)務(wù)計(jì)算功能進(jìn)行高可用的冗余備份;管理員在進(jìn)行數(shù)據(jù)和計(jì)算管理時(shí),冗余的控制保證。在應(yīng)用級(jí)高可用中,云架構(gòu)需要將應(yīng)用功能在不同的服務(wù)器節(jié)點(diǎn)中實(shí)現(xiàn),以保證某服務(wù)器出現(xiàn)故障時(shí),其他應(yīng)用節(jié)點(diǎn)可以及時(shí)備份。應(yīng)用級(jí)高可用的恢復(fù)時(shí)間一般在s~min級(jí)之間。
3)平臺(tái)級(jí)高可用:用戶在客戶端向云架構(gòu)請(qǐng)求操作和開(kāi)發(fā)平臺(tái),而主要環(huán)境均在云架構(gòu)上。在平臺(tái)級(jí)高可用中,云架構(gòu)需要為用戶提供由計(jì)算和存儲(chǔ)構(gòu)成的虛擬計(jì)算機(jī),當(dāng)某個(gè)虛擬機(jī)節(jié)點(diǎn)損失時(shí),可以利用云架構(gòu)存儲(chǔ)的數(shù)據(jù),直接恢復(fù)出原有的虛擬機(jī)。平臺(tái)級(jí)高可用的恢復(fù)時(shí)間一般在min~hour級(jí)。
4)集群級(jí)高可用:管理員在某個(gè)服務(wù)器集群出現(xiàn)故障時(shí),利用備份的集群進(jìn)行恢復(fù)。集群級(jí)高可用一般用于數(shù)據(jù)中心間的備份,融合數(shù)據(jù)級(jí)、應(yīng)用級(jí)和平臺(tái)級(jí)高可用的策略和技術(shù),恢復(fù)時(shí)間一般在min~day級(jí)。
3.2 云架構(gòu)內(nèi)容高可用性
1)數(shù)據(jù)級(jí)高可用
云架構(gòu)的數(shù)據(jù)可以分為結(jié)構(gòu)化數(shù)據(jù)和非結(jié)構(gòu)化數(shù)據(jù)。結(jié)構(gòu)化數(shù)據(jù)即行數(shù)據(jù),存儲(chǔ)在數(shù)據(jù)庫(kù)里,可以使用二維表結(jié)構(gòu)來(lái)邏輯表達(dá)實(shí)現(xiàn)的數(shù)據(jù);而非結(jié)構(gòu)化數(shù)據(jù)指不方便使用數(shù)據(jù)庫(kù)二維邏輯表來(lái)實(shí)現(xiàn)的數(shù)據(jù),包括所有格式的辦公文檔、文本、圖像、音頻、視頻等信息。在云架構(gòu)中,結(jié)構(gòu)化的數(shù)據(jù)一般使用通用關(guān)系型數(shù)據(jù)庫(kù)來(lái)存儲(chǔ),非結(jié)構(gòu)化數(shù)據(jù)一般由大數(shù)據(jù)組件中的分布式文件管理系統(tǒng)和非關(guān)系型數(shù)據(jù)庫(kù)來(lái)存儲(chǔ)。
傳統(tǒng)的關(guān)系型數(shù)據(jù)庫(kù)中數(shù)據(jù)表格一般在單機(jī)上使用,用戶直接將數(shù)據(jù)存入表中;在云架構(gòu)系統(tǒng)中,實(shí)現(xiàn)了關(guān)系型數(shù)據(jù)庫(kù)的分布式管理,即數(shù)據(jù)存在不同的存儲(chǔ)服務(wù)器中,在數(shù)據(jù)庫(kù)之上,設(shè)立數(shù)據(jù)庫(kù)管理系統(tǒng),將某一節(jié)點(diǎn)作為數(shù)據(jù)庫(kù)的控制節(jié)點(diǎn),而在數(shù)據(jù)層面實(shí)現(xiàn)主從服務(wù)器數(shù)據(jù)的備份。在分布式的數(shù)據(jù)庫(kù)中,又可以提供數(shù)據(jù)庫(kù)級(jí)、用戶級(jí)、表級(jí)等更加細(xì)分的高可用策略。正常情況下,數(shù)據(jù)的讀寫由用戶通過(guò)控制節(jié)點(diǎn)寫入主數(shù)據(jù)節(jié)點(diǎn),并且實(shí)現(xiàn)主節(jié)點(diǎn)與從節(jié)點(diǎn)的數(shù)據(jù)備份;當(dāng)主節(jié)點(diǎn)產(chǎn)生故障時(shí),通過(guò)控制節(jié)點(diǎn),將數(shù)據(jù)的讀寫由主節(jié)點(diǎn)轉(zhuǎn)移到從節(jié)點(diǎn)上去。在主從節(jié)點(diǎn)的高可用模式中,數(shù)據(jù)僅由一個(gè)節(jié)點(diǎn)完全提供,不考慮主機(jī)與節(jié)點(diǎn)的位置和負(fù)載均衡等內(nèi)容。圖3(a)是主從備份的一個(gè)示例,在圖中存儲(chǔ)節(jié)點(diǎn)A是主節(jié)點(diǎn),存儲(chǔ)節(jié)點(diǎn)B和C是從節(jié)點(diǎn),正常情況下用戶所需要的數(shù)據(jù)由A提供;當(dāng)A出現(xiàn)故障時(shí),數(shù)據(jù)由控制節(jié)點(diǎn)B提供。
分布式文件管理系統(tǒng)的目的是將海量文件遍布存儲(chǔ)在一個(gè)大集群的多臺(tái)服務(wù)器中,它既可以存儲(chǔ)結(jié)構(gòu)化數(shù)據(jù),也可以存儲(chǔ)非結(jié)構(gòu)化數(shù)據(jù),其典型案例是HDFS(Hadoop Distributed File System)。HDFS將每一個(gè)文件以分塊序列的形式進(jìn)行存儲(chǔ),一個(gè)文件的所有分塊除去最后一個(gè)分塊外都是等大小的。HDFS的文件管理系統(tǒng)有控制節(jié)點(diǎn)(NameNode)和存儲(chǔ)節(jié)點(diǎn)(DataNode)。數(shù)據(jù)被分塊存入不同的存儲(chǔ)節(jié)點(diǎn)中,由控制節(jié)點(diǎn)管理,通過(guò)多副本機(jī)制,保證數(shù)據(jù)高可用性。圖3(b)是一個(gè)分布式文件管理系統(tǒng)的示例,數(shù)據(jù)資源1、2和3備份存儲(chǔ)在不同的服務(wù)器中,其中1和2存儲(chǔ)在服務(wù)器A中,1和3存儲(chǔ)在B中,2和3存儲(chǔ)在C中;在正常情況下,用戶請(qǐng)求的數(shù)據(jù)資源由服務(wù)器A提供數(shù)據(jù)1和2,B提供3;當(dāng)服務(wù)器A故障時(shí),由服務(wù)器B提供1和3,服務(wù)器C提供2。HDFS保證了數(shù)據(jù)存儲(chǔ)的高可靠性,與主從備份相比,又降低了總的文件存儲(chǔ)容量。并且通過(guò)控制節(jié)點(diǎn)的管理,可以有效地考慮服務(wù)時(shí)數(shù)據(jù)與用戶的距離等因素,具有較強(qiáng)的生存能力。
2)應(yīng)用級(jí)高可用
應(yīng)用級(jí)高可用主要存在于大數(shù)據(jù)平臺(tái)。大數(shù)據(jù)平臺(tái)的作用主要是在海量數(shù)據(jù)情況下,單機(jī)無(wú)法在有效的時(shí)間內(nèi)完成數(shù)據(jù)計(jì)算,因而需要將數(shù)據(jù)分配在不同的CPU和內(nèi)存架構(gòu)上,進(jìn)行并行計(jì)算,來(lái)滿足用戶的需求。大數(shù)據(jù)系統(tǒng)使用分布式計(jì)算環(huán)境,一般指Hadoop架構(gòu),利用控制節(jié)點(diǎn)進(jìn)行資源調(diào)配,使用的MapReduce和Spark等計(jì)算平臺(tái)的架構(gòu)也是主從結(jié)構(gòu)。
在控制方法上,通過(guò)兩臺(tái)控制節(jié)點(diǎn)的服務(wù)器(MasterServer),實(shí)現(xiàn)計(jì)算管理的高可靠性。當(dāng)主控節(jié)點(diǎn)出現(xiàn)故障時(shí),其計(jì)算和存儲(chǔ)的調(diào)度切換到備用控制節(jié)點(diǎn)上去。圖4(a)是控制應(yīng)用的高可用性說(shuō)明。在正常情況下,用戶通過(guò)控制控制節(jié)點(diǎn)A進(jìn)行數(shù)據(jù)的存儲(chǔ)操作;當(dāng)控制節(jié)點(diǎn)A出現(xiàn)故障時(shí),其管理權(quán)限自動(dòng)切換至控制節(jié)點(diǎn)B上。這樣可以在部分控制節(jié)點(diǎn)失效的情況下,仍然可以及時(shí)響應(yīng)用戶的請(qǐng)求,整個(gè)系統(tǒng)無(wú)單點(diǎn)故障。
在計(jì)算方法上,類似于HDFS中的冗余備份,在計(jì)算進(jìn)程上實(shí)現(xiàn)高可用性。即在Map過(guò)程中,每一個(gè)計(jì)算節(jié)點(diǎn)均有冗余量;當(dāng)其中一個(gè)節(jié)點(diǎn)出現(xiàn)故障時(shí),利用其余節(jié)點(diǎn)的冗余信息,在Reduce階段也可完成數(shù)據(jù)的計(jì)算任務(wù)。圖4(b)是一個(gè)冗余計(jì)算能力的示意圖。在正常情況下計(jì)算節(jié)點(diǎn)A、B、C分別具有計(jì)算進(jìn)程1和2、1和3、2和3,在控制節(jié)點(diǎn)Reduce后送給用戶;當(dāng)節(jié)點(diǎn)A故障時(shí),B和C中具有的進(jìn)程在Reduce后依然可以保證進(jìn)程1、2和3同時(shí)運(yùn)行,完成用戶的計(jì)算任務(wù)。
3)平臺(tái)級(jí)高可用
在云計(jì)算中,由虛擬化平臺(tái)向用戶提供虛擬機(jī)任務(wù),在虛擬機(jī)里用戶得到與任務(wù)機(jī)類似的若干臺(tái)虛擬機(jī)。對(duì)虛擬化平臺(tái)而言,其高可用性指的就是提供不間斷的虛擬機(jī)服務(wù)。虛擬化過(guò)程中,一臺(tái)虛擬機(jī)由一臺(tái)在計(jì)算節(jié)點(diǎn)的主機(jī)和一塊在存儲(chǔ)節(jié)點(diǎn)的虛擬磁盤組成。而對(duì)于虛擬機(jī)計(jì)算節(jié)點(diǎn)的故障,可以利用虛擬機(jī)的熱遷移,在備份計(jì)算節(jié)點(diǎn)上,利用原先虛擬磁盤,重新建立起新的計(jì)算平臺(tái)。虛擬機(jī)的遷移整體時(shí)間大概需要幾分鐘,主要包括對(duì)故障物理機(jī)的重試探測(cè)時(shí)間、虛擬機(jī)的遷移時(shí)間和虛擬化管理平臺(tái)狀態(tài)同步時(shí)間。遷移后的新虛擬機(jī)與原虛擬機(jī)相比,保留了整個(gè)平臺(tái)中的數(shù)據(jù)存儲(chǔ),但其平臺(tái)中進(jìn)行的計(jì)算任務(wù)均已中斷。圖5是虛擬機(jī)的遷移原理,正常情況下,用戶請(qǐng)求的虛擬機(jī)由計(jì)算節(jié)點(diǎn)A和存儲(chǔ)節(jié)點(diǎn)A分別提供虛擬主機(jī)和虛擬磁盤;當(dāng)計(jì)算節(jié)點(diǎn)A故障時(shí),由計(jì)算節(jié)點(diǎn)B重新生成一臺(tái)虛擬主機(jī),并且掛載存儲(chǔ)節(jié)點(diǎn)A上的原有磁盤,生成一臺(tái)新的虛擬機(jī)提供給用戶。
4.1 云架構(gòu)中的網(wǎng)絡(luò)架構(gòu)
通信網(wǎng)絡(luò)中,通常使用生存性(Survivability)技術(shù)滿足用戶高可用需求。根據(jù)操作在故障前后的順序,可以分為故障后保護(hù)(Protection)與恢復(fù)(Restoration)。保護(hù)技術(shù)為網(wǎng)絡(luò)業(yè)務(wù)或鏈路提供預(yù)置的保護(hù)資源,當(dāng)網(wǎng)絡(luò)故障時(shí),故障業(yè)務(wù)或者鏈路將由預(yù)留的保護(hù)資源進(jìn)行傳達(dá),從而恢復(fù)受影響的業(yè)務(wù)或鏈路。恢復(fù)技術(shù)為網(wǎng)絡(luò)的業(yè)務(wù)或鏈路動(dòng)態(tài)尋找網(wǎng)絡(luò)中的剩余資源,通過(guò)利用網(wǎng)絡(luò)中的富裕帶寬,快速消除故障的業(yè)務(wù)或鏈路所帶來(lái)的影響。根據(jù)國(guó)際電信聯(lián)盟(ITU)的標(biāo)準(zhǔn),通信網(wǎng)絡(luò)的保護(hù)恢復(fù)時(shí)間在ms級(jí),一般不超過(guò)50ms,而恢復(fù)技術(shù)時(shí)間在ms~s級(jí)。
隨著軟件定義網(wǎng)絡(luò)SDN技術(shù)的出現(xiàn),使用集中式控制架構(gòu),為保護(hù)和恢復(fù)提供了新的方向。圖6展示了SDN的總體架構(gòu),從上往下看依次為應(yīng)用層、控制層和轉(zhuǎn)發(fā)層。SDN應(yīng)用層是開(kāi)發(fā)者根據(jù)SDN控制層提供的接口進(jìn)行相關(guān)開(kāi)發(fā)的網(wǎng)絡(luò)控制應(yīng)用。SDN控制平面則用來(lái)實(shí)現(xiàn)請(qǐng)求應(yīng)答、算路等功能,在圖6中SDN控制器控制整個(gè)網(wǎng)絡(luò)的管理流程,數(shù)據(jù)庫(kù)存儲(chǔ)網(wǎng)絡(luò)鏈路以及業(yè)務(wù)請(qǐng)求情況,路徑計(jì)算單元用來(lái)進(jìn)行路徑規(guī)劃。控制器可以與云架構(gòu)中內(nèi)容控制管理服務(wù)相連,提供必要的控制管理功能。轉(zhuǎn)發(fā)層包含基本的傳輸器件,如路由器、交換機(jī)、傳輸線路和中繼設(shè)備等,它與控制層協(xié)同工作,根據(jù)控制層的指令協(xié)議(例如OpenFlow協(xié)議),進(jìn)行數(shù)據(jù)轉(zhuǎn)發(fā)。
4.2 云架構(gòu)中網(wǎng)絡(luò)高可用性
船舶的平臺(tái)系統(tǒng)使用云架構(gòu),由于故障可能產(chǎn)生在任何部位,造成多個(gè)服務(wù)器模塊或者網(wǎng)絡(luò)模塊失效。因而在云架構(gòu)中,需要綜合考慮基于內(nèi)容的網(wǎng)絡(luò)生存性技術(shù)。傳統(tǒng)的網(wǎng)絡(luò)中,業(yè)務(wù)是點(diǎn)對(duì)點(diǎn)(point-to-point)的,即業(yè)務(wù)從特定的源節(jié)點(diǎn)到目的節(jié)點(diǎn),其源、宿節(jié)點(diǎn)是不能變化的。當(dāng)宿節(jié)點(diǎn)發(fā)生故障時(shí),整個(gè)業(yè)務(wù)應(yīng)付失效,無(wú)法恢復(fù)。在云架構(gòu)中,基于服務(wù)器的業(yè)務(wù)占據(jù)帶寬請(qǐng)求的絕大部分,如云計(jì)算、云存儲(chǔ)、云點(diǎn)播等。這類業(yè)務(wù)的請(qǐng)求目的節(jié)點(diǎn)是服務(wù)器中的服務(wù)資源,而并非某一個(gè)特定的節(jié)點(diǎn)。我們稱這種業(yè)務(wù)為點(diǎn)到內(nèi)容(point-to-content)業(yè)務(wù)請(qǐng)求。任何擁有此類特定資源的數(shù)據(jù)中心都可以滿足用戶要求。從網(wǎng)絡(luò)層面上看,任何相關(guān)的服務(wù)器節(jié)點(diǎn)都可以作為宿節(jié)點(diǎn)。因而在云架構(gòu)的網(wǎng)絡(luò)中,如果一個(gè)服務(wù)器節(jié)點(diǎn)失效了,其服務(wù)的點(diǎn)到內(nèi)容的業(yè)務(wù)均可被其他具有相關(guān)資源的服務(wù)器所替代。這種云架構(gòu)的特性被稱為內(nèi)容連通性(content-connectivity),即業(yè)務(wù)的請(qǐng)求是到固定內(nèi)容的。
圖7是網(wǎng)絡(luò)高可用性的一個(gè)典型案例。在正常情況下,用戶通過(guò)連接網(wǎng)絡(luò)控制器,向云架構(gòu)發(fā)送業(yè)務(wù)請(qǐng)求。在正常情況下,用戶通過(guò)交換機(jī)5和4來(lái)訪問(wèn)服務(wù)器3;交換機(jī)5和4之間的路徑出現(xiàn)故障后,傳統(tǒng)的方案是通過(guò)交換機(jī)5、2、3、4來(lái)繼續(xù)訪問(wèn)服務(wù)器3;而內(nèi)容連通性的方案是通過(guò)交換機(jī)5和2來(lái)訪問(wèn)服務(wù)器2中的資源。
船舶云的發(fā)展的同時(shí),伴隨著新的挑戰(zhàn),本文總結(jié)主要如下:
1)內(nèi)容和網(wǎng)絡(luò)缺乏有效的統(tǒng)籌。內(nèi)容管理主要依靠服務(wù)器中軟件自身的控制軟件,而在網(wǎng)絡(luò)方面,缺乏相關(guān)的控制管理功能。
2)控制器缺乏有效的接口。大數(shù)據(jù)、虛擬化在內(nèi)容管理中使用的是各自的控制器,而SDN網(wǎng)絡(luò)中使用的是基于OpenFlow協(xié)議的控制器,各種控制器之間接口并不統(tǒng)一。
3)內(nèi)容縱向管理的挑戰(zhàn)。在內(nèi)容的高可用中,控制器在故障時(shí),僅從單一的數(shù)據(jù)級(jí)、應(yīng)用級(jí)或者平臺(tái)級(jí)進(jìn)行管理,而不是有效地從上到下選擇具有合適備份策略。
4)內(nèi)容和網(wǎng)絡(luò)統(tǒng)一調(diào)度策略。云架構(gòu)的高可用性包括存儲(chǔ)、計(jì)算和網(wǎng)絡(luò),如何建立云架構(gòu)高可用度模型,完成統(tǒng)一調(diào)度的策略和算法。
5)差異化的高可用服務(wù)提供。云架構(gòu)中各類服務(wù)需要根據(jù)服務(wù)的等級(jí)和質(zhì)量要求,在內(nèi)容和網(wǎng)絡(luò)資源中提供差異化服務(wù),在資源使用率和可用性中取得較好的平衡。
目前,船舶的信息系統(tǒng)正在向TSCE跨越。云架構(gòu)可以提供從數(shù)據(jù)級(jí)到集群集的業(yè)務(wù),是未來(lái)船舶信息系統(tǒng)的重要組成部分,因而其高可用技術(shù)得到了廣泛的研究。本文梳理目前云架構(gòu)中涉及的高可用技術(shù)并進(jìn)行分析,對(duì)其未來(lái)的發(fā)展提出有效的建議。
[1]張偉.美國(guó)海軍全艦計(jì)算環(huán)境發(fā)展及關(guān)鍵技術(shù)[J].艦船科學(xué)技術(shù),2016,38(4):148-152.
[2]裴曉黎.美海軍TSCE設(shè)計(jì)剖析及對(duì)我軍信息系統(tǒng)集成模式的啟示[J].計(jì)算機(jī)與數(shù)字工程,2015,43(9):1607-1614.
[3]徐勇.全艦計(jì)算環(huán)境及信息化總體概念方案研究[J].艦船電子工程,2016,36(11):12-20.
[4]敬超.面向云數(shù)據(jù)中心的高效能調(diào)度及管理研究[D].上海:上海交通大學(xué),2014.
[5]鐘志偉.基于OpenStack的私有云管理平臺(tái)及其關(guān)鍵技術(shù)研究[D].北京:北京郵電大學(xué),2014.
[6]姜懿珊.基于Cloud Foundry的高可用設(shè)計(jì)與實(shí)現(xiàn)[D].北京:北京交通大學(xué),2014.
[7]張毅.基于OpenStack的虛擬桌面云系統(tǒng)服務(wù)端的設(shè)計(jì)與實(shí)現(xiàn)[D].廣州:華南理工大學(xué),2013.
[8]喬媛媛.基于Hadoop的網(wǎng)絡(luò)流量分析系統(tǒng)的研究與應(yīng)用[D].北京:北京郵電大學(xué),2011.
[9]李文棟.基于Spark的大數(shù)據(jù)挖掘技術(shù)的研究與實(shí)現(xiàn)[D].濟(jì)南:山東大學(xué),2015.
[10]李爽.基于Spark的數(shù)據(jù)處理分析系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)[D].北京:北京交通大學(xué),2015.
[11]潘紅偉.面向不間斷服務(wù)的高可用系統(tǒng)平臺(tái)設(shè)計(jì)及實(shí)現(xiàn)[D].北京:中國(guó)科學(xué)院大學(xué),2014.
[12]馬辰.彈性光網(wǎng)絡(luò)中多鏈路故障生存性技術(shù)的研究[D].北京:北京郵電大學(xué),2016.
Current Situation and Development of High Availability for Cloud Architecture
MA ChenWANG BoCAO Ningsheng
(China Ship Research and Development Academy,Beijing100192)
In this work,content and networking is analyzed to show the high availability(HA)for cloud platform.For content,the HA technologies of database,big data and virtualization are introduced,and the software defined network(SDN)is utilized for the HA of networking.Based on the combination of HA of various technologies,rationalization proposals are proposed for future ship cloud architecture in term of ship application.
cloud architecture,high availability,server,content,network
TP393
10.3969/j.issn.1672-9730.2017.07.001
2017年1月3日,
2017年2月18日
馬辰,男,博士,工程師,研究方向:云計(jì)算、大數(shù)據(jù)和寬帶通信。王博,男,碩士,高級(jí)工程師,研究方向:國(guó)產(chǎn)基礎(chǔ)軟硬件平臺(tái)設(shè)計(jì)和系統(tǒng)仿真。曹寧生,男,碩士,研究員,研究方向:系統(tǒng)仿真、云計(jì)算和物聯(lián)網(wǎng)技術(shù)等。