文/趙佳釤 李坤倫 徐江 李院春
近年來(lái),云計(jì)算、大數(shù)據(jù)、人工智能等新興技術(shù)的高速發(fā)展,使數(shù)據(jù)中心的規(guī)模和設(shè)備數(shù)不斷增加。數(shù)據(jù)中心機(jī)房作為新興技術(shù)的承載體,在確保業(yè)務(wù)連續(xù)性上的重要性不言而喻。數(shù)據(jù)中心設(shè)備,如服務(wù)器、交換機(jī)等,對(duì)機(jī)房的環(huán)境要求較高。溫濕度過(guò)高或過(guò)低都會(huì)影響設(shè)備的穩(wěn)定性和可靠性,嚴(yán)重時(shí)還可能會(huì)損壞設(shè)備。按照國(guó)家制定的《電子信息系統(tǒng)機(jī)房設(shè)計(jì)規(guī)范》,數(shù)據(jù)中心機(jī)房根據(jù)其使用性質(zhì)、管理要求及在經(jīng)濟(jì)和社會(huì)中的重要性,可劃分為A、B、C三級(jí)。其中,A類和B類機(jī)房要求溫度為23±1℃,濕度為40%~55%。因此,機(jī)房溫濕度是衡量數(shù)據(jù)中心環(huán)境是否良好的重要指標(biāo)。同時(shí),當(dāng)上層業(yè)務(wù)負(fù)載集中在某一部分節(jié)點(diǎn)上時(shí),會(huì)導(dǎo)致部分機(jī)柜及服務(wù)器的溫度過(guò)高,節(jié)點(diǎn)性能出現(xiàn)瓶頸。通過(guò)對(duì)每個(gè)機(jī)柜的溫度監(jiān)測(cè),可以初步判斷出機(jī)柜中服務(wù)器的負(fù)載或故障情況。從而,做出針對(duì)性的機(jī)柜負(fù)載均衡和業(yè)務(wù)遷移方案。為此,本文提出一種機(jī)房溫濕度智能監(jiān)測(cè)預(yù)警系統(tǒng)的設(shè)計(jì)方案,通過(guò)對(duì)機(jī)房中多個(gè)溫濕度監(jiān)測(cè)終端監(jiān)測(cè)到數(shù)據(jù)的挖掘分析,實(shí)現(xiàn)機(jī)房故障的智能預(yù)警、業(yè)務(wù)的智能調(diào)整。
機(jī)房溫濕度智能監(jiān)測(cè)系統(tǒng)的邏輯架構(gòu)如圖1所示,該架構(gòu)可分為三層。其中,基礎(chǔ)設(shè)備層主要由溫濕度監(jiān)測(cè)終端組成,負(fù)責(zé)采集各個(gè)點(diǎn)的溫濕度數(shù)據(jù)并發(fā)送給上層控制器??刂茖又饕侵笢貪穸缺O(jiān)測(cè)控制器,它主要由兩方面的職責(zé)。
(1)向下管理分布在機(jī)房各個(gè)節(jié)點(diǎn)的溫濕度監(jiān)測(cè)設(shè)備,采集并持久化溫濕度數(shù)據(jù);
(2)向上為上層應(yīng)用提供開(kāi)放API。
不同于傳統(tǒng)的監(jiān)測(cè)預(yù)警系統(tǒng),本文提出的智能預(yù)警系統(tǒng)有以下兩方面的特點(diǎn):
(1)集中化管理。通過(guò)控制層的集中化管理,實(shí)現(xiàn)對(duì)不同監(jiān)測(cè)設(shè)備的高效、靈活管理。
(2)開(kāi)放編程接口。溫濕度監(jiān)測(cè)控制器提供開(kāi)放可編程接口,通過(guò)該方式,上層管理應(yīng)用只需關(guān)注自身業(yè)務(wù)邏輯,無(wú)需關(guān)注底層的實(shí)現(xiàn)細(xì)節(jié)。
系統(tǒng)中設(shè)備層和控制層之間主要依托設(shè)備管理協(xié)議相互通信。協(xié)議主要包含對(duì)底層監(jiān)測(cè)設(shè)備的管理、監(jiān)測(cè)數(shù)據(jù)的傳輸處理等。當(dāng)溫濕度監(jiān)測(cè)設(shè)備首次接入系統(tǒng)時(shí),設(shè)備中運(yùn)行的Agent向控制器發(fā)送連接請(qǐng)求信息,溫濕度監(jiān)測(cè)控制器在接收到連接請(qǐng)求后做出響應(yīng),并記錄監(jiān)測(cè)設(shè)備的信息,如IP、MAC、位置等,將其加入設(shè)備資源池。在監(jiān)測(cè)設(shè)備接入系統(tǒng)后,Agent會(huì)以固定的時(shí)間周期向控制器發(fā)送心跳消息,當(dāng)控制器長(zhǎng)時(shí)間未接收到來(lái)自監(jiān)測(cè)設(shè)備的心跳消息時(shí),控制器即認(rèn)為該設(shè)備已發(fā)生故障,并告知上層應(yīng)用。在設(shè)備正常運(yùn)行時(shí),Agent會(huì)以固定的時(shí)間間隔向控制器推送監(jiān)測(cè)到的溫濕數(shù)據(jù)。
為使溫濕度監(jiān)測(cè)預(yù)警系統(tǒng)免受數(shù)據(jù)中心網(wǎng)絡(luò)的影響,本文采用了網(wǎng)絡(luò)隔離的方式,即在數(shù)據(jù)中心自組單獨(dú)的無(wú)線網(wǎng)絡(luò)。無(wú)線監(jiān)測(cè)設(shè)備通過(guò)無(wú)線網(wǎng)絡(luò)和控制器保持通信。系統(tǒng)的物理拓?fù)淙鐖D2所示,網(wǎng)絡(luò)隔離的無(wú)線設(shè)備安裝在數(shù)據(jù)中心機(jī)房,并同控制器相連。無(wú)線監(jiān)測(cè)終端則通過(guò)無(wú)線網(wǎng)絡(luò)和控制之間相互通信。
在系統(tǒng)實(shí)現(xiàn)中,溫濕度監(jiān)測(cè)終端選取開(kāi)源的NodeMCU,溫濕度傳感器則采用靈敏度較高的DHT11,如圖3所示。其中,NodeMCU是一個(gè)開(kāi)源的物聯(lián)網(wǎng)平臺(tái),可采用Python和Lau語(yǔ)言編程,底層采用ESP8266并集成了低功耗Wi-Fi模塊,無(wú)需外部設(shè)備即可接入無(wú)線網(wǎng)絡(luò)、實(shí)現(xiàn)無(wú)線通信,在成本、功耗和體積上都存在巨大的優(yōu)勢(shì)。與此同時(shí),NodeMCU還提供豐富的接口連接外圍設(shè)備。DHT11數(shù)字溫濕度傳感器則是一款含有已校準(zhǔn)數(shù)字信號(hào)輸出的溫濕度復(fù)核傳感器,具有體積小、功耗低、信號(hào)傳輸距離遠(yuǎn)等特點(diǎn)。NodeMCU可以通過(guò)串口和DHT11相連,DHT11傳感器將采集到的實(shí)時(shí)數(shù)據(jù)轉(zhuǎn)換成數(shù)字信號(hào)傳輸給NodeMCU。NodeMCU再將傳感器采集到的數(shù)據(jù)通過(guò)無(wú)線網(wǎng)絡(luò)發(fā)送給控制器。
機(jī)房溫度過(guò)高對(duì)機(jī)房設(shè)備的影響很大,可能造成不可估量的后果。因此,機(jī)房預(yù)警系統(tǒng)告警消息推送的及時(shí)性至關(guān)重要。目前,告警消息推送的主要途徑一般有三種,分別為短信告警、微信消息告警和郵件告警。其中,短信消息告警需要和短信消息平臺(tái)對(duì)接,微信消息告警依賴于微信企業(yè)號(hào),郵件告警則需要配置專有的郵箱。在消息提醒的及時(shí)性及故障率上,微信消息告警要優(yōu)于其他兩種。所以,系統(tǒng)的溫濕度預(yù)警模塊采用微信消息推送的方式。經(jīng)測(cè)試,告警消息推送的時(shí)延可保持在30秒以內(nèi)。
隨著互聯(lián)網(wǎng)的發(fā)展,中小型機(jī)房越來(lái)越普遍,做好機(jī)房溫濕度的監(jiān)控預(yù)警越來(lái)越重要。本文提出的機(jī)房溫濕度監(jiān)測(cè)預(yù)警系統(tǒng)主要面向中小型機(jī)房,通過(guò)在機(jī)柜上部署溫濕度監(jiān)測(cè)終端,采集機(jī)房各個(gè)點(diǎn)的溫濕度數(shù)據(jù),并將其推送給控制器,再由控制器集中通過(guò)API的方式將采集到的數(shù)據(jù)提供給溫濕度查看管理、溫濕度預(yù)警等上層應(yīng)用使用。
圖1:系統(tǒng)邏輯架構(gòu)圖
圖2:系統(tǒng)物理拓?fù)鋱D
圖3:監(jiān)測(cè)終端實(shí)物圖