開始使用 vSphere Auto Deploy之前,您必須先透過數個步驟準備環境。

首先設定伺服器並準備硬體。您必須先在用於計劃管理您所佈建的主機的 vCenter Server 系統中設定 vSphere Auto Deploy 服務啟動類型,然後安裝 PowerCLI

vSphere Auto Deploy 預先安裝檢查清單

開始 vSphere Auto Deploy 案例中的工作之前,請確定您的環境符合硬體和軟體需求,並且您具有該設定所涉及元件的必要權限。

表 1. 預先安裝檢查清單
所需軟體和硬體 詳細資料
vCenter Server vSphere Auto Deploy 伺服器屬於vCenter Server。您必須啟用並啟動vCenter Server系統上的 vSphere Auto Deploy 服務。您可以透過登入vCenter Server來執行多個設定工作。請參閱為 vSphere Auto Deploy 準備系統
儲存區

ESXi資料存放區的儲存區 (NFS、iSCSI 或光纖通道) 已設定伺服器和儲存區陣列,以便伺服器可偵測 LUN。

  • NFS 或 iSCSi 的目標 IP 位址清單。
  • NFS 或 iSCSI 的目標磁碟區資訊清單。
主機資訊 (適用於四台 ESXi主機)

NFS 或 iSCSi 的目標 IP 位址清單。

NFS 或 iSCSI 的目標磁碟區資訊清單。

  • 預設路由、網路遮罩及主要和次要 DNS 伺服器 IP 位址。
  • VMkernel 主要管理網路的 IP 位址和網路遮罩。
  • 其他 VMkernel 網路 (如儲存區、vSphere FT 或 VMware vMotion) 的 IP 位址和網路遮罩。

vSphere Auto Deploy 依預設不會覆寫現有磁碟分割。

PowerCLI 請參閱《安裝 PowerCLI》
ESXi軟體存放庫 VMware 網站之 [下載] 頁面上ESXi軟體存放庫的位置。您使用 URL 來指向儲存在該位置的映像設定檔,或下載 ZIP 檔案以使用本機存放庫。請勿下載 ESXi映像。
TFTP 伺服器 TFTP 安裝程式軟體,如 WinAgents TFTP 伺服器。
DHCP 伺服器 DHCP 伺服器包含在支援 vSphere 的 Windows Server 版本中。
DNS 伺服器 工作 DNS 伺服器。您必須同時在正向 (A 記錄) 和反向 (PTR 記錄) 區域針對每個目標主機新增項目。

您還需要環境中核心伺服器的相關資訊和管理員權限,這些伺服器包括 ActiveDirectory 伺服器、DNS 伺服器、DHCP 伺服器、NTP 伺服器等。

您必須完全控制要在其中部署安裝之子網路的廣播網域。請確保此子網路中沒有其他 DHCP、DNS 或 TFTP 伺服器。

為 vSphere Auto Deploy 準備系統

在透過 vSphere Auto Deploy 對 ESXi 主機進行 PXE 開機之前,必須先安裝必備軟體,並設定 vSphere Auto Deploy 與之互動的 DHCP 和 TFTP 伺服器。

如果您想要使用 PowerCLI cmdlet 管理 vSphere Auto Deploy,請參閱 《使用 vSphere PowerCLI 設定 vSphere Auto Deploy 並佈建主機》

