開始使用 Azure Stack HCI

現今,小型甚至大型企業都面臨著正確的IT策略及如何向雲端演進的問題。好消息是,微軟提供了一個適合的產品,Azure Stack HCI。

本教程將介紹如何開始使用Azure Stack HCI。您將建立一個虛擬測試環境並安裝一個四節點叢集以在Azure上註冊。

繼續閱讀,開始使用Azure Stack HCI部署虛擬機器吧!

前提條件

本教程包括實際示範。請確保您擁有以下條件:

  • A client or server operating system with Hyper-V enabled. (Windows 10 or 11) – This tutorial uses Windows 10.
  • 至少32 GB RAM和擁有四個核心的處理器(如果您只規劃了兩個節點而不是四個節點的實驗環境,16GB RAM應該足夠)。

什麼是Azure Stack HCI?

在深入之前,您可能會想知道Azure Stack HCI到底是什麼?Azure Stack HCI提供了一個超融合基礎架構(HCI)容錯叢集。該叢集可用於托管虛擬化的Windows和Linux工作負載以及它們的存儲在混合本地環境中。因此,該環境也與雲端服務相連接。

最容易解釋這個基礎架構的方法是使用下面的插圖。換句話說,HCI是一個轉變和壓縮的硬體堆棧,具有簡化和集中的管理界面。

Demonstrating the transformation path from NCI to HCI

準備實驗室並創建Windows Server父磁碟

在大多數情況下,僅使用雲端方法並不實際,特別是在數據保護方面。在其他情況下,還有高質量的硬件可用,不應該被浪費。在這種情況下,混合解決方案Azure Stack HCI可能是正確的選擇。

要驗證這一說法,您必須通過創建演示環境來構建概念驗證(POC)。但首先,您需要滿足一些基本要求,如下所示:

  • 正確的文件夾結構和一些軟件。
  • 所需虛擬機器(VMs-域控制器、一些Azure Stack HCI節點和Windows管理中心(WAC)閘道服務器)的父磁碟。

要創建Windows Server父磁碟:

1. 將從下載的存檔(MSLab)中提取的文件解壓縮到您的計算機上的文件夾中。

2. 解壓縮後,查找並打開偏好的代碼編輯器中的LabConfig.ps1文件。

Opening the LabConfig file

3. 接下來,使用以下代碼修改LabConfig.ps1文件中下面截圖中標記的區域。

以下的代碼指定了域管理員的名稱(’LabAdmin’)和相應的密碼(’P@$$w0rd!’)。

$LabConfig=@{ DomainAdminName='LabAdmin'; AdminPassword='P@$$w0rd!'; Prefix = 'MSLab-'; DCEdition='4'; Internet=$true ; AdditionalNetworksConfig=@(); VMs=@()}
Specifying Domain-Admin’s name and password

原始的LabConfig.ps1文件在幫助部分包含了許多有詳細注釋的示例,這使得根據您的需求自定義文件變得更加容易。

4. 現在,以管理員身份運行PowerShell,執行1_Prereq.ps1腳本文件以創建所需的文件層次結構和必要的軟件。

如果未使用所需權限執行腳本,則將自動重新啟動腳本執行。這個行為適用於本教程中的所有執行的腳本,除非另有明確說明。

Creating the required folder hierarchy and putting the required software in place

5. 現在,執行2_CreateParentDisks.ps1腳本以為您的實驗室準備所有所需的磁盤映像。

在提示時輸入N,按Enter鍵以避免將遙測數據發送到Microsoft。如果不介意讓Microsoft處理您的實驗室數據,您也可以進行其他選擇,如輸出中所解釋的那樣。

Preparing all needed disk images

6. 接下來,選擇正確的Windows ISO映像文件。在這種情況下,選擇英語語言的Windows Server 2022映像文件,然後點擊打開。

Selecting a Windows Server ISO Image

7. 在提示進行Windows Server更新(*.msu)時,點擊取消,因為您已經下載並使用了最新的ISO映像。

腳本現在創建了一個 Windows Server 2022 父磁碟(約 15-30 分鐘),您稍後將需要它來進行虛擬機部署。

Skipping Windows Server Update

8. 最後,輸入 Y 並按 Enter 鍵清理不必要的文件和文件夾。

清理完成後,再次按 Enter 完成腳本執行。

