天天看點

《VMware vSphere設計(原書第2版)》——3.1 檢查管理層的元件

本節書摘來自華章出版社《vmware vsphere設計(原書第2版)》一 書中的第3章,第3.1節,作者:[美] 福布斯·格思裡(forbes guthrie)斯科特·羅威(scott lowe)肯德裡克·科爾曼(kendrick coleman),更多章節内容可以通路雲栖社群“華章計算機”公衆号檢視。

什麼是管理層呢?當然不是指公司的執行官或董事會。我們所說的管理層是指用于日常管理整個虛拟化基礎設施的元件。本節将簡要介紹vsphere的管理元件。首先從最主要的vcenter 伺服器開始。

vmware vcenter伺服器

vcenter伺服器(原名virtualcenter伺服器)是虛拟化基礎設施中最關鍵的元素之一,是用于管理虛拟資料中心的管理應用程式。你會建立資料中心、叢集、資源池、網絡和資料存儲;配置設定權限;配置告警;監控性能等。所有這些功能都是在vcenter伺服器上集中配置的。是以,vsphere設計中要有專門一部分用來介紹如何建構健壯且可擴充的vcenter伺服器。

相容性矩陣

決定vcenter 伺服器的安裝平台之前,一定要檢查目前vmware的相容性矩陣。基礎設施中的軟體必須處于vmware相容性矩陣中,vmware才會提供技術支援。相容性矩陣包括esxi host的硬體、vcenter伺服器、底層資料庫、vsphere 用戶端、vsphere更新管理器、web浏覽器等。

vcenter伺服器有多種存在方式,可以是基于linux的虛拟裝置,也可以是安裝在windows伺服器上的windows應用軟體。無論哪種情況,你都可以在vmware官網上下載下傳最新版本的vcenter。但是需要注意的是:根據所下載下傳vcenter 伺服器版本的不同,安裝包可能會很大(比如基于linux的虛拟裝置幾乎有4gb)。

在vsphere 5.1之前,vcenter伺服器是一個龐大的應用程式。vsphere 4.x和vsphere 5.0的vcenter伺服器隻有三個主要元件:

一個作業系統執行個體。可以是windows作業系統(不能是域控制器,隻能是域成員伺服器)或者綁定vcsa(vcenter server virtual appicance)的預裝的linux執行個體。

對後端資料庫的通路。資料庫可以安裝在vcenter伺服器所處的本地計算機上,也可以安裝在遠端計算機中。

vcenter伺服器本身。安裝在windows作業系統執行個體上或者預安裝在linux上,作為vcsa的一部分。

vsphere 5.1中,vmware将龐大的vcenter伺服器分成了很多不同的元件。除了前面列出的三個外,還包括如下元件:

vcenter單點登入,一個集中的校驗服務,通過它,僅需登入一次就可以讓授權的vcenter伺服器使用者通路多個vcenter server執行個體。

vcenter inventory服務,用于存儲vcenter 伺服器應用和inventory資料的伺服器。它服務于多個連接配接在一起的vcenter伺服器。嚴格地說,它并不是vsphere 5.1的新元件,vmware在5.1中隻是将vcenter inventory服務分離出來,進而可以安裝在一個獨立的計算機上以實作更好的可擴充性。

vsphere 5.1引入這些元件意味着你不得不考慮是将這些元件安裝在一台計算機上,還是分别安裝在不同的計算機上以區分角色。

下面詳細介紹vcenter伺服器的各個元件。

作業系統執行個體和vcenter伺服器

我們将這兩個元件放在一起是因為它們是直接聯系在一起的。vcenter伺服器主要有兩種方式:作為可安裝應用運作在windows作業系統執行個體上,或者作為vcsa的一部分預安裝并運作在linux作業系統上。你會看到,選擇windows作為安裝vcenter伺服器的作業系統意味着你選擇的vcenter伺服器版本是可安裝的應用程式;否則,選擇linux作業系統,就意味着你選擇了虛拟裝置中預安裝的vcenter 伺服器版本。撰寫本書時,vcenter伺服器沒有基于windows的虛拟裝置,也沒有可以運作在linux上的可安裝版本。

