軟件啟動模式設定
只有考慮了所有能導致系統(tǒng)故障的因素,一個系統(tǒng)才是真正完整的高可用性系統(tǒng)。盡管對硬件行為的建模和預測機制有很深入的理解,但還有其它一些因素難以模型化和預測。對這部分的研究往往需要參考以前的記錄,因為系統(tǒng)在啟動的時候通常難以達到高可用性。以前的反饋信息和系統(tǒng)改進對于達到高可用性至關重要。 至今為止,軟件造成的故障是系統(tǒng)故障的第二大因素,但是常常不能像硬件那樣得到足夠的重視。同時,軟件的變化和升級極為頻繁,這使得軟件對系統(tǒng)穩(wěn)定性的長期影響更加難以預測。隨著系統(tǒng)對軟件故障檢測和管理依賴性的增強,軟件問題日益受到重視。
圖1的表格顯示了各種故障因素的比例。系統(tǒng)故障總數(shù)近2/3源于硬件和軟件故障,另外的1/3是由一些更難控制的因素引起的。由硬件和軟件升級導致的系統(tǒng)穩(wěn)定性問題是一個重要因素,而操作人員誤操作引起的故障與自然災難和人為破壞引起的故障一樣,具有重要的統(tǒng)計意義。 冷重啟、暖重啟和熱重啟 軟件在系統(tǒng)故障管理中占有重要地位。無論是由硬件還是由軟件引發(fā)的系統(tǒng)故障,其持續(xù)時間長短取決于系統(tǒng)的重啟動能力。如果系統(tǒng)采用熱重啟(hot restart)、暖重啟(warm restart)或冷重啟(cold restart)模式,故障管理中的處理方式將各不相同。重啟模式受事件發(fā)生之時系統(tǒng)可用信息量的影響——可用的信息越多,重啟速度也就越快。 熱重啟的恢復時間最快,但也最難實現(xiàn)。在熱重啟模式下,應用程序保存系統(tǒng)當前運行的狀態(tài)信息,并將該信息傳送給備份部件,以實現(xiàn)快速恢復。應用程序要具備利用這些狀態(tài)信息實現(xiàn)系統(tǒng)的重啟動的能力。 熱重啟系統(tǒng)中同樣需要在故障管理事件之前預先指定備份部件。這在2N系統(tǒng)中最為明顯,因為該系統(tǒng)的部件與備份部件是一一對應的(見圖2)。而在N+1系統(tǒng)中,熱重啟要求備份部件保存多個運行中部件的狀態(tài)信息,因此備份部件就必須具有額外存儲能力,否則就必須采用暖重啟模式。 暖重啟與熱重啟類似。在該模式下,應用程序保存系統(tǒng)當前運行的狀態(tài)信息(見圖3)。在執(zhí)行故障管理時指定備份部件。備份部件需配置必要的應用程序和狀態(tài)信息,這就增加了重啟時間,但能降低備份部件的成本。在備份部件與現(xiàn)行部件不完全相同的系統(tǒng)中,更易實現(xiàn)暖重啟。 冷重啟(cold restart)是最易于實現(xiàn)的,但需要最長的重啟動時間。冷重啟意味著備份部件對故障部件的運行狀態(tài)一無所知,備份部件只能從初始化狀態(tài)開始。 實現(xiàn)冷重啟幾乎無須對系統(tǒng)應用程序作任何修改,由操作系統(tǒng)和服務程序實現(xiàn)高可用性軟件的功能。但這是以系統(tǒng)更長的重啟時間為代價,并丟失系統(tǒng)所有當前的運行狀態(tài)信息。 各種重啟模式所需的時間取決于系統(tǒng)及應用軟件的實現(xiàn)方法。相對而言,如果熱重啟模式的時間為1X,那么暖重啟的時間將會是2-3X,冷重啟的時間將接近10-100X。在支持高可用性的系統(tǒng)軟件和應用程序中,重啟時間將要求為最短。 故障管理軟件 良好的系統(tǒng)服務程序可減少應用程序為實現(xiàn)高可用性而做的大量工作,通過提供穩(wěn)定的系統(tǒng)平臺,即可實現(xiàn)高可用性。高可用性系統(tǒng)要求在系統(tǒng)的各個環(huán)節(jié)進行縝密的設計,高可用的軟件基礎結構起始于操作系統(tǒng)(OS)(見圖4)。為實現(xiàn)小型PCI(CPCI)系統(tǒng)中部件的熱拔插,操作系統(tǒng)必須支持設備驅動器的動態(tài)裝載和卸載,并允許系統(tǒng)資源在這些驅動器中重新分配。這是實現(xiàn)系統(tǒng)修復和重構的最基本功能。 CPCI熱拔插(也稱為完全熱拔插)提供了自動化程度更高的熱拔插功能。完全熱拔插的目的是改善系統(tǒng)的操作界面,高可用性要求操作界面必須盡可能靈活處理各種錯誤。完全熱拔插使用一種稱為ENUM的信號提醒系統(tǒng)取出或插入電路板,并允許系統(tǒng)自動實現(xiàn)資源的重新配置。完全熱拔插支持在簡單系統(tǒng)模型中使用非硬式驅動器。 使用硬式驅動器可達到更高程度的可用性,硬式驅動器能檢測到下層硬件故障。硬式驅動器通過采用脫機和備份操作模式,使應用程序可采用更高級別的重啟模式。這些模式為故障管理系統(tǒng)提供了診斷信息,因而對于高可用系統(tǒng)而言,驅動器是故障檢測的第一層。 拓撲管理 系統(tǒng)拓撲結構的管理是高可用性系統(tǒng)基本架構的底層,系統(tǒng)拓撲結構的管理系統(tǒng)負責沒有管理人員在場時器件的隔離。系統(tǒng)拓撲管理的重配置也有助于提高系統(tǒng)的穩(wěn)定性。 CPCI通過高可用系統(tǒng)模式實現(xiàn)了這種拓撲管理能力。系統(tǒng)中熱拔插控制器能使單個電路板在軟件控制下斷電或重啟。 開放結構系統(tǒng)的拓撲管理需要靈活性。從OEM通信系統(tǒng)設備供應商的角度看,最終應用的有效載荷往往由下一個增值整合器(value added integrator)加以補充。系統(tǒng)的拓撲結構是動態(tài)的,因此拓撲管理相應地也應該具有靈活性。拓撲管理必須由用戶可以訪問的數(shù)據(jù)庫來驅動。對設計優(yōu)良的拓撲管理器來說,其系統(tǒng)底層架構對用戶不透明,用戶不必關心其具體的實現(xiàn)方法。 故障及事件自動管理 以上所述的所有軟件都具有控制基礎系統(tǒng)部件的基本能力。這種軟件基本結構可跟支持系統(tǒng)修復和重構的硬件基本結構相媲美。為達到高可用(即99.999%正常運行時間),故障管理過程必須完全自動化,因為依靠操作員來管理系統(tǒng)將會花費很長的時間。 完全自動化管理系統(tǒng)的基礎是事件/故障管理器。軟件或硬件升級這樣的事件,以及硬件或軟件故障引發(fā)的事件,從管理的角度來說本質上都是相同的,都產生了改變系統(tǒng)運行狀態(tài),然后回復到穩(wěn)定狀態(tài)的動作。 由于系統(tǒng)拓撲結構具有靈活性,事件管理器也必須具有像系統(tǒng)拓撲結構一樣的靈活性。事件管理器必須能接收來自系統(tǒng)整合器規(guī)定的程序指令,一個設計良好的事件管理器為用戶提供了易于詳細說明程序的界面。 高級業(yè)務 校驗點(checkpointing)和“心跳”(heartbeat)服務功能結合分布式處理環(huán)境(DPE)實現(xiàn)了工作/備份操作,這些功能使應用程序能夠實現(xiàn)更高級的重啟模式。點校驗為應用程序提供了保存狀態(tài)的方法,而“心跳”功能使工作設備和備份設備保持同步,并用作檢測校驗點處理故障的一種方法。 DPF抽象了來自應用程序的系統(tǒng)配置。在拓撲管理器的協(xié)同工作下,用戶應用程序無需了解諸如備份設備在何處等系統(tǒng)實際配置情況。 事件管理器與拓撲管理器及DPF共同將系統(tǒng)事件從應用層中隱去,因某個器件故障引發(fā)的拓撲結構變化可通過邏輯映射到其它設備來處理。 另一個提高系統(tǒng)效率的重要功能是診斷控制。事件管理器利用診斷信息來確定故障部件,通信平臺通常要求實時部件故障判斷的準確率達到95%。 由于工作/備份系統(tǒng)中的設備具有某種狀態(tài),可利用診斷管理器為設備的正常狀態(tài)作正確診斷。診斷管理器與拓撲管理器及事件管理器共同判斷設備是否在期望的狀態(tài)下工作。 以上所描述的所有基本結構仍不能產生5個9(99.999%)的高可用性系統(tǒng)。先前5個9系統(tǒng)的高可用預算中,每年為系統(tǒng)升級分配了1分鐘時間,軟件在線升級必須滿足這個要求。軟件在線升級需要采用具有上述所有基本結構部件特性的工作/備份應用程序模型。 由于系統(tǒng)很少獨立工作,系統(tǒng)的最后部分通常是一個網絡管理接口。故障管理器采用分層實現(xiàn)時呈******狀態(tài),因此這種結構通常能達到******效果。 第三方軟件 高可用性技術很快從主要的電信設備提供商的專用平臺轉變?yōu)殚_放架構的平臺。另外,實現(xiàn)高可用性所需的開放軟件也日益普遍。 這些軟件部分來源于開發(fā)高可用性操作系統(tǒng)的供應商。許多供應商致力于這方面的研究,但還沒有任何新產品發(fā)布,這種局面有望在2001年大有改觀。當前一些操作系統(tǒng)聲稱具有高可用性,卻僅局限于2N系統(tǒng)應用中。另一種選擇是將支持基本業(yè)務的操作系統(tǒng)和可以工作在各種操作系統(tǒng)下的第三方故障管理軟件結合起來。盡管一些產品可實現(xiàn)大部分所需的軟件功能,用戶仍然需要為目標平臺的管理開發(fā)相應的程序。 適當?shù)能浖窘Y構與適當?shù)挠布窘Y構對于高可用性而言同樣重要。只有將許多精工細做的部件適當?shù)丶桑拍艽_保高可用性。另外,了解系統(tǒng)高可用性必須滿足的要求也同等重要。 要獲得更高的可用性,需要付出相應的代價。采用正確的系統(tǒng)體系結構、重啟模式和軟件基本結構可得到性價比最好的系統(tǒng)。系統(tǒng)集成商和平臺供應商應共同致力于開發(fā)所有的必要軟件,實現(xiàn)期望的高可用性。 |