虛擬化

自動執行虛擬機器主控件的部署

Fergus Strachan

 

簡介:

  • Hyper-V 部署和自動化
  • 解決 Sysprep 一般化問題
  • 提供虛擬資源
  • 設定自動的部署客用作業系統和伺服器技術

可在下載程式碼: StrachanHyperV2009_02.exe(1,026 KB)

內容

部署架構
WDS-Based Hyper-V 部署
WMI 架構 Hyper-V 組態
虛擬實驗室部署
伺服器應用程式部署
結論

您很可能熟悉許多好的原因,是超 V 的環境設定,但可能是特定的感興趣的是如何超 V 可以加速產品的評估和訓練在測試實驗室和學習的環境,而不會犧牲 64 位元的相容性]。Hyper-V 執行,即使在入門級的 64 位元硬體,提供您有能力的 CPU 和最新的 BIOS 更新,以支援硬體虛擬化。這讓爆炸,部署完整的測試環境,根據例如 64 位元版本的 Microsoft Exchange Server 2007 的完整支援的軟體版本。一旦設定,部署設定很容易重新部署,每當您需要啟動重新,是否要查看新的產品,或開始新的工作階段類別。

甚至如果您部署測試環境與兩個網域控制站 (DC) 客戶的執行 SQL Server 」、 「 兩個 SharePoint 前端伺服器 」、 「 Exchange 2007 信箱伺服器 」、 「 Hub Transport Server 及用戶端存取伺服器,電腦它的會需要大量的工作。假設您有一個更大環境,也許是 600 虛擬機器 (VM)。您可以想像重新安裝這些 VM 每週或每當需要新的實驗室環境?它是一定要自動化這類的部署,而且這是其中超 V 可以讓不同]。