本章後面會讨論選擇可安裝版本還是vcsa時需要考慮的因素,還會讨論如何選擇運作vcenter伺服器的windows作業系統版本(注意:你無法選擇linux發行版或版本,因為它是作為虛拟裝置的一部分預裝好的)。

後端資料庫

無論選擇是哪種形式的vcenter伺服器,你都需要一個後端資料庫。設計階段總會提出的一個問題就是:用集中的資料庫伺服器還是将資料庫和vcenter 伺服器安裝在同一個計算機上?和這個問題同時提出的還有:用成熟的microsoft sql sever還是oracle作為資料庫引擎?

本章後面會詳細分析這些問題。在3.2節中,我們會讨論在不同資料庫間取舍的各種原因(vcenter伺服器支援多種資料庫伺服器)以及應該在本地還是遠端部署資料庫的原因。

在此階段,你隻需要知道vcenter伺服器需要一個後端資料庫。是以,就需要考慮後端資料庫所需的資源,還需要指定後端資料庫的運維計劃。在3.3節中,我們會介紹如何確定後端資料庫的可用性、可管理性、性能、可恢複性和安全性(回顧下第1章介紹的幾個基本原則,即amprs,有助于引導我們進行設計決策)。

vcenter單點登入

vsphere 5.1釋出後,vmware推出了一個新的vcenter伺服器元件vcenter單點登入。這個元件提供了集中的校驗服務,vcenter伺服器可以用這個伺服器對多個後端伺服器進行校驗,例如活動目錄和ldap。對于較小的虛拟化環境來說,vcenter單點登入可以和其他vcenter伺服器元件安裝在同一個系統上;對于大型虛拟化環境來說,它可以安裝在一個單獨的系統上。vcenter單點登入還支援不同的拓撲結構,包括單一伺服器、伺服器叢集以及多站點拓撲。

vcenter inventory服務

為了讓vcenter server能夠更好地擴充,vsphere 5.1把inventory服務從vcenter伺服器中分離出來作為一個獨立的元件。vcenter inventory伺服器現在支援多個連接配接vcenter伺服器執行個體範圍内的inventory對象的發現和管理。和vcenter單點登入一樣,你可以把vcenter inventory服務和其他元件安裝在一起(也叫簡單安裝(simple install)),或者将其安裝在一個獨立的系統中以便更好地擴充(同時實作高可用性和備援)。

vsphere web用戶端伺服器

為了啟用下一代vsphere web用戶端(下一節會讨論),vcenter需要一個服務端的元件,也就是vsphere web用戶端。實際上,它應該叫作vsphere web用戶端伺服器,因為它是處于服務側的元件,可以讓使用者通過web浏覽器來管理vsphere環境。這個元件是在vsphere 5.0引入的,但在vsphere 5.1中它起着更重要的作用,因為vsphere 5.1的很多特性和任務隻有通過下一代web用戶端才能用。

現在,讓我們把焦點移到用戶端側。

通常,vmware管理者會使用基于windows的應用程式vsphere用戶端來執行大多數日常管理任務。vsphere 4.x和5.0時也是如此。在vsphere 5.0中,vmware引入了一個初級的web用戶端;vsphere 5.1時,vsphere web用戶端(也叫下一代用戶端 ngc)開始成為管理vmware vsphere環境的主要方式。

基于windows的vsphere用戶端幾乎可以安裝在任何windows作業系統上:

windows xp pro,sp3

windows xp pro 64-bit,sp2

windows server 2003,sp1

windows server 2003,sp2

windows server 2003 standard,sp2

windows server 2003 enterprise,sp2

windows server 2003 r2,sp2

windows vista business,sp2

windows vista enterprise,sp2

windows vista business 64-bit,sp2

windows vista enterprise 64-bit,sp2

windows 7 client (32-bit and 64-bit)

windows server 2008 enterprise,sp2

windows server 2008 standard,sp2

windows server 2008 datacenter,sp2

windows server 2008 enterprise 64-bit,sp2

windows server 2008 standard 64-bit,sp2

