專利名稱:服務器識別方法
技術領域:
本發明涉及一種識別方法,特別是一種服務器識別方法。
背景技術:
隨著企業規模的增大,也使得企業內部的服務器數量隨之增加。在企業內部通 過專門的管理軟件對服務器進行管理。而管理主機的第一件事情就是要把服務器記錄 到管理系統中。將服務器加入到管理系統有以下各種方法離線式(offline)與在線式 (online)。離線式在服務器尚未啟動時,將新的服務器記錄至管理列表中,再將該管理列表 導入至管理系統。而在線式是在服務器運行時,通過標準協議連接服務器以達到發現服務 器的目的。而在線式的連接方式又可以區分為兩種頻內(in-band)與頻外(out-of-band)。 頻內指的是操作系統已經啟動的情況下利用標準協議,如,ICMP、SNMP、WMI等或是通過私有 協議訪問操作系統。頻外則是服務器沒有進入操作系統的情況下,通過智能平臺管理接口 (International Precious Metalslnstitute,IPMI)、主動式管理技術(Active Management Technology,AMT)等協議來訪問服務器。但是,在頻內與頻外不同模式下,服務器的網絡地 址是完全不同的。管理系統會將不同網絡地址的同一臺服務器辨識為不同服務器。假設一臺具有雙網絡卡的服務器,具有兩個不同的網絡地址。該服務器支持IPMI 協議(為主板具有有基板管理控制(BMC)芯片),基板管理控制的網絡地址為10. 1. 1. 1。而 服務器所運行的操作系統的網絡地址為192. 168. 1. 1。當管理系統分別通過這兩個網絡地 址發現服務器,管理系統系將兩個網絡地址分別設定為兩臺服務器。這樣一來,將造成內部 網絡路由上的復雜度與管理上的重復。
發明內容
本發明所要解決的技術問題是提供一種服務器識別方法,用以識別同一局域網絡 中的多個服務器,特別是針對具有多網絡地址且同一服務器。為了實現上述目的,本發明提供了一種服務器識別方法,用以識別一局域網絡中 的多個服務器,該服務器識別方法包括將一管理主機電性連接于每一該些服務器;根據該服務器的運行狀態,通過一聯機手段取得該服務器的一機器特征碼;由該管理主機根據每一該服務器的該機器特征碼查找一服務器列表中是否存在 該服務器;當該服務器列表中存在該服務器時,則依據該機器特征碼對該服務器列表的該服 務器的記錄內容進行更新;以及當該服務器列表中不存在該服務器的記錄時,則將該服務器的該機器特征碼新增 至該服務器列表中。
上述的服務器識別方法,其中該機器特征碼包含一網絡地址、一操作系統的種 類、一機器名、一機器序號、一媒體存取地址、或一通用唯一識別碼。上述的服務器識別方法,其中該操作系統為窗口操作系統或Linux操作系統。上述的服務器識別方法,其中若該服務器的該操作系統為該窗口操作系統時,則 提取該服務器的機器名作為該機器特征碼。上述的服務器識別方法,其中若該服務器的該操作系統為該Linux操作系統時, 則提取該服務器的該機器序號、該媒體存取地址、或該通用唯一識別碼作為該機器特征碼。上述的服務器識別方法,其中在該管理主機中另具有一非法列表,其用以記錄無 效的該機器特征碼,避免該管理主機將符合該非法列表的該些服務器識別為同一臺該服務
o上述的服務器識別方法,其中該聯機手段為頻內手段或頻外手段。為達上述目的,本發明所公開的服務器識別方法包括以下步驟將管理主機電性 連接于每一服務器;根據服務器的運行狀態,通過聯機手段取得該服務器的機器特征碼; 由管理主機根據每一服務器的機器特征碼查找服務器列表中是否存在服務器;當服務器列 表中存在服務器時,則依據機器特征碼對服務器列表的服務器的記錄內容進行更新;當服 務器列表中不存在服務器的記錄時,則將服務器的網絡地址新增至服務器列表中。本發明的技術效果在于本發明提供了一種服務器識別方法,其應用在局域網絡 中具有多網絡地址的同一服務器。由于在企業的局域網絡中可能存在具有多個不同網絡地 址的同一服務器。若是管理系統根據每一網絡地址進行新增服務器時,將會產生多組指向 相同服務器的路由。本發明針對此一具有多網絡地址的同一服務器進行合并,使得管理系 統可以將重復的路由合并為同一組,以降低管理與路由的負擔。以下結合附圖和具體實施例對本發明進行詳細描述,但不作為對本發明的限定。
1圖為本發明的結構示意圖;2圖為本發明的運行流程示意圖;3圖為本發明的步驟S230的運行流程示意圖。其中,附圖標記110 服務器120 管理主機121 管理清單122 非法列表
具體實施例方式下面結合附圖對本發明的結構原理和工作原理作具體的描述請參考圖1所示,其為本發明的架構示意圖。在圖1中為一局域網絡,在局域網絡 中具有至少一服務器110與管理主機120。服務器110上所運行的操作系統可以是微軟公 司所推出的窗口操作系統(例如:ffindows XP,NT,Windows 2003、Vista或 Windows 7 等)、 Linux操作系統或Unix操作系統。管理主機120通過網絡連接于該些服務器110。在管理主機120上運行管理程序,用以辨識各服務器110。管理程序包括以下步驟,還請參考圖2 所示,其為本發明的運行流程示意圖。步驟S210 將管理主機電性連接于每一服務器;步驟S220 根據服務器的運行狀態,通過聯機手段取得該服務器的機器特征碼;步驟S230 由管理主機根據每一服務器的機器特征碼查找服務器列表中是否存 在服務器;步驟S240 當服務器列表中存在服務器時,則依據機器特征碼對服務器列表的服 務器的記錄內容進行更新;以及步驟S250 當服務器列表中不存在服務器的記錄時,則將服務器的網絡地址新增 至服務器列表中。在管理主機120中具有服務器110列表與非法列表122。服務器110列表用以記 錄符合機器特征碼的同一臺服務器110。而非法列表122用以記錄無效的機器特征碼,避免 管理主機120將符合非法列表122的些服務器110識別為同一臺該服務器110。舉例來說,非法列表122可以通過機器序號與通用唯一識別碼作為辨識的依據。 請參考下表所示表1.非法列表
Category字段用以區分是SN或UUID ;Operator字段用來定義查找規則的,在表 1有三種(equal 即和后面字段完全一樣則為非法;contains 只要包含字段中的內容則為 非法;regular 字段是一個正則表達式,如果符合該表達式則為非法數據)。舉例來說,SN 內容是 “To be filled by OEM” ;UUID 內容中包括 “aaa | bbb |. . . fff |000|. . . 999” 這就 需要維護一個非法列表122,遇到這些沒意義內容則即使兩個網絡地址相同的服務器110, 也不會認為是同一臺服務器110。管理主機120可以通過服務器110的運行環境與操作系統來進行判斷。換言之, 管理主機120通過機器特征碼判斷管理清單121中的服務器110是否為同一臺。其中機 器特征碼為網絡地址、操作系統的種類、機器名、機器序號、媒體存取地址或通用唯一識別 碼(Universally Unique Identifier,UUID)的任一。例如,服務器110的操作系統若是微 軟公司所推出的窗口操作系統,則在同一網域中僅能存在一臺機器名的服務器110。但是 Linux操作系統并無此一限制。因此,為能詳盡的說明整體的步驟S230的判斷過程,還請另外參考圖3。在判斷過 程包括以下步驟步驟S310 判斷服務器的操作系統是否為窗口操作系統;若服務器的操作系統為 窗口操作系統則執行步驟S320,反之則執行步驟S330。步驟S320:承接步驟S310,若服務器的操作系統為窗口操作系統,查找管理清單 中是否存在相同機器名稱的服務器;步驟S330 若服務器的操作系統不為窗口操作系統或者管理清單中不存在相同 機器名稱的服務器,則查找非法列表用以判斷服務器的機器序號是否為無效數據;若為無 效數據,則執行步驟S350步驟S340 承接步驟S330,若服務器的機器序號不為無效數據時,則查找管理清 單中是否存在相同機器序號的服務器;步驟S350:承接步驟S340,若管理清單中不存在相同機器序號的服務器,查找管 理清單中是否存在有與該臺服務器的媒體存取地址相同的該服務器;步驟S360 承接步驟S350,若管理清單中不存在有相同媒體存取地址的服務器, 則查找非法列表判斷該臺服務器的通用唯一識別碼是否為無效數據;步驟S370 承接步驟S360 若該臺服務器的通用唯一識別碼不為無效數據,則判 斷管理清單中是否有相同的通用唯一識別碼;步驟S371 承接步驟S360,若非法列表中存在服務器的通用唯一識別碼,則在管 理清單中建立新的服務器數據;步驟S381 承接步驟S370,若管理清單中不存在相同的通用唯一識別碼,則在管 理清單中建立新的服務器數據;步驟S382 承步驟S320,若服務器的操作系統為窗口操作系統,則遍歷管理列表 中具有相同的服務器,并將相同機器名的服務器識別為同一臺服務器;步驟S351 承接步驟S340,若管理清單中存在相同機器序號的服務器,則將相同 機器序號的服務器識別為同一臺服務器;步驟S361 承接步驟S350,若存在相同媒體存取地址的該服務器,并將相同媒體 存取地址的服務器識別為同一臺服務器;以及
步驟S383 承接步驟S370,若管理清單中具有相同的通用唯一識別碼,則將相同 機器序號的通用唯一識別碼別為同一臺服務器。為能清楚說明本發明的運行,以下述例子作為說明,請配合上述運行流程。首先, 管理主機120通過網絡連接該些服務器。每一個服務器110并非處于開機運行的狀態。因 此對于未開機的服務器110或運行中的服務器110會分別以不同的通訊協議進行連接(對 應步驟S210)。假設服務器A所運行操作系統的網絡地址為10. 191. 1. 1(相應的媒體存取 地址11-22-33-44-55-66),而服務器A的基板管理控制的網絡地址為172. 17. 1. 1 (相應的 媒體存取地址 aa-bb-cc-dd-ee-ff)。接著,通過聯機手段取得該服務器A的機器特征碼。由于服務器A可能尚未開機或者 已經處于運行狀態。因此管理主機120會根據服務器A的不同狀態取得相應的機器特征碼。假設服務器A處于未開機狀態。管理主機120利用IPMI協議通過172. 17. 1. 1查 找到服務器A。由于服務器A仍處于關機狀態,所以無法通過IPMI取得服務器的操作系統 信息。管理主機120可以通過BMC取得服務器A的序號資料(假設為“To be filled by OEM”)、媒體存取地址(aa-bb-cc-dd-ee-ff)、通用唯一識別碼(123-aaa-bbb-ccc_ddd)。假 設管理主機120中并未儲存有該臺服務器A信息,所以管理主機120在查找到服務器A后, 管理主機120系將服務器A記錄在管理清單121中。隨后,將服務器A開機并運行操作系統。管理主機120查詢局域網絡時發現網 絡地址為10. 191. 1. 1的服務器A,管理主機120找到后通過私有協議利用系統管理基本 輸入/輸出系統(System management BIOS, SMBI0S)取到服務器的操作系統信息(假 設為Windows 2003 enterprise)、機器序號(假設為snOOl)、媒體存取地址(Mac地址 (11-22-33-44-55-66 和 aa-bb-cc-dd-ee-ff))、通用唯一識別碼(123-567-789-abc-def)。管理主機120根據服務器110開機時所獲取到的各項機器特征碼查詢管理清單 121中是否具有相同的服務器110。由于服務器110關機時BMC的機器序號(To be filled by OEM)為無效數據。且管理清單121中并未查找到相同的通用唯一識別碼。最后,在管 理清單121中查找到服務器110的已儲存的媒體存取地址。所以,可以將這兩筆的服務器 110信息識別為同一臺服務器110。除了上述情況外,若非法列表122中存在服務器110的通用唯一識別碼,則需在管 理清單121中建立新的服務器110數據。這是因為通用唯一識別碼如果是非法數據,這將 意味該比數據沒有意義,既然沒意義就不能將它和其它已經存在的節點進行合并。因此只 能建立的新的節點來記錄該筆服務器110。如果不建立新的節點,而是與其它已經存在的節 點進行合并。將可能產生把兩臺不同的服務器110識別成同一臺(對應步驟S341)。本發明提供一種服務器110識別方法,其應用在局域網絡中具有多網絡地址的同 一服務器110。由于在企業的局域網絡中可能存在具有多個不同網絡地址的同一服務器 110。若是管理系統系根據每一網絡地址進行新增服務器110時,將會產生多組指向相同服 務器110的路由。本發明針對此一具有多網絡地址的同一服務器110進行合并,使得管理 系統可以將重復的路由合并為同一組,以降低管理與路由的負擔。當然,本發明還可有其它多種實施例,在不背離本發明精神及其實質的情況下,熟 悉本領域的技術人員當可根據本發明作出各種相應的改變和變形,但這些相應的改變和變 形都應屬于本發明所附的權利要求的保護范圍。
權利要求
一種服務器識別方法,用以識別一局域網絡中的多個服務器,其特征在于,該服務器識別方法包括將一管理主機電性連接于每一該些服務器;根據該服務器的運行狀態,通過一聯機手段取得該服務器的一機器特征碼;由該管理主機根據每一該服務器的該機器特征碼查找一服務器列表中是否存在該服務器;當該服務器列表中存在該服務器時,則依據該機器特征碼對該服務器列表的該服務器的記錄內容進行更新;以及當該服務器列表中不存在該服務器的記錄時,則將該服務器的該機器特征碼新增至該服務器列表中。
2.如權利要求1所述的服務器識別方法,其特征在于,該機器特征碼包含一網絡地 址、一操作系統的種類、一機器名、一機器序號、一媒體存取地址或一通用唯一識別碼。
3.如權利要求2所述的服務器識別方法,其特征在于,該操作系統為窗口操作系統或 Linux操作系統。
4.如權利要求3所述的服務器識別方法,其特征在于,若該服務器的該操作系統為該 窗口操作系統時,則提取該服務器的機器名作為該機器特征碼。
5.如權利要求3所述的服務器識別方法,其特征在于,若該服務器的該操作系統為該 Linux操作系統時,則提取該服務器的該機器序號、該媒體存取地址或該通用唯一識別碼作 為該機器特征碼。
6.如權利要求1所述的服務器識別方法,其特征在于,在該管理主機中另具有一非法 列表,其用以記錄無效的該機器特征碼,避免該管理主機將符合該非法列表的該些服務器 識別為同一臺該服務器。
7.如權利要求1所述的服務器識別方法,其特征在于,該聯機手段為頻內手段或頻外 手段。
全文摘要
一種服務器識別方法,用以識別在同一局域網絡中的多個服務器。識別方法包括以下步驟將管理主機電性連接于每一服務器;根據服務器的運行狀態,通過聯機手段取得該服務器的機器特征碼;由管理主機根據每一服務器的機器特征碼查找服務器列表中是否存在服務器;當服務器列表中存在服務器時,則依據機器特征碼對服務器列表的服務器的記錄內容進行更新;當服務器列表中不存在服務器的記錄時,則將服務器的網絡地址新增至服務器列表中。
文檔編號H04L29/06GK101877647SQ200910253310
公開日2010年11月3日 申請日期2009年11月30日 優先權日2009年11月30日
發明者劉福成, 范剛, 陳玄同, 陳龍 申請人:英業達股份有限公司