隨著很多企業部署越來越多的虛擬化平台,如何區分物理服務器和虛擬服務器也變得越來越難。有些管理員在每台虛擬機的主機名後加上“_vm”以示區別。然而,很多企業不喜歡這種方法,因為任何名字的變化都會影響到用戶和應用程序訪問虛擬機數據信息的方式。在服務器轉變為虛擬機之後,改變服務器的名字可能也會影響到服務器本地安裝的應用程序和服務。如果管理員對一台遵循從物理平台到虛擬平台(P2V)遷移的服務器重新命名,他們通常使用DNS中的CNAME記錄,以此來保證名字解析的透明性。但是,這種方法增加了對服務器資源管理的額外復雜度。另外一種標識服務器對象(無論是虛擬環境還是物理環境)的方法是使用每一台計算機對象Active Directory中的Description屬性。已經有一些企業使用Description屬性來標識一台計算機的位置、部門或者角色。考慮到這一點,使用Description屬性可能要求用戶能夠簡潔地標識出是物理平台還是虛擬平台。例如,可以使用如下的命名規范:
Ps – Physical server
Vesx – VMware ESX VM
Vms – Microsoft Virtual Server VM
Vxen – Xen VM
Vvi – Virtual Iron VM
Vvz – SWsoft Virtuozzo virtual private server
Vscon – Solaris Container
在所有Description屬性中,我比較喜歡使用“P”作為物理平台的前綴,“V”作為虛擬平台的前綴。這樣做的話可以使用戶使用腳本語句對所有的虛擬機做查詢操作,例如,僅通過腳本查詢每一台計算對象的Description屬性的第一個字母。
圖1和圖2給出了通過計算機對象的Description屬性標識虛擬機的兩種方法:
圖1:使用Description屬性標識一台Xen虛擬機
圖2:使用Description屬性標識一台物理服務器,以及其位置、部門和角色
有了這些合適的命名規范,通過使用Active Directory Users and Computers和給這些對象排序(使用Description屬性),就可以很快地在任何一個Active Directory容器中定位到虛擬機對象。點擊Active Directory Users and Computers中的Description列就可以做到這些,雙擊的話就可以按照降序排序。如圖3是一個通過Description排序計算機對象的例子:
圖3:在Active Directory Users and Computers中排序虛擬機計算機對象
圖3:在Active Directory Users and Computers中排序虛擬機計算機對象
在大型企業中,很多管理員發現Active Directory查詢屬性非常有用。例如,為了定位所用域中的成員計算機(這些計算機都是ESX虛擬機),以下幾個步驟就非常必要:
1.在Active Directory Users and Computers窗口,右鍵點擊“Domain Object”,選擇“Find”
2.在“Find”對話框,點擊“Find Drop-down”菜單,選擇“Computers”
3.接下來,點擊“Advanced”屬性頁。在“Advanced”屬性頁下,點擊“Field”按鈕,在復合的drop-down菜單中選擇“Description”
4.在“Condition Drop-down”菜單中,選擇“Starts With”
5.在“Value”屬性中輸入“Vesx”,注意如果需要搜索所有虛擬機,只需輸入“V”
6.接下來,點擊“Add”按鈕
7.現在可以點擊“Start”開始查詢(如圖4),就可以顯示出那些Description屬性以“Vesx開頭”的計算機對象
圖4:ESX虛擬機Active Directory查詢
當然,使用Active Directory Users and Computers GUI只能完成這些工作。在大型環境中,用戶可能希望使用腳本語言來填充每一台計算機對象的Description屬性。下面的SetDescription.vbs腳本就可以從一個文本文件中讀取一個計算機列表,也可以修改這些已有的Description屬性,確保其有一個物理或者虛擬的標識符作為前綴。
'SetDescription.vbs
'Adds virtual or physical descriptor to
'computer description attribute.
'set variables
'strPrefix -- physical or virtual identifier prefix
' Prefix values:
' Ps – Physical server
' Vesx – VMware ESX VM
' Vms – Microsoft Virtual Server VM
' Vxen – Xen VM
' Vvi – Virtual Iron VM
' Vvz – SWsoft Virtuozzo virtual private server