windows 2008 r2 64-bit

要安裝基于windows的vsphere用戶端,作業系統的最低配置為:

最低266 mhz的 intel 或amd 處理器(推薦500 mhz)。

1 gb 記憶體。

1 gb 硬碟空間用于vsphere用戶端的完全安裝,包括以元件:

microsoft .net 3.5 sp1。

microsoft visual j# 2.0 se。

在安裝過程中,%temp%目錄所在的磁盤還額外需要400mb空間。

如果基礎軟體都已經安裝過了,那麼帶有%temp%目錄的硬碟上至少要有300mb的剩餘空間,安裝vsphere至少需要450mb空間。

推薦使用gb級的網絡連接配接

vsphere web用戶端支援如下浏覽器:

microsoft internet explorer 7、8和9。

mozilla firefox 3.6 或以上版本。

google chrome 14 或以上版本。

 撰寫本書時,vsphere web用戶端還不支援apple的safari浏覽器。

如前文所述,vsphere web用戶端在vsphere 5.1環境中發揮着異常重要的作用。例如,為了利用vcenter單點登入,你必須使用vsphere web用戶端。如果使用傳統的基于windows的vsphere用戶端,校驗并不是通過新的vcenter單點登入元件進行的。你還會注意到整本書都在展示新的vsphere web用戶端的截圖,而不是老的基于windows的vsphere用戶端(從上個版本開始幾乎沒有變化)。

這些元件構成了vsphere環境管理層的核心。然而,vmware還提供了一些可以包含在設計中的可選元件,首先開始介紹vsphere更新管理器。

vum(vsphere update manager,vsphere更新管理器)是一個插件,可以用來更新esxihost和虛拟機。vum(www.vmware.com/products/update-manager)是vmware虛拟化環境的更新檔管理方案。大多數vsphere層都涉及vum。

在vsphere 5.0以前的版本中,vum不僅為esxi host提供了更新檔管理方案,也負責作業系統和虛拟機支援的應用更新。vsphere 5.0釋出後,vmware不再繼續為作業系統和虛拟機中的應用提供更新檔管理元件。這樣企業就可以使用現有的更新檔管理方案按照與實體裝置一樣的方法給虛拟機打更新檔。

安裝vum首先要有如下元件:

64位的windows作業系統,且必須是域成員伺服器(而不是域控制器)。

資料庫,可以是遠端的資料庫(oracle或microsoft sql)或者是與vum安裝在同一台伺服器上的本地資料庫。

你可以把vum和vcenter 伺服器安裝在同一個windows系統上。為了更好的可擴充性和安全性,你可以把vum安裝在一個獨立的windows系統上。注意,雖然vum要求安裝在64位作業系統上,但vum本身是個32位應用程式。

vum的資料庫可以和vcenter的資料庫放在同一個資料庫伺服器上,但vum不能和vcenter伺服器使用同一個資料庫。除了搭建一個獨立的資料庫伺服器(或者使用已有的獨立的資料庫伺服器)外,你還可以使用vum伺服器中嵌入的sql sever 2008 r2 express資料庫。但是,隻要host超過5個且虛拟機多于50個,那麼你就得為vum資料庫搭建獨立的sql server或oracle資料庫伺服器了。

安裝vcenter伺服器的時候,你需要為資料庫設定一個系統 dsn(data source name,即資料源名稱)。還需要為vum 資料庫設定一個dsn,如圖3-1所示。需要注意的是vum是個32位的應用程式,是以dsn也得是32位的。

安裝好vum後,你就可以配置需要下載下傳的更新、安排更新檔自動下載下傳、設定通知和掃描esxi host,然後更新它們。另外,如果環境需要,你可以搭建一個專門的下載下傳伺服器去下載下傳更新檔并分發到vum伺服器上。在安全性要求較高的環境中,隻有特定的伺服器有通過網際網路擷取外部資源的權限,這種情況就适合部署專門的下載下傳伺服器。

《VMware vSphere設計(原書第2版)》——3.1 檢查管理層的元件

 vum使用的插件隻相容vsphere用戶端。是以,在vsphere 5.1中,你必須使用vsphere用戶端,而不是vsphere web用戶端去執行vum配置和vum相關的任務。

