不要反對其他虛擬化平臺進入你的數(shù)據(jù)中心。企業(yè)往往需要更低的成本或者需要找到替代的解決方案,IT專業(yè)人員在管理異構(gòu)虛擬環(huán)境時往往面臨挑戰(zhàn)。不要讓這一挑戰(zhàn)超出必要的限度。作為一名IT專業(yè)人士,應(yīng)該關(guān)注統(tǒng)一的管理平臺,減少學(xué)習(xí)曲線,始終保持對控制異構(gòu)數(shù)據(jù)中心大量系統(tǒng)的靈活性。
圖形管理工具是解決之道嗎?
在了解了不同廠商虛擬化平臺之間的差異后,你面臨的挑戰(zhàn)就是如何對這些平臺進行管理。你不想在不滿足需求的工具上浪費時間以及投資成本。
很多IT專業(yè)人員首先傾向于找到一款GUI工具來幫助他們管理整個異構(gòu)數(shù)據(jù)中心。圖形工具有其優(yōu)點:易于使用,包括了完成復(fù)雜任務(wù)的向?qū)Ф姨峁┝藞D形化展示功能。
很多虛擬化平臺廠商比如VMware和微軟,已經(jīng)推出了GUI管理工具,為管理其他廠商的產(chǎn)品提供了幫助。這些工具提供了統(tǒng)一的界面,減少了混淆因素及培訓(xùn)成本,第三方管理產(chǎn)品也提供了同樣的功能。盡管具有界面統(tǒng)一的優(yōu)點,但使用GUI管理工具要考慮其存在的一些不足之處:
? 你只能執(zhí)行廠商已經(jīng)開發(fā)出來的GUI管理任務(wù),在執(zhí)行未開發(fā)出來的任務(wù)時存在困難。
? 當(dāng)一家廠商試圖通過圖形界面管理其他廠商的產(chǎn)品時,會遇到跨平臺管理問題而且存在數(shù)不清的限制。
? 圖形管理工具通常無法提供眾多自動化功能,任務(wù)必須重復(fù)執(zhí)行多次。
? 當(dāng)需要使用時,在客戶端上安裝GUI工具并非總是很輕松。
對特定圖形管理工具的優(yōu)缺點進行權(quán)衡需要花一些時間而且要進行測試。對于圖形化工具來說往往是這樣。然而,作為一名需要在多種平臺下工作并需要實現(xiàn)自動化的IT專業(yè)人員,我并不希望在限制我才能的工具上浪費時間。
存在功能以及靈活性最強大的選擇
我關(guān)注于使用PowerShell而不是浪費時間來研究圖形管理工具。在你開始對我表示憤怒之前,讓我通過一個例子來列舉PowerShell的一些優(yōu)點與不足。
PowerShell可以跨多個虛擬化平臺。cmdlets適用于大多數(shù)流行的虛擬化平臺,包括VMware(PowerCLI)、微軟(SCVMM和Hyper-V)以及Citrix(XenDesktop)。針對企業(yè)需要處理所有問題PowerShell都提供了足夠的靈活性。告別了使用GUI工具時所存在的限制,而且你還可以使用自動化來消除在使用圖形工具時經(jīng)常要執(zhí)行的重復(fù)性任務(wù)。自動化同樣排除了人為錯誤的可能性。
當(dāng)然,使用shell和腳本語言比如PowerShell時同樣存在缺點。你可以請教任意一名有經(jīng)驗的Unix管理員,學(xué)習(xí)并使用工具可能會存在困難,而且可能要投入大量的精力。目前有一些很不錯的資源可以利用——包括圖書、視頻以及培訓(xùn)班——但是你需要坐下來練習(xí)而不僅僅是搜集信息。
使用PowerShell需要做一些研究。使用一些簡單的命令并不能解決所有問題。很多時候,你需要研究問題,然后編寫腳本解決。有時可能要在MSDN網(wǎng)站泡上幾個小時,還需要學(xué)習(xí)開發(fā)技能。你不需要成為一名全能的開發(fā)人員,但是卻需要學(xué)習(xí)腳本以及編程技能。
一旦了解了哪種管理工具更適合你所在組織以及虛擬環(huán)境后,很多IT專業(yè)人員會選擇PowerShell來管理異構(gòu)的數(shù)據(jù)中心。
開始跨平臺管理
下面這些例子通過在PowerShell命令提示符下輸入了一些命令,描述了PowerShell能夠提供的部分功能。
首先,通過加載多個模塊而非提供額外的cmdlets,PowerShell提供了靈活的以及可擴展的管理功能。如果廠商已經(jīng)創(chuàng)建了相應(yīng)的模塊而且你已經(jīng)在本地計算機上安裝了這些工具,那么就可以加載并使用這些模塊來管理異構(gòu)的數(shù)據(jù)中心了。下面這個例子說明了如何加載用于管理VMware的cmdlets:
PS> Add-PSSnapin VMware*
你可以加載多個模塊并針對多個產(chǎn)品創(chuàng)建自動化的管理腳本。在下面這個例子中,我加載了VMware和微軟SCVMM cmdlets。請注意:多個廠商使用同樣的cmdlet名時可能會存在沖突。如果cmdlets屬于一個模塊,那么Import-Module cmdlet提供了一個參數(shù) -prefix,通過在cmdlet之前增加前綴可以避免沖突:
PS> Add-PSSnapin VMware*
PS> Import-Module –Name VirtualMachineManager -Prefix MS
通常我不想在我的電腦上安裝管理工具。PowerShell有一個PowerShell Remoting功能,通過該功能你可以借用服務(wù)器上已經(jīng)安裝的cmdlets。出現(xiàn)在你計算機上的cmdlets就像安裝在本地計算機上一樣,更準確地說是遠程服務(wù)器上安裝的cmdlets的一個快捷方式。下面這個例子調(diào)用了適用于VMware、Citrix以及SCVMM的遠程cmdlets。然而在你做實驗時,會發(fā)現(xiàn)并非所有廠商都為此做了規(guī)劃,而且可能會發(fā)現(xiàn)某些cmdlets無法使用。
#VMware
$VWsession = New-PSSession -ComputerName "NameOfVMWareServer"
Invoke-Command -Session $VWsession -ScriptBlock {Add-PSSnapin VMware*}
Import-PSSession -Session $VWsession -Module VMware* -Prefix VW
#Citrix
$CXSession = New-PSSession -ComputerName "NameOfCitrixZenDesktopServer"
Invoke-Command -Session $CXSession -ScriptBlock {Add-PSSnapin Citrix*}
Import-PSSession -Session $CXSession -Module Citrix* -Prefix CX
#MS SCVMM
$MSsession = New-PSSession -ComputerName "NameOfSCVMMServer"
Invoke-Command –Session $MSSession -ScriptBlock {Import-Module –Name VirtualMachineManager}
Import-PSSession -Session $MSsession -Module VirtualMachineManager -Prefix MS