我們?cè)谑褂糜?jì)算機(jī)系統(tǒng)的時(shí)候,一個(gè)部件損壞如磁盤等,往往就需要斷電之后才能操作。斷電操作對(duì)于個(gè)人電腦可能沒有什么影響,但是對(duì)于大型系統(tǒng),一旦斷電停止運(yùn)營(yíng),影響巨大。這時(shí)候熱插拔技術(shù)就派上用場(chǎng)了。熱插拔是何方神圣,能解決能讓系統(tǒng)在不斷電的情況下完成各種損壞修復(fù)操作嗎?我們一起來(lái)看一下。
所謂熱插拔(hot-plugging或Hot Swap)即帶電插拔技術(shù),熱插拔是允許用戶在不關(guān)閉系統(tǒng),不切斷電源的情況下取出和更換損壞的硬盤、電源或板卡等部件,從而提高了系統(tǒng)對(duì)災(zāi)難的及時(shí)恢復(fù)能力、擴(kuò)展性和靈活性等,例如一些面向高端應(yīng)用的磁盤鏡像系統(tǒng)都可以提供磁盤的熱插拔功能。具體用學(xué)術(shù)的說(shuō)法就是:熱替換(Hot replacement)、熱添加(hot expansion)和熱升級(jí)(hot upgrade)。
從硬件層面講,卡槽的 PCIe 引腳 PRSNT2#能夠隨著外接設(shè)備的接入和拔出得到不同的電平,從而觸發(fā)熱插拔事件, 如下圖。PCIe3.0 協(xié)議規(guī)定了多個(gè)熱插拔事件和熱插拔支持功能,如 Attention Button,電源控制(Power Control) 等,各類服務(wù)器對(duì)熱插拔的支持也不相同。最基礎(chǔ)的,熱插拔卡槽需要具備產(chǎn)生 Presence Status Change 事件的能力。
PCIe Capabilities 寄存器提供了熱插拔相關(guān)配置和狀態(tài)信息。在 PBlaze5 PCIe SSD接入系統(tǒng)后,可通過(guò) lspci –t 查看 其對(duì)應(yīng)的 PCIe 卡槽信息,下文中 bus:dev.function 均表示的是熱插拔測(cè)試中與 PBlaze5 對(duì)應(yīng)的 PCIe 卡槽。
需要指出的是,熱插拔事件可以由 BIOS(ACPI)處理,也可以由操作系統(tǒng)處理,Memblaze 推薦由操作系統(tǒng)處理的方式,如果 BIOS 中有 ACPI hot-plug 選項(xiàng),請(qǐng)選擇否。此外,相對(duì)于 Linux 原生驅(qū)動(dòng),Memblaze 提供的驅(qū)動(dòng)進(jìn)一步完善對(duì) hotplug 的支持,推薦使用。
系統(tǒng)中加入熱插拔的好處包括:
1、在硬件電路系統(tǒng)中加入熱插拔的第一個(gè)好處在于,用戶或技術(shù)工程師可以在系統(tǒng)開機(jī)情況下安全的將損壞的模塊移除,還可以在開機(jī)情況下做更新或擴(kuò)充動(dòng)作而不影響系統(tǒng)操作。這樣就為在系統(tǒng)正常運(yùn)轉(zhuǎn)的情況下完成故障維修而提供了技術(shù)支持,不會(huì)耽誤系統(tǒng)正常運(yùn)行。
2、在硬件電路系統(tǒng)中加入熱插拔技術(shù),還有第二個(gè)好處,那就是能夠減少故障分析的成本費(fèi)用。由于目前熱插拔零件的可靠度得到大幅度提升,工程師可以將它們用做斷電器,而且因?yàn)闊岵灏文軌蜃詣?dòng)恢復(fù),有很多熱插拔芯片為系統(tǒng)提供線路供電情況的信號(hào),以便系統(tǒng)做故障分析,因此減少了成本。 正是因?yàn)榫邆淞艘陨蟽蓚€(gè)主要優(yōu)勢(shì),因此熱插拔技術(shù)近年來(lái)在一些需要高可靠度的系統(tǒng)中得到了廣泛的應(yīng)用,國(guó)內(nèi)的通信電源系統(tǒng)基本上都已經(jīng)具備了這一技術(shù)。同時(shí),熱插拔技術(shù)也同樣可以在儲(chǔ)存設(shè)備的電源供應(yīng)中得到應(yīng)用,因此這些設(shè)備需要在系統(tǒng)不斷電的情況下更換儲(chǔ)存設(shè)備或更新。
熱插拔最早出現(xiàn)在服務(wù)器領(lǐng)域,是為了提高服務(wù)器易用性而提出的。在我們平時(shí)用的電腦中一般都有USB接口,這種接口就能夠?qū)崿F(xiàn)熱插拔。如果沒有熱插拔功能,即使磁盤損壞不會(huì)造成數(shù)據(jù)的丟失,用戶仍然需要暫時(shí)關(guān)閉系統(tǒng),以便能夠?qū)τ脖P進(jìn)行更換。而使用熱插拔技術(shù)只要簡(jiǎn)單的打開連接開關(guān)或者轉(zhuǎn)動(dòng)手柄就可以直接取出硬盤,而系統(tǒng)仍然可以不間斷地正常運(yùn)行。
熱插拔非常適合用于高可靠度的系統(tǒng),如通信電源系統(tǒng)、伺服器電源系統(tǒng)等,也可以用于儲(chǔ)存設(shè)備的電源供應(yīng),因此這些設(shè)備需要在系統(tǒng)不斷電的情況下更換儲(chǔ)存設(shè)備或更新。熱插拔也適合于體積較小但可靠度要求很高的電源系統(tǒng),包括一些主要的規(guī)范,如PCI、PCIe、USB、1394等,因此應(yīng)用相當(dāng)廣泛。