必要條件

  • 確認要使用 vSphere Auto Deploy 佈建的主機符合 ESXi 的硬體需求。請參閱ESXi 硬體需求
  • 確認 ESXi 主機與 vCenter Server 建立網路連線,並滿足所有連接埠需求。請參閱《vCenter Server 升級》
  • 確認您的環境中具有 TFTP 伺服器和 DHCP 伺服器,可以傳送檔案並將網路位址指派給 Auto Deploy 佈建的 ESXi 主機。請參閱安裝 TFTP 伺服器準備 DHCP 伺服器以進行 vSphere Auto Deploy 佈建
  • 確認 ESXi 主機具有 DHCP、TFTP 和 vSphere Auto Deploy 伺服器的網路連線。
  • 如果要在 vSphere Auto Deploy 環境中使用 VLAN,您必須正確設定端對端網路。主機進行 PXE 開機時,必須將韌體驅動程式設定為以正確的 VLAN 識別碼來標記框架。必須透過在 UEFI/BIOS 介面中進行正確的變更來手動執行此設定。您還必須以正確的 VLAN 識別碼來正確設定 ESXi 連接埠群組。請詢問您的網路管理員,瞭解 VLAN 識別碼在環境中的使用方式。
  • 確認您具有足夠的儲存區用於 vSphere Auto Deploy 存放庫。vSphere Auto Deploy 伺服器會使用存放庫儲存它需要的資料,包括您建立的規則和規則集,以及規則中指定的 VIB 和映像設定檔。

    最佳做法是配置 2 GB,可提供足夠空間來容納四個映像設定檔和一些額外空間。每個映像設定檔大約需要 400 MB。透過考慮預期使用的映像設定檔數目,判定要為 vSphere Auto Deploy 存放庫保留的空間大小。

  • 取得對 DHCP 伺服器 (該伺服器管理要從中進行開機的網路區段) 的管理權限。您可以使用環境中已有的 DHCP 伺服器,也可以安裝 DHCP 伺服器。對於 vSphere Auto Deploy 設定,請使用 UEFI 的 snponly64.efi.vmw-hardwired 或 BIOS 的 undionly.kpxe.vmw-hardwired 取代 gpxelinux.0 檔案名稱。如需有關 DHCP 組態的詳細資訊,請參閱範例 DHCP 組態
  • 保護您的網路,就像其他任何 PXE 式部署方法一樣。vSphere Auto Deploy 透過 SSL 傳輸資料,可防止意外干擾和窺探。但是,在 PXE 開機期間不會檢查用戶端或 vSphere Auto Deploy 伺服器的真實性。
  • 如果想要使用 PowerCLI cmdlet 管理 vSphere Auto Deploy,請確認已在 Windows 機器上安裝 Microsoft .NET Framework 4.5 或 4.5.x 和 Windows PowerShell 3.0 或 4.0。請參閱《vSphere PowerCLI 使用者指南》
  • 設定遠端 Syslog 伺服器。如需 Syslog 伺服器組態的相關資訊,請參閱《vCenter Server 和主機管理》說明文件。將您開機的第一台主機設定為使用遠端 Syslog 伺服器,並將該主機的主機設定檔套用到所有其他目標主機。(可選) 安裝並使用 VMware vCenter Log Insight,可為 VMware 產品和非 VMware 產品 (虛擬和實體) 提供記錄彙總和分析,並提供近即時記錄事件搜尋和分析功能。
  • 安裝 ESXi Dump Collector,設定第一台主機,使所有核心傾印都導向到 ESXi Dump Collector,並將該主機的主機設定檔套用到所有其他主機。請參閱使用 ESXCLI 設定 ESXi Dump Collector
  • 如果您打算使用 vSphere Auto Deploy 佈建的主機使用的是舊版 BIOS,請確認 vSphere Auto Deploy 伺服器具有 IPv4 位址。僅在透過 IPv4 時,才可使用舊版 BIOS 韌體進行 PXE 開機。透過 IPv4 或 IPv6 都可使用 UEFI 韌體進行 PXE 開機。

程序

  1. 導覽至首頁 > Auto Deploy
    依預設,僅管理員角色擁有使用 vSphere Auto Deploy 服務的權限。
  2. Auto Deploy 頁面上,從頂部的下拉式功能表中選取您的 vCenter Server
  3. 按一下啟用 Auto Deploy 和 Image Builder 來啟動該服務。
    如果 Image Builder 服務已啟用,請選取 設定索引標籤,然後按一下 啟用 Auto Deploy 服務
    軟體存放庫頁面隨即顯示。
  4. 設定 TFTP 伺服器。
    1. 按一下設定索引標籤。
    2. 按一下下載 TFTP Boot Zip以下載 TFTP 組態檔,並將該檔案解壓縮到 TFTP 伺服器儲存檔案的目錄下。
    3. (選擇性) 若要使用 Proxy 伺服器,請在 Auto Deploy 執行階段摘要窗格中按一下新增,然後在文字方塊中輸入 Proxy 伺服器 URL。
      使用反向 Proxy 伺服器可以卸載對 vSphere Auto Deploy 伺服器提出的要求。
  5. 設定 DHCP 伺服器,指向 TFTP ZIP 檔案所在的 TFTP 伺服器。
    1. 在 DHCP 選項 66 (通常稱為 next-server) 中指定 TFTP 伺服器的 IP 位址。
    2. 在 DHCP 選項 67 (通常稱為 boot-filename) 中指定開機檔案名稱,其中 snponly64.efi.vmw-hardwired 用於 UEFI,或 undionly.kpxe.vmw-hardwired 用於 BIOS。
  6. 依照製造商的指示將要使用 vSphere Auto Deploy 佈建的每台主機設定為網路開機或 PXE 開機。
  7. (選擇性) 如果將您的環境設定為使用指紋模式,則透過將 OpenSSL 憑證 (rbd-ca.crt) 和 OpenSSL 私密金鑰 (rbd-ca.key) 取代為自己的憑證和金鑰檔案,您可以使用自己的憑證授權機構 (CA)。
    檔案位於 /etc/vmware-rbd/ssl/ 中。
    依預設, vCenter Server 使用 VMware Certificate Authority (VMCA)。

