[go: up one dir, main page]

TWI519945B - 伺服器及用於伺服器停機時間計量的方法和設備 - Google Patents

伺服器及用於伺服器停機時間計量的方法和設備 Download PDF

Info

Publication number
TWI519945B
TWI519945B TW103132197A TW103132197A TWI519945B TW I519945 B TWI519945 B TW I519945B TW 103132197 A TW103132197 A TW 103132197A TW 103132197 A TW103132197 A TW 103132197A TW I519945 B TWI519945 B TW I519945B
Authority
TW
Taiwan
Prior art keywords
state
server
operating system
control variable
control
Prior art date
Application number
TW103132197A
Other languages
English (en)
Other versions
TW201518942A (zh
Inventor
艾利克 勒馮 楊
安德魯 布朗
Original Assignee
惠普研發公司
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 惠普研發公司 filed Critical 惠普研發公司
Publication of TW201518942A publication Critical patent/TW201518942A/zh
Application granted granted Critical
Publication of TWI519945B publication Critical patent/TWI519945B/zh

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/08Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
    • H04L43/0805Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters by checking availability
    • H04L43/0817Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters by checking availability by checking functioning
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3003Monitoring arrangements specially adapted to the computing system or computing system component being monitored
    • G06F11/301Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system is a virtual computing platform, e.g. logically partitioned systems
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3055Monitoring arrangements for monitoring the status of the computing system or of the computing system component, e.g. monitoring if the computing system is on, off, available, not available
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
    • G06F11/3409Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment for performance assessment
    • G06F11/3419Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment for performance assessment by assessing time
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/06Management of faults, events, alarms or notifications
    • H04L41/069Management of faults, events, alarms or notifications using logs of notifications; Post-processing of notifications
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/50Network service management, e.g. ensuring proper service fulfilment according to agreements
    • H04L41/5003Managing SLA; Interaction between SLA and QoS
    • H04L41/5009Determining service level performance parameters or violations of service level contracts, e.g. violations of agreed response time or mean time between failures [MTBF]
    • H04L41/5012Determining service level performance parameters or violations of service level contracts, e.g. violations of agreed response time or mean time between failures [MTBF] determining service availability, e.g. which services are available at a certain point in time
    • H04L41/5016Determining service level performance parameters or violations of service level contracts, e.g. violations of agreed response time or mean time between failures [MTBF] determining service availability, e.g. which services are available at a certain point in time based on statistics of service availability, e.g. in percentage or over a given time
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2201/00Indexing scheme relating to error detection, to error correction, and to monitoring
    • G06F2201/815Virtual
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2201/00Indexing scheme relating to error detection, to error correction, and to monitoring
    • G06F2201/865Monitoring of software

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Quality & Reliability (AREA)
  • Computing Systems (AREA)
  • Probability & Statistics with Applications (AREA)
  • Environmental & Geological Engineering (AREA)
  • Mathematical Physics (AREA)
  • Computer Hardware Design (AREA)
  • Debugging And Monitoring (AREA)
  • Hardware Redundancy (AREA)

Description

伺服器及用於伺服器停機時間計量的方法和設備
本發明係有關具有停機時間計量的伺服器及其方法。
伺服器運行時間(server uptime)為已經使用多年的計量值。該計量值可被用來經由停機時間(downtime)之計算而決定一伺服器的效能。舉例來說,一伺服器可能被判定為具有一可接受臨界值以上的停機時間,從而表示需要以具有較低停機時間之經改善的伺服器來取代該伺服器。
提供一種伺服器,其包括:一伺服器追蹤器,用以:接收用以表示該伺服器之操作健康狀況狀態的至少一第一控制變數信號,該至少一第一控制變數信號表示該操作健康狀況狀態為良好狀態、降級狀態、或是嚴重狀態中的其中一者;以及接收用以表示一作業系統之狀態的至少一第二控制變數信號,該作業系統的狀態為在作業系統驅動程式控制下、在預啟動組件控制下、或是嚴重失效中的其中一者;該伺服器追蹤器會以該第一控制變數信號與該第二控制變數信號為基礎來決定該伺服器的總狀態,該總狀態為運行狀態、降級狀態、排程停機狀態、或是非排程停機狀態中的其中一者;以及一停機時間計量儀,用以追蹤花費在至少該運行狀態、該排程停機狀態、以及該非排程停機狀態中的時間數額。
提供一種方法,其包括:接收複數個控制變數信號用以表示一裝置的一處理器的健康狀況的至少一操作狀態以及該裝置的一作業系統組件的操作狀態,該處理器的健康狀況的操作狀態為良好狀態、降級狀態、或是嚴重狀態中其中一者,該作業系統組件的操作狀態為在作業系統驅動程式控制下、在預啟動組件控制下、或是嚴重失效狀態中的其中一者;以該被收到的複數個控制變數信號為基礎來決定該裝置的總狀態,該總狀態為運行狀態、降級狀態、排程停機狀態、以及非排程停機狀態中的其中一者;以及追蹤花費在至少該運行狀態、該排程停機狀態、以及該非排程停機狀態中的時間數額。
提供一種設備,其包括:一處理器;以及一包含電腦程式碼的記憶體裝置,該記憶體裝置與該電腦程式碼會配合該處理器讓該設備:接收複數個控制變數信號用以表示一裝置的一處理器的健康狀況的至少一操作狀態以及該裝置的一作業系統組件的操作狀態,該處理器的健康狀況的操作狀態為良好狀態、降級狀態、或是嚴重狀態中其中一者,該作業系統組件的操作狀態為在作業系統驅動程式控制下、在預啟動組件控制下、或是嚴重失效狀態中的其中一者;以該被收到的複數個控制變數信號為基礎來決定該裝置的總狀態,該總狀態為運行狀態、降級狀態、排程停機狀態、以及非排程停機狀態中的其中一者;以及追蹤花費在至少該運行狀態、該排程停機狀態、以及該非排程停機狀態中的時間數額。
100‧‧‧範例伺服器裝置
110‧‧‧管理控制器
111‧‧‧管理處理器
112‧‧‧停機時間計量儀組件
114‧‧‧伺服器追蹤器模組
116‧‧‧輔助追蹤器模組
118‧‧‧即時時鐘/備用電池
120‧‧‧伺服器CPU(中央處理單元)
125‧‧‧記憶體裝置
130‧‧‧溫度感測器
135‧‧‧風扇
140‧‧‧電力供應器
145‧‧‧電氣介面
150‧‧‧AC電力供應器
155‧‧‧作業系統驅動程式組件
160‧‧‧ROM BIOS(唯讀記憶體基本輸入/輸出系統)組件
165‧‧‧網路介面
170‧‧‧其它硬體
175‧‧‧使用者控制介面
180‧‧‧軟體應用程式
300‧‧‧組件追蹤器
310‧‧‧開啟或關閉狀態
500‧‧‧伺服器追蹤器
505‧‧‧控制變數
505-1,2‧‧‧控制變數
505-3,4,5‧‧‧控制變數
505-6,7,8‧‧‧控制變數
505-9,10,11‧‧‧控制變數
505-12‧‧‧控制變數
510‧‧‧伺服器追蹤器
520‧‧‧伺服器健康狀況組件
530‧‧‧伺服器控制組件
540‧‧‧作業系統(Operating System,OS)健康狀況組件
550‧‧‧伺服器電力組件
560‧‧‧使用者控制組件
610‧‧‧硬體組件
620‧‧‧作業系統組件
為更完整瞭解本發明的各種範例,現在將配合隨附圖式來參考下面說明,其中: 圖1所示的係一可運用電路板管理控制器停機時間計量儀的範例伺服器裝置;圖2所示的係一範例時間線,用以顯示一範例電路板管理控制器停機時間計量儀的狀態轉換;圖3所示的係一能夠使用在一範例電路板管理控制器停機時間計量儀之中的範例組件追蹤器;圖4A所示的係由一範例電路板管理控制器停機時間計量儀所實施的範例運轉時間(runtime)程序的流程圖;圖4B所示的係當圖4A的運轉時間程序因斷電事件或重置事件而中斷時由一範例電路板管理控制器停機時間計量儀所實施的範例高階程序的流程圖;圖5所示的係一範例伺服器追蹤器組件圖,圖中顯示由一範例電路板管理控制器停機時間計量儀所監視的各種控制變數,以便評估一伺服器的狀態;圖6所示的係由一範例伺服器追蹤器組件所監視的各種伺服器硬體組件與軟體組件,以便評估一伺服器的狀態;圖7所示的係一範例起動狀態圖,圖中顯示在一範例電路板管理控制器停機時間計量儀之起動(startup)處的可能狀態轉換;圖8所示的係一範例運轉時間狀態圖,圖中顯示在一範例電路板管理控制器停機時間計量儀的運轉時間期間所經歷的可能狀態轉換;圖9所示的係在關機事件或重置事件期間由一範例電路板管理控制器停機時間計量儀所實施的活動的範例活動圖;以及 圖10所示的係在開機事件期間由一範例電路板管理控制器停機時間計量儀所實施的活動的範例活動圖。
伺服器運行時間為已經使用多年的計量值。又,於許多情形中,基本上,以其作為效能計量值有缺點,因為其假設所有停機時間都是不好的。相反地,除了其它理由之外,使用者還能夠選擇特定的停機時間來改善電力使用,用以升級舊式的設備。
許多伺服器使用者被預期藉由計算一可利用性計量值(availability metric)來達成與回報可靠度必要條件。典型的可利用性計量值係利用下面的公式來計算,其中,A為可利用性計量值,tup為運行時間,以及Ttotal為總時間:
不幸的係,於某些計算環境中使用此可利用性公式會有缺點。為維持作為硬體供應商及服務提供者的競爭性,應該要能夠以有意義的方式來滿足可利用性必要條件,以便讓客戶能夠精確地判定不受其它硬體及/或軟體影響的真實伺服器可利用性。無法利用上面公式(1)來精確監視的情形的其中一種範例為使用VMware的vMotion®工具的客戶可能會因為有計畫的保養或是為節省電力(舉例來說,因為沒有需求)之類的事情而在伺服器之間遷移虛擬機器。利用公式(1)的習知運行時間計算,停機時間時鐘會在伺服器關機的瞬時便開始計時。然而,在現實世界中,有計畫的保養卻不應被視為真實的停機時間,因為並沒有喪失可利用性。
本文中所述的各種範例運用一管理控制器來持續監視伺服 器硬體狀態資訊,其包含,但是並不受限於:狀態時間持續長度、狀態頻率、以及隨著時間所發生的狀態轉換。從該狀態監視中所推知的資料會被用來決定一預測的伺服器停機時間,其中,該停機時間會將因伺服器硬體與軟體的失效所造成的停機時間週期納入考量並且忽略可歸因於使用者選定之停機時間(舉例來說,保養、升級、省電、…等)的停機時間週期以及該伺服器為可利用但是功能的能力降級的時間。藉由從總監視時間中扣除可歸因於伺服器失效的停機時間,該管理控制器便能夠測量一伺服器的能力,以便符合諸如所謂的五個九(99.999%)可利用性目標的必要條件。為決定已述的可歸因於伺服器的停機時間以及相關的可利用性計量值,該管理控制器可以運用一如本文中所述的停機時間計量儀。
該停機時間計量儀能夠被用來決定可歸因於伺服器失效(硬體失效與軟體失效)的停機時間(在本文中稱為非排程停機時間)以及可歸因於使用者選定之停機時間的排程停機時間(舉例來說,以便實施保養或節省電力)。於其中一範例中,該停機時間計量儀能夠判定運行時間使其不僅反映由一伺服器主導的客戶應用程式的開機時間長度,還會反映該些客戶應用程式為實際可利用的時間長度。當發生伺服器運行中斷時,於某些實施例中,即使沒有AC電例可利用,該停機時間計量儀仍會判斷何事導致該運行中斷以及該運行中斷持續的時間長度。該停機時間計量儀會使用該些排程停機時間與非排程停機時間來決定伺服器的有意義伺服器可利用性計量值。一群或一組伺服器的排程停機時間資料、非排程停機時間資料、以及可利用性計量值會被彙總,舉例來說,大取樣尺寸,以便改善該些計算的信心度。
從技術性觀點來說,監視、量化、以及辨識和造成與能夠執行使用者應用程式的伺服器有關的運行中斷之失效的能力會配合供應回授給伺服器/應用程式開發商來使用,並且允許該伺服器/應用程式開發商採取正確的行動並且改善未來的伺服器硬體及/或應用程式軟體。
現在參考圖1,圖中所示的一範例伺服器裝置100。舉例來說,圖1的範例伺服器裝置100可以為一單機型伺服器,例如,刀鋒伺服器、儲存伺服器、或是交換機。該範例伺服器裝置100可以包含一管理控制器110、一伺服器CPU(中央處理單元)120、至少一記憶體裝置125、以及一電力供應器140。電力供應器140被耦合至一電氣介面145,該電氣介面145被耦合至一外部電力供應器,例如,AC電力供應器150。伺服器裝置100還可以包含一作業系統組件,舉例來說,其包含一作業系統驅動程式組件155以及一被儲存在ROM(唯讀記憶體)之中並且被耦合至CPU 120的預啟動程式BIOS(基本輸入/輸出系統)組件160,本文中稱為ROM BIOS組件160。於各種範例中,CPU 120可以有一非暫時性記憶體裝置125。該記憶體裝置125可以和CPU 120一體成形或者可以為一外部記憶體裝置。該記憶體裝置125可以包含可由CPU 125來執行的程式碼。舉例來說,一或更多個程序可以被實施用以執行一使用者控制介面175及/或軟體應用程式180。
於各種範例中,ROM BIOS組件160提供一預啟動程式環境。該預啟動程式環境允許應用程式(舉例來說,軟體應用程式180)以及驅動程式(舉例來說,作業系統驅動程式組件155)被執行為一系統自我啟動程式序列的一部分,其可以包含自動載入一組預先定義的模組(舉例來說,驅動程式以及應用程式)。自動載入的替代方式係,該自我啟動程式序列或是 其一部分能夠在作業系統驅動程式155啟動之前由使用者介入來觸發(舉例來說,藉由按押鍵盤上的按鍵)。於各種範例中,要被載入的模組清單可以被硬編碼於系統ROM之中。
範例伺服器裝置100在初始啟動之後將會受控於作業系統組件155。如下面的討論,當該作業系統驅動程式155失效時,該伺服器裝置100可以回復到由ROM BIOS組件160來控制。
範例伺服器裝置100亦可以包含溫度感測器130(舉例來說,其被耦合至記憶體,例如,雙直列式記憶體模組或是DIMM以及其它溫度感應組件)。該伺服器裝置100亦可以包含風扇135、一網路介面165、以及熟習本技術的人士已知的其它硬體170。該網路介面165可以被耦合至一網路,例如,企業內部網路、區域網路(Local Area Network,LAN)、無線區域網路(Wireless Local Area Network,WLAN)、網際網路、…等。
範例管理控制器110可以包含一管理處理器111、一停機時間計量儀組件112、一伺服器追蹤器模組114、一或更多個輔助追蹤器模組116、以及一可能包含一備用電池的即時時鐘118。該管理控制器110可以被配置成如下面所述般地運用該伺服器追蹤器114以及該(些)輔助追蹤器116,用以持續監視各種伺服器硬體與軟體應用程式並且將表示發生於該硬體與軟體的狀態改變的資料記錄於被整合在該管理控制器110之中的非揮發性記憶體之中。
該範例管理控制器110可以分析從該伺服器硬體與軟體處取得的資料,用以辨識已經發生的改變以及該些改變何時發生,並且決定該伺服器裝置100的總狀態,如下面所述。管理控制器110可以運用停機時 間計量儀組件112以及改變資料、時序資料、以及總伺服器裝置狀態資料如下面所述般地追蹤該伺服器裝置在每一個操作狀態中多久的時間。
該範例伺服器100可以包含內嵌式韌體與硬體組件,以便持續收集伺服器100中的操作資料與事件資料。舉例來說,管理控制器110可以收集關於下面的資料:複雜可程式邏輯裝置(Complex Programmable Logie Device,CPLD)接針狀態、已抵達的韌體偏僻個案(firmware corner case)、已偵測到的匯流排再試、除錯埠登錄、…等。
範例管理控制器110可以實施獲取、登錄、檔案管理、時間戳印、以及伺服器硬體組件與軟體應用程式組件的狀態資料的浮現。為最佳化被儲存在非揮發性記憶體之中的實際資料的數量,該管理控制器110可以在儲存已獲得的資料至該非揮發性記憶體之前對該資訊套用精密的過濾、雜湊、符記化(tokenization)、以及差值(delta)函數。
該範例管理控制器110以及該停機時間計量儀112、該伺服器追蹤器114、以及該(些)輔助追蹤器116可被用來量化伺服器運行中斷(包含硬體與軟體)的時間持續長度與原因。該管理控制器110可以虛擬的方式存取該伺服器裝置100之中的所有硬體組件與軟體組件。該管理控制器110會控制與監視諸如CPU 120、(多個)電力供應器140、(多個)風扇135、(多個)記憶體裝置125、作業系統驅動程式155、以及ROM BIOS 160、…等組件的健康狀況。因此,即使當伺服器裝置100因即時時鐘/備用電池組件118存在的關係而沒有開機,該管理控制器110仍會處在用以追蹤伺服器裝置100可利用性的獨特位置。
表1所示的係追蹤器狀態數值與停機時間計量儀狀態之間的映射。如表1中所示,於此範例中,停機時間計量儀112實際上係一包含四個分開計量儀的複合計量儀,每一個計量儀針對一種狀態。於此範例中,該四個停機時間計量儀/狀態包含運行計量儀、非排程停機計量儀、排程停機計量儀、以及降級計量儀。該管理控制器110可以從被耦合至該伺服器的各種硬體器件或軟體器件的狀態追蹤器(例如,伺服器追蹤器114以及一或更多個輔助追蹤器116)處接收控制信號並且通知該停機時間計量儀112狀態改變,俾使得該停機時間計量儀112可以累積時序資料,以便判定該伺服器裝置100處在每一個狀態中的時間長度。該伺服器追蹤器114以及該些輔助追蹤器116可以有任何複數數量的狀態(舉例來說,從兩個到「n」個),其中,每一個狀態可以映射至上面表1中所示之運行計量儀、非排程停機計量儀、排程停機計量儀、或是降級計量儀中的其中一者。該停機時間計量儀112會使用此些映射來計算該伺服器追蹤器114及/或該(些)輔助追蹤器116花費在一給定狀態中的頻率與時間並且在對應的計量儀中累加該時間。
該範例管理控制器110會監視由該伺服器追蹤器114及該些輔助追蹤器116(於此範例中,其包含DIMM追蹤器、電力供應器追蹤器、風扇追蹤器、以及軟體應用程式追蹤器)所接收的控制信號。此些控制信號表示接收自被耦合至該伺服器追蹤器114及該些輔助追蹤器116的對應硬體的電信號。於標稱的運行及運轉情況中,接收自該些追蹤器的控制信號表示表1的運行計量儀中所列的狀態(於此範例中為OS_RUNNING、良好、冗餘、良好、以及運轉中)。
倘若任何受監視的硬體或軟體從標稱的運行及運轉情況改變成另一狀態的話,那麼,對應的追蹤器將會提供一用以表示該新狀態的控制信號。當此發生時,管理控制器110會接收表示該新狀態的控制信號並且決定用於該伺服器之新的總狀態以及對應於該總計量儀狀態的停機時間計量儀狀態。舉例來說,倘若風扇追蹤器控制信號表示風扇135已經轉換成失效狀態的話,該管理控制器會判定該伺服器追蹤器的總狀態為UNSCHED_DOWN。該管理控制器110接著會讓該停機時間計量儀112從運行計量儀轉換至非排程停機計量儀。在切換計量儀時,該停機時間計量儀112將從運行計量儀至非排程停機計量儀的轉換時間儲存在記憶體之中並且儲存新狀態(非排程停機)的一表示符。
在儲存一段時間週期中的狀態轉換時間及目前狀態之後,該停機時間計量儀會使用已儲存的時序/狀態資訊來計算一可利用性計量值。於其中一範例中,停機時間計量儀112會使用下面兩道公式來計算非排程停機時間tunsched.down以及可利用性計量值A: t unsched.down =t total -(t up +t sched.down +t degraded ) (2)
公式(2)與(3)中的總時間ttotal為所有計量儀的總和。於此範例方程式中,公式(3)之中的可利用性A已被重新定義為利用tsched.down變數來考量有計畫的斷電並且利用tdegraded變數來考量該伺服器已降級但仍有功能的時間。
範例管理控制器110以及停機時間計量儀112為可延伸並且可提供額外的輔助追蹤器116及額外的總伺服器狀態。於任何實施例中,該管理控制器110皆包含伺服器追蹤器114。如名稱,該伺服器追蹤器114會監視伺服器狀態。於此範例中,伺服器追蹤器114直接判定伺服器100的總狀態並且控制停機時間計量儀112的狀態。舉例來說,當一伺服器的電力按鈕被按壓啟動時,該管理控制器110會被中斷並且接著開啟該伺服器。
於此範例中,伺服器追蹤器114包含五個狀態:當任何事皆為標稱時的OS_RUNNING狀態;當伺服器100失效時的UNSCHED_DOWN狀態與UNSCHED_POST狀態;以及當伺服器100基於保養或是其它有目的的理由而停機時的SCHED_DOWN狀態與SCHED_POST狀態。
於此範例中,有兩個伺服器追蹤器114狀態映射至非排程停機計量儀狀態及排程停機計量儀狀態。SCHED_POST狀態與UNSCHED_POST狀態為當伺服器100正在啟動時伺服器追蹤器114所追蹤的中間狀態。當伺服器100已經利用ROM BIOS 160完成開機自我測試(Power On Self-Test,POST)之後該伺服器追蹤器114會在內部被通知,並且接著從SCHED_DOWN狀態更新為SCHED_POST狀態或是從UNSCHED_DOWN狀態更新為UNSCHED_POST狀態。相同地,當伺服器100完成POST時,該管理控制器110會被中斷並且被告知作業系統驅動程式155已經掌控該伺服器100並且伺服器追蹤器114會接著進入OS_RUNNING狀態。
除了伺服器追蹤器114影響伺服器100的總狀態之外,該些輔助追蹤器116也扮演相同角色,因為它們係該管理控制器能夠藉以判斷該伺服器追蹤器114為何轉換至UNSCHED_DOWN狀態、SCHED_DOWN、及/或降級狀態的手段。或者,另一種方式係,該些輔助追蹤器116係該管理控制器110能夠藉以判斷伺服器100運行中斷之理由的手段。
舉例來說,一DIMM可能遭受非可修正的失效,其會強制伺服器100斷電。因此,輔助DIMM追蹤器會從良好狀態轉換成失效狀態,並且伺服器追蹤器114會進入UNSCHED_DOWN狀態。於此時點,該停機時間計量儀112會從管理控制器110處接收一表示符表示該新進入的UNSCHED_DOWN狀態並且該管理控制器110可以儲存資料清楚地顯示伺服器100何時進入停機並且進一步顯示伺服器100停機的理由為DIMM失效。
於另一範例中,倘若客戶插設一460瓦特的電力供應器140及一750瓦特的電力供應器140於伺服器100之中並且開機啟動該伺服器100的話,那麼,輔助電力供應器追蹤器便會傳送一控制信號給管理控制器110,用以表示該些電力供應器140已進入匹配錯誤狀態。因為對伺服器100來說此為不合法的配置,所以,伺服器追蹤器114判定總伺服器狀態已進 入降級狀態並且將此狀態傳送至停機時間計量儀112。
參考圖2,圖中的範例時間線200所示的係範例管理控制器110與停機時間計量儀112響應於各種事件的狀態轉換。時間線200顯示該停機時間計量儀112與該伺服器追蹤器114如何互動以產生複合計量儀資料。在時間T1處,當伺服器100經歷AC開機事件215時,該伺服器追蹤器114係在SCHED_DOWN狀態210中並且該停機時間計量儀112正在利用排程停機計量儀。在時間T2處,一電力按鈕被按押(事件225),且接著,該伺服器追蹤器114進入SCHED_POST狀態220中而該停機時間計量儀112繼續使用排程停機計量儀。
在時間T3處,作業系統驅動程式155已經掌控該伺服器100(事件235),伺服器追蹤器114轉換至OS_RUNNTNG狀態230並且該停機時間計量儀112轉換成使用運行計量儀。在排程停機計量儀中所記錄的總時間等於3分鐘,因為在SCHED_DOWN狀態中所花費的時間為1分鐘而在SCHED_POST狀態中所花費的時間為2分鐘。在運行計量儀中所記錄的總時間為3分鐘,因為在OS_RUNNING狀態中所花費的總時間為3分鐘。在從T3至T4的週期期間,OS正在運轉;但是,在時間T4處,AC電力突然被移除(事件245-1),並且伺服器追蹤器114轉換至UNSCHED_DOWN狀態240並且停機時間計量儀112開始使用非排程停機計量儀。在時間T5處,AC電力恢復(事件245-2),但是伺服器追蹤器114保持在UNSCHED_DOWN狀態並且停機時間計量儀112繼續使用非排程停機計量儀。在時間T6處,該電力按鈕被按押(事件255),且而後,該伺服器追蹤器114進入UNSCHED_POST狀態250中而該停機時間計量儀112繼續使用排 程停機計量儀。在時間T7處,作業系統驅動程式155已經掌控該伺服器100(事件265),並且伺服器追蹤器114轉換至OS_RUNNING狀態260並且該停機時間計量儀112轉換成使用運行計量儀。在從T4至T7的週期期間,在非排程停機計量儀中所記錄的總時間為8分鐘,因為伺服器追蹤器114在UNSCHED_DOWN狀態中所花費的總時間為6分鐘而在UNSCHED_POST狀態中所花費的時間為2分鐘。
在時間T4處,AC電力移除會關機該伺服器100與該管理控制器110。因此,所有揮發性資料都可能遺失。此問題可以藉由運用即時時鐘(Real-Time Clock,RTC)118的電池來克服,用以在關閉該管理控制器110之前供電給該管理控制器110。背後有電池的RTC 118允許該管理控制器110在AC電力被移除時追蹤在UNSCHED_DOWN狀態中所花費的時間。當管理控制器110啟動時,該停機時間計量儀112可以計算目前時間與先前時間(被儲存在非揮發性記憶體之中)之間的差值。此外,藉由週期性登錄狀態轉換與時間資訊至非揮發性記憶體,該管理控制器110與該停機時間計量儀112可以保留可能隨著AC電力遺失而遺失的所有時間與狀態資料的完整歷史。
範管理控制器110與停機時間計量儀112亦可以支援所謂的組件追蹤器,如圖3中所示。組件追蹤器300可以簡單監視應用程式或硬體組件的開啟或關閉狀態310,例如,如圖3中所示的虛擬媒體。藉此作法,該管理控制器110可以取得並儲存有用的資訊,例如,舉例來說,使用者使用一特殊應用程式或硬體組件的頻率與長度。此資料可以幫助伺服器供應商作出關於哪一個組件正在被使用以及被使用的頻率的判斷。舉例來 說,倘若由虛擬媒體追蹤器300所收集的資料建議該虛擬媒體特點被客戶頻繁使用的話,那麼,一供應商便可以決定強化及增加該虛擬媒體組件上的資源。該資料亦有助於供應商判斷是否支援或撤回一應用程式或組件。
圖4A所示的係由一電路板管理控制器停機時間計量儀所實施的範例運轉時間程序400。於各種範例中,該程序400能夠至少部分由如上面參考圖1之包含管理控制器110的伺服器裝置100來實施。現在將進一步參考圖1與表1來說明程序400。
在圖4A中所示的範例中,程序400可以從方塊404處開始,該管理控制器110會接收複數個控制變數信號。舉例來說,該複數個控制變數信號可以表示伺服器CPU 120之健康狀況的至少一操作狀態以及作業系統組件(例如,舉例來說,作業系統驅動程式155與ROM BIOS 160)的一操作狀態。該些控制變數信號亦可以表示伺服器100中的其它硬體與軟體(例如,舉例來說,記憶體(舉例來說,DIMM)125、溫度感測器130、風扇135、電力供應器140、其它硬體170、以及軟體應用程式180)的狀態。
由在方塊404處所收到的控制變數信號所表示的狀態可以雷同於表1中所示的狀態。如上面參考表1所述,管理控制器110的伺服器追蹤器114會監視與決定伺服器100的總狀態。於此範例中,該伺服器追蹤器114為直接影響哪一個停機時間計量儀要被用來累加時間的主要與僅有的追蹤器。被該伺服器追蹤器114所收到的該複數個控制變數信號可以表示所有伺服器硬體組件與軟體組件的狀態。
範例伺服器追蹤器114可以被配置成如圖5中所示的伺服器追蹤器510。進一步參考圖5,該伺服器追蹤器510會在方塊404處從各種 伺服器組件(於此範例中,其包含伺服器健康狀況組件520、伺服器控制組件530、作業系統(Operating System,OS)健康狀況組件540、伺服器電力組件550、以及使用者控制組件560)處接收控制變數505(舉例來說,圖5中所示的控制變數505-1至505-12)。
範例伺服器追蹤器510可以在方塊404處從伺服器健康狀況組件520處接收一第一控制變數信號,用以表示於各種伺服器硬體組件(舉例來說,CPU 120、風扇135、記憶體125、…等)的健康狀況狀態。該伺服器健康狀況組件520可以偵測系統硬體中的變化,舉例來說,插入、移除、以及失效。該伺服器健康狀況組件520可以為管理控制器110的一部分。該伺服器健康狀況組件520可以產生該第一控制變數信號,用以包含表示該伺服器的健康狀況的狀態為良好的控制變數505-6、表示該伺服器的健康狀況的狀態為降級的控制變數505-7、以及表示該伺服器的健康狀況的狀態為嚴重的控制變數505-8。舉例來說,倘若伺服器健康狀況組件520偵測到一無法修正的記憶體錯誤的話,那麼,該伺服器健康狀況組件520可以配置該第一控制變數信號用以讓該伺服器追蹤器510斷定表示該伺服器100的健康狀況的狀態為嚴重的控制變數505-8。
範例伺服器追蹤器510可以從伺服器控制組件530處接收一第二控制變數信號。該伺服器控制組件530可以從ROM BIOS組件160處拉出資訊,用以通知伺服器追蹤器510究竟係該ROM BIOS組件160或是該作業系統驅動程式組件155實際上在控制該伺服器100。於此範例中,該伺服器控制組件530供應表示該ROM BIOS組件160在控制的控制變數505-1以及表示該作業系統驅動程式組件155在控制的控制變數505-2。
範例伺服器追蹤器510可以從OS健康狀況組件540處接收一第三控制變數信號。該OS健康狀況組件540可以偵測作業系統與應用程式變化,例如,藍屏、例外與失效、以及類似的變化。該OS健康狀況組件540可以從作業系統驅動程式組件155處接收表示此些變化的資訊並且可以提供表示該作業系統驅動程式在降級狀態中(舉例來說,例外)的控制變數505-3、表示該作業系統驅動程式組件155在嚴重失效狀態中(舉例來說,藍屏及/或失效)的控制變數505-4、以及表示該些軟體應用程式180中其中一者在降級狀態中(舉例來說,因軟體干擾所造成的失效)的控制變數505-5。舉例來說,倘若一作業系統失效導致顯示藍屏的話,那麼,該OS健康狀況組件540便會配置該第三控制變數信號用以讓該伺服器追蹤器斷定表示該作業系統驅動程式組件155在嚴重失效狀態中的控制變數505-4。
範例伺服器追蹤器510可以從伺服器電力組件550處接收一第四控制變數信號。該伺服器電力組件550會偵測該伺服器究竟為關閉、開啟、或是處在重置狀態。該伺服器電力組件可以從一被耦合至該(些)電力供應器140的複雜可程式邏輯裝置(CPLD)處取出電力資訊並且提供表示該伺服器100處在開啟狀態的控制變數505-9、表示該伺服器100處在關閉狀態(沒有AC電力)的控制變數505-10、以及表示該伺服器100處在重置狀態的控制變數505-11。
範例伺服器追蹤器510可以從使用者控制組件560處接收第五控制變數信號。使用者控制組件560可以提供一命令介面,其可以讓使用者強制該伺服器追蹤器510進入非排程停機狀態(在下一個伺服器開閉循環(power cycle))。該使用者控制組件560提供控制變數505-12,用以表示一 使用者請求將伺服器100置於非排程停機狀態之中。
圖5中所示的該些控制變數505與伺服器追蹤器510僅為範例。伺服器追蹤器510的設計可以延伸並且能夠被修正用以允許增加許多組件以及在必要時於方塊404處接收許多控制變數信號。
在圖4A的範例中,在方塊408處,在方塊404處接收該複數個控制變數信號中的一或更多者之後,舉例來說,該管理控制器110會使用圖5的伺服器追蹤器510來決定伺服器100的總狀態,並且接著以該些被收到的控制變數信號為基礎來決定在加總花費在每一個總狀態之中的時間時要使用哪一個停機時間計量儀。決定伺服器100的總狀態會包含伺服器追蹤器510判定該伺服器100在表1中所示之6個狀態(OS_RUNNING、UNSCHED_DOWN、UNSCHED_POST、SCHED_DOWN、SCHED_POST、以及降級)的其中一個狀態之中。在決定伺服器追蹤器狀態時,管理控制器110可以決定要使用哪一個停機時間計量儀。在表1中所示的範例中,OS_RUNNING狀態會導致要由運行計量儀來測量的運行狀態;UNSCHED_DOWN狀態或UNSCHED_POST狀態會導致要由非排程停機計量儀來測量的非排程停機狀態;SCHED_DOWN狀態或SCHED_POST狀態會導致要由排程停機計量儀來測量的排程停機狀態;以及降級狀態會導致要由降級計量儀來測量的降級狀態。
於其中一範例中,針對判定該伺服器100何時在非排程停機狀態或排程停機狀態中,有兩個組件(不包含使用者控制組件560)供應可以至少部分驅動該伺服器追蹤器510進入非排程停機狀態或排程停機狀態之中的控制變數。此兩個組件為伺服器健康狀況組件520與OS健康狀況組件 540。圖6所示的係由該伺服器健康狀況組件520與該OS健康狀況組件540所監視的硬體及/或軟體的細節,以便讓伺服器追蹤器510評估一伺服器100的總狀態。
伺服器健康狀況組件520可以駐存在管理控制器110之中。該伺服器健康狀況組件520可以監視單獨硬體組件610的狀態,並且使用該資訊來判斷整個伺服器100健康狀況為良好、降級、或是嚴重。由該伺服器健康狀況組件520監視的硬體組件610可以包含:(多個)CPU 120、(多個)風扇135、(多個)電力供應器140、記憶體125、(多個)溫度感測器130、以及可以在圖1的其它硬體組件170之中的儲存體。
OS健康狀況組件540可以監視OS驅動程式組件155以及軟體應用程式180並且使用該資訊來判斷整個作業系統健康狀況為良好、降級、或是嚴重。該OS健康狀況組件540可以監視圖6中所示的作業系統組件620。在範例伺服器裝置100中,Windows® Hardware Error Architecture(WHEA®)支援硬體錯誤回報與恢復。於此範例伺服器100中,該WHEA供應和嚴重錯誤與例外有關的資訊(例如,藍屏)給該OS健康狀況組件540。該OS健康狀況組件540亦可以監視微軟的Special Administration Console®(SAC®)介面。該SAC介面(例如,WHEA)可針對作業系統錯誤而被監視。除了WHEA與SAC之外,該OS健康狀況組件540亦可以運用作業系統驅動程式組件155的「持活逾時(keep alive timeout)」特點來決定該作業系統的狀態。舉例來說,倘若該作業系統驅動程式組件155停止回應的話,那麼,這便可能表示在該作業系統層有嚴重的錯誤。此外,該OS健康狀況組件540還會偵聽伺服器100的一VGA埠,將該視訊轉換成影像,並且掃 描該影像是否有嚴重失效(例如,藍屏)的表示符。基本上,該OS健康狀況組件540會尋找和嚴重失效(例如,藍屏與內核嚴重錯誤(kernel panic))相關聯的視訊特徵,例如,文字與顏色。
回到圖4A,在方塊408處,伺服器追蹤器510會運用一併入圖5中所示之控制變數505的狀態機。當該狀態機初始化時,其會檢查該些控制變數505並且轉換至適當狀態。此初始化步驟圖解在圖7中。該伺服器追蹤器一開始在關閉狀態705中。當開機或重置時,該伺服器追蹤器510會轉換至初始化狀態710。端視該些控制變數505中哪一個控制變數被斷定而定(下面將參考圖8來討論),該伺服器追蹤器510會轉換至OS_RUNNING狀態720、SCHED_DOWN狀態730、SCHED_POST狀態740、UNSCHED_DOWN狀態750、UNSCHED_POST狀態760、或是降級狀態770中的其中一者。
在初始化之後,伺服器追蹤器510可以連續或至少週期性地處理狀態轉換。圖8所示的係可以在方塊408處由伺服器追蹤器510來實施的初始化後運轉時間演算法。在運轉時間期間,狀態轉換會依照上面所述之控制變數505中的一或更多者的變化而被觸發。如圖8中所示,該伺服器追蹤器可以從初始化狀態710轉換至OS_RUNNING狀態720、SCHED_DOWN狀態730、SCHED_POST狀態740、UNSCHED_DOWN狀態750、UNSCHED_POST狀態760、或是降級狀態770中的其中一者。在轉換完成之後,該伺服器追蹤器510會讓管理控制器110通知停機時間計量儀112該伺服器追蹤器510的狀態有改變,並且該停機時間計量儀112會回應而關閉目前的停機時間計量儀組件並且開啟對應於該新伺服器狀態的停機 時間計量儀組件,舉例來說,如上面表1中所示。
圖8顯示狀態之間的控制變數邏輯表示符,該些控制變數斷定會導致從其中一種狀態轉換至另一種狀態。下面表2摘要說明此些控制變數邏輯表示符中的一部分。
在圖8中所示的範例狀態轉換圖中,降級狀態770及OS_RUNNING狀態720被相同看待。這係因為降級狀態770及OS_RUNNING狀態720兩者皆造成停機時間計量儀112使用運行計量儀組件,如上面參考表1的討論。請注意,從其中一種狀態至另一種狀態的所有可能轉換在圖8中雖然以邏輯表示符來標記;但是,熟習邏輯與狀態圖的人士便會很容易明瞭此些轉換。
回到圖4A,在方塊412處,當在方塊408處決定伺服器100的總狀態時,使用停機時間計量儀112的管理控制器110會決定在一段時間週期中花費在每一個總伺服器狀態中的時間數額。該時間週期涵蓋諸如上面參考圖2所述之範例的數種狀態轉換。
在方塊416處,使用停機時間計量儀112的管理控制器110 會以花費在運行狀態中、非排程停機狀態中、排程停機狀態中、以及某些系統之降級狀態中的時間為基礎來決定該段時間週期的可利用性計量值。該可利用性計量值能夠利用上面所述的公式(3)來決定。
在方塊420處,管理控制器110可以提供在方塊416處所決定的可利用性計量值給其它計算裝置。舉例來說,該可利用性計量值可以透過網路介面165以及該網路介面165所耦合的網路被傳送至其它伺服器裝置、管理伺服器、中央資料庫、…等。
程序400僅為範例並且可以進行修正。舉例來說,方塊可以被省略、結合、及/或重新排列。
參考圖4B,圖中所示的係當圖4A的運轉時間程序400因斷電事件或重置事件而中斷時由管理控制器110所實施的範例高階程序450。在範例程序450中,該管理控制器110可以從方塊450處開始,舉例來說,實施上面所述並且顯示在圖4A中的運轉時間程序400。
在判斷方塊458處,管理控制器110可以連續地,或週期性地,監視該(些)電力供應器140及/或作業系統驅動程式155中是否有一表示符表示伺服器100已經遺失(或是正在遺失)電力或者作業系統驅動程式155已經失效並且該伺服器100將會重置。如果在判斷方塊458處沒有偵測到任何此些事件的話,程序450會繼續回到方塊454。然而,倘若電力已遺失或者在判斷方塊458處有偵測到重置事件的話,那麼,程序450會繼續前往方塊462,管理控制器110會在該處實施關機序列。
圖9所示的係在方塊462處的關機事件或重置事件期間可以由管理控制器110所實施的範例程序900的範例活動圖。程序900可以從方 塊904處開始,管理控制器110會接收一關機事件或重置事件的表示符。當接收該關機事件或重置事件表示符時,該管理控制器會從即時時鐘118處擷取目前的時間。因為即時時鐘118有備用電池並且該備用電池同樣供電給該管理處理器111,所以,AC電力遺失並不影響管理控制器110實施程序900的能力。在方塊912處,代表擷取自即時時鐘118之時間的資料以及代表在關機事件或重置事件時所斷定之控制變數505的資料會被儲存在非揮發性記憶體之中。
在實施關機程序900之後,管理控制器110會維持斷電,用以在方塊466處等待接收一啟動信號。當在方塊466處接收該啟動信號時,程序450可以繼續前往方塊470並且實施管理控制器110的開機序列。圖10所示的係在方塊470處的開機事件期間由管理控制器110所實施的活動的範例程序1000。
在方塊1004處,管理控制器110可以載入在關機程序900的方塊912處所保存的資料。舉例來說,該管理控制器110可以從該非揮發性記憶體處擷取代表在關機事件或重置事件時擷取自即時時鐘118之時間的已儲存資料以及代表在關機事件或重置事件時所斷定之控制變數505的資料。倘若在擷取此資料時發生錯誤的話,程序1000可以前進至方塊1008,舉例來說,管理控制器110可以於該處將表示該錯誤的資料儲存於錯誤登錄之中。
當在方塊1004處成功地載入已儲存資料時,程序1000可以前進至方塊1012,管理控制器110可以於該處從即時時鐘118處擷取目前的時間。倘若在擷取目前時間時發生錯誤的話,程序1000可以前進至方塊 1016,舉例來說,管理控制器110可以於該處將表示從即時時鐘118處錯誤擷取目前時間的資料儲存於錯誤登錄之中。
當在方塊1012處成功地擷取目前時間時,程序1000可以前進至方塊1020,管理控制器110可以於該處擷取表示造成電力關閉的事件究竟係關機事件或重置事件的資料。倘若該事件為重置事件的話,程序1000可以前進至方塊1028,管理控制器110可以接著於該處更新伺服器追蹤器114與停機時間計量儀112成為正確的伺服器狀態並且在方塊1044處運用正確的停機時間計量儀(舉例來說,運行計量儀、非排程停機計量儀、排程停機計量儀、或是降級計量儀)。
倘若造成電力關閉的事件係關機事件的話,程序1000可以前進至方塊1032,管理控制器可以於該處擷取在程序900的方塊912處於該關機事件期間所儲存的控制變數狀態。倘若該關機事件發生在排程停機狀態期間的話,程序1000可以前進至方塊1036用以更新該伺服器追蹤器至排程停機狀態並且接著前進至方塊1048用以更新該停機計量儀112以便運用該排程停機計量儀。倘若該關機事件發生在非排程停機狀態期間的話,程序1000可以前進至方塊1040用以更新該伺服器追蹤器至非排程停機狀態並且接著前進至方塊1052用以更新該停機計量儀112以便運用該非排程停機計量儀。
在方塊1044、1048、或是1052的其中一者處更新該停機時間計量儀112之後,或是在方塊1008與1016的其中一者處登錄一錯誤之後,程序1000可以前進至方塊1056並且該管理控制器110可以重新啟動伺服器追蹤器114以及該管理控制器110的其它組件。
當在方塊470處完成開機程序1000時,該程序450可以回到方塊454,管理控制器110可以於該處實施運轉時間程序400。程序450僅為範例並且可以對程序450進行修正。舉例來說,方塊可以被省略、重新排列、或是結合。
現在將說明伺服器運行中斷情況的一範例,用以解釋管理控制器110(以及伺服器追蹤器510)如何可以判斷因該伺服器運行中斷所造成的停機時間為排程或非排程。舉例來說,假定一伺服器DIMM(舉例來說,記憶體125的一部分)在當月的首日便失效,客戶不會立刻置換該DIMM,取而代之的係讓該伺服器100離線直到每月保養時段(month maintenance window)結束為止。於此範例中,整個月應被視為排程停機時間(因為客戶所作的蓄意決定)或是非排程停機時間(DIMM雖然失效,但是伺服器仍維持上線)?
此範例場景的解決方式可以在三個階段中進行。第一階段發生在DIMM失效之後但是伺服器100關機之前的時間區間期間。第二階段發生在伺服器100關機之後但是該伺服器下一次開機之前。最後階段發生在伺服器100開機之後但是作業系統驅動程式155開始運轉之前的時間區間期間。
階段1
首先,在階段1期間,伺服器100正在運轉並且沒有任何問題。伺服器追蹤器510在OS_RUNNING狀態,而控制變數505-2、505-6、以及505-9則被斷定(也就是,為真)。表1圖解伺服器追蹤器510狀態與停機時間計量儀之間的關係。表1顯示,當伺服器追蹤器510在OS_RUNNING 狀態中時,運行計量儀正在運轉。接著,DIMM失效,一可修正的記憶體錯誤導致控制變數505-7為斷定。此失效為可修正,因為不可修正的記憶體錯誤會導致該伺服器故障(藍屏)並且控制變數505-1會被斷定而非控制變數505-2。因此,該伺服器追蹤器會轉換至降級狀態,因為控制變數505-2、505-7、以及505-9被斷定。因此,降級計量儀為運轉。最後,客戶會將伺服器100斷電一個月。此一個月區間期間的時間被指派給SCHED_DOWN伺服器追蹤器狀態與排程停機計量儀,因為控制變數505-1、505-10、以及505-7在斷電時被斷定。總結來說,DIMM雖然失效;但是,伺服器100仍有運作(也就是,降級),且因此,排定讓伺服器斷電的選項。
階段2
第二階段發生在伺服器100關機之後以及該伺服器100下一次開機之前。在此階段期間,AC電力從該伺服器處被移除一個月。不幸地,管理控制器110沒有電力無法運作,但是,此問題藉由運用背後有電池的即時時鐘118而被克服。當該管理控制器110啟動時,停機時間計量儀112僅計算目前時間與該管理控制器先前被關機時間(被儲存在非揮發性記憶體之中)之間的差值。上面所討論的圖9圖解一種範例伺服器追蹤器關機演算法。當該伺服器追蹤器收到該關機事件時,其會讀取該RTC並且將其儲存至非揮發性記憶體。
當該管理控制器110開機時,該伺服器追蹤器510會從非揮發性記憶體處讀取先前保存的資料。該資料不僅包含最後的RTC數值,還包含先前關機事件以及所有先前控制變數505數值。倘若該資料沒有問題地被載入的話,那麼,該伺服器追蹤器會取得目前的RTC數值並且計算該 時間差值。該時間差值代表沒有AC電力可用的區間。最後,伺服器追蹤器510會將該時間差值加至SCHED_DOWN狀態與對應的排程停機計量儀,因為其為由該些「先前」控制變數所表示的最後已知狀態。被指派給該SCHED_DOWN狀態的總時間等於一個月加上初始斷電與AC電力移除之間所形成的時間。
階段3
該範例場景假設客戶在施加AC電力之前已置換故障的DIMM。此外,客戶從來沒有透過使用者控制組件560輸入「非必要性(optional)」的使用者保養鍵。所以,在電力被施加至該伺服器並且該伺服器啟動之後,該伺服器追蹤器510會離開SCHED_DOWN狀態(而非UNSCHED_DOWN)並且進入SCHED_POST狀態。控制變數505-1、505-9、以及505-6會被斷定並且排程停機計量儀會繼續運轉。在POST完成之後,伺服器100進入OS_RUNNING狀態,控制變數505-2、505-6、以及505-9會被斷定從而導致運行計量儀運轉。
總結來說,於此特殊範例場景中,客戶置換DIMM被歸類為排程停機時間,因為在伺服器硬體或作業系統中沒有遭遇到任何嚴重的健康狀況問題。此外,客戶並未運用使用者控制組件560的使用者保養特點,其會讓伺服器追蹤器510在下一次電力循環中進入非排程停機狀態。
本文中所述的各種範例係在方法步驟或程序的一般背景中作說明,於其中一範例中,其可以由一軟體程式產品或組件來施行,可以具現在一包含由網路連結環境中的實體來執行之可執行指令(例如,程式碼)的機器可讀取媒體之中。一般來說,程式模組可以包含例行程序、程式、 物件、組件、資料結構、…等,其可以被設計成用以實施特殊任務或是施行特殊的抽象資料類型。和資料結構相關聯的可執行指令以及程式模組代表用於執行本文中所揭示之方法步驟的程式碼的範例。此些可執行指令或是相關聯的資料結構的特殊順序代表用於施行在此些步驟或程序中所述功能的對應動作的範例。
各種範例的軟體施行方式能夠利用具有基於規則的邏輯及其它邏輯的標準程式化技術來完成,以便完成各種資料庫搜尋步驟或程序、關聯步驟或程序、比較步驟或程序、以及決策步驟或程序。
本文中已經提出各種範例的前述說明,用以達到解釋與說明的目的。前述說明沒有竭盡或受限於已揭範例的用意,遵照上面教示內容可以進行修正與變更或者從各種範例的實行中可以習得修正與變更。本文中所討論的範例經過篩選與說明,以便解釋本揭示內容及其實際應用的各種範例的原理與本質,用以讓熟習本技術的人士在各種範例中運用本揭示內容並且設計出適合特殊用途的各種修正例。本文中所述範例的特點可以在各種方法、設備、模組、系統、以及電腦程式產品的所有可能組合中加以結合。
100‧‧‧範例伺服器裝置
110‧‧‧管理控制器
111‧‧‧管理處理器
112‧‧‧停機時間計量儀組件
114‧‧‧伺服器追蹤器模組
116‧‧‧輔助追蹤器模組
118‧‧‧即時時鐘/備用電池
120‧‧‧伺服器CPU(中央處理單元)
125‧‧‧記憶體裝置
130‧‧‧溫度感測器
135‧‧‧風扇
140‧‧‧電力供應器
145‧‧‧電氣介面
150‧‧‧AC電力供應器
155‧‧‧作業系統驅動程式組件
160‧‧‧ROM BIOS(唯讀記憶體基本輸入/輸出系統)組件
165‧‧‧網路介面
170‧‧‧其它硬體
175‧‧‧使用者控制介面
180‧‧‧軟體應用程式

Claims (14)

  1. 一種伺服器,其包括:一伺服器追蹤器,用以:接收用以表示該伺服器之操作健康狀況狀態的至少一第一控制變數信號,該至少一第一控制變數信號表示該操作健康狀況狀態為良好狀態、降級狀態、或是嚴重狀態中的其中一者;以及接收用以表示一作業系統之狀態的至少一第二控制變數信號,該作業系統的狀態為在作業系統驅動程式控制下、在預啟動組件控制下、或是嚴重失效中的其中一者;該伺服器追蹤器會以該第一控制變數信號與該第二控制變數信號為基礎來決定該伺服器的總狀態,該總狀態為運行狀態、降級狀態、排程停機狀態、或是非排程停機狀態中的其中一者;以及一停機時間計量儀,用以追蹤花費在該運行狀態、該降級狀態、該排程停機狀態、以及該非排程停機狀態中的時間數額。
  2. 根據申請專利範圍第1項的伺服器,其中,當該第一控制變數信號表示除了良好狀態以外的狀態並且該第二控制變數信號表示該作業系統的狀態為在作業系統驅動程式控制下時,該伺服器追蹤器判定該總狀態為排程停機狀態。
  3. 根據申請專利範圍第1項的伺服器,其中,當該第一控制變數信號表示除了良好狀態以外的狀態並且該第二控制變數信號表示該作業系統的狀態為在預啟動組件控制下時,該伺服器追蹤器判定該總狀態為非排程停機狀態。
  4. 根據申請專利範圍第1項的伺服器,其中:當該第一控制變數信號表示該伺服器的健康狀況在良好狀態中並且該第二控制變數信號表示該狀態為在作業系統驅動程式控制下時,該總狀態被判定為運行狀態,當該第一控制變數信號表示該伺服器的健康狀況在降級狀態中並且該第二控制變數信號表示該狀態為在作業系統驅動程式控制下時,該總狀態被判定為降級狀態,當該第一控制變數信號表示該伺服器的健康狀況在良好狀態中或是在降級狀態中並且該第二控制變數信號表示該狀態為在預啟動組件控制下時,該總狀態被判定為排程停機狀態,以及當該第二控制變數信號表示該狀態為在預啟動組件控制下並且該第一控制變數信號表示下列之中的一或更多者時,該總狀態被判定為非排程停機狀態:該第二控制變數信號進一步表示該作業系統的狀態為嚴重失效狀態,或是該第一控制變數信號表示該伺服器的健康狀況係在嚴重狀態中。
  5. 根據申請專利範圍第1項的伺服器,其中,該停機時間計量儀會決定一段時間週期中的可利用性計量值,其中,該可利用性計量值代表在該段時間週期中花費在該運行狀態、該降級狀態、以及該排程停機狀態中二或更多者中的時間數額。
  6. 根據申請專利範圍第1項的伺服器,其中,伺服器追蹤器進一步接收用以表示作業系統驅動程式和應用程式之狀態的至少一第三控制變數信 號,該作業系統驅動程式和應用程式之狀態為該作業系統驅動程式在降級狀態中、該作業系統驅動程式在嚴重失效狀態中、該些軟體應用程式中至少其中一者在降級狀態中的這些狀態的其中一者,且伺服器追蹤器也接收用以表示該伺服器裝置之被供電狀態的至少一第四控制變數信號,該被供電狀態為開啟狀態、關閉狀態、或是重置狀態中的其中一者,其中,該伺服器追蹤器決定該總狀態的判定法則如下:當該第四控制變數信號表示開啟狀態時,判定該總狀態為運行狀態,當該第四控制變數信號表示關閉狀態時,判定該總狀態為排程停機狀態,以及當第三控制變數信號表示該作業系統驅動程式在降級狀態中時,判定該總狀態為非排程停機狀態。
  7. 根據申請專利範圍第1項的伺服器,其進一步包括:一即時時鐘,由一備用電池來供電,其中,該停機時間計量儀會部分以接收自該即時時鐘的時間為基礎來決定花費在該排程停機狀態與該非排程停機狀態的每一者之中的時間數額。
  8. 根據申請專利範圍第1項的伺服器,其進一步包括:一組件追蹤器,用以監視至少一軟體應用程式或硬體組件的開啟狀態與關閉狀態中的至少其中一者,並且用以儲存表示一軟體應用程式或硬體組件的使用時間或頻率的資訊。
  9. 一種用於伺服器停機時間計量的方法,其包括:接收複數個控制變數信號用以表示一伺服器的一處理器的健康狀況的 至少一操作狀態以及該伺服器的一作業系統的操作狀態,該處理器的健康狀況的操作狀態為良好狀態、降級狀態、或是嚴重狀態中其中一者,該作業系統的操作狀態為在作業系統驅動程式控制下、在預啟動組件控制下、或是嚴重失效狀態中的其中一者;以該被收到的複數個控制變數信號為基礎來決定該伺服器的總狀態,該總狀態為運行狀態、降級狀態、排程停機狀態、以及非排程停機狀態中的其中一者;以及追蹤花費在該運行狀態、該降級狀態、該排程停機狀態、以及該非排程停機狀態中的時間數額。
  10. 根據申請專利範圍第9項的方法,其中:當該被收到的複數個控制變數信號表示該伺服器的健康狀況在良好狀態中並且該作業系統的狀態在作業系統驅動程式控制下時,該總狀態被判定為運行狀態,當該被收到的複數個控制變數信號表示該伺服器的健康狀況在降級狀態中並且該作業系統的狀態在作業系統驅動程式控制下時,該總狀態被判定為降級狀態,當該被收到的複數個控制變數信號表示該伺服器的健康狀況在良好狀態或是降級狀態中並且該作業系統的狀態在預啟動組件控制下時,該總狀態被判定為排程停機狀態,以及當該被收到的複數個控制變數信號表示該作業系統的狀態在預啟動組件控制下並且表示下列之中的任一者時該總狀態被判定為非排程停機狀態: 該作業系統的狀態進一步為嚴重失效狀態,或是該伺服器的健康狀況的狀態係在嚴重狀態中。
  11. 根據申請專利範圍第9項的方法,其進一步包括:監視至少一軟體應用程式或硬體組件的開啟狀態與關閉狀態中的至少其中一者,並且用以儲存表示一軟體應用程式或硬體組件的使用時間或頻率的資訊。
  12. 一種用於伺服器停機時間計量的設備,其包括:一處理器;以及一包含電腦程式碼的記憶體裝置,該記憶體裝置與該電腦程式碼會配合該處理器讓該設備:接收複數個控制變數信號用以表示一伺服器的一處理器的健康狀況的至少一操作狀態以及該伺服器的一作業系統的操作狀態,該處理器的健康狀況的操作狀態為良好狀態、降級狀態、或是嚴重狀態中其中一者,該作業系統的操作狀態為在作業系統驅動程式控制下、在預啟動組件控制下、或是嚴重失效狀態中的其中一者;以該被收到的複數個控制變數信號為基礎來決定該伺服器的總狀態,該總狀態為運行狀態、降級狀態、排程停機狀態、以及非排程停機狀態中的其中一者;以及追蹤花費在該運行狀態、該降級狀態、該排程停機狀態、以及該非排程停機狀態中的時間數額。
  13. 根據申請專利範圍第12項的設備,其中:當該被收到的複數個控制變數信號表示該伺服器的健康狀況在良好狀 態中並且該作業系統的狀態在作業系統驅動程式控制下時,該總狀態被判定為運行狀態,當該被收到的複數個控制變數信號表示該伺服器的健康狀況在降級狀態中並且該作業系統的狀態在作業系統驅動程式控制下時,該總狀態被判定為降級狀態,當該被收到的複數個控制變數信號表示該伺服器的健康狀況在良好狀態或是降級狀態中並且該作業系統的狀態在預啟動組件控制下時,該總狀態被判定為排程停機狀態,以及當該被收到的複數個控制變數信號表示該作業系統的狀態在預啟動組件控制下並且表示下列之中的任一者時該總狀態被判定為非排程停機狀態:該作業系統的狀態進一步為嚴重失效狀態,或是該伺服器的健康狀況的狀態係在嚴重狀態中。
  14. 根據申請專利範圍第12項的設備,其中,該記憶體裝置與該電腦程式碼會配合該處理器進一步讓該設備:監視至少一軟體應用程式或硬體組件的開啟狀態與關閉狀態中的至少其中一者,並且儲存表示一軟體應用程式或硬體組件的使用時間或頻率的資訊。
TW103132197A 2013-09-30 2014-09-18 伺服器及用於伺服器停機時間計量的方法和設備 TWI519945B (zh)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/US2013/062675 WO2015047404A1 (en) 2013-09-30 2013-09-30 Server downtime metering

Publications (2)

Publication Number Publication Date
TW201518942A TW201518942A (zh) 2015-05-16
TWI519945B true TWI519945B (zh) 2016-02-01

Family

ID=52744277

Family Applications (1)

Application Number Title Priority Date Filing Date
TW103132197A TWI519945B (zh) 2013-09-30 2014-09-18 伺服器及用於伺服器停機時間計量的方法和設備

Country Status (3)

Country Link
US (1) US20160197809A1 (zh)
TW (1) TWI519945B (zh)
WO (1) WO2015047404A1 (zh)

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6020476B2 (ja) * 2014-01-20 2016-11-02 横河電機株式会社 プロセス制御装置及びその更新方法
CN104991629B (zh) 2015-07-10 2017-11-24 英业达科技有限公司 电源失效侦测系统与其方法
TWI584114B (zh) * 2015-08-04 2017-05-21 英業達股份有限公司 電源失效偵測系統與其方法
TWI554886B (zh) 2015-08-19 2016-10-21 群聯電子股份有限公司 資料保護方法、記憶體控制電路單元及記憶體儲存裝置
CN106484308B (zh) * 2015-08-26 2019-08-06 群联电子股份有限公司 数据保护方法、存储器控制电路单元及存储器储存装置
US9946600B2 (en) * 2016-02-03 2018-04-17 Mitac Computing Technology Corporation Method of detecting power reset of a server, a baseboard management controller, and a server
US11516106B2 (en) * 2018-06-27 2022-11-29 Intel Corporation Protocol analyzer for monitoring and debugging high-speed communications links
TWI682271B (zh) * 2018-11-28 2020-01-11 英業達股份有限公司 伺服器系統
CN109636060B (zh) * 2018-12-25 2024-09-17 江苏金风科技有限公司 风电机组运维工时修正预测方法

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020141332A1 (en) * 2000-12-11 2002-10-03 Jeff Barnard Failover apparatus and method for an asynchronous data communication network
US7149917B2 (en) * 2002-07-30 2006-12-12 Cisco Technology, Inc. Method and apparatus for outage measurement
US20070130328A1 (en) * 2005-12-07 2007-06-07 Nickolaou James N Progress tracking method for uptime improvement
US9557723B2 (en) * 2006-07-19 2017-01-31 Power Analytics Corporation Real-time predictive systems for intelligent energy monitoring and management of electrical power networks
US8212683B2 (en) * 2009-12-09 2012-07-03 Sap Ag Metric for planned downtime
US9077627B2 (en) * 2011-03-28 2015-07-07 Hewlett-Packard Development Company, L.P. Reducing impact of resource downtime

Also Published As

Publication number Publication date
WO2015047404A1 (en) 2015-04-02
TW201518942A (zh) 2015-05-16
US20160197809A1 (en) 2016-07-07

Similar Documents

Publication Publication Date Title
TWI519945B (zh) 伺服器及用於伺服器停機時間計量的方法和設備
US10127032B2 (en) System and method for unified firmware management
AU2010229206B2 (en) System and method for configuring a power device
JP4572251B2 (ja) 計算機システム、計算機システムの障害の予兆検知方法及びプログラム
TW201730763A (zh) 硬體修復方法、硬體修復系統以及計算機可讀取儲存裝置
US7975084B1 (en) Configuring a host computer using a service processor
US10152369B2 (en) Compute resource monitoring system and method associated with benchmark tasks and conditions
TWI261748B (en) Policy-based response to system errors occurring during OS runtime
JP6683920B2 (ja) 並列処理装置、電力係数算出プログラムおよび電力係数算出方法
JP2010086364A (ja) 情報処理装置、動作状態監視装置および方法
JP6794805B2 (ja) 故障情報管理プログラム、起動試験方法及び並列処理装置
JP5529686B2 (ja) コンピュータ装置の異常検査方法及びそれを用いたコンピュータ装置
US9367335B2 (en) State dependent optimization for sequential booting of heterogeneous systems
US20160188361A1 (en) Systems and methods for determining desktop readiness using interactive measures
US20140297234A1 (en) Forecasting production output of computing system fabrication test using dynamic predictive model
CN117312094A (zh) 一种基于时间序列分析算法的服务器硬件监控采集方法
CN109753338A (zh) 虚拟gpu使用率的检测方法和装置
CN111158982A (zh) 电子设备、第一运行系统、数据处理方法及存储介质
CN111124095B (zh) 一种升级电源固件时电源运行状态检测方法及相关装置
US20150100816A1 (en) Anticipatory protection of critical jobs in a computing system
KR20090052418A (ko) 재기동 정보 관리 기능을 구비한 장치
US20180018240A1 (en) Obtaining state information of threads of a device
JP2018097695A (ja) 監視装置、監視方法及び監視プログラム
CN120909665B (zh) 电子设备运行的控制方法、电子设备、服务器和存储介质
US20130198552A1 (en) Power consumption monitoring

Legal Events

Date Code Title Description
MM4A Annulment or lapse of patent due to non-payment of fees