林 皎,徐偉平,張武生,楊廣文
(清華大學 清華信息科學與技術國家實驗室(籌),北京 100084)
隨著信息科學技術,特別是計算機硬件和軟件的飛速發展,科學研究的方式發生了劃時代的深刻變化。計算科學正成為現代科學研究又一重要研究手段,并極大地影響著各科研領域的發展。2005年,清華信息科學與技術國家實驗室(籌)(以下簡稱國家實驗室)建立了“探索3號”高性能計算平臺;2011年,校“985”三期投資3 000萬元建設“探索100”百萬億次集群計算機,系統的理論浮點峰值計算性能達到104TFlops,其計算能力2011年在全國高校居首位。高性能計算平臺成為清華大學校級公共服務平臺,為校內外高性能計算用戶提供重要的平臺支撐。
建立完備設備管理方法及高效的系統運維模式是高性能計算平臺管理的最基礎工作之一。良好的設備狀態、安全的機房環境是平臺運行的基本保證,穩定的集群機系統計算環境是吸引用戶的核心競爭力之一。本文從設備管理及系統運維2個方面具體闡述高性能計算平臺硬件管理的做法,供同行參考。
集群機系統設備管理主要分為機房管理及集群機硬件管理2部分:機房管理主要包括空調、UPS等集群外圍設備的安全管理;集群機硬件管理包括組成集群內部各類型設備的檢查與維修。作為百萬億次超級計算設備,其設備管理存在諸多難點:(1)設備類型復雜、數量眾多。集群機包含近千臺計算服務器及管理服務器、大型交換機、磁盤整列、空調、水冷機柜、UPS等各類設備,任何設備出現故障都會對平臺運行有不同程度的影響;(2)集群系統全年24h開機服務,使設備故障發生率提高,管理難度加大;(3)某些故障一旦發生、后果嚴重。由于集群系統采用的高密度集成構建方式,空調等設備發生故障未及時發現,機房溫度在幾分鐘之內可以上升至50℃~60℃,導致硬件設備損壞甚至火災的危險。綜上所述,加強設備管理可以有效保證整個系統平穩、安全運行,對整個平臺管理具有重要的基礎支撐作用。
為實現對機房內空調、機柜、室內溫度方面有效監控,高性能計算平臺設計并安裝、實施了機房監控系統,實現了對機房各類設備的24h實時監控[1-2]。系統通過數據采集器采集數據,再通過總線傳輸到監控服務器上;服務器對數據進行處理和存儲,發生故障時立即發出警報。平臺直接把機房監控系統連接到大樓物業監控室,物業人員通過終端(見圖1)完成機房狀態的實時監控,一旦發現溫度異常或漏水等故障,物業中控室的警報器將自動報警;平臺工作人員可以通過網絡遠程查看機房狀態。機房監控系統實現機房狀態無人值守式管理,大大提高了機房管理效率。
在實施機房監控系統的同時,平臺還建立了完善的設備管理制度。系統監控與人工監控相結合,多層次、全方位地完善設備管理,保證各類設備的安全運行。物業管理人員除通過監控系統進行實時監控之外,還需要每2h到機房對機房空調、機柜溫度、水槽水位等設備實際狀態進行檢查,并做好記錄工作。平臺管理人員每天3次對機房環境、各類設備狀態進行認真檢查,發現設備故障及時解決,防止出現安全隱患。此外,特殊季節提前做好設備檢修。如:春季柳絮較多,容易造成空調堵塞,需要進行定期清理;夏季雨季之前,做好機房防水工作;入冬以前,檢查水冷空調防凍系統是否正常。每年集群機利用學校停電檢修的一段時間,讓廠商對所有設備進行檢修。完善的設備管理制度有利地保證硬件設備的平穩、安全運行,為平臺計算服務提供基礎支撐。

圖1 機房監控系統監控界面
集群系統環境穩定是衡量高性能計算平臺服務質量優劣的重要因素之一[3-5]。集群機的系統運維存在著很多難點:(1)服務器類型復雜,數量眾多。根據不同使用需求系統分為:登錄節點、測試節點、計算節點、IO節點等類型;不同類型服務器配置不同,故障原因也多種多樣;整個系統有上千的服務設備,無法采用人工模式完成系統運維。(2)故障類型眾多,影響很大。如某些作業異常退出后,進程殘留在系統中占用系統資源,導致系統計算性能下降;又如由于程序在磁盤讀寫中狀態異常容易發生磁盤掛載故障。如果一個節點磁盤掛載出現問題,提交到該節點的作業將異常退出,影響整個并行作業的計算。(3)故障發生不可預測。集群機采用用戶24h網絡訪問的方式對外提供服務。用戶使用方式或計算模型不當都會導致網絡沖突、內存溢出等類型的故障。綜上所述,只有研制開發自動化的集群運維系統,才能有效解決以上各類系統問題,使集群系統保持穩定、高效的運行狀態,提高服務質量。
集群檢測及恢復系統是自主開發的集群系統管理工具。系統可以根據不同設備的使用特點,以不同頻度對系統近千個服務器及相關設備進行定期故障檢測,并根據故障原因進行自動系統修復。根據設備類型不同,共分為4類檢測:登錄節點及測試服務器檢測與修復、計算服務器檢測與修復、系統死機檢測與修復和并行文件系統檢測。集群檢測及修復系統實現無人值守式系統運維,大大減少了管理員系統運維工作量,提高了集群機管理效率。
集群檢測及修復系統通過Python語言開發完成,軟件包安裝在整個系統管理節點上(如圖2所示)。管理節點與服務器通過2類接口完成以下操作:
(1)系統級操作。通過千兆網可直接訪問和控制操作系統,完成操作。
(2)通過千兆網連接IPMI接口,直接實現對服務器低層硬件控制。此外,系統還需要通過lsf作業管理系統獲取當前狀態作業運行及節點狀態。

