本發(fā)明涉及數(shù)據(jù)快速存儲和讀取的方法,屬于計算機技術領域,具體涉及一種易于查看的云服務器電源blackbox設計方法。
背景技術:
服務器電源就是指使用在服務器上的電源,它和個人計算機使用的電源一樣,都是一種開關電源。服務器電源按照標準可以分為atx電源和ssi電源兩種。服務器電源在出現(xiàn)故障的時候為了定位故障問題需要將故障信息寫在電源內(nèi)部供故障排查使用,即blackbox數(shù)據(jù),中文稱為黑盒故障日志。
針對blackbox數(shù)據(jù)記錄,現(xiàn)有的方案多是直接將多組數(shù)據(jù)直接放在一個寄存器中,需要使用的時候?qū)⑦@個地址位信息全部讀取出來,再根據(jù)特定的段位解析相應的數(shù)據(jù)。服務器內(nèi)部讀取電源信息的指令對讀取長度有要求,當blackbox設計的長度大于服務器本身的要求時,指令就無法讀取電源blackbox信息,必須將電源從服務器中拿出來使用服務器廠商的工具進行解析,不便于現(xiàn)場人員操作,有時也不能滿足客戶的故障分析要求。
如中國專利(申請?zhí)朿n201611208065.0)公開了“一種基于服務器架構(gòu)的服務器監(jiān)控系統(tǒng)”,服務器電源數(shù)據(jù)獲取模塊用于獲取電源的溫度,功耗,輸出電流,輸出電壓,在位狀態(tài)信息,故障狀態(tài)信息;處理器接收風扇數(shù)據(jù)獲取模塊、硬盤數(shù)據(jù)獲取模塊、服務器電源數(shù)據(jù)獲取模塊發(fā)送的數(shù)據(jù)信息,并將接收的數(shù)據(jù)信息儲存至數(shù)據(jù)儲存模塊,同時將接收的數(shù)據(jù)信息在顯示單元上顯示,當接收的數(shù)據(jù)信息超出閾值時,在顯示單元上發(fā)出提示信息。在服務器的日常使用及運維中要求能夠?qū)崟r監(jiān)控服務器的運行參數(shù),并將服務器運行參數(shù)信息及服務器故障信息實現(xiàn)可視化,實時對服務器內(nèi)部元件及模塊進行監(jiān)控,保證服務器運行穩(wěn)定。該發(fā)明通過可視化電源的不同參數(shù)值,有利于提高對服務器的監(jiān)控和運行,但對于電源故障blackbox長度大于服務器本身的要求時,指令就無法讀取blackbox信息的問題未有涉及,不便于操作人員對電源故障原因進行分析判斷,進而采取有效的解決措施。
技術實現(xiàn)要素:
本發(fā)明提供一種易于查看的云服務器電源blackbox設計方法,用于解決在服務器內(nèi)部讀取指令小于blackbox設計的長度時,導致指令無法讀取電源blackbox信息的問題,方便現(xiàn)場人員對電源故障進行分析和操作,從而有針對性的解決服務器電源使用中存在的問題。
本發(fā)明通過以下技術方案予以實現(xiàn):
一種易于查看的云服務器電源blackbox設計方法,包括服務器電源以及多個寄存器,包括以下步驟:
s1、當服務器電源發(fā)生故障時,將故障時刻的數(shù)據(jù)按類別區(qū)分,并儲存至不同的寄存器中,此次故障數(shù)據(jù)以page編碼方式標識;
s2、按照s1的步驟記錄下次服務器電源發(fā)生故障時刻的數(shù)據(jù),同一寄存器中存放故障時刻的數(shù)據(jù)類別相同;
s2、當查詢服務器電源故障信息以排查故障時,根據(jù)故障發(fā)生的時刻指令切換到對應的page編碼,再使用標準的pmbus規(guī)范指令讀取分別存儲在不同寄存器中的故障時刻的數(shù)據(jù),然后根據(jù)讀取和解析到的數(shù)據(jù)完成服務器電源故障原因的排查和確認。
如上所述的一種易于查看的云服務器電源blackbox設計方法,所述步驟s1中寄存器設置有4個。
如上所述的一種易于查看的云服務器電源blackbox設計方法,所述步驟s1中4個寄存器設中按類別儲存的數(shù)據(jù),分別為故障時刻對應的輸入電壓、輸入電流、輸出電壓、入風口溫度數(shù)值。
如上所述的一種易于查看的云服務器電源blackbox設計方法,所述步驟s1中按類別儲存在寄存器的數(shù)據(jù)長度范圍在1~15個bytes之間。
如上所述的一種易于查看的云服務器電源blackbox設計方法,所述步驟s1中故障數(shù)據(jù)按page編碼方式標識的范圍為5~15個之間。
與現(xiàn)有技術相比,本發(fā)明的優(yōu)點是:
1、通過將服務器電源故障信息數(shù)據(jù)從現(xiàn)有的單一寄存器存放,更改為多個寄存器存放,可有效解決blackbox數(shù)據(jù)長度過長時服務器指令無法讀取數(shù)據(jù)的的問題。
2、本發(fā)明能用于所有支持pmbus的服務器系統(tǒng),在不使用任何腳本或者軟件的情況下,直接通過ipmitool指令讀取故障數(shù)據(jù)進行電源故障分析,便于研發(fā)和客服人員讀取電源故障信息,節(jié)省問題分析時間。
3、本發(fā)明可形成模塊設計和產(chǎn)品,用于后續(xù)的各類服務器上,滿足用戶對服務器電源管理功能的需求,降低產(chǎn)品開發(fā)成本。
附圖說明
為了更清楚地說明本發(fā)明實施例或現(xiàn)有技術中的技術方案,下面將對實施例或現(xiàn)有技術描述中所需要使用的附圖作一簡單地介紹。
圖1是現(xiàn)有的服務器電源故障數(shù)據(jù)blackbox存取示意圖;
圖2是本發(fā)明的服務器電源故障數(shù)據(jù)blackbox存取示意圖。
具體實施方式
為使本發(fā)明實施例的目的、技術方案和優(yōu)點更加清楚,下面將結(jié)合本發(fā)明實施例中的附圖,對本發(fā)明實施例中的技術方案進行清楚、完整地描述,顯然,所描述的實施例是本發(fā)明一部分實施例,而不是全部的實施例。
一種易于查看的云服務器電源blackbox設計方法,包括服務器電源以及多個寄存器,包括以下步驟:
s1、當服務器電源發(fā)生故障時,將故障時刻的數(shù)據(jù)按類別區(qū)分,并儲存至不同的寄存器中,此次故障數(shù)據(jù)按page編碼方式標識;
s2、按照s1的步驟記錄下次服務器電源發(fā)生故障時刻的數(shù)據(jù),同一寄存器中存放故障時刻的數(shù)據(jù)類別相同;
s2、當查詢服務器電源故障信息以排查故障時,根據(jù)故障發(fā)生的時刻指令切換到對應的page編碼,再使用標準的pmbus規(guī)范指令讀取分別存儲在不同寄存器中的故障時刻的數(shù)據(jù),然后根據(jù)讀取和解析到的數(shù)據(jù)完成服務器電源故障原因的排查和確認。
具體而言,本實施例將電源blackbox信息分別寄存在pin、iin等多個獨立的寄存器內(nèi),然后根據(jù)需要單獨從以上寄存器讀取故障信息,同時為了區(qū)分每一次記錄的信息,按照page方式存放,這樣在任何服務器中都可以簡單操作且不用擔心數(shù)據(jù)指令長度超出服務器內(nèi)要求。
其中,balckbox信息存放的原理如下:
電源發(fā)生故障時會將故障時的數(shù)據(jù)進行記錄,根據(jù)發(fā)生的時間放在相應的page中,即,將第一次故障的所有數(shù)據(jù)記錄在page1,第二次記錄在page2,依次遞增至page的最大范圍,然后再進行循環(huán);讀取的時候通過指令切換到相應的page,再根據(jù)標準的pmbus規(guī)范指令進行數(shù)據(jù)讀取。
為進一步清楚的說明,以事件1的記錄為例進行說明,事件1表示其中一次服務器電源故障。
如圖1所示,現(xiàn)有的服務器電源故障數(shù)據(jù)blackbox存取過程如下:
①、當電源發(fā)生事件1故障時,電源會將所需要記錄的數(shù)據(jù)a到數(shù)據(jù)n按照一定順序記錄在一個寄存器中;
②、當需要從電源內(nèi)部獲取事件1故障時,需要將整個寄存器的數(shù)據(jù)讀取出來,一般的事件1對應的服務器電源故障數(shù)據(jù)在幾百個byte,然后截取事件1中數(shù)據(jù)a到數(shù)據(jù)n的數(shù)據(jù),并根據(jù)每個數(shù)據(jù)占有的字節(jié)再分開解析;
③、以上操作普遍適用于廠商自己開發(fā)的腳本,但是在服務器中如果字節(jié)長度過長則無法使用。
如圖2所示,改進后的本發(fā)明服務器電源故障數(shù)據(jù)blackbox存取過程如下:
①、當電源發(fā)生事件1故障時,電源會將所需要記錄的事件數(shù)據(jù)分別記錄在數(shù)據(jù)a到數(shù)據(jù)n對應的寄存器中;
②、當需要從電源內(nèi)部獲取事件1故障時,只需要通過指令切換到page1,然后將使用標準的ipmitool指令讀取數(shù)據(jù)a到數(shù)據(jù)npage1中的數(shù)據(jù)即可;
③、當需要查看事件n的時候,需要切換到pagen,然后按照②中的方法讀取。
需要注意的是n受存儲空間限制,具體根據(jù)存儲空間決定,一般在5~15之間。以上操作不但適用于電源供應商自己讀取數(shù)據(jù),同時也適合在任何支持pmbus的服務器系統(tǒng)讀取,操作更加方便。
結(jié)合圖2,本發(fā)明的具體實現(xiàn)步驟如下:
①、當電源發(fā)生一次故障時,會將故障時刻的數(shù)據(jù),包括輸入電壓、輸入電流、輸出電壓、入風口溫度等信息以一次事件的方式記錄多個寄存器之中;
②、當需要根據(jù)事件1記錄的數(shù)據(jù)排查故障時,需要先將電源切換到page1,page是代表事件中所有數(shù)據(jù)的虛擬頁,實際上就是數(shù)據(jù)a到數(shù)據(jù)n各自寄存器記錄的第一或者第n個數(shù)據(jù)的集合,這樣查看事件1的時候,不至于讀取其他事件的數(shù)據(jù);
③、使用ipmitool指令分別讀取page1中輸入電壓、入風口溫度、輸出電壓、狀態(tài)字等數(shù)據(jù)信息,單個寄存器中每類數(shù)據(jù)的長度只有1-2個,最多不超過15個bytes數(shù)據(jù);
④、根據(jù)讀取和解析到的數(shù)據(jù)判斷事件1具體的故障及可能故障的原因。
按以上步驟,切換到不同的page編碼讀取不同的事件(1至n)信息,即可完成電源故障的排查和確認。除上述數(shù)據(jù)外,還可根據(jù)實際需要記錄電源總的上電時間進行故障發(fā)生事件的判斷等。
本發(fā)明未詳盡描述的技術內(nèi)容均為公知技術。