下面我們介紹同屬于管理層的其他應用程式。

登入每個host去執行管理任務是個很費力的重複性工作,比如配置網絡vswitch或者設定esxihost中可關聯的nfs的最大數。特别是基礎設施規模不斷擴大時,這個繁重的工作就成了一個夢魇。

我們從最基礎的開始。esxi确實有一個管理控制台,雖然它與其他管理方案相比不太盡如人意(本章後面會繼續讨論),在vsphere 5.0之前,vsphere既包括esx(它提供了一個基于定制版linux的service console)也包括esxi(它提供了基于busybox環境的管理控制台)。到5.0時,vsphere就隻包括esxi了。

要遠端連接配接這些控制台,你需要使用ssh用戶端。大多數管理者都會選擇putty (www.chiark.greenend.org.uk/~sgtatham/putty)。還有幾個工具也有相同的功能,管理者可以根據自己的喜好選用不同的工具。用mac 或linux的管理者可以通過系統的終端應用程式使用自帶的ssh用戶端。vsphere 5.0和5.1中,你也需要啟用到esxi管理控制台的ssh通路(預設是禁用的)。可以通過dcui啟用ssh。

管理控制台隻是管理應用程式的一個例子而已。你還可以通過esxi和vcenter豐富的api來進行遠端管理。利用該api,vmware提供了如下工具用來遠端管理vcenter和esxi host:

vsphere 指令行接口(vsphere command line interface,vcli)

powercli

vsphere 管理助手 (vsphere management assistant,vma)

注意,上述清單中并沒有包含orchestration工具,如vcenter orchestrator和vcloud director。雖然它們也是管理工具,但這裡我們關注的重點是vsphere級别的日常管理工具。我們将在第12章中讨論vcloud director設計需要考慮的問題。

這些工具有一個好處,就是不需要在它們之間進行取舍,而是每個都可以用。例如,很多人都喜歡perl和powershell平台,他們不斷努力讓這些工具在環境中發揮更廣的作用。

首先介紹vcli。

vsphere指令行接口

你可以在任何可以連接配接到esxi系統的計算機上通過vcli指令集在esxi系統中執行常用的系統管理指令。你可以在vcenter server上指定任何vcenter管理的esxi系統,并執行大多數vcli指令。因為vsphere 5.0中沒有esx,是以最好用vcli指令來管理esxihost,不要直接用管理控制台。

vcli指令運作在基于perl的vsphere sdk上。它和vsphere sdk包含在同一個安裝包内。

vcli支援的平台如下:

windows vista enterprise sp1(32位和64位)

windows 2008(64位)

windows 7(32位和64位)

red hat enterprise linux(rhel)5.5 (32位和64位)

suse linux enterprise server(sles)10 sp1 (32位和64位)

sles 11 and sles 11 sp1(32位和64位)

ubuntu 10.04(32位和64位)

在vcli上可以執行的管理指令和在esxi 控制台上可以執行的指令(或者esx service console上一個版本中使用的指令)并不完全一樣。是以你不得不适應這些差異。表3-1列出了vcli與控制台之間不同的指令示例。

vmware知識庫的一編号為1008194的文章中介紹了很多有關vcli指令和esx/esxi控制台指令之間的差異和相似之處。

《VMware vSphere設計(原書第2版)》——3.1 檢查管理層的元件

要連接配接到遠端host,至少要指定如下參數:伺服器、使用者名、密碼和要執行的指令。身份優先級如表3-2所示。

下面舉例分析校驗是如何進行的。環境如表3-3所示。

《VMware vSphere設計(原書第2版)》——3.1 檢查管理層的元件

你還需要建立一個配置檔案來定義這些設定。在vcli session中必須可以通路這個檔案。表3-3中給出的session的配置檔案與圖3-2相似。

《VMware vSphere設計(原書第2版)》——3.1 檢查管理層的元件

 所有密碼都會儲存在這個文本檔案中,且這個檔案是沒有加密的。是以需要限制對這個檔案的通路。