Cleaning up unnecessary files and folders

您現在應該在 MSLab 文件夾下看到兩個新文件夾(LABParentDisks),三個 PowerShell 腳本和日誌文件。

Verifying MSLab resource files and folders

創建 Azure Stack HCI 父磁碟

您已經通過創建 Windows Server 2022 父磁碟準備了實驗室骨架的一部分。但是,您仍然缺少 Azure Stack HCI 节点部署的父磁碟。

要創建 Azure Stack HCI 父磁碟:

1. 轉到 ParentDisks 文件夾,並執行 CreateParentDisk.ps1 腳本。

2. 接下來,選擇正確的 Azure Stack HCI ISO 映像,然後點擊打開。

Selecting an Azure Stack HCI OS ISO Image

3. 在提示更新套件文件(*.msu)時,點擊取消,因為您已經下載並使用了最新的 ISO 映像。

Selecting an Azure Stack HCI OS Update file

4. 現在,在要求 VHD 名稱和大小時,按 Enter 鍵。

如果未指定任何內容,則默認使用 AzSHCI21H2_G2.vhdx 作為 VDH 名稱,大小為 60 GB。

Using default VHD name and size

5. 按 Enter 鍵完成腳本執行。

Finishing the script execution

6. 最後,轉到 MSLab/ParentDisks 文件夾,驗證 Azure Stack HCI21H2_G2 磁碟文件是否存在,如下所示。

Checking if all necessary files are available

將虛擬機部署到 Hyper-V

現在一切都已經準備就緒,可以將必要的VM部署到實驗室。嗯,幾乎是的。您還需要在LabConfig.ps1文件中設置一些參數和配置設定。

1. 打開LabConfig.ps1文件,使用以下代碼調整內容以配置VM部署。

由於實驗室不應該是一個黑盒,您將在文檔結構和存儲配置的簡短描述中找到一些信息。所有參數區塊都分配給相應的VM(DC、HCI節點、WAC閘道),以便更好地了解。

此外,還對每個參數進行了描述,以澄清其功能。

# DC + 實驗室環境

$LabConfig=@{ DomainAdminName='LabAdmin'; AdminPassword='P@$$w0rd!'; Prefix = 'MSLab-' ; DCEdition='4'; Internet=$true ; AdditionalNetworksConfig=@(); VMs=@()}

# DomainAdminName - 域管理員名稱
# AdminPassword - 域管理員密碼
# Prefix - VM 名稱中應包含的前綴
# DCEdition='4' - 要使用的 Windows 版本 (4 = 數據中心)
# Internet=$true - 啟用 DC 上的遠程訪問服務 (RAS)
# AdditionalNetworksConfig=@() - 附加網絡配置的數組
# VMs=@() - VM 數組

# HCI 节点 (預域加入)
1..4 | ForEach-Object {$VMNames="AzSHCI" ; $LABConfig.VMs += @{ VMName = "$VMNames$_" ; Configuration = 'S2D' ; ParentVHD = 'AzSHCI21H2_G2.vhdx' ; HDDNumber = 12; HDDSize= 4TB ; MemoryStartupBytes= 4GB; MGMTNICs=4 ; NestedVirt=$true}}

# VMName - VM 名稱
# Configuration = 'S2D' - 支援 Storage Space Direct (S2D) 的 VM
# ParentVHD - 父磁盤
# HDDNumber - 要附加的磁盤總數
# HDDSize - 磁盤大小
# MemoryStartupBytes - 啟動內存
# MGMTNICs - 網卡總數
# NestedVirt - 啟用嵌套虛擬化

# Windows Admin Center Gateway
$LabConfig.VMs += @{ VMName = 'WACGW' ; ParentVHD = 'Win2022Core_G2.vhdx' ; MGMTNICs=1 }

# VMName - VM 名稱
# ParentVHD - 父磁盤
# MGMTNICs - 網卡總數

2. 接下來,執行Deploy.ps1腳本以開始虛擬機部署程序。

在部署過程中,您可能會看到像下面螢幕截圖中的錯誤。這些錯誤是由於在域控制器內測試活動目錄的可用性而引起的,但可以安全地忽略。

Deploying VMs

3. 在虛擬機部署完成後,輸入 A 並按 Enter 鍵以啟動所有實驗室虛擬機。

一旦啟動,請按 Enter 鍵完成腳本執行。

