部署虛擬 Azure 本機版本 23H2 系統
適用於:Azure 本機版本 23H2
重要
Azure Stack HCI 現在是 Azure 本機的一部分。 產品檔案重新命名正在進行中。 文字變更已完成,視覺效果更新即將完成。 深入了解。
本文說明如何在 Windows Server 2022、Windows 11 或更新版本的操作系統上執行 Hyper-V 的主機系統上部署執行 23H2 版的虛擬化 Azure 本機實例。
您需要 Azure 本機虛擬部署的系統管理員許可權,且應該熟悉現有的 Azure 本機解決方案。 部署可能需要大約 2.5 小時才能完成。
重要
Azure Local 版本 23H2 的虛擬部署僅供教育和示範之用。 Microsoft 支援服務 不支援虛擬部署。
必要條件
以下是虛擬部署的硬體、網路和其他必要條件:
實體主機需求
以下是成功部署 Azure 本機版本 23H2 的最低需求。
在您開始前,請確定:
您可以存取在 Windows Server 2022、Windows 11 或更新版本上執行 Hyper-V 的實體主機系統。 此主機可用來布建虛擬 Azure 本機部署。
您有足夠的容量。 執行虛擬機或容器等實際工作負載需要更多容量。
用於虛擬部署的實體硬體符合下列需求:
元件 最小值 處理器 Intel VT-x 或 AMD-V 支援巢狀虛擬化。 如需詳細資訊,請參閱 我的處理器是否支援 Intel® 虛擬化技術?。 記憶體 實體主機對於單一虛擬節點部署,至少必須有 32 GB RAM。 虛擬主機 VM 應該至少有 24 GB 的 RAM。
實體主機必須至少有 64 GB RAM 才能部署兩個虛擬節點。 每個虛擬主機 VM 應該至少有 24 GB 的 RAM。主機網路適配器 單一網路適配器。 儲存體 1 TB 固態硬碟(SSD)。
虛擬主機需求
開始之前,請確定每個虛擬主機系統都可以專用下列資源來布建虛擬化的 Azure 本機實例:
元件 | 需求 |
---|---|
虛擬機 (VM) 類型 | 已啟用安全開機和受信任的平台模組 (TPM)。 |
vCPU | 四個核心。 |
記憶體 | 至少 24 GB。 |
網路 | 至少有兩張網路適配器連線到內部網路。 必須啟用 MAC 詐騙。 |
開機磁碟 | 從 ISO 安裝 Azure Stack HCI 作業系統的磁碟。 |
儲存空間直接存取 硬碟 | 六個動態擴充磁碟。 磁碟大小上限為 1024 GB。 |
資料磁碟 | 至少 127 GB。 |
整合中的時間同步處理 | Disabled. |
注意
以下是成功部署 Azure 本機版本 23H2 的最低需求。 在執行虛擬機或容器等實際工作負載時,增加虛擬核心和記憶體等容量。
設定虛擬交換器
在虛擬環境中部署 Azure 本機時,您可以使用現有的網路,並在該網路中使用 IP 位址。 在這種情況下,您只需要建立外部交換器,並將所有虛擬網路適配器連線到該虛擬交換器。 虛擬主機會連線到您的實體網路,而不需要任何額外的設定。
不過,如果您打算在IP上部署 Azure 本機虛擬環境的實體網路很少,您可以建立已啟用NAT的內部虛擬交換器,以隔離虛擬主機與實體網路,同時保持與因特網的輸出連線。
下列列出兩個選項的步驟:
使用外部虛擬交換器進行部署
在您的實體主計算機上,執行下列 PowerShell 命令來建立外部虛擬交換器:
New-VMSwitch -Name "external_switch_name" -SwitchType External -NetAdapterName "network_adapter_name" -AllowManagementOS $true
使用已啟用內部虛擬交換器和 NAT 進行部署
在您的實體主計算機上,執行下列 PowerShell 命令來建立內部虛擬交換器。 使用此參數可確保 Azure 本機部署已隔離。
New-VMSwitch -Name "internal_switch_name" -SwitchType Internal -NetAdapterName "network_adapter_name"
建立內部虛擬交換器之後,就會在主機上建立新的網路適配器。 您必須將IP位址指派給此網路適配器,才能在連線到此內部交換器網路之後成為虛擬主機的預設閘道。 您也需要定義虛擬主機連線所在的 NAT 網路子網。
下列範例腳本會建立具有前置詞192.168.44.0/24
的 NAT 網路HCINAT
,並使用主機上的介面,將 IP 定義為192.168.44.1
網路的預設閘道:
#Check interface index of the new network adapter on the host connected to InternalSwitch:
Get-NetAdapter -Name "vEthernet (InternalSwitch)"
#Create the NAT default gateway IP on top of the InternalSwitch network adapter:
New-NetIPAddress -IPAddress 192.168.44.1 -PrefixLength 24 -InterfaceAlias "vEthernet (InternalSwitch)"
#Create the NAT network:
New-NetNat -Name "HCINAT"-InternalIPInterfaceAddressPrefix 192.168.44.0/24
建立虛擬主機
建立 VM 以作為具有下列組態的虛擬主機。 您可以使用 Hyper-V 管理員或 PowerShell 來建立此 VM:
Hyper-V 管理員。 如需詳細資訊,請參閱 使用 Hyper-V 管理員 建立虛擬機以鏡像實體管理網路。
PowerShell Cmdlet。 執行 PowerShell Cmdlet 之前,請務必先調整虛擬主機需求中所參考的 VM 組態參數。
請遵循下列步驟,使用 PowerShell Cmdlet 建立名為 Node1
的範例 VM:
建立虛擬機器:
New-VHD -Path "your_VHDX_path" -SizeBytes 127GB New-VM -Name Node1 -MemoryStartupBytes 20GB -VHDPath "your_VHDX_path" -Generation 2 -Path "VM_config_files_path"
停用易失記憶體:
Set-VMMemory -VMName "Node1" -DynamicMemoryEnabled $false
停用 VM 檢查點:
Set-VM -VMName "Node1" -CheckpointType Disabled
移除在上一個步驟中建立 VM 期間建立的預設網路適配器:
Get-VMNetworkAdapter -VMName "Node1" | Remove-VMNetworkAdapter
使用自定義名稱將新的網路適配器新增至 VM。 此範例會新增四個 NIC,但您可以視需要只新增兩個 NIC。 擁有四個 NIC 可讓您測試兩個網路意圖,
Mgmt_Compute
例如Storage
,每個 NIC 有兩個 NIC:Add-VmNetworkAdapter -VmName "Node1" -Name "NIC1" Add-VmNetworkAdapter -VmName "Node1" -Name "NIC2" Add-VmNetworkAdapter -VmName "Node1" -Name "NIC3" Add-VmNetworkAdapter -VmName "Node1" -Name "NIC4"
將所有網路配接器連結至虛擬交換器。 指定您建立的虛擬交換器名稱,無論是外部沒有 NAT,還是使用 NAT 的內部:
Get-VmNetworkAdapter -VmName "Node1" |Connect-VmNetworkAdapter -SwitchName "virtual_switch_name"
在 VM
Node1
上的所有網路適配器上啟用 MAC 詐騙。 MAC 位址詐騙是一種技術,可藉由變更其媒體 存取控制 (MAC) 位址,讓網路適配器偽裝為另一種。 當您打算使用巢狀虛擬化的案例中,這是必要的:Get-VmNetworkAdapter -VmName "Node1" |Set-VmNetworkAdapter -MacAddressSpoofing On
針對 VM
Node1
上的所有網路適配器啟用主幹埠(僅適用於多節點部署)。 此腳本會設定特定 VM 的網路適配器,以主幹模式運作。 這通常用於您想要允許多個虛擬局域網路 (VLAN) 透過單一網路適配器進行通訊的多節點部署:Get-VmNetworkAdapter -VmName "Node1" |Set-VMNetworkAdapterVlan -Trunk -NativeVlanId 0 -AllowedVlanIdList 0-1000
建立新的金鑰保護裝置,並將它指派給
Node1
。 這通常是在 Hyper-V 中設定受防護網狀架構的內容來完成,這是保護 VM 免於未經授權的存取或竄改的安全性功能。執行下列腳本之後,
Node1
會將新的密鑰保護裝置指派給它。 此金鑰保護裝置可保護 VM 的金鑰,協助保護 VM 免於未經授權的存取或竄改:$owner = Get-HgsGuardian UntrustedGuardian $kp = New-HgsKeyProtector -Owner $owner -AllowUntrustedRoot Set-VMKeyProtector -VMName "Node1" -KeyProtector $kp.RawData
啟用的
Node1
vTPM。 藉由在 VM 上啟用 vTPM,您可以使用 BitLocker 和 VM 上需要 TPM 的其他功能。 執行此命令之後,Node1
會啟用 vTPM,假設主計算機的硬體和 VM 的組態支援此功能。Enable-VmTpm -VMName "Node1"
將虛擬處理器變更為
8
:Set-VmProcessor -VMName "Node1" -Count 8
建立額外的磁碟驅動器,以作為 儲存空間直接存取 的開機磁碟和硬碟。 執行這些命令之後,將會在
C:\vms\Node1
目錄中建立六個新的 VHDX,如下列範例所示:new-VHD -Path "C:\vms\Node1\s2d1.vhdx" -SizeBytes 1024GB new-VHD -Path "C:\vms\Node1\s2d2.vhdx" -SizeBytes 1024GB new-VHD -Path "C:\vms\Node1\s2d3.vhdx" -SizeBytes 1024GB new-VHD -Path "C:\vms\Node1\s2d4.vhdx" -SizeBytes 1024GB new-VHD -Path "C:\vms\Node1\s2d5.vhdx" -SizeBytes 1024GB new-VHD -Path "C:\vms\Node1\s2d6.vhdx" -SizeBytes 1024GB
將磁碟驅動器連結至新建立的 VM VHDX。 在這些指令中,位於目錄中並透過 命名
s2d1.vhdx
s2d6.vhdx
的C:\vms\Node1
六個 VHD 會新增至Node1
。 每個Add-VMHardDiskDrive
命令都會將一個 VHD 新增至 VM,因此命令會以不同的-Path
參數值重複六次。之後,
Node1
VM 會連結六個 VHD。 這些 VHDX 可用來在 VM 上啟用 儲存空間直接存取,這是 Azure 本機部署的必要專案:Add-VMHardDiskDrive -VMName "Node1" -Path "C:\vms\Node1\s2d1.vhdx" Add-VMHardDiskDrive -VMName "Node1" -Path "C:\vms\Node1\s2d2.vhdx" Add-VMHardDiskDrive -VMName "Node1" -Path "C:\vms\Node1\s2d3.vhdx" Add-VMHardDiskDrive -VMName "Node1" -Path "C:\vms\Node1\s2d4.vhdx" Add-VMHardDiskDrive -VMName "Node1" -Path "C:\vms\Node1\s2d5.vhdx" Add-VMHardDiskDrive -VMName "Node1" -Path "C:\vms\Node1\s2d6.vhdx"
停用時間同步處理:
Get-VMIntegrationService -VMName "Node1" |Where-Object {$_.name -like "T*"}|Disable-VMIntegrationService
開啟巢狀虛擬化:
Set-VMProcessor -VMName "Node1" -ExposeVirtualizationExtensions $true
啟動 VM:
Start-VM "Node1"
在虛擬主機 VM 上安裝 OS
完成下列步驟,以在虛擬主機 VM 上安裝及設定 Azure Stack HCI OS:
更新密碼,因為這是第一個 VM 啟動。 請確定密碼符合 Azure 複雜度需求。 密碼至少為 12 個字元,且包含 1 個大寫字元、1 個小寫字元、1 個數位和 1 個特殊字元。
變更密碼之後,系統會自動載入伺服器組態工具 (SConfig)。 選取選項
15
以結束命令行,然後從該處執行後續步驟。執行下列命令來啟動 SConfig:
SConfig
如需如何使用 SConfig 的資訊,請參閱 使用伺服器組態工具設定 (SConfig) 。
將主機名稱變更為
Node1
。 在 SConfig 中使用 選項2
Computer name
來執行此動作。主機名變更會導致重新啟動。 當系統提示您重新啟動時,請輸入
Yes
並等候重新啟動完成。 SConfig 會自動再次啟動。從實體主機執行 和
ForEach-Object
Cmdlet,Get-VMNetworkAdapter
將指派的 MAC 位址對應至客體 OS 上的對應網路適配器,以設定 VMNode1
的四個網路適配器名稱。Get-VMNetworkAdapter
Cmdlet 可用來擷取 VM 上每個 NIC 的網路適配器物件,其中-VMName
參數會指定 VM 的名稱,而-Name
參數會指定網路適配器的名稱。 接著MacAddress
會存取網路適配器物件的 屬性,以取得 MAC 位址:
Get-VMNetworkAdapter -VMName "Node1" -Name "NIC1"
MAC 位址是十六進位數位的字串。
ForEach-Object
Cmdlet 是透過在特定間隔插入連字元來格式化此字串。 具體而言,Insert
字串物件的 方法可用來在字串中的第 2 個、第 5 個、第 8 個、第 11 個和第 14 個位置插入連字元。 然後,運算符join
會用來將產生的字串陣列串連成單一字串,其中每個元素之間都有空格。VM 上四個 NIC 中的每一個都會重複這些命令,而每個 NIC 的最終格式化 MAC 位址會儲存在個別變數中:
($Node1finalmacNIC1, $Node1finalmacNIC2, $Node1finalmacNIC3, $Node1finalmacNIC4).
- 下列文稿會輸出每個 NIC 的最終格式化 MAC 位址:
$Node1macNIC1 = Get-VMNetworkAdapter -VMName "Node1" -Name "NIC1" $Node1macNIC1.MacAddress $Node1finalmacNIC1=$Node1macNIC1.MacAddress|ForEach-Object{($_.Insert(2,"-").Insert(5,"-").Insert(8,"-").Insert(11,"-").Insert(14,"-"))-join " "} $Node1finalmacNIC1 $Node1macNIC2 = Get-VMNetworkAdapter -VMName "Node1" -Name "NIC2" $Node1macNIC2.MacAddress $Node1finalmacNIC2=$Node1macNIC2.MacAddress|ForEach-Object{($_.Insert(2,"-").Insert(5,"-").Insert(8,"-").Insert(11,"-").Insert(14,"-"))-join " "} $Node1finalmacNIC2 $Node1macNIC3 = Get-VMNetworkAdapter -VMName "Node1" -Name "NIC3" $Node1macNIC3.MacAddress $Node1finalmacNIC3=$Node1macNIC3.MacAddress|ForEach-Object{($_.Insert(2,"-").Insert(5,"-").Insert(8,"-").Insert(11,"-").Insert(14,"-"))-join " "} $Node1finalmacNIC3 $Node1macNIC4 = Get-VMNetworkAdapter -VMName "Node1" -Name "NIC4" $Node1macNIC4.MacAddress $Node1finalmacNIC4=$Node1macNIC4.MacAddress|ForEach-Object{($_.Insert(2,"-").Insert(5,"-").Insert(8,"-").Insert(11,"-").Insert(14,"-"))-join " "} $Node1finalmacNIC4
Node1
取得 VM 本機系統管理員認證,然後重新命名Node1
:$cred = get-credential
在上
Node1
重新命名和對應 NIC。 重新命名是以 HYPER-V 第一次啟動 VM 時所指派 NIC 的 MAC 位址為基礎。 這些命令應該直接從主機執行:Get-NetAdapter
使用 命令來擷取 VM 上的實體網路適配器、根據其 MAC 位址進行篩選,然後使用 Cmdlet 將它們重新命名為相符的Rename-NetAdapter
適配卡。這會針對 VM 上四個 NIC 中的每一個重複,並分別指定 MAC 位址和每個 NIC 的新名稱。 這會建立 Hyper-V 管理員中 NIC 名稱與 VM OS 中 NIC 名稱之間的對應:
Invoke-Command -VMName "Node1" -Credential $cred -ScriptBlock {param($Node1finalmacNIC1) Get-NetAdapter -Physical | Where-Object {$_.MacAddress -eq $Node1finalmacNIC1} | Rename-NetAdapter -NewName "NIC1"} -ArgumentList $Node1finalmacNIC1 Invoke-Command -VMName "Node1" -Credential $cred -ScriptBlock {param($Node1finalmacNIC2) Get-NetAdapter -Physical | Where-Object {$_.MacAddress -eq $Node1finalmacNIC2} | Rename-NetAdapter -NewName "NIC2"} -ArgumentList $Node1finalmacNIC2 Invoke-Command -VMName "Node1" -Credential $cred -ScriptBlock {param($Node1finalmacNIC3) Get-NetAdapter -Physical | Where-Object {$_.MacAddress -eq $Node1finalmacNIC3} | Rename-NetAdapter -NewName "NIC3"} -ArgumentList $Node1finalmacNIC3 Invoke-Command -VMName "Node1" -Credential $cred -ScriptBlock {param($Node1finalmacNIC4) Get-NetAdapter -Physical | Where-Object {$_.MacAddress -eq $Node1finalmacNIC4} | Rename-NetAdapter -NewName "NIC4"} -ArgumentList $Node1finalmacNIC4
執行下列命令,以停用 VM
Node1
四個 NIC 上的動態主機設定通訊協定 (DHCP)。注意
介面不會自動從 DHCP 伺服器取得 IP 位址,而需要手動指派 IP 位址:
Invoke-Command -VMName "Node1" -Credential $cred -ScriptBlock {Set-NetIPInterface -InterfaceAlias "NIC1" -Dhcp Disabled} Invoke-Command -VMName "Node1" -Credential $cred -ScriptBlock {Set-NetIPInterface -InterfaceAlias "NIC2" -Dhcp Disabled} Invoke-Command -VMName "Node1" -Credential $cred -ScriptBlock {Set-NetIPInterface -InterfaceAlias "NIC3" -Dhcp Disabled} Invoke-Command -VMName "Node1" -Credential $cred -ScriptBlock {Set-NetIPInterface -InterfaceAlias "NIC4" -Dhcp Disabled}
設定管理IP、閘道和 DNS。 執行下列命令之後,
Node1
將會NIC1
使用指定的IP位址、子網掩碼、預設閘道和 DNS 伺服器位址來設定網路介面。 請確定管理IP位址可以解析Active Directory,並具有因特網的輸出連線:Invoke-Command -VMName "Node1" -Credential $cred -ScriptBlock {New-NetIPAddress -InterfaceAlias "NIC1" -IPAddress "192.168.44.201" -PrefixLength 24 -AddressFamily IPv4 -DefaultGateway "192.168.44.1"} Invoke-Command -VMName "Node1" -Credential $cred -ScriptBlock {Set-DnsClientServerAddress -InterfaceAlias "NIC1" -ServerAddresses "192.168.1.254"}
啟用 Hyper-V 角色。 這個指令會重新啟動 VM
Node1
:Invoke-Command -VMName "Node1" -Credential $cred -ScriptBlock {Enable-WindowsOptionalFeature -Online -FeatureName Microsoft-Hyper-V -All }
重新啟動並安裝 Hyper-V 角色之後
Node1
,請安裝 Hyper-V 管理工具:Invoke-Command -VMName "Node1" -Credential $cred -ScriptBlock {Install-WindowsFeature -Name Hyper-V -IncludeManagementTools}
一旦虛擬機準備就緒,您必須 在 Azure 中註冊它,並將許可權 指派為 Arc 資源。
在 Azure 中將機器註冊為 Arc 資源,並安裝所有必要擴充功能之後,請選擇下列其中一種方法,從 Azure 部署 Azure 本機。
使用 Azure 入口網站 部署 Azure 本機。
使用 Azure Resource Manager 範本部署 Azure 本機。
如果您打算測試多節點部署,請針對上述節點重複上述程式。 確定虛擬主機名和管理IP是唯一的,且位於相同的子網上: