1. 程式人生 > >新手入門之認識伺服器熱插拔技術

新手入門之認識伺服器熱插拔技術

我們都知道,即使再高的伺服器可用性也有可能出現故障的時候,只不過不知道它何時出現而已。然而一旦伺服器出現故障,通常不太可能像PC機那樣停下機來進行長時間的維修(除非迫不得已),而是採用線上更換故障配件來進行維護的,這就是本文所要介紹的“熱插拔”(Hot Plug)技術誕生的初衷。

   熱插拔技術就是指在伺服器系統正常開機、執行的狀態下,對故障配件進行更換、或者新增新的配件,涉及到三個方面的專業術語,那就是 熱替換(Hot Replacement)、熱新增(Hot Expansion)和熱升級(Hot Upgrade)。

    熱插拔技術其實很早就有了,最早的是SCSI硬碟的熱插拔技術,我們最容易想起的也是它。那是因為當時在整個伺服器配件中,出現故障機率最大的就是硬碟,而當時的伺服器硬碟介面基本上都是SCSI介面型別,所以在SCSI硬碟上實現熱插拔就成為當時之急需了。隨著硬碟陣列技術的日益成熟,熱插拔SCSI硬碟陣列也就成了伺服器熱插拔硬碟的代名詞。它可以實現在線上情況下更換故障硬碟、新增新的硬碟進陣列中,極大地方便了伺服器硬碟陣列系統的維護。

    然而隨著伺服器應用的深入,伺服器所承受的負荷遠遠走出了當時的情形,而且由於使用者對網路的依賴性比以前更強了,所以對伺服器系統的穩定性要求也較以前大大提高了。這樣一來,對其它配件支援熱插拔技術的呼聲也就越來越高了,因為現在伺服器系統主要出現故障的配件不再僅是硬碟系統了,而更多的可能是記憶體、PCI介面卡、電源和風扇等。有的甚至支援CPU和伺服器本身熱插拔,當然這主要是在高階多路處理器伺服器系統和群集伺服器系統中。現在,熱插拔技術在確保伺服器系統可用性已顯得越來越重要了,已成為伺服器的標準技術。儘管不同檔次的伺服器所支援的熱插拔配件並不完全一樣,但對於像硬碟、電源和風扇的熱插拔技術支援已成為最基本的伺服器技術配置了。

    不過要說明的是,熱插拔技術現在已不再是伺服器系統所專用,在PC系統也開始得到應用,但並不主要是出現系統維護方面考慮的,如支援熱插拔的USB介面。需要連線USB外設時,只需把它插入到計算機的USB介面即可,而不管計算機當前是否正在執行。