每次連接配接到伺服器的時候,你需要輸入使用者名和密碼,然後就可以在vcli中對配置檔案中設定的host執行指令。下面給出一個在windows系統中執行的指令執行個體:

powershell正逐漸成為所有windows應用的預設腳本語言。有很多文章都在推薦powershell是如何簡單易用,很适合管理vsphere環境。值得高興的是,vmware的一個戰略決策采納了該建議,并為vcenter和esx提供了一個基于powershell的管理工具:powercli。

powercli有數百個cmdlets(讀作command-lets),可以用來管理基礎設施中的所有元件。你可以配置并管理esxi host、虛拟機,以及虛拟機上的作業系統,可以說是所有的東西。有一個很活躍的社群一直不斷研究powercli的使用方法,進而讓管理者更好地完成管理工作。

請通路線上cmdlet參考頁面,檢視cmdlets的清單。

 該網頁中列出的powercli comlets是vsphere 5.0 update1版本的,這是撰寫本書時該檔案最新的版本。

你能用power cli做什麼呢?除了幫你做面包之外,它幾乎無所不能。換句話說,可以通過powercli通路或操作所有的vsphere sdk。

在vcli中,你會建立一個配置檔案來存儲認證資訊(使用者名和密碼等),這樣就免去了每次連接配接vcenter或esxi host時都要輸入使用者名和密碼的麻煩。在powercli中你可以做同樣的事情,雖然它并不是powercli的特性(是power shell的),但是因為powercli中使用的就是power shell,是以可以使用它。首先來看一下儲存資訊的代碼。

get-credential 是一個powershell comdlet, 通過它你可以将認證資訊儲存下來,避免暴露密碼。在此,首先,我們将認證資訊儲存在一個$vicredential變量中。然後,将密碼從這個變量中導出到一個文本檔案中。不用擔心,這不同于vcli,這裡的密碼不是明文,而是密文。

這個密文是很難破譯的。将其導出來是為了多次重複使用,而不是每次都輸入密碼。建立變量來儲存密碼的代碼在第三行:某個使用者名建立了一個名為$vicred的變量。但密碼是從剛才儲存的檔案中導入的。下面就是該變量中包含的資訊:

最後,将變量中包含的認證資訊連接配接到vcenter,連接配接成功後,再執行之前在vcli中使用的指令:

new-datastore--配置存儲指令(相應的esxi指令是esxcfg-nas,相應的vma或vcli指令是vicfg-nas)

-nfs--資料存儲類型(vmfs/nfs)

vmhost--建立資料存儲的host(在本例中,使用的是vcenter下注冊的所有host)

name nfs_datastore1--資料存儲的名稱

path “/shared”--你所連接配接的挂載點

nfshost storage1.design.local--你所連接配接的儲存設備的fqdn(也可以輸入ip位址)

powercli參考資訊

更多關于如何使用powercli的資訊,請參考《vmware vsphere powercli reference: automating vsphere administration》,這本書也是sybex出版的。

vma

vma是vmware提供的包含預裝軟體的一個基于linux的虛拟裝置,而且其中包含預裝的vcli,vcli中還包含基于perl的vsphere sdk;通過校驗元件(vi-fastpass),你可以連接配接各個目标伺服器;通過日志元件(vi-logger),你可以收集esx/esxi和vcenter伺服器系統的日志,并将這些日志存儲到vma中供日後分析。管理者和開發人員可以使用vma來執行腳本或代理來管理esx/esxi和vcenter伺服器系統。

vsphere 5.0時host才完全過渡到esxi, vma也比以往更加重要。雖然esxi包含控制台shell,但我們強烈建議你使用vma而不是esxi shell。有時候,使用者可能會選擇使用安裝在linux上的vcli。而有時候,部署vma會更容易些。這樣都能讓管理者和其他使用者在不使用esxi shell的情況下,執行管理和配置指令。

現在,我們來介紹如何組合這些元件以滿足設計需求。為了更好地了解管理層設計都包含哪些内容,首先研究下設計管理層時要做的幾個關鍵決策。