結果

在啟動已針對 vSphere Auto Deploy 設定的 ESXi 主機時,該主機會連絡 DHCP 伺服器並導向到 vSphere Auto Deploy 伺服器,即可使用作用中規則集中指定的映像設定檔佈建該主機。

下一步

  • 您可變更 Auto Deploy 服務的預設組態內容。如需詳細資訊,請參閱 vCenter Server 和主機管理說明文件中的「設定 vCenter Server」。
  • 您可變更 Image Builder 服務的預設組態內容。如需詳細資訊,請參閱 vCenter Server 和主機管理說明文件中的「設定 vCenter Server」。
  • 定義指派映像設定檔和選擇性主機設定檔、主機位置或指令碼服務包至主機的規則。如需使用 PowerCLI cmdlet 管理 vSphere Auto Deploy 的相關資訊,請參閱使用 PowerCLI Cmdlet 管理 vSphere Auto Deploy一節。如需使用 vSphere Client 管理 vSphere Auto Deploy 的相關資訊,請參閱使用 vSphere Client 管理 vSphere Auto Deploy一節。
  • (選擇性) 設定第一台佈建為參考主機的主機。使用您希望目標主機彼此共用的儲存區、網路和其他設定。建立參考主機的主機設定檔,並撰寫用於將已經過測試的映像設定檔和主機設定檔指派給目標主機的規則。
  • (選擇性) 如果要使 vSphere Auto Deploy 覆寫現有磁碟分割,請將參考主機設定為進行自動磁碟分割,並將參考主機的主機設定檔套用到其他主機。請參閱設定用於自動磁碟分割的參考主機
  • (選擇性) 如果必須設定主機特定的資訊,請將參考主機的主機設定檔設定為提示使用者輸入。如需有關主機自訂的詳細資訊,請參閱vSphere 主機設定檔說明文件。

使用 vSphere Auto Deploy Cmdlet

vSphere Auto Deploy cmdlet 以 Microsoft PowerShell cmdlet 形式實作並包含在 PowerCLI 中。vSphere Auto Deploy cmdlet 的使用者可以利用所有 PowerCLI 功能。

有經驗的 PowerShell 使用者可以像使用其他 PowerShell cmdlet 一樣使用 vSphere Auto Deploy cmdlet。如果您對 PowerShell 和 PowerCLI 比較生疏,下列提示可能對您有所幫助。

您可以在 PowerCLI Shell 中輸入 cmdlet、參數和參數值。

  • 透過執行 Get-Helpcmdlet_name 取得任何 cmdlet 的說明。
  • 請注意,PowerShell 不區分大小寫。
  • 對 cmdlet 名稱和參數名稱使用 Tab 鍵自動完成。
  • 使用 Format-ListFormat-Table 或者它們的簡短形式 flft,格式化任何變數和 cmdlet 輸出。如需詳細資訊,請執行 Get-Help Format-List cmdlet。

依名稱傳遞參數

在大多數情況下,可以依名稱傳遞參數,並以雙引號將包含空格或特殊字元的參數值括住。
 Copy-DeployRule -DeployRule testrule -ReplaceItem MyNewProfile