Hyper-V 是 Windows 的技術,您可以將它與 Windows Management Instrumentation (WMI) 結合,Windows PowerShell,Windows 部署服務 (WDS) 的 Windows 的自動化安裝套件 (AIK) 」 及 「 Windows 預先安裝環境 (Windows PE) 2.0,以啟用完整的部署,在閃爍的眼睛的 (或至少不需要更注意。您可能會發現它有趣查看進度列與安裝畫面時,系統會部署,及設定本身,但您不需要如果您的清單中有更重要的事情。

在這的篇文章中我會告訴您如何部署超 V 的伺服器 」、 「 VM 」、 「 來賓系統和 「 伺服器應用程式,沒有任何的管理員互動的情況下,使用 WDS,自訂安裝影像時,unattend.xml 的檔案及 WMI 指令碼。這個概念是一次預先設定在 WDS 環境並時需要發生,時例如,然後安裝在測試系統重新安裝在教導環境、 疑難排解中不同的組態的複雜的問題和開發和測試自訂解決方案。

唯一需要的互動,在部署期間按下 F12 鍵以啟動 [Preboot 的 Boot eXecution Environment (PXE),您可以排除即使這個步驟,如果您使用 [Startrom。而非在您 WDS 組態如 TechNet 文件所述的預設 Startrom.com 開機檔案 n12 」完全自動化安裝設計背景."

其餘的工作已然後 WDS,AIK,WMI,手之後自動啟動 Hyper-V VM。您將可以找到組態檔,並搭配資料可從 2 月 2009 程式碼中的指令碼下載在 technet.microsoft.com/magazine/cc135868,TechNet Magazine Web 網站的區段。實際安裝影像是不包含,它們是太大,但您應該能夠適應您自己的實驗室環境,小幫手 」 檔案。

部署架構

我的實驗室部署的核心基礎結構會是執行 Active Directory 網域服務 (AD DS) 網域名稱系統 (DNS) 動態主機設定通訊協定 (DHCP),和的不用說 WDS WDS 伺服器。為了系統管理的方便我上也安裝 AIK 超 V 用於和工具遠端管理此伺服器。這就是花準備超 V 部署效率的郵件。您不需要多個,雖然重要透過重複性的高可用性時,可能造成其他 WDS 伺服器。在其餘的實體電腦會是透過 WDS 部署及主控表單實際的測試環境,如 [圖 1 ] 所示的 [VM 超 V 伺服器。

fig01.gif

[圖 1 根據 Hyper-V 和虛擬機器 A 完整的實驗室環境

如需部署 WDS 伺服器,請參閱同系列的工作表 「 部署 Windows 部署服務 」 同時下載先前提及的網站。您會看到安裝是直接了當。在部署 」 和 「 稍後設定超 V 主機的挑戰性的但更相關的。

WDS-Based Hyper-V 部署

其中一個部署超 V 的優點是 WDS 的,WDS 簡化了更新是 WDS 的必要的原始的媒體只包含發行前的版本超 V 因為在 Windows Server 2008 安裝媒體。實際的發行版本是在 「 Microsoft 下載中心 」 下載個別更新。

簡言之,這裡是您採取的步驟: 部署在參照電腦上的 Windows Server 2008、 更新與最新超 V 檔案安裝、 安裝超 V、 使用 Sysprep.exe 一般化的安裝、 擷取並上載至 WDS 伺服器,在一般的安裝影像和再自動預設超 V 部署的實體基礎結構中的所有主機。我想使用 Windows Server 2008 伺服器核心超 V,因為我超 V 的伺服器專用裝載 VM,並且伺服器核心提供的是小型的作業系統電腦設備擺設區域,以及安全性、 可靠性和管理性的優點。並擷取安裝影像,我使用 WDS,當然。請參閱 < 使用 Windows 部署服務部署預設超 V 主機 > 小幫手] 工作表若要查看是多麼的容易建立,請在上載,並使用更新的超 V 安裝影像。無法比較簡單。

因此遠,所以好,超 V 部署根據 WDS 預設值是簡單,但自動組態並不是挑戰而。這個問題,是您需要執行 Sysprep.exe 一般化參考安裝之前,先擷取及上載安裝影像,但 Sysprep.exe 會從通用超 V 影像中移除重要的組態資訊。

除了其他的功用外 Sysprep.exe 會 generalizes 「 開機設定資料 (BCD),並從 BCD 存放區中移除 hypervisor 啟動指示詞中。BCD 應該是獨立的韌體,但這不是超 V 的。hypervisor 取決於基礎的硬體及 BIOS 的虛擬化功能,以便在 hypervisor 啟動指示詞必須請移為了一般化安裝影像]。可以修改離線 BCD 存放區之後,Sysprep,一般化但這並不是解決方案。

如果您藉由使用 ImageX.exe (AIK) 中包含一個工具) 中裝載安裝影像,您可以重新啟動指示詞輸入使用 BCDEdit.exe ; 但是,Windows 安裝程式一次是在實際安裝常式的一般化階段移除這個指示詞。就傳回在開頭。

這會是有點棘手的情況下,因為您需要啟動指示詞,以啟動 hypervisor。而在執行的 hypervisor 超 V 伺服器不是功能性。[圖 2 ] 顯示當嘗試啟動一個 VM 使用自訂部署在 Hyper-V 伺服器上安裝的影像,但不調整開機設定的錯誤訊息顯示。

fig02.gif

[圖 2] 無法啟動虛擬機器,因為在 hypervisor 未執行

請重新輸入 hypervisor 啟動指示詞的一種方法是將它以手動方式在伺服器安裝後執行命令

bcdedit /set hypervisorlaunchtype auto

而超 V 伺服器,但這個手動步驟,重新啟動將會是一個嚴重 roadblock 完全自動的測試的實驗室部署。 幸運的是,AIK 所包含的 Windows 系統影像管理員您用來建立安裝影像,除了它自己的 WDSClientUnattend.xml 檔案在安裝期間套用的 WDS 的 Unattend.xml 檔案。 在這個 unattend.xml] 檔案,可以指定安裝程式應該自動使用 WDS 用戶端所提供的系統管理認證登入 Windows,並再執行指令碼 hypervisor 啟動指示詞插入回 BCD 存放區,然後重新啟動伺服器。

[圖 3 ] 說明,一般的方法,並隨附) 資料包含完整版的 unattend.xml 檔案,以及完成 hypervconfig.vbs 指令碼]。 這樣它就是在安裝期間可用,您可以直接在安裝影像包含 hypervconfig.vbs 指令碼。 您只需要裝載 ImageX.exe 的影像,如所述小幫手] 工作表的 「 自訂超 V 的部署 」。

fig03.gif

[圖 3 Reconfiguring,並在啟動 hypervisor

WMI 架構 Hyper-V 組態

重新啟用 hypervisor 不太困難,但是如果您要分析 hypervconfig.vbs 指令碼,您會發現它包含稍微多個下列五個簡單行程式碼]。 除了啟動指示詞,您必須設定整個超 V 環境和這是部署故事的具挑戰性的一部分。

