ISSU在線升級(jí)技術(shù)打造不間斷網(wǎng)絡(luò)
在今天云計(jì)算時(shí)代,業(yè)務(wù)和數(shù)據(jù)的高度集中,如何使得數(shù)據(jù)中心網(wǎng)絡(luò)設(shè)備實(shí)現(xiàn)業(yè)務(wù)應(yīng)用7*24小時(shí)無(wú)間斷運(yùn)行?這是個(gè)問(wèn)題。
不破不立,傳統(tǒng)方法已經(jīng)黔驢技窮
數(shù)據(jù)中心業(yè)務(wù)的多樣性和快速迭代,迫使網(wǎng)絡(luò)需要不斷升級(jí)才能滿足用戶的業(yè)務(wù)需求,然而升級(jí)難免要中斷業(yè)務(wù),如何將業(yè)務(wù)中斷的影響降至最小。一直以來(lái),工程師都在不斷探索,想了很多方法,比如夜間升級(jí)、構(gòu)建多條備份路徑、打補(bǔ)丁等等。這些方案在一定程度上降低了業(yè)務(wù)中斷的影響。但是在云計(jì)算和大數(shù)據(jù)時(shí)代的今天,就顯得有些捉襟見(jiàn)肘了。
1) 在線補(bǔ)丁(patch)
在線補(bǔ)丁技術(shù)可以實(shí)現(xiàn)不中斷業(yè)務(wù)修正bug,屬于ISSU的范疇,但是補(bǔ)丁能解決的問(wèn)題只是修復(fù)bug,并且只能是應(yīng)用軟件層面的bug,如果涉及操作系統(tǒng)或者SDK層面,則也無(wú)法修復(fù)。對(duì)于用戶新增業(yè)務(wù)功能的需求根本無(wú)法滿足。
2) 在夜間或者凌晨進(jìn)行全系統(tǒng)軟件升級(jí)
這種升級(jí)方式流程相當(dāng)復(fù)雜,首先必須通知所有相關(guān)客戶,協(xié)調(diào)升級(jí)時(shí)間,對(duì)時(shí)間段要求非常嚴(yán)格,一旦升級(jí)時(shí)間錯(cuò)位,是要賠償客戶損失的。其次要制定嚴(yán)格的升級(jí)操作步驟和回退步驟,如果在規(guī)定時(shí)間內(nèi)沒(méi)能完成升級(jí),必須盡快恢復(fù)到升級(jí)前的狀態(tài),版本升級(jí)不得不重新安排,這就導(dǎo)致新業(yè)務(wù)無(wú)法按時(shí)提供或者缺陷不能及時(shí)修復(fù)。極大的時(shí)間壓力也增加了人工操作失誤的概率,同時(shí)增加了人力及管理的成本。
3)建立多條等價(jià)、備份路徑,保證升級(jí)時(shí)業(yè)務(wù)依靠備份路徑能夠正常運(yùn)行。
版本升級(jí)時(shí),先將業(yè)務(wù)切換到備用路徑來(lái),以此來(lái)保證業(yè)務(wù)的正常運(yùn)行。但在這種情況下需要調(diào)整數(shù)據(jù)中心網(wǎng)絡(luò)配置,增加了出錯(cuò)的概率和延長(zhǎng)了升級(jí)時(shí)間,同時(shí)也可能由于數(shù)據(jù)中心業(yè)務(wù)的負(fù)載調(diào)整導(dǎo)致用戶流量集中而引起服務(wù)中斷。如果現(xiàn)有網(wǎng)絡(luò)不存在備用路徑則這種方法無(wú)法實(shí)施。
而今天互聯(lián)網(wǎng)應(yīng)用如空氣一樣如影隨形,網(wǎng)絡(luò)不再區(qū)分白天和黑夜;信息高速路上也沒(méi)有主備鏈路,只有負(fù)載均衡,每條鏈路都不會(huì)閑置,都在***化的進(jìn)行信息交互。面對(duì)如此高標(biāo)準(zhǔn)的數(shù)據(jù)中心網(wǎng)絡(luò),傳統(tǒng)修修補(bǔ)補(bǔ)的升級(jí)方法已經(jīng)落伍,必須打破傳統(tǒng)思維,重新尋找***的方案。
治本之道:業(yè)務(wù)在線升級(jí)ISSU技術(shù)
業(yè)務(wù)在線升級(jí)ISSU技術(shù),給無(wú)中斷升級(jí)帶來(lái)了全新的理念,它的核心思想就是保證升級(jí)過(guò)程中數(shù)據(jù)流還能正常轉(zhuǎn)發(fā),完全不受升級(jí)影響。圍繞著這個(gè)核心,工程師們?cè)O(shè)計(jì)實(shí)現(xiàn)了控制面和轉(zhuǎn)發(fā)面解耦,利用控制面復(fù)位升級(jí),轉(zhuǎn)發(fā)面繼續(xù)運(yùn)行的方法,保證升級(jí)過(guò)程中數(shù)據(jù)流能正常轉(zhuǎn)發(fā),業(yè)務(wù)不被中斷。這一突破,讓業(yè)務(wù)不中斷升級(jí)成為了現(xiàn)實(shí),邁出了業(yè)務(wù)在線升級(jí)的***步。
然而,這種控制面復(fù)位的方法也存在著一定的缺陷。因?yàn)榭刂泼鎻?fù)位,無(wú)法處理協(xié)議報(bào)文,如果此時(shí)協(xié)議狀態(tài)變化,由于控制面無(wú)法處理,仍然會(huì)導(dǎo)致業(yè)務(wù)中斷。況且控制面復(fù)位時(shí)間通常比較長(zhǎng),很難保證在這段時(shí)間內(nèi),協(xié)議狀態(tài)不變化,升級(jí)仍然存在較大的風(fēng)險(xiǎn)。
ISSU的創(chuàng)新之路:進(jìn)程倒換技術(shù)
基于對(duì)數(shù)據(jù)中心網(wǎng)絡(luò)多年的技術(shù)積累,華為數(shù)據(jù)中心交換機(jī)在ISSU技術(shù)領(lǐng)域開(kāi)辟了一條嶄新的道路,那就是進(jìn)程倒換技術(shù)。利用進(jìn)程備份,進(jìn)程倒換技術(shù),徹底擺脫了升級(jí)過(guò)程協(xié)議狀態(tài)不能變動(dòng)的約束,讓網(wǎng)絡(luò)升級(jí)更加高效透明,***實(shí)現(xiàn)了數(shù)據(jù)中心網(wǎng)絡(luò)升級(jí)業(yè)務(wù)不間斷的需求。
華為數(shù)據(jù)中心交換機(jī)采用的進(jìn)程倒換升級(jí)方法,控制面不用復(fù)位,直接創(chuàng)建新進(jìn)程,新舊進(jìn)程數(shù)據(jù)備份同步完成前,舊進(jìn)程仍然正常運(yùn)行,控制面協(xié)議變化不受影響,數(shù)據(jù)同步完成后,新舊進(jìn)程倒換,新進(jìn)程接管全部業(yè)務(wù),關(guān)閉舊進(jìn)程。整個(gè)升級(jí)過(guò)程,設(shè)備的控制面協(xié)議不受任何影響,周邊的鄰居設(shè)備絲毫不感知,真正實(shí)現(xiàn)透明升級(jí)。
圖1 華為數(shù)據(jù)中心交換機(jī)CE12800 ISSU升級(jí)流程圖
華為數(shù)據(jù)中心交換機(jī)不僅支持單臺(tái)設(shè)備的ISSU無(wú)損升級(jí),也支持?jǐn)?shù)據(jù)中心網(wǎng)絡(luò)中常間的交換機(jī)堆疊組網(wǎng)(CSS)和縱向虛擬化組網(wǎng)(SVF)下的ISSU無(wú)損升級(jí),實(shí)現(xiàn)了數(shù)據(jù)中心網(wǎng)絡(luò)多場(chǎng)景組網(wǎng)下的ISSU升級(jí)全覆蓋。
圖2 華為數(shù)據(jù)中心交換機(jī)多場(chǎng)景下的ISSU無(wú)損升級(jí)
華為數(shù)據(jù)中心交換機(jī)創(chuàng)新的ISSU技術(shù)具有如下特點(diǎn):
進(jìn)程升級(jí),效率高:進(jìn)程備份倒換時(shí)間不大于30秒,時(shí)間短,效率高。
透明升級(jí),不感知:升級(jí)過(guò)程中,協(xié)議報(bào)文正常處理,周邊設(shè)備不感知,完全透明化。
操作簡(jiǎn)單,易運(yùn)維:整個(gè)升級(jí)過(guò)程只需執(zhí)行一條命令,其余步驟全部自動(dòng)完成。如果升級(jí)過(guò)程中出現(xiàn)異常,會(huì)自動(dòng)回退到升級(jí)前的狀態(tài),即使升級(jí)失敗,也能保證業(yè)務(wù)不受任何影響。
華為數(shù)據(jù)中心交換機(jī)創(chuàng)新的ISSU(In Service Software Upgrade)在線業(yè)務(wù)升級(jí)技術(shù),打破傳統(tǒng),獨(dú)辟蹊徑,采用多進(jìn)程備份方式高效快速升級(jí)。真正做到業(yè)務(wù)無(wú)中斷,設(shè)備不復(fù)位,升級(jí)無(wú)感知,為數(shù)據(jù)中心用戶打造了真正的7*24小時(shí)無(wú)間斷網(wǎng)絡(luò)。