vCenter Server 安裝和設定說明文件中的大多數範例依名稱來傳遞參數。

以物件傳遞參數

如果想要進行指令碼處理並實現自動化,您可以物件傳遞參數。以物件傳遞參數,對於傳回多個物件和傳回單一物件的 cmdlet 皆非常有用。請考慮下列範例。

  1. 將封裝主機規則集符合性資訊的物件繫結到變數。
    $tr = Test-DeployRuleSetCompliance MyEsxi42
  2. 檢視物件的 itemlist 內容,以查看規則集中的規則與主機目前所使用規則之間有何差異。
    $tr.itemlist
  3. Repair-DeployRuleSetCompliance cmdlet 與變數搭配使用可修復主機,從而使用修訂的規則集。
    Repair-DeployRuleSetCompliance $tr

該範例會在下次將主機開機時修復主機。

設定大量授權

您可以使用 vSphere ClientESXi Shell 指定個別授權金鑰,也可以透過使用PowerCLI cmdlet 來設定大量授權。大量授權適用於所有 ESXi主機,但對使用 vSphere Auto Deploy 佈建的主機尤其有用。

透過 vSphere Client指派授權金鑰,與使用 PowerCLI cmdlet 指派授權的運作方式有所不同。

使用 vSphere Client指派授權金鑰
將主機新增到 vCenter Server系統時或主機由 vCenter Server 系統管理時,您可以為主機指派授權金鑰。
使用 LicenseDataManager PowerCLI指派授權金鑰
您可以指定要新增到一組主機的一組授權金鑰。這些授權金鑰會新增到 vCenter Server資料庫。每次有主機新增到或重新連線至 vCenter Server系統時,會指派授權金鑰給主機。透過 PowerCLI指派的授權金鑰會被視為預設授權金鑰。新增或重新連線未授權主機時,將為此主機指派預設授權金鑰。如果主機已獲授權,則會保留其授權金鑰。

下列範例會為資料中心中的所有主機指派授權。您也可以將授權與主機和叢集相關聯。

下列範例適用於瞭解如何使用 PowerShell 變數的進階 PowerCLI使用者。

必要條件

為 vSphere Auto Deploy 準備系統.

程序

  1. PowerCLI工作階段,連線至要使用的 vCenter Server 系統,並將相關聯的授權管理員繫結到變數。
    Connect-VIServer -Server 192.XXX.X.XX -User username -Password password
    $licenseDataManager = Get-LicenseDataManager
    
  2. 執行擷取資料中心的 cmdlet,要對其使用大量授權功能的主機位於該資料中心。
    $hostContainer = Get-Datacenter -Name Datacenter-X
    您也可以執行擷取叢集的 cmdlet 以對叢集中的所有主機使用大量授權,或者執行擷取資料夾的 cmdlet 以對資料夾中的所有主機使用大量授權。
  3. 建立 LicenseData物件,以及具有相關聯類型識別碼和授權金鑰的 LicenseKeyEntry 物件。
    $licenseData = New-Object VMware.VimAutomation.License.Types.LicenseData
    $licenseKeyEntry = New-Object Vmware.VimAutomation.License.Types.LicenseKeyEntry
    $licenseKeyEntry.TypeId = "vmware-vsphere"
    $licenseKeyEntry.LicenseKey = "XXXXX-XXXXX-XXXXX-XXXXX-XXXXX"
  4. 將步驟 3 中建立的 LicenseData物件的 LicenseKeys 屬性與 LicenseKeyEntry 物件相關聯。
    $licenseData.LicenseKeys += $licenseKeyEntry
  5. 使用 LicenseData物件更新資料中心的授權資料,並確認授權與主機容器相關聯。
    $licenseDataManager.UpdateAssociatedLicenseData($hostContainer.Uid, $licenseData)
    $licenseDataManager.QueryAssociatedLicenseData($hostContainer.Uid)
    
  6. 使用 vSphere Auto Deploy 佈建一或多台主機,並將這些主機指派給授權資料指派到的資料中心或叢集。
  7. 您可以使用 vSphere Client來驗證主機是否成功指派給預設授權 XXXXX-XXXXX-XXXXX-XXXXX-XXXXX

結果

所有指派給資料中心的主機現在皆已自動獲得授權。