Starting VMs

4. 最後,切換到 Hyper-V 管理員以確保所需的基礎設施已建立。

在下面,您可以看到所有正在運行的實驗室機器。

Inspecting the delivered infrastructure

設置 WAC 網關

您已成功部署了您的虛擬機,現在準備好提供所需的軟體元件,即 Windows 管理中心(WAC)。

1. 在 Hyper-V 管理員中,導航至 MSLAB-DC VM 的 VM 屬性,並在整合服務部分啟用 Guest services。

啟用後,點擊「套用」以確認設置。

Enabling Guest services

2. 接下來,切換到 MSLAB-DC VM(域控制器),並通過 PowerShell 執行以下腳本以下載並傳送所需的安裝套件到目標機器。

$GatewayServerName="WACGW"
# 如果不存在,則下載 Windows 管理中心
if (-not (Test-Path -Path "$env:USERPROFILE\Downloads\WindowsAdminCenter.msi")){
    Start-BitsTransfer -Source https://aka.ms/WACDownload -Destination "$env:USERPROFILE\Downloads\WindowsAdminCenter.msi"
}

# 建立 PS 會話並將安裝檔複製到遠端伺服器
Invoke-Command -ComputerName $GatewayServerName -ScriptBlock {Set-Item -Path WSMan:\localhost\MaxEnvelopeSizekb -Value 4096}
$Session=New-PSSession -ComputerName $GatewayServerName
Copy-Item -Path "$env:USERPROFILE\Downloads\WindowsAdminCenter.msi" -Destination "$env:USERPROFILE\Downloads\WindowsAdminCenter.msi" -ToSession $Session

# 安裝 Windows 管理中心
Invoke-Command -Session $session -ScriptBlock {
    Start-Process msiexec.exe -Wait -ArgumentList "/i $env:USERPROFILE\Downloads\WindowsAdminCenter.msi /qn /L*v log.txt REGISTRY_REDIRECT_PORT_80=1 SME_PORT=443 SSL_CERTIFICATE_OPTION=generate"
} -ErrorAction Ignore

$Session | Remove-PSSession

# 將證書添加到信任的根證書
start-sleep 10
$cert = Invoke-Command -ComputerName $GatewayServerName -ScriptBlock {Get-ChildItem Cert:\LocalMachine\My\ |where subject -eq "CN=Windows Admin Center"}
$cert | Export-Certificate -FilePath $env:TEMP\WACCert.cer
Import-Certificate -FilePath $env:TEMP\WACCert.cer -CertStoreLocation Cert:\LocalMachine\Root\
Deploying WAC

3. 使用域控制器,打开网络浏览器,导航至 https://wacgw 以验证部署。在此时,请使用最初定义/共享的凭据进行登录。

登录后,您的浏览器将重定向到 WAC 概览页面,在此页面您可以看到所有已加入的系统列表(第四步)。

Signing in to WAC

4. 现在,请验证网关本身是否以以下名称创建:wacgw.corp.contoso.com [Gateway],如下所示。

Verifying the WAC functionality

5. 此外,请直接从域控制器(MSLAB-DC VM)运行以下代码,以在 WAC 和 Azure Stack HCI 节点之间建立受 Kerberos 限制的委派。

此代码可让您在连接到远程服务器时绕过凭据提示。

$GatewayServerName="WACGW"
#配置基于资源的受限委派
$gatewayObject = Get-ADComputer -Identity $GatewayServerName
$computers = (Get-ADComputer -Filter {OperatingSystem -eq "Azure Stack HCI"}).Name

foreach ($computer in $computers){
    $computerObject = Get-ADComputer -Identity $computer
    Set-ADComputer -Identity $computerObject -PrincipalsAllowedToDelegateToAccount $gatewayObject
}
Setting up Kerberos constrained delegation

设置 Azure Stack HCI 集群

设置完 WAC 后,您已准备好开始具体操作;一切都准备就绪,可以创建集群了。

要设置 Azure Stack HCI 集群:

1. 在您的域控制器上的 WAC 上,单击“添加”,在弹出窗口中查找服务器集群,然后单击“创建新的”以开始创建新的集群。

Initiating creating a new cluster

2. 接下来,选择 Azure Stack HCI 作为集群类型,选择“一个站点中的所有服务器”作为服务器位置,然后单击“创建”以创建新的集群。