圖2 集群檢測及修復系統示意圖
2.2.1 登錄節點及測試服務器檢測與修復
系統登錄節點及測試服務器是用戶訪問最頻繁的設備。用戶通過登錄節點進入集群系統,完成作業提交工作,測試服務器則為所有用戶提供公共的程序調試環境。這2類節點一旦發生故障,直接影響所有用戶使用。因此,對于這2類服務器系統每15min進行一次檢測。檢測的內容包括:系統是否死機、文件系統掛載是否正常、lsf作業管理系統狀態是否正常。檢測流程如下:

2.2.2 計算節點狀態的檢測與修復
計算節點是集群系統提供計算服務的核心。用戶計算任務通過lsf作業管理系統分配到空閑的計算節點上,因此,系統開放的計算資源一定要保持健康,否則將影響整個系統運行。前文提到的滯留進程及磁盤掛載問題是節點狀態監測的主要內容。此外,網絡故障、系統當機等問題,一旦出現也需要立即修復。
滯留進程故障排除是系統故障檢測的難點,管理員需要準確區分哪些是正常的計算進程,哪些是異常的滯留進程。系統檢測采用的方法是:通過lsf作業管理系統收集每個作業使用的計算節點信息,分析出占用每臺計算節點的用戶使用情況,將合法用戶以外的其他用戶進程視為滯留進程予以刪除。圖3為計算節點狀態檢測與修復流程圖,系統每4h進行一次計算節點狀態檢測與修復。

圖3 計算節點狀態檢測與修復流程圖
2.2.3 死機節點的檢測與修復
該部分主要檢測硬件已啟動,但是由于各種原因,lsf作業管理系統也存在無法識別的計算節點。造成這類現象的原因很多:①lsf服務啟動問題;②由于網絡沖突、內存溢出等原因造成的系統死機;③由于硬件故障系統啟動異常。由于這部分節點不影響系統計算,系統每12h進行死機節點的修復與檢測。圖4是檢測及修復流程圖。

圖4 死機節點狀態的檢測與修復流程圖
2.2.4 并行文件系統檢測
“探索100”采用的是lustre并行文件系統,用戶可以通過多個通道并行進行,從而提高讀寫效率。但是,由于所有文件目錄需要通過公共的存儲管理節點mds完成,如果系統文件數量多、占用容量大將增加mds節點的運行負荷,降低整個文件系統的讀寫性能,進而影響整個系統的計算效率。并行文件系統lustre管理要求只存放計算所需的短期數據。系統每周對整個文件系統進行檢測。為避免系統命令du查詢大型文件系統所帶來的死機故障,采用文件數深度搜索的方式進行文件查找,并統計每個用戶目錄下所有文件個數及數據占用量。管理員根據查詢結果通知文件數量過大、磁盤占用量過多的用戶進行數據清理。
建立完備的設備管理方法及高效的系統運維模式是高性能計算平臺管理的最基礎工作之一。在設備管理中,采用自動化與人工管理相結合的方式,建立了完善的設備管理制度保證整個集群設備安全運行;集群系統運維中,自主開發了集群機自動檢測及修復系統,實現了無人值守系統運維模式,保證了集群系統的穩定性。目前,設備管理與系統運維系統已經應用于清華“探索100”百萬次超級計算系統管理,為校內外用戶提供了穩定、高效的高性能計算環境。
(
)
[1]李穎.鉆井工程技術研究院機房監控系統的設計與實現[J].中國科技信息,2010(3):117-119.
[2]劉秀麗,孫紅,王繼光.機房監控報警系統的設計與實現[J].中國電力教育,2011(36):116-117.
[3]林皎,陳玉潔,張武生,等.高性能計算平臺建設的探索與實踐[J].實驗技術與管理,2012,29(5):217-220.
[4]嚴雋琪.上海高性能計算公共服務平臺[J].工業工程與管理,2005(1):1-5.
[5]周琪鋒.開放實驗室創新模式的探索[J].實驗技術與管理,2008,25(12):176-178.