TW201512990A - 虛擬機器的拓樸架構管理方法及其系統 - Google Patents
虛擬機器的拓樸架構管理方法及其系統 Download PDFInfo
- Publication number
- TW201512990A TW201512990A TW102134631A TW102134631A TW201512990A TW 201512990 A TW201512990 A TW 201512990A TW 102134631 A TW102134631 A TW 102134631A TW 102134631 A TW102134631 A TW 102134631A TW 201512990 A TW201512990 A TW 201512990A
- Authority
- TW
- Taiwan
- Prior art keywords
- virtual machine
- information database
- topology
- address
- host name
- Prior art date
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
- G06F2009/45595—Network integration; Enabling network access in virtual machine instances
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
一種虛擬機器的拓樸架構管理系統,包括一基礎資訊資料庫、一資訊登記程序及一拓樸資訊資料庫。當雲端的一虛擬機器被建立時,係由基礎資訊資料庫來記錄虛擬機器的複數內部資訊。資訊登記程序定時監看基礎資訊資料庫,並將基礎資訊資料庫中新增或更動的虛擬機器的資訊寫入拓樸資訊資料庫中。拓樸資訊資料庫中記錄虛擬機器的別名與主機名稱的對應關係,以及主機名稱與IP位址的對應關係。其中,虛擬機器的別名係依據其被交付的任務來加以定義。藉此在虛擬機器搬移後,無論主機名稱與IP位址如何改變,皆可依別名查找虛擬機器並與之連線。
Description
本發明係有關於虛擬機器的管理方法及管理系統,尤其更有關於在雲端的虛擬環境下,用來自動管理並更新虛擬機器的拓樸架構的管理方法及管理系統。
近來,雲端運算的概念迅速發展,也帶動了雲端產業的興盛。一般來說,雲端運算是在雲端機房中設置為數眾多的電腦,該些電腦分別通過網路交換機來連接網路,以為使用者提供雲端運算的服務。
現今電腦的硬體效能越來越強大,因此,即有人提出在單一台實體的電腦(即,實體機器)中,同時運行複數台虛擬的電腦(即,虛擬機器)的技術。該些虛擬機器係共享該實體機器的硬體資源,也就是說,對於管理者而言,只需要維護一台實體機器,就能夠使用多台虛擬機器來提供不同的服務程序給使用者,實可節省人力、空間、及電力等成本。
請參閱第一圖,為現有技術的虛擬機器管理架構圖。如圖中所示,一般雲端機房中,主要會設置有複數的實體機器1及至少一基礎資訊資料庫2,並且該基礎資訊資料庫2連接該複數的實體機器1。一般來說,當該實體機器1要建立一台虛擬機器3時,會先將要分派給該虛擬機器3使用的主機名稱及IP位址等資訊寫入該基礎資訊資料庫2中,以預告將要建立一台虛擬機器3。並且,於該些資訊寫入該基礎資訊資料庫2後,再依據該些資訊來建立該虛擬機器3。
如上所述,一台實體機器1上的多台虛擬機器3,係共享該實體機器1之硬體資源,故當該些虛擬機器3同時被為數過多的使用者使用時,將會嚴重佔據該實體機器1的硬體資源,進而造成雲端系統的不穩定性。因此,雲端系統中的複數實體機器1,通常需要為其上的複數虛擬機器3執行搬移(Migration)動作,以平衡該複數實體機器1的負載(Loading)狀況。
當管理者要查詢一特定的虛擬機器3時,主要可操作一查詢終端4,連線至該基礎資訊資料庫2,以查詢該虛擬機器3的主機名稱與IP位址等資訊。然而如上所述,該虛擬機器3實會不斷的搬移到新的位置,因而主機名稱與IP位址也可能會不斷地改變,是以,管理者實需不斷地查詢該基礎資訊資料庫2,才能持續鎖定該特定的虛擬機器3的位置,相當麻煩。
再者,當一主機(實體機器或虛擬機器)需持續與某一虛擬機器3保持連線,以使用該虛擬機器3提供的服務時,通常會將該虛擬機器3的主機名稱或IP位址直接記錄於該主機的連線設定檔中。如此一來,當該虛擬機器3因搬移而改變主機名稱與IP位址時,該主機即無法與該虛擬機器3連線。於此一情況下,通常需由該主機的使用者先查詢該基礎資訊資料庫2,得知該虛擬機器3的新的IP位址為何,接著再手動登入該主機中,將該連線設定檔中的舊IP位址更改為新IP位址。然而,這樣的作法,實會為雲端系統的管理者及使用者皆帶來相當大的不便。
本發明之主要目的,在於提供一種虛擬機器的拓樸架構管理方法及其系統,係可自動追蹤並更新雲端的虛擬環境的拓樸架構,令查詢者可隨時通過虛擬機器的別名,查詢虛擬機器的所在位置。
為達上述目的,本發明提供包括了一基礎資訊資料庫、一資訊登記程序及一拓樸資訊資料庫的管理系統。當雲端的一虛擬機器被建立時,係由基礎資訊資料庫來記錄虛擬機器的複數內部資訊。資訊登記程序定時監看基礎資訊資料庫,並將基礎資訊資料庫中新增或更動的虛擬機器的資訊寫入拓樸資訊資料庫中。拓樸資訊資料庫中記錄虛擬機器的別名與主機名稱的對應關係,以及主機名稱與IP位址的對應關係。其中,虛擬機器的別名係依據其被交付的任務來加以定義。
本發明對照先前技術所能達成之功效在於,讓虛擬機器的別名永遠對應至正確的主機名稱與IP位址,如此當一虛擬機器被搬移時,不論主機名稱或IP位址如何變動,皆可通過同一個別名進行查詢,以輕易地找到虛擬機器並與之連線。換句話說,查詢者只要知道該虛擬機器的別名,就可直接找到該虛擬機器。通過本系統,查詢者不需要查閱虛擬機器的搬移記錄,也不需要知道虛擬機器搬移到哪裡,只要知道虛擬機器的別名就已足夠。
1‧‧‧實體機器
11‧‧‧第一主機
12‧‧‧第二主機
2‧‧‧基礎資訊資料庫
3、31~34‧‧‧虛擬機器
3A‧‧‧高可靠性主機
3B‧‧‧網路服務主機
4‧‧‧查詢終端
5‧‧‧資訊登記程序
6‧‧‧拓樸資訊資料庫
61‧‧‧上層表單
62‧‧‧下層表單
7‧‧‧設定終端
71‧‧‧設定應用程式介面
8‧‧‧查詢終端
91‧‧‧後台伺服器
92‧‧‧前台伺服器
S10~S18‧‧‧步驟
S20~S26‧‧‧步驟
S30~S40‧‧‧步驟
第一圖為現有技術的虛擬機器管理架構圖。
第二圖為本發明的第一較佳具體實施例的系統架構圖。
第三A圖為本發明的第一較佳具體實施例的上層表單示意圖。
第三B圖為本發明的第一較佳具體實施例的下層表單示意圖。
第四圖為本發明的第一較佳具體實施例的虛擬機器搬移示意圖。
第五A圖為本發明的第二較佳具體實施例的上層表單示意圖。
第五B圖為本發明的第二較佳具體實施例的下層表單示意圖。
第六圖為本發明的第一較佳具體實施例的表單建立流程圖。
第七圖為本發明的第一較佳具體實施例的拓樸架構更新流程圖。
第八圖為本發明的第一較佳具體實施例的虛擬機器位置查詢流程圖。
第九圖為本發明的第一較佳具體實施例的查詢動作示意圖。
第十圖為本發明的第二較佳具體實施例的系統架構圖。
茲就本發明之一較佳實施例,配合圖式,詳細說明如後。
首請參閱第二圖,為本發明的第一較佳具體實施例的系統架構圖。本發明揭露了一種虛擬機器(Virtual Machine,VM)的拓樸架構管理系統(下面將於說明書內文中簡稱為該系統),該系統主要可包括複數實體機器(Physical Machine,PM)11-12、一基礎資訊資料庫2、一資訊登記程序(register process)5及一拓樸資訊資料庫6,其中,該資訊登記程序5主要可運行於該系統中的任一PM或VM中,並且,該複數PM11-13係以一第一主機11及一第二主機12等兩台為例,但其數量亦可為一台或兩台以上,不應加以限定。
該些PM11-12上係可分別運行有一或多台PM31-34,本實施例中係以該第一主機11運行VM31及32、該第二主機12運行VM33及34為例,但不加以限定。該基礎資訊資料庫2主要係記錄該些VM31-34的複數內部資訊,例如主機名稱(hostname)、IP位址及媒體存取控制(Media Access Control,MAC)位址等,但不以此為限。值得一提的是,於雲端系統中,一PM通常是先將要建立的VM的內部資訊先寫入該基礎資訊資料庫2中,預告自己將建立一個符合該複數內部資訊的VM,接著再依據該複數內部資訊來於其上建立該VM。
該資訊登記程序5係連接至該基礎資訊資料庫2及該拓樸資訊資料庫6,該資訊登記程序5係定時監看(monitor)該基礎資訊資料庫2的內容,藉以,隨時得知新的VM的建立,以及既有的VM的搬移(migration)。並且,當該基礎資訊資料庫2中的資料有變動時,將該些VM的複數內部資訊更新至該拓樸資訊資料庫6中。
更具體而言,管理人員係可對該資訊登記程序5進行設定,令該資訊登記程序5以一特定頻率重覆讀取(access)該基礎資訊資料庫2(例如每10分鐘或每30分鐘讀取一次),或是以一特定事件驅動該資訊登記程序5讀取該基礎資訊資料庫2(例如發生VM migration時),以取得該基礎資訊資料庫2之儲存內容。進一步,該資訊登記程序5將所取得之儲存內容,與上一次取得的該基礎資訊資料庫2之儲存內容進行比對,確認是否有產生不同的資料。若該資訊登記程序5於比對前後兩次讀取的內容後,發現有不同的資料產生,表示該不同的資料為更新過後的VM的資料,藉以,該資訊登記程序5再將該資料更新至該拓樸資訊資料庫6中。如此一來,管理人員不必手動登入並查詢該基礎資訊資料庫2,即可由該資訊登記程序5來自動追蹤並整理該些VM的資料。
舉例來說,當該VM31被建立時,該資訊登記程序5可由該基礎資訊資料庫2中得知該VM31的主機名稱與IP位址。是以,該資訊登記程序5會將該VM31的主機名稱與IP位址寫入該拓樸資訊資料庫6中,建立屬於該VM31的欄位。並且,該資訊登記程序5會定時監看該基礎資訊資料庫2,因此,若該VM31執行了搬移程序,則該資訊登記程序5會發現該VM31的主機名稱與IP位址已改變。此時,該資訊登記程序5會從該基礎資訊資料庫2中取出改變後的該VM31的主機名稱與IP位址,並且更新至該拓樸資訊資料庫6中。本實施例中,該資訊登記程序5係可由該基礎資訊資料庫2中的該VM31的一識別資訊來追蹤該VM31,以判斷該VM31的主機名稱與IP位址是否改變,其中該識別資訊可例如為該VM31的MAC位址,但並不以此為限。
如上所述,當該些VM31-34執行了搬移程序後,其主機名稱與IP位址將可能會改變,因而管理人員需要親自查詢該基礎資訊資料庫2,才能得知該些VM31-34搬移到哪個新位置(例如,由該第一主機11搬移到該第二主機12)。本發明的主要技術特徵在於,允許管理人員在一台VM被建立後,為該VM定義一個固定不變的別名(alias name),並將該別名寫入該拓樸資訊資料庫6中,讓該VM的別名、主機名稱及IP位址等資訊彼此產生關聯,即讓該別名對應至該VM的該主機名稱及該IP位址。其中,該別名主要是依據該VM被交付的任務(即,該VM的角色)所定義而成,例如,若該VM主要是用以提供雲端的網路服務(Web service),則該VM的別名可被定義為“www1”,表示該VM為該系統中用來提供網路服務的第一台VM;再例如,若該VM主要是用以提供運算服務(computing),則該VM的別名可被定義為“compute3”,表示該VM為該系統中用來提供運算服務的第三台VM。然而,以上所述皆僅為本發明的較佳具體實例,不應以此為限。
本實施例中,該系統更可包括一設定終端7,連接至該拓樸資訊資料庫6,其中該設定終端7內具有一設定應用程式介面(Application Program Interface,API)71,並且,該設定API71主要為一別名的設定API,用以對該系統中的VM進行該別名的設定。更具體而言,當一個新的VM被建立時,該資訊登記程序5僅會將該VM的主機名稱與IP位址等複數內部資訊寫入該拓樸資訊資料庫6中,因此,需由該系統的管理人員登入該設定終端7,操作該設定API71,以為該VM定義一個專屬、固定的別名。只要該VM被交付的任務沒有改變(即,該VM的角色沒有改變),則該VM的別名就不會改變,因此,即使日後該VM進行了一或多次的搬移,導致主機名稱與IP位址不斷改變,但該系統要尋找該VM時,只要使用該VM的別名來詢問該拓樸資訊資料庫6,就可以輕易地找到該VM。也就是說,查詢者不需知道該VM搬移到哪裡,只要知道該VM的別名就可以輕易地與之連線。
請同時參閱第三A圖及第三B圖,分別為本發明的第一較佳具體實施例的上層表單示意圖及下層表單示意圖。如第二圖中所示,該拓樸資訊資料庫6中包括有一上層表單61及一下層表單62,而如第三A圖及第三B圖中所示,該上層表單61主要記錄該些VM31-34的別名與主機名稱的對應關係,而該下層表單62則記錄該些VM31-34的主機名稱與IP位址的對應關係。如上所述,該上層表單61與該下層表單62是由該資訊登記程序5來動態進行更新,因此,無論該系統中的VM如何建立、搬移或刪除,管理人員皆可通過該上層表單61與該下層表單62的查詢,輕易地瞭解並管理雲端的虛擬環境的拓樸架構。
於一實施例中,該VM31係建立於第一主機11中,為該第一主機11中的第一台VM。該系統指派該VM31的主機名稱為“PM1_01”,IP位址為“10.0.0.1”,並且該VM31的角色主要為一網路服務伺服器,管理人員可通過該設定終端7定義該VM31的別名為“www1”。於此實施例中,該上層表單61的第一筆資料係記錄「www1,PM1_01」(即,該VM31的別名與主機名稱的對應關係),該下層表單62的第一筆資料係記錄「PM1_01,10.0.0.1」(即,該VM31的主機名稱與IP位址的對應關係)。是以,當一查詢者以“www1”這個別名來查詢該拓樸資訊資料庫6時,即可由該上層表單61查到該別名對應的主機名稱為“PM1_01”,並且,可再依該主機名稱來查詢該下層表單62,進而查到該主機名稱對應的IP位址為“10.0.0.1”。如此一來,該查詢者就可以得到該IP位址,並且藉由該IP位址與該VM 31建立連線。
本實施例中,係以“PM1_01”這個主機名稱,表示該VM31位於該第一主機11中,並且為該第一主機11中的第一台VM,這是一種常見的VM的主機名稱編碼方式。然而,該主機名稱的編碼方式實有相當多種,本發明僅為清楚說明而以此一編碼方式來進行舉例,但並不以此為限。
如圖中所示,該第一主機11中具有第二台VM32,該VM32為一網路服務伺服器,其別名為“www2”、主機名稱為“PM1_02”、IP位址為“10.0.0.2”。該第二主機12中運作有兩台VM33及34,該VM33為一儲存伺服器,其別名為“storage1”、主機名稱為“PM2_01”(即,為該第二主機12中的第一台VM)、IP位址為“10.0.1.1”;該VM34為一高可靠性(High Availability,HA)伺服器,其別名為“HA”、主機名稱為“PM2_02”(即,為該第二主機12中的第二台VM)、IP位址為“10.0.1.2”。如上述實施例所述,當一查詢者以別名“www2”來查詢該拓樸資訊資料庫6時,可得到該VM32的IP位址“10.0.0.2”;以別名“storage1”來查詢該拓樸資訊資料庫6時,可得到該VM33的IP位址“10.0.1.1”;而以別名“HA”來查詢該拓樸資訊資料庫6時,則可得到該VM34的IP位址“10.0.1.2”,以此類推。
續請同時參閱第四圖、第五A圖及第五B圖,分別為本發明的第一較佳具體實施例的虛擬機器搬移示意圖、以及第二較佳具體實施例的上層表單示意圖與下層表單示意圖。如第四圖中所示,當該VM31執行了搬移程序,由該第一主機11搬移到該第二主機12中時,該VM31的主機名稱與IP位址可能會被改變,例如圖中所示,主機名稱由“PM1_01”改變為“PM2_03”(即,該第二主機12中的第三台VM),IP位址由“10.0.0.1”改變為“10.0.1.3”。
如上所述,該基礎資訊資料庫2中係可記錄有該些VM31-34的該識別資訊(例如MAC位址),該資訊登記程序5可依據該基礎資訊資料庫2中的MAC位址來分別追蹤該些VM31-34,並判斷該些VM31-34的主機名稱及/或IP位址是否改變。並且,當該些VM31-34的主機名稱及/或IP位址改變時,該資訊登記程序5將改變後的主機名稱與IP位址更新至該拓樸資訊資料庫6中,即,更新該上層表單61與該下層表單62。
如第五A圖與第五B圖中所示,當該VM31搬移後,該資訊登記程序5即將改變後的該VM31的主機名稱與IP位址更新至該上層表單61及該下層表單62中。如圖所示,本實施例主要是將該VM31的主機名稱由“PM1_01”更新為“PM2_03”,並將IP位址由“10.0.0.1”更新為“10.0.1.3”,並且,保持讓該VM31的別名“www1”對應至該VM31的主機名稱。如此一來,無論該VM31搬移到哪台PM上,查詢者皆可直接以別名“www1”來查詢該拓樸資訊資料庫6,進而輕易地找到該VM31。換句話說,查詢者不需要知道該VM31的主機名稱與IP位址為何,只需要知道該VM31的別名就夠了。
參閱第六圖,為本發明的第一較佳具體實施例的表單建立流程圖。首先,當一PM要建立一台VM前,會先將該VM的複數內部資訊寫入該基礎資訊資料庫2中(步驟S10),接著,該PM再產生一台符合該複數內部資訊的VM(步驟S12)。更具體而言,該PM是先將要分派給VM使用的主機名稱及IP位址等內部資訊寫入該基礎資訊資料庫2,接著再依據該基礎資訊資料庫2中記錄的該主機名稱及該IP位址來建立一台VM。通過上述步驟S10至步驟S12,該基礎資訊資料庫2中將記錄有該系統中所有VM的內部資訊。
接著,該系統係通過該資訊登記程序5來定時監看該基礎資訊資料庫2,於該基礎資訊資料庫2中取得該些VM的複數內部資訊(步驟S14),並且,進一步將該些VM的複數內部資訊更新至該拓樸資訊資料庫6中(步驟S16)。最後,該拓樸資訊資料庫6接收並記錄該設定終端7為該些VM所定義的別名,並且讓該些別名分別與該些VM的複數內部資訊(即,主機名稱與IP位址)產生關聯(步驟S18),即讓每一台VM的別名分別對應至同一台VM的主機名稱與IP位址。其中,該設定終端7主要是通過其上的該設定API71來定義該些VM的別名,並且該些別名係分別依據該些VM被交付的任務所定義而成。
更具體而言,該步驟S18中,該拓樸資訊資料庫6主要是將該些VM的主機名稱與IP位址的對應關分別寫入該下層表單62中,並且將該些VM的別名與主機名稱的對應關分別寫入該上層表單61中。如此一來,該拓樸資訊資料庫6即可完成如第三A圖與第三B圖中所示的該上層表單61與該下層表單62。
續請參閱第七圖,為本發明的第一較佳具體實施例的拓樸架構更新流程圖。本實施例中,該資訊登記程序5係定時監看該基礎資訊資料庫2(步驟S20),並且,該資訊登記程序5可依據該基礎資訊資料庫2中記錄的該些VM的複數內部資訊,判斷該些VM是否執行了搬移程序(步驟S22)。如上所述,該基礎資訊資料庫2中可記錄有該些VM的該識別資訊(例如MAC位址),因此在該步驟S22中,該資訊登記程序5主要係可通過MAC位址來追蹤該些VM,進而判斷該些VM在該基礎資訊資料庫2中的複數內部資訊是否改變。若該些VM記錄在該基礎資訊資料庫2中的複數內部資訊改變,表示該些VM已經過搬移;反之,若該些VM記錄在該基礎資訊資料庫2中的複數內部資訊保持不變,表示該些VM仍然運作於原始的PM中。
步驟S22之後,若該資訊登記程序5判斷該些VM已經過搬移,則該資訊登記程序5會於該基礎資訊資料庫2中取得改變後的該些VM的複數內部資訊(步驟S24),並且,將改變後的該些VM的複數內部資訊更新於該拓樸資訊資料庫6中(步驟S26)。更具體而言,係以改變後的該些VM的主機名稱與IP位址,更新該拓樸資訊資料庫6中的該上層表單61與該下層表單62。
接著請參閱第八圖,為本發明的第一較佳具體實施例的虛擬機器位置查詢流程圖。當一查詢者要查詢一目標VM時,係可通過一查詢終端(例如第二圖中所示的查詢終端8)來發出一查詢指令給該拓樸資訊資料庫6(步驟S30),其中,該查詢指令中至少需包括該目標VM的別名。該拓樸資訊資料庫6接收該查詢指令後,即可依該查詢指令中的別名來查詢該上層表單61,以取得該別名所對應的主機名稱(步驟S32)。接著,可再依該主機名稱依查詢該下層表單62,以取得該主機名稱所對應的IP位址(步驟S34)。最後,該拓樸資訊資料庫6再將查詢所得的主機名稱及/或IP位址回覆給該查詢終端8。本實施例中,該查詢終端8可為一PM或一VM,並且,該查詢終端8可由管理人員操作,以被動地發出該查詢指令,或者,該查詢終端8亦可為一運作中的主機,並於需要時主動發出該查詢指令。
值得一提的是,本系統主要為一雲端系統,並可同時為不同的群組,例如公司行號來提供服務。因此,若沒有建立任何的過濾機制,讓使用者可任意的查詢該系統中所有VM的資訊,將可能會造成安全性的問題。是以,本實施例中,在接收該查詢指令時,該拓樸資訊資料庫6還可同時接收該查詢終端8的一來源資訊(圖未標示),藉此,該拓樸資訊資料庫6可通過該來源資訊與該目標VM的複數內部資訊進行比對,判斷該查詢終端8與該目標VM是否屬於同一個群組(步驟S36)。若該查詢終端8與該目標VM的確屬於同一個群組(例如同一間公司),再將該拓樸資訊資料庫6查詢所得的該目標VM的主機名稱與IP位址回覆給該查詢終端8(步驟S38)。反之,若該查詢終端8與該目標VM不屬於同一個群組,則不回覆任何資訊給該查詢終端8(步驟S40)。
參閱第九圖,為本發明的第一較佳具體實施例的查詢動作示意圖。如圖所示,該系統中可具有一高可靠性(High Availability,HA)主機3A(可為一PM或一VM),當一資料流(traffic)流進該HA主機3A時,若該HA主機3A要進行重新導向(re-direct)的動作以進行分流,則可通過本發明的技術手段來進行。舉例來說,若該HA主機3A要尋找多台網路服務伺服器(web server)來進行分流,則可依別名“www”來查詢該拓樸資訊資料庫6,該拓樸資訊資料庫6可在查詢該上層表單61與該下層表單62後,得出複數的網路服務主機3B(如圖所示,該複數網路服務主機3B的別名分別為“www1”、“www2”及“www3”)的主機名稱與IP位址。藉此,該HA主機3A就可以輕易地將該資料流重新導向該複數網路服務主機3B。其中,HA實為本技術領域中的通常知識,在此不詳細贅述其技術細節。
一般來說,在傳統的HA主機內部,係需明確記錄該複數網路服務主機3B的IP位址,藉以將資料流重新導向該些IP位址上的主機。因此,當該些網路服務主機3B因搬移而造成IP位址改變時,該系統的管理者必須先查出該些網路服務主機3B的新IP位址,再登入該HA主機中,將舊的IP位址手動更改為新的IP位址,相當麻煩。通過本發明,該HA主機3A內只需記錄別名“www”,並且於需要尋找該複數網路服務主機3B時,再依該別名去查詢該拓樸資訊資料庫6,即可輕易地得到該複數網路服務主機3B的IP位址,進而與該複數網路服務主機3B連線,相當便利。
參閱第十圖,為本發明的第二較佳具體實施例的系統架構圖。於上述第二圖的實施例中,該查詢終端8係直接與該拓樸資訊資料庫6連接,以詢問並接收目標VM的複數內部資訊。而如第十圖所示,該系統亦可提供一種三階(3-tier)的架構,以提高整個系統的穩定性。如圖所示,該系統可包括一後台伺服器91及至少一前台伺服器92。該後台伺服器91連接該拓樸資訊資料庫6,用以對該拓樸資訊資料庫6進行查詢。該至少一前台伺服器92則連接該後台伺服器91及至少一查詢終端8,係接收並處理該查詢終端8發出的查詢指令,交由該後台伺服器91進行查詢,並且將查詢所得結果回覆給該查詢終端8。
具體而言,該前台伺服器92係接收該查詢終端8所發出的該查詢指令,其中,該查詢指令至少包括一目標VM的別名。該前台伺服器92將該查詢指令交給該後台伺服器91,該後台伺服器91再依據該查詢指令中的別名來查詢該拓樸資訊資料庫6,藉以取得該目標VM的主機名稱及IP位址。接著,該後台伺服器91將該目標VM的主機名稱及IP位址回傳給該前台伺服器92,並由該前台伺服器92回覆給發出該查詢指令的該查詢終端8。
本實施例中,該查詢終端8發出的該查詢指令,主要可為一DNS詢問指令,更具體而言,可為standard C library call,例如一gethostbyname()指令,但不加以限定。該前台伺服器92接收該查詢指令後,主要係可依照一DNS反解程序(DNS reverse resolution)來處理該查詢指令,以取出該目標VM的別名。並且,當該前台伺服器92接收到該目標VM的主機名稱與IP位址後,再產生一DNS回覆,進而回覆給該查詢終端8。
一般來說,gethostbyname()指令是發送一名稱(例如別名)給一DNS伺服器,經該DNS伺服器進行該DNS反解程序轉換為對應的網域名稱(例如www.delta.com.tw),再將該網域名稱以該DNS答覆的方式加以回覆。本實施例中,即將該前台伺服器92模擬為一DNS伺服器來使用。舉例來說,當該前台伺服器92接收該查詢指令後,該後台伺服器91就可依該查詢指令中的別名來查詢該拓樸資訊資料庫6,並於得到該目標VM的主機名稱與IP位址後,回傳給該前台伺服器92。該前台伺服器92主要是依據該目標VM的主機名稱及IP位址,產生一個符合DNS規範的DNS答覆。該DNS答覆中必須包括該目標VM的主機名稱及IP位址,並且必須符合DNS規範,舉例來說,該DNS答覆可例如為「主機名稱.IP位址.delta.com.tw」的格式,但不加以限定。該查詢終端8接收該DNS答覆後,即可從該DNS答覆中,得到該目標VM的主機名稱及IP位址。然而,以上所述皆僅為本發明的較佳具體實例,不應以此為限。
值得一提的是,本系統中,亦可通過該前台伺服器92來執行上述的過濾機制,藉以提高本系統的安全性。當該前台伺服器92接收該查詢終端8發出的該查詢指令時,更可同時接收該查詢終端8的該來源資訊,藉此,當該前台伺服器92由該後台伺服器91得到該目標VM的主機名稱與IP位址後,即可通過該查詢終端8的該來源資訊,判斷該查詢終端8與該目標VM是否屬於同一群組(例如,同一間公司)。若該查詢終端8與該目標VM屬於同一群組,再通過該DNS回覆,將該目標VM的主機名稱及IP位址回覆給該查詢終端8;反之,若該查詢終端8與該目標VM不屬於同一群組,則該前台伺服器92不回覆任何資訊給該查詢終端8,藉以確保客戶資料的安全性。
以上所述僅為本發明之較佳具體實例,非因此即侷限本發明之專利範圍,故舉凡運用本發明內容所為之等效變化,均同理皆包含於本發明之範圍內,合予陳明。
11‧‧‧第一主機
12‧‧‧第二主機
2‧‧‧基礎資訊資料庫
31~34‧‧‧虛擬機器
5‧‧‧資訊登記程序
6‧‧‧拓樸資訊資料庫
61‧‧‧上層表單
62‧‧‧下層表單
7‧‧‧設定終端
71‧‧‧設定應用程式介面
8‧‧‧查詢終端
Claims (20)
- 一種虛擬機器的拓樸架構管理系統,包括:
一基礎資訊資料庫,記錄一虛擬機器的複數內部資訊,其中該複數內部資訊包括該虛擬機器的一主機名稱及一IP位址;
一拓樸資訊資料庫;及
一資訊登記程序,連接該基礎資訊資料庫及該拓樸資訊資料庫,該資訊登記程序監看該基礎資訊資料庫,並將該基礎資訊資料庫中的該虛擬機器的該複數內部資訊更新至該拓樸資訊資料庫中;
其中,該虛擬機器具有一固定的別名(alias name),該別名係依據該虛擬機器被交付的任務所定義而成,該別名被記錄於該拓樸資訊資料庫中,並且對應至該拓樸資訊資料庫中的該虛擬機器的該主機名稱及該IP位址。 - 如申請專利範圍第1項所述的拓樸架構管理系統,其中該拓樸資訊資料庫包括一上層表單及一下層表單,該上層表單記錄該虛擬機器的該別名與該主機名稱的對應關係,該下層表單記錄該虛擬機器的該主機名稱與該IP位址的對應關係。
- 如申請專利範圍第2項所述的拓樸架構管理系統,其中該基礎資訊資料庫更記錄該虛擬機器的一識別資訊。
- 如申請專利範圍第3項所述的拓樸架構管理系統,其中,當該虛擬機器被搬移(migration)時,該資訊登記程序依據該基礎資訊資料庫中的該識別資訊來追蹤該虛擬機器,判斷該虛擬機器的該複數內部資訊是否改變,並且於該複數內部資訊改變時,以改變後的該複數內部資訊更新該拓樸資訊資料庫中的該上層表單與該下層表單。
- 如申請專利範圍第1項所述的拓樸架構管理系統,其中更包括一設定終端,連接至該拓樸資訊資料庫,該設定終端具有一設定應用程式介面(Application Program Interface,API),該設定API接受外部操作,以定義該虛擬機器的該別名,並將該別名寫入該拓樸資訊資料庫中,以對應至該拓樸資訊資料庫中的該虛擬機器的該主機名稱與該IP位址。
- 如申請專利範圍第1項所述的拓樸架構管理系統,其中更包括至少一實體機器,連接該基礎資訊資料庫,該實體機器將該複數內部資訊寫入該基礎資訊資料庫中,再依據該複數內部資訊於其上建立該虛擬機器。
- 如申請專利範圍第1項所述的拓樸架構管理系統,其中更包括:
一後台伺服器,連接該拓樸資訊資料庫;及
一前台伺服器,連接該後台伺服器以及一查詢終端;
其中,該前台伺服器由該查詢終端接收一查詢指令,並傳送給該後台伺服器,該查詢指令包括該虛擬機器的該別名,該後台伺服器依該別名查詢該拓樸資訊資料庫,以取得該虛擬機器的該主機名稱及該IP位址,並由該至少一前台伺服器將該虛擬機器的該主機名稱及該IP位址回覆給該查詢終端。 - 如申請專利範圍第7項所述的拓樸架構管理系統,其中該查詢指令為gethostbyname()指令。
- 如申請專利範圍第8項所述的拓樸架構管理系統,其中該前台伺服器依一DNS反解程序處理該查詢指令,並產生一DNS答覆並回覆該查詢終端,其中該DNS答覆包括了該虛擬機器的該主機名稱及該IP位址。
- 如申請專利範圍第7項所述的拓樸架構管理系統,其中該前台伺服器更接收該查詢終端的一來源資訊,並依該來源資訊判斷該查詢終端與該虛擬機器是否屬於同一群組,若該查詢終端與該虛擬機器屬於同一群組,再回覆該虛擬機器的該主機名稱及該IP位址給該查詢終端。
- 一種虛擬機器的拓樸架構管理方法,運用於一拓樸架構管理系統,該拓樸架構管理系統包括一基礎資訊資料庫、一拓樸資訊資料庫及一資訊登記程序,其中該基礎資訊資料庫中記錄一虛擬機器的複數內部資訊,該拓樸架構管理方法包括:
a)該資訊登記程序監看該基礎資訊資料庫;
b)該資訊登記程序將該基礎資訊資料庫中的該虛擬機器的該複數內部資訊,更新至該拓樸資訊資料庫中;
c)該拓樸資訊資料庫接收一設定終端對該虛擬機器定義的一別名,其中該別名係依據該虛擬機器被交付之任務所定義而成;及
d)該拓樸資訊資料庫記錄該別名,並令該別名對應至該拓樸資訊資料庫中的該虛擬機器的該複數內部資訊。 - 如申請專利範圍第11項所述的拓樸架構管理方法,其中該複數內部資訊包括該虛擬機器的一主機名稱及一IP位址,該拓樸資訊資料庫包括一上層表單及一下層表單,該步驟b係將該虛擬機器的該主機名稱與該IP位址的對應關係寫入該下層表單中,該步驟d係將該虛擬機器的該別名與該主機名稱的對應關係寫入該上層表單中。
- 如申請專利範圍第12項所述的拓樸架構管理方法,其中該拓樸架構管理系統更包括一實體機器,該步驟a之前更包括下列步驟:
a01)該實體機器將該主機名稱及該IP位址寫入該基礎資訊資料庫中;及
a02)該實體機器依據該主機名稱及該IP位址,於其上建立該虛擬機器。 - 如申請專利範圍第12項所述的拓樸架構管理方法,其中更包括下列步驟:
e)步驟a後,該資訊登記程序判斷該虛擬機器的該主機名稱及該IP位址是否改變,進而判斷該虛擬機器是否了執行搬移程序;
f)若該虛擬機器執行了搬移程序,該資訊登記程序於該基礎資訊資料庫中取得改變後的該虛擬機器的該主機名稱及該IP位址;及
g)將改變後該虛擬機器的該主機名稱及該IP位址寫入該拓樸資訊資料庫中,以更新該上層表單及該下層表單。 - 如申請專利範圍第14項所述的拓樸架構管理方法,其中該基礎資訊資料庫更記錄有該虛擬機器的一識別資訊,該步驟e中,該資訊登記程序係依據該識別資訊來追蹤該虛擬機器,以判斷該虛擬機器的該主機名稱與該IP位址是否改變。
- 如申請專利範圍第14項所述的拓樸架構管理方法,其中更包括下列步驟:
h)接收一查詢終端發出的一查詢指令,其中該查詢指令包括該虛擬機器的該別名;
i)依該別名查詢該上層表單,以取得該虛擬機器的該主機名稱;
j)依該主機名稱查詢該下層表單,以取得該虛擬機器的該IP位址;及
k)回覆該虛擬機器的該主機名稱及該IP位址給該查詢終端。 - 如申請專利範圍第16項所述的拓樸架構管理方法,其中該步驟k之前更包括下列步驟:
k01)取得該查詢終端的一來源資訊;
k02)依該來源資訊判斷該查詢終端與該虛擬機器是否屬於同一群組;
k03)若該查詢終端與該虛擬機器屬於同一群組,執行該步驟k;及
K04)若該查詢終端與該虛擬機器不屬於同一群組,不回覆該查詢終端。 - 一種虛擬機器的拓樸架構管理系統,包括:
一實體機器,其上建立有一虛擬機器;
一基礎資訊資料庫,連接該實體機器,記錄該虛擬機器的一主機名稱及一IP位址;
一拓樸資訊資料庫,具有一上層表單及一下層表單;
一資訊登記程序,連接該基礎資訊資料庫及該拓樸資訊資料庫,該資訊登記程序監看該基礎資訊資料庫,並將該虛擬機器的該主機名稱與該IP位址更新至該拓樸資訊資料庫中;
一設定終端,連接至該拓樸資訊資料庫,該設定終端具有一設定應用程式介面(Application Program Interface,API),該設定API接受外部操作,以為該虛擬機器定義一個固定的別名,並寫入該拓樸資訊資料庫中,其中該別名係依據該虛擬機器被交付的任務所定義而成;
其中,該拓樸資訊資料庫的該上層表單記錄該虛擬機器的該別名與該主機名稱的對應關係,該下層表單記錄該虛擬機器的該主機名稱與該IP位址的對應關係。 - 如申請專利範圍第18項所述的拓樸架構管理系統,其中該基礎資訊資料庫更記錄該虛擬機器的一識別資訊,當該虛擬機器被搬移時,該資訊登記程序依據該基礎資訊資料庫中的該識別資訊來追蹤該虛擬機器,判斷該虛擬機器的該主機名稱與該IP位址是否改變,並且於該主機名稱與該IP位址改變時,於該基礎資訊資料庫中取得改變後的該虛擬機器的該主機名稱與該IP位址,以更新該拓樸資訊資料庫中的該上層表單與該下層表單。
- 如申請專利範圍第19項所述的拓樸架構管理系統,其中更包括:
一後台伺服器,連接該拓樸資訊資料庫;及
一前台伺服器,連接該後台伺服器以及一查詢終端;
其中,該前台伺服器由該查詢終端接收一查詢指令,並依一DNS反解程序處理該查詢指令,並取得該查詢指令中包含的該虛擬機器的該別名後,傳送給該後台伺服器,該後台伺服器依該別名查詢該拓樸資訊資料庫,以取得該虛擬機器的該主機名稱及該IP位址,該前台伺服器依據該虛擬機器的該主機名稱及該IP位址產生一DNS答覆,並回覆給該查詢終端。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
TW102134631A TW201512990A (zh) | 2013-09-25 | 2013-09-25 | 虛擬機器的拓樸架構管理方法及其系統 |
US14/086,082 US20150089499A1 (en) | 2013-09-25 | 2013-11-21 | Topology management method and system of virtual machines |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
TW102134631A TW201512990A (zh) | 2013-09-25 | 2013-09-25 | 虛擬機器的拓樸架構管理方法及其系統 |
Publications (1)
Publication Number | Publication Date |
---|---|
TW201512990A true TW201512990A (zh) | 2015-04-01 |
Family
ID=52692238
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW102134631A TW201512990A (zh) | 2013-09-25 | 2013-09-25 | 虛擬機器的拓樸架構管理方法及其系統 |
Country Status (2)
Country | Link |
---|---|
US (1) | US20150089499A1 (zh) |
TW (1) | TW201512990A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TWI732125B (zh) * | 2017-06-13 | 2021-07-01 | 大陸商中國銀聯股份有限公司 | 用於虛擬網路鏈路檢測的方法及裝置 |
TWI766893B (zh) * | 2017-02-21 | 2022-06-11 | 香港商阿里巴巴集團服務有限公司 | 虛擬專有網路及規則表生成方法、裝置及路由方法 |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9430213B2 (en) * | 2014-03-11 | 2016-08-30 | Cliqr Technologies, Inc. | Apparatus, systems and methods for cross-cloud software migration and deployment |
US10135871B2 (en) * | 2015-06-12 | 2018-11-20 | Accenture Global Solutions Limited | Service oriented software-defined security framework |
WO2017071780A1 (en) * | 2015-10-30 | 2017-05-04 | Huawei Technologies Co., Ltd. | Methods and systems of mapping virtual machine communication paths |
WO2017148512A1 (en) * | 2016-03-02 | 2017-09-08 | Nokia Solutions And Networks Oy | Data center managed connectivity |
US11070515B2 (en) * | 2019-06-27 | 2021-07-20 | International Business Machines Corporation | Discovery-less virtual addressing in software defined networks |
US11579913B2 (en) * | 2019-12-18 | 2023-02-14 | Vmware, Inc. | System and method for optimizing network topology in a virtual computing environment |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20080250407A1 (en) * | 2007-04-05 | 2008-10-09 | Microsoft Corporation | Network group name for virtual machines |
US20140052877A1 (en) * | 2012-08-16 | 2014-02-20 | Wenbo Mao | Method and apparatus for tenant programmable logical network for multi-tenancy cloud datacenters |
-
2013
- 2013-09-25 TW TW102134631A patent/TW201512990A/zh unknown
- 2013-11-21 US US14/086,082 patent/US20150089499A1/en not_active Abandoned
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TWI766893B (zh) * | 2017-02-21 | 2022-06-11 | 香港商阿里巴巴集團服務有限公司 | 虛擬專有網路及規則表生成方法、裝置及路由方法 |
TWI732125B (zh) * | 2017-06-13 | 2021-07-01 | 大陸商中國銀聯股份有限公司 | 用於虛擬網路鏈路檢測的方法及裝置 |
Also Published As
Publication number | Publication date |
---|---|
US20150089499A1 (en) | 2015-03-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
TW201512990A (zh) | 虛擬機器的拓樸架構管理方法及其系統 | |
US7730259B2 (en) | Method, computer and system for managing a storage subsystem configuration | |
US8336047B2 (en) | Provisioning virtual resources using name resolution | |
US8055751B2 (en) | IP network management based on automatically acquired network entity status information | |
US11068461B1 (en) | Monitoring key access patterns for nonrelational databases | |
US11249788B2 (en) | Cloud management platform, and virtual machine management method and system | |
US7966470B2 (en) | Apparatus and method for managing logical volume in distributed storage systems | |
JP2013182310A (ja) | アクセス制御装置及びアクセス制御方法及びプログラム | |
US20130107881A1 (en) | Distributed Address Resolution Service for Virtualized Networks | |
US20080250407A1 (en) | Network group name for virtual machines | |
US11036393B2 (en) | Migrating data between volumes using virtual copy operation | |
US9767119B2 (en) | System and method for monitoring hosts and storage devices in a storage system | |
US20130091261A1 (en) | Defining And Managing Virtual Networks In Multi-Tenant Virtualized Data Centers | |
CN109600410B (zh) | 数据存储系统以及方法 | |
JP2022070941A (ja) | マルチテナント・データベース環境においてテナントの動的再配置を提供するためのシステムおよび方法 | |
CN116112466A (zh) | 域名解析方法及装置 | |
US20140112477A1 (en) | Keystore management system | |
US10243920B1 (en) | Internet protocol address reassignment between virtual machine instances | |
CN109067564B (zh) | 分布式处理方法、装置、计算机设备及存储介质 | |
US9648103B2 (en) | Non-uniform file access in a distributed file system | |
TWI521932B (zh) | 管理網路中的網際網路協定位址的方法 | |
CN105307130A (zh) | 一种资源分配方法及系统 | |
US11652746B1 (en) | Resilient consistent hashing for a distributed cache | |
CN107066206B (zh) | 一种分布式物理磁盘的存储控制方法及系统 | |
CN107168646B (zh) | 一种分布式数据存储控制方法及服务器 |