Creating the new cluster

3. 點擊下一步跳過此步驟(1.1),因為您已檢查過先決條件並且正在為 Azure Stack HCI 評估場景製作的自定義環境上。

Checking the prerequisites

4. 現在,按照提示輸入您的憑證。在這一點上,使用最初定義/通信的憑證。

Providing credentials

5. 添加要包含在集群中的所有伺服器/節點。本教程使用四節點演示環境。如果您正在使用等效設置,您還必須添加四個節點。

依次輸入下面列出的節點,並為每個節點點擊添加。

# 主機清單 
azshci1.Corp.contoso.com
azshci2.Corp.contoso.com
azshci3.Corp.contoso.com
azshci4.Corp.contoso.com

一旦添加了節點,請點擊下一步繼續。

A green check mark appears if the node was found successfully, as shown below.

Adding nodes

6. 接下來,點擊下一步跳過此步驟(1.3),因為所有節點已經是預配置域的成員。

Skipping joining a domain

7. 現在,點擊安裝功能以在所有節點上安裝必要的組件。

Installing features to all nodes

以下是將要安裝的以下功能清單。

Verifying the features to be installed

對於 Hyper-V 是否收到「未安裝」警告?繼續閱讀並查看如何修復它。

當一切都成功安裝時,添加的節點旁邊會出現綠色勾選標記。

Getting bugs on features installation

8. 在域控制器上運行以下命令來修復「未安裝」錯誤。此命令將在所有可用節點上安裝缺失的功能(Hyper-V)。

$Servers="AzSHCI1","AzSHCI2","AzSHCI3","AzSHCI4"
Invoke-Command -ComputerName $Servers -ScriptBlock {Enable-WindowsOptionalFeature -FeatureName Microsoft-Hyper-V -Online -NoRestart}
Enabling Hyper-V on all nodes

如果一切順利,您將看到以下消息。

A restart is not required at this point but will be performed later.

Enabling Hyper-V

9. 返回 WAC,點擊刷新以查看是否已安裝所有功能。如果是,請點擊下一步繼續。

Verifying installed features

10. 點擊“安裝更新”按鈕檢查是否有任何待處理的更新並安裝它們。

Installing updates

每個節點都會顯示一個更新部署通知,如下所示。

Verifying deployment information for each node

11. 現在,在所有節點都已更新並處於就緒模式後,點擊“下一步”繼續,如下所示。

Verifying all updates are installed

12. 點擊“下一步”繼續,因為您沒有集成系統(只有虛擬化測試實驗室)。集成系統是由特定供應商(HPE、戴爾等)創建的預配置系統,並明確設計用於運行Azure Stack HCI操作系統。

現在,運行可用硬件更新的檢查,但沒有結果。

Skipping installing hardware updates

13. 安裝完成後,點擊“重新啟動伺服器”以重新啟動所有節點。

Restarting all nodes

14. 在所有節點都處於就緒模式後,點擊“下一步”繼續,如下所示。

Verifying all nodes are running (in Ready mode)

15. 選擇如何部署和管理主機網絡。有兩個選項可供選擇。但在本教程中為了簡單起見,請選擇“手動配置主機網絡”選項,然後點擊“下一步:網絡”。

Choosing how to deploy and manage host networking

配置主機網絡

您已完成初始部分,滿足了設置集群的所有先決條件。但您仍然需要處理所有網絡方面的問題。

1. 在網絡下,等待自動網絡驗證檢查完成,然後點擊“下一步”繼續。

Verifying network adapters

2. 選擇用於流量管理的網絡適配器,可以是單個網絡適配器或將多個適配器組合在一起。

但由於您正在連接兩個網路適配器,請選擇「管理用的兩個物理網路適配器團隊」選項,以及每個節點上的相應適配器。

Selecting network adapters to use for each node

3. 一旦選擇了所有網路適配器,請點擊“應用並測試”以測試所選的網路適配器。

Testing network adapters

在提示時,點擊“是”以繼續創建團隊適配器。

Confirming creating a teamed adapter

4. 現在,等待更改成功應用,如下所示,然後點擊“下一步”繼續。

Verifying changes made to selected network adapters

5. 對於虛擬交換機,選擇第一個可用的選項(將計算和存儲一起創建一個虛擬交換機),然後點擊“下一步”。