前面我們說到了,現在的伺服器系統支援熱插拔技術的已遠不是SCSI硬碟一種了,已在像CPU、記憶體、網絡卡、電源和風扇等關鍵裝置中全面支援。但從原理上來說,最底層的技術支援還是像PCI、PCI-X、PCI-E和InfiniBand之類匯流排技術。

    熱插拔功能的實現首先需要軟、硬體的共同支援,包括有熱插拔功能的硬體裝置、支援熱插拔的***作系統和使用者介面、主機板BIOS以及支援熱插拔功能的PCI匯流排等等。其中PCI熱插拔技術對於網絡卡、電源、風扇、SCSI裝置等熱插拔硬體的應用來說意義重大,因為它是這些裝置得以實現熱插拔功能的基礎。當然這裡還有一個標準問題,因為PCI匯流排體系結構的改變就意味著硬體介面標準的改變,所以必須制定統一的工業標準,技術才能獲得推廣。

    自從PCI規範標準化後,PCI熱插拔技術也就得到了硬體方面的支援,但它還需要通過軟體來完善和實現。首先是***作系統的支援,微軟在Windows 2000系統中支援PCI熱插拔功能的是“高階配置和電源介面”(ACPI)規範,通過遮蔽每個熱插拔控制器來實現硬體的熱插拔,以及線上升級(也就是熱升級)。惠普在微軟的ACPI規範的基礎上又做了進一步改進,開發出“PCI Hot Plug Utility”遠端管理工具,可以在***作系統不支援熱插拔功能的情況下,用統一的管理平臺統一呼叫和管理遠端網路系統中的PCI熱插拔插槽。而且惠普還對插槽進行了專用積體電路(ASIC)來控制熱插拔裝置時插槽的電流穩定性。顯而易見,HP的ProLiant伺服器由此獲得了兩種軟體支援熱插拔裝置的途徑,***作系統或者是PCI Hot Plug Utility管理工具。 

    有了PCI匯流排的支援,帶電插拔伺服器中的SCSI裝置、網絡卡、電源、風扇等自然變得輕而易舉。而其它幾種目前較新的匯流排技術都是不同程度地從PCI匯流排升級得到的,在熱插拔方面,不僅完全繼續,而且還有相當大的提高,因為它們基本上(不是全部,PCI-X仍屬於並行結構)都是從傳統的並行向最新的序列介面技術轉變,同一時刻的單一傳輸任務和極少的插針,使得采用這些介面的裝置在熱插拔時,對系統及自身的影響都遠小於並行匯流排的PCI裝置。這些新型的匯流排技術基本上都很容易地實現了對熱插拔技術的支援,就像USB和SATA介面技術一樣。正因如此,採用這些新型匯流排技術的網絡卡、硬碟陣列卡等裝置也就全面繼承並擴充套件了對熱插拔技術的支援。這裡要簡單介紹的是IBM的Active PCI-X(活動PCI-X)技術。

    Active PCI-X是IBM原來在大型機,現在是其企業級x架構伺服器中普遍使用的一種熱插拔技術。PCI-X 技術充分利用了 PCI 匯流排的廣泛性,對常規 PCI 匯流排進行了改進和 I/O 升級。PCI-X技術在常規 PCI 匯流排頻寬的基礎上,將匯流排容量提高了八倍多 - 從32位、33-MHz PCI匯流排的133 MB/s提高到64位、133-MHz PCI-X匯流排的1066 MB/s。它增強了PCI協議,開發了一個工業標準的互連結構,原始頻寬超過每秒1千兆位元組(GB/s),將滿足企業計算系統今後的頻寬需求。PCI-X匯流排在介面卡級和系統級上提供對PCI匯流排的向後相容性。

    IBM在成功實現Active PCI(活動PCI)技術的基礎之上,在基於企業級伺服器X架構設計的一些X系列伺服器中引入同時支援PCI和PCI-X兩種介面卡介面的Active PCI-X(活動PCI-X)技術。活動PCI-X匯流排技術就為IBM提供了提升伺服器總體效能的另一個解決方案。活動PCI-X的主要特性如下:

    熱交換 (Hot Swap):允許在不用關閉和重啟伺服器的情況下更換介面卡。
    熱新增(Hot add):提供了一種容易的升級方式,允許在伺服器執行的狀態下新增新的介面卡(在工業標準中IBM是第一個提供這種效能的)。
    切換(Failover):允許在主介面卡出現故障的情況下極快地用另一個備用介面卡接替原來介面卡的工作繼續執行。

PCI及其它幾種匯流排型別裝置的熱插拔支援解決了,但要實現伺服器記憶體的熱插拔,僅僅依***PCI匯流排技術當然還不能完全解決。於是那些像IBM、HP這樣的頂級伺服器巨頭就開始了自己的記憶體糾錯技術的研究,相繼出臺了Chipkill和Advanced ECC記憶體糾錯技術,比起傳統的ECC技術來說,在發現和糾正記憶體錯誤能力上有了相當大的提高,因為它們都可以實現4位元的記憶體糾錯。

    儘管如此,這樣簡單的少數位元位發生錯誤的情況在整個記憶體錯誤中所佔的比例仍不是很高,還有相當大一部分記憶體錯誤並不屬於這一類,而是出現多位元位,甚至是硬體出現損壞,這時以上的幾種糾錯技術也就無能為力了。於是IBM、HP等伺服器巨頭又開始想其它辦法了。同樣相繼開發了多種不同級別的記憶體保護技術,如IBM的記憶體保護(Memory ProteXion)技術、記憶體映象(Memory Mirroring)技術、記憶體熱新增/交換(Memory Hot-add/swap)技術;HP的映象記憶體(Mirroring Memory)技術、線上記憶體備份(Online Spare Memory Mode)技術和熱插拔陣列記憶體技術(Hot Plug RAID Memory)等。

    當然以上並不是伺服器熱插拔技術的全部,就整個熱插拔技術來說,還是相當複雜的廣泛的。前面我們介紹到了,基本的PCI類介面卡、電源和風扇熱插拔比較容易實現,記憶體的熱插拔實現較難,但處理器和伺服器本身的熱插拔就更難了,它涉及到許多比較深的技術,如處理器擴充套件、邏輯分獲和伺服器群集等,在此就不一一介紹了。