您無法只建立之前影像擷取參考系統上的 VM、 將它們加入安裝影像中,,然後希望能夠修正 hypervisor 啟動指示詞之後的所有項目。 將伺服器會有的 VM 的不用說但硬體的相依性已遺失。

影像的一般化中斷連線您 VM 乙太網路連接的埠,從實體網路介面卡 (NIC) 和傳遞到磁碟機,從基礎的硬碟和 CD / DVD 裝置。 您無法略過的一般化但不是最好納入安裝影像的預先安裝的 VM。 預先安裝的 VM 極為擴大影像、 評估授權,部署的測試伺服器的最後過期,],並不喜歡採取離線長的時間可能是 Active Directory 網域。 如果您使用的安裝數個月前的 VM 備份中還原實驗室環境,您就會有相當機會的發生 Active Directory 驗證和複寫的問題。 您最好從頭每一次。

讓我們,佈建 VM] 和 [[關聯] 資源的例如 NIC]、 [硬碟的磁碟和 [DVD 光碟機超 V 之前處理的測試實驗室在實際部署環境中。 您可能已經猜到,提供這些虛擬資源就是 hypervconfig.vbs 指令碼的主要工作。

這個方法就相當簡單。 指令碼會決定本機超 V 伺服器的名稱,並再設定一個特定主機的 VM。 每個 VM 會接收兩個虛擬 DVD 磁碟機對應到特定伺服器-iso 檔案和一般安裝 iso 檔案。 伺服器特有的 iso 檔案會對應到開機 DVD 中。 它包含所有必要的指令碼和自動安裝特定的實驗室伺服器的組態檔。

在一般的安裝檔,提供實際的安裝媒體。 共用之間所有的 VM 伺服器上的一般 iso 檔案,以協助控制下,中度超 V 安裝影像的大小。 您無法將在網路伺服器,但一種或另一個您必須將檔案複製到超-V 伺服器的安裝,所以我決定將它們直接包含在安裝影像 iso 檔案。 在這的種方式有可用 iso 檔案本機時需要發生。 這很有用,例如,安裝其他的元件時或重新安裝特定的 VM,而不撕破整個實驗室環境下。

我將討論特定伺服器安裝 DVD 中。 第一次,我將著重超 V 基礎結構的組態基礎 WMI 指令碼的方式。 [圖 4 ] 所示,有各種不同的虛擬資源,您必須提供,包括一個虛擬交換器的內部和外部的參數連接埠,VM 本身使用其虛擬的乙太網路卡、 連接至虛擬的硬碟 (VHD) 檔案,虛擬的 IDE 磁碟機和連線 iso 客用作業系統和伺服器應用程式的安裝檔案到虛擬 DVD 磁碟機。

fig04.gif

[圖 4 Provisioning 實驗室環境的虛擬資源

您也需要調整的 [VM 自動啟動組態以及變更開機順序,先,使用虛擬磁碟機,後面接著連接到伺服器-特定 iso 檔案虛擬 DVD 光碟機。 在這項設定會將 「 從安裝 DVD 之前,作業系統的 VM 開機安裝虛擬的 T: System.Web.UI.MobileControls.Adapters.XhtmlAdapters.硬碟上。 我相信您動作很熟悉這個順序的因為它是標準的任何現代的個人電腦。

hypervconfig.vbs 指令碼會設定為自動啟動,實體電腦啟動時,讓 [VM 自線上後,HypervisorLaunchType 一次重新開機時和實驗室安裝如何 commences 的 [VM。 [VM 最後開機到他們的客用作業系統的安裝常式。 這是完全自動的實驗室部署的關鍵。

大部分 VM 組態遵循相同的原則,您考量包含多個連接到多個 IDE 控制器的磁碟機設定實體電腦時。 在虛擬的交換器但是,需要進一步的說明,因為它是啟用 VM 上,相同 Hyper-V 伺服器之間,以及透過電腦網路的不同伺服器上的 VM 之間通訊的關鍵。 基本上,您可以比較其實體對應到一個虛擬交換器。 您將它藉由呼叫 Overload: CreatedVirtualSwitch 方法中建立,但不是很有用的參數沒有連接埠]。

才能連接到實體網路的參數,您必須建立一個切換通訊埠,藉由呼叫 CreateSwitchPort 方法,並關聯的可用乙太網路的網路介面卡在伺服器上的此連接埠。 您可以將實體的網路卡連接到只有一個虛擬交換器,但您可以有多個彼此直接或透過執行路由器軟體的 VM 連接的交換器]。 本文的目的,但是,在基本的區域網路環境,網路路由器沒有足夠,讓我在上設定單一的虛擬交換器每個超 V 的伺服器連接到第一個可用實體乙太網路卡。

您也必須連線,VM 到虛擬交換器。 再次,您必須建立不同的參數連接埠的每個 VM 藉由呼叫 Create­SwitchPort。 您可以再關聯每一個參數的連接埠為 VM 的虛擬網路介面卡。 別忘了連線到虛擬交換器的父代的磁碟分割,如果您要提供外部網路的連線。 您可以呼叫 SetupSwitch 方法,預期的外部和內部的參數連接埠的可用實體乙太網路卡,] 和 [唯一的裝置名稱和 [顯示名稱參考做為參數的輕鬆地完成這項工作。

藉由呼叫 SetupSwitch 方法,您轉換虛擬交換器私密參數的外部的參數 [小幫手] 內容中的 hypervconfig.vbs 指令碼所示。 指令碼會包含為其設定外部網路連線的 VM 所有詳細資料。 如需詳細資訊,參閱, 虛擬化 WMI 提供者文件MSDN。 我 hypervconfig.vbs 指令碼相當的部分根據下的可用的範例 」 使用模擬的 WMI 提供者 」

虛擬實驗室部署

現在,超 V 的部署完成,並自動在每個系統重新啟動後,VM 開機,我可以開啟我的注意,在實驗室環境的實際的部署。 訓練中心,可能它即可部署虛擬網路基礎結構和客用作業系統中,並讓,部署在其餘的伺服器應用程式,稍後的課程。 但針對開發、 測試和評估之用,執行自動化在整個實驗室環境的部署。

整體的方法很類似超 V 方法中。 下列在的作業系統的自動的安裝,可讓系統管理員帳戶自動 (登入),並執行任何其他的安裝命令。 不過,您必須協調部署。

所有的 VM 開機進入其安裝常式幾乎在同一時間,但某些伺服器會依賴其他伺服器因此不可能同時執行所有的安裝。 例如,您需要之前,您可以將任何其他的伺服器加入網域,請安裝 AD DS、 Exchange Server 2007 也需要 AD DS,SharePoint 伺服器伺服陣列需要 SQL Server,等,在您的案例中,只有 VM,可以讓執行的 Windows 安裝程式立即 DC01.Litware.com。 其他所有的 VM 必須等到 DC 啟動並執行。

方法有很多實作的安裝序列。 您可以設定 VM,開機延遲,但這項技術可能不穩定。 您願意絕對的 15 分鐘內完成永遠 Active Directory 安裝嗎? 以及時間不會它採取來安裝第一部 Exchange 伺服器之後?

另一個可能性將是您,安裝必要條件,讓它時切換 VM WMI-基礎指令碼。 這是一種更好的替代方法,但它需要協調分散式 VM 部署使用的集中式的指令碼執行。 它是較不複雜自訂每個個別的安裝常式中,並讓檢查任何指定的安裝必要條件本身之前初始化其 Windows 安裝程式常式,如 [圖 5 ] 所示的 [VM。

fig05.gif

[圖 5 部署順序是根據安裝的必要條件的實作

Windows PE 可以讓我們實作這些自訂的安裝常式。 它是最小 Win32 作業系統限制的服務但支援 Windows Script Host (WScript)、 WMI 和 Microsoft Data Access Component (MDAC)。 您必須只能建立自訂的 Windows PE 影像、 如何新增所需的 Windows 功能套件、 如何加入自訂的指令碼和如何然後編輯 Startnet.cmd 檔案位於 Windows PE 影像以執行自訂指令碼的 %SYSTEMROOT %\ System32。

「 建立自訂的開機映像伺服器部署 」 的小幫手] 工作表會說明如何在測試實驗室環境中建立自訂的 Windows PE 影像,每個伺服器。 [圖 6 將示範您,如何使用這項技術來協調第二個 DC 的部署。

fig06.gif

[圖 6 Orchestrated 部署在測試實驗室中第二個網域控制站

Startnet.cmd 檔案會包含 netsh 命令,網路介面的 VM 指派靜態 IP 位址,並再呼叫 StartSetup 指令碼。 netsh 命令不嚴格必要一個已啟用 DHCP 的環境,但它可以協助反白顯示與網路相關錯誤。 例如,如果您提供您 VM 的標準的網路卡 (Microsoft 的綜合式乙太網路連接埠) 在您的超 V 的組態指令碼,而非舊版的網路卡 (Microsoft 模擬 Ethernet 連接埠),Netsh 命令會通知您 Windows PE 無法辨識在 NIC。

StartSetup 指令碼會不會通知您有關這個問題嘗試存取網路資源,因為 On Error Resume Next 陳述式可讓指令碼以維持在執行階段錯誤時。 如果由於任何原因而無法使用 DC01,連線嘗試失敗,然後指令碼繼續無限迴圈。 在迴圈結束,只會在連線嘗試成功如果且 DC01 為通用類別目錄伺服器,這表示 AD DS 已安裝。

當迴圈結束時,指令碼就會呼叫實際安裝命令使用伺服器特有組態設定中指定 unattend.xml 檔案。 [圖 6 ] 中的圖表說明如何等候連線,通用類別目錄伺服器,但也適用於其他的案例,例如,檢查檔案的共用] 或 [SQL Server 資料庫相同的原則。 只嘗試存取的資源,並結束迴圈,如果嘗試成功。

Hyper-V 資源

Windows Server 2008 Hyper-V 網站

Windows 虛擬化小組部落格

Windows Deployment Services Guide 》

Windows 自動化安裝套件

自動的 Windows 安裝程式參考

伺服器應用程式部署

在只剩下工作是將伺服器加入網域、 如何設定 TCP / IP 設定、 如何啟用 [遠端桌面通訊協定 (RDP),以及如何設定 <firstlogoncommands> unattend.xml 檔案的設定任何所需的伺服器應用程式的安裝。 大部分的 Microsoft 伺服器應用程式都支援自動的部署。

AD DS,您必須提供一個回應檔案,如 「 Microsoft 知識庫 」 文件所述 「 如何使用 Windows Server 2008 網域控制站上的自動安裝的模式的安裝與移除 Active Directory 網域服務." Exchange Server 2007,您應該改用命令列參數 (請參閱 < 如何在自動安裝模式中安裝 Exchange 2007「 在線上說明)。 SQL Server 2008,您應該依照線上說明文件所述 「 HOW TO: 從命令提示字元中安裝 SQL Server 2008." 和 Windows SharePoint Services 3.0 中,請注意 」 Windows SharePoint Services 的 Config.xml 參考."

複雜性,需求不同,但您可以部署這些系統,而不需任何管理員互動。 最終的工作是按 F12 鍵以加入 WDS-為基礎的部署系統。

結論

Hyper-V 會是令人興奮的技術。 它是完全 64 位元相容,因此您不需要再部署評估的教育訓練用途的 32-bit 軟體版本,如果在 64 位元版本使用。 它會是 Windows 的技術,因此您可以完全利用 WDS、 AIK 和 Windows PE 的部署。 它透過您用來管理虛擬化環境包括在提供的資源和 VM 部署程序期間的所有層面在模擬 WMI 提供者支援 WMI 和 Windows PowerShell。 它使用在 hypervisor 而非在虛擬機器監視器 (VMM) 提供高效能,並在增加延展性,而且它包含在 Windows Server 2008 在沒有額外成本。

Hyper_-_V-基礎環境是相當簡單的部署。 只需要開始,第一個的 VM 滑鼠的按幾,而且與 Windows 部署技術搭配很有趣,即使最複雜的案例的自動化]。

我所見的唯一缺點則是仍在執行 infant 階段 「 虛擬化 WMI 提供者的線上說明文件,並因此,範例程式碼會無法涵蓋所有相關的工作。 在的結果不過,是值得努力中。 它是以查看部署本身的 IT 環境的樂趣 — 即使它包含遠少於 600 的 VM。

Fergus Strachan 會是一個倫敦-以獨立顧問,專精於 Microsoft 伺服器基礎結構的設計和公司的客戶,在英國的實作。 Fergus 已撰寫技術文章 Microsoft 伺服器技術與使用 Microsoft Exchange 2007 撰寫整合的 ISA Server 2006。 他也是合著的 Microsoft Exchange Server 2003 Resource Kit