此選項讓您處理計算和存儲流量,通常路由到虛擬交換機上。

Creating a virtual switch

6. 點擊“下一步”以繼續,因為您的虛擬環境不支持遠程直接內存訪問(RDMA)

Skipping setting up RDMA

7. 為每個節點定義存儲和計算流量的網路參數。

# 網路定義

# azshci1.Corp.contoso.com
SMB01 | 172.16.1.1 | 24 | 1
SMB02 | 172.16.1.2 | 24 | 1

# azshci2.Corp.contoso.com
SMB01 | 172.16.1.3 | 24 | 1
SMB02 | 172.16.1.4 | 24 | 1

# azshci3.Corp.contoso.com
SMB01 | 172.16.1.5 | 24 | 1
SMB02 | 172.16.1.6 | 24 | 1

# azshci4.Corp.contoso.com
SMB01 | 172.16.1.7 | 24 | 1
SMB02 | 172.16.1.8 | 24 | 1

一旦定義,點擊“應用並測試”來檢查每個網路參數。

Defining network parameters

8. 等待所有檢查通過,如下所示,然後點擊「下一步:集群」以完成網絡設置並繼續進行集群。

Verifying networks

驗證和創建集群

到目前為止,您只進行了必要的準備工作。這次,您將進行驗證並實際創建集群。

1. 在驗證集群頁面上,點擊「驗證」以確認滿足所有先決條件。

Validating cluster

驗證過程如下,需要一些時間來完成。

Verifying validation in progress

2. 驗證完成後,點擊「下一步」繼續。

通常可以忽略警告,不應阻止創建集群。

Ignoring warnings and continuing with creating the cluster

3. 分配以下集群名稱(AzSHCI-Cluster)和集群IP(10.0.0.111),然後點擊「創建集群」以創建新的集群。

Creating the cluster

如下所示,集群創建正在進行中。

Verifying the cluster creation is in progress

4. 一旦集群創建完成,點擊「下一步:存儲」繼續配置集群的存儲設置。

Proceeding to storage settings

為集群配置存儲

創建集群後,必須創建一個足夠的存儲系統以提供任何工作負載。為此,需要對硬盤進行一些準備工作,並且必須啟用Storage Space Direct(S2D)。

1. 在存儲選項卡下,點擊「擦除驅動器」以擦除所有現有數據,以便您可以以一個乾淨且空白的系統開始。

Erasing drives

在提示時,點擊「擦除驅動器」以確認擦除驅動器的操作。

Confirming drives erasure

2. 一旦擦除完成,點擊「下一步」繼續。

Continuing after drives erasure

3. 檢查所有可用、可訪問的驅動器及其在下面顯示的列表中驗證的兼容性,然後點擊「下一步」。

對於 Storage Space Direct (S2D) 運作,存儲已被檢查其適用性。

Viewing available drives

4. 現在,等待 Storage Space Direct (S2D) 運作的存儲驗證過程完成,然後點擊「下一步」。

Validating storage

5. 點擊啟用按鈕以啟用群集的 S2D。

請注意,配置 S2D 可能需要一些時間。

Enabling Storage Spaces Direct

6. 在啟用 S2D 後,點擊「下一步 SDN」。

Continuing to Software Defined Network (SDN)

7. 現在,點擊跳過以略過軟體定義網絡 (SDN) 基礎設置。

SDN 是一個相當復雜的主題,並且無法在本教程中涵蓋。為了簡單起見,您將跳過此配置。

Skipping setting up SDN

8. 點擊「轉到連接列表」以訪問集群可用的所有連接。下面的輸出指示集群已準備就緒。

Accessing all available connections for the cluster

9. 最後,點擊您的伺服器集群對象 (azshci-cluster.corp.contoso.com) 以查看集群的信息。

Accessing the newly-created server cluster

以下是一個儀表板,您可以在其中查看集群的健康信息。

Viewing the cluster’s health information

結論

A properly working test lab is essential before deciding to purchase or integrate a product into operations, especially if the necessary expenses will be relatively high. And in this tutorial, you have learned how to set up an Azure Stack HCI testing environment.

從這一點出發,不妨探索一下堆疊的可用功能?使用 Azure Stack HCI,您無需擔心是否擁有適當的硬件。

Source:
https://adamtheautomator.com/azure-stack-hci/