共用方式為


建立 HPC Pack IaaS 計算節點的自訂 VM 映像

本文說明如何建立自己的自定義 VM 映射,以部署 HPC Pack 2016 叢集的 IaaS 計算節點。

有兩種不同的方式可以建立自定義的 VM 映射,一個用於 HPC Pack 2016 Update 3,另一個用於 HPC Pack 2016 RTM、HPC Pack 2016 Update 1 和 HPC Pack 2016 Update 2。 您應該根據前端節點的 HPC Pack 版本來選取正確的方式。

注意事項

HPC Pack Update 3 VM 映射和 HPC Pack Update 2(和更早版本)VM 映射之間的差異在於 HPC Pack 計算節點和 Windows Management Framework 5.1 必須在後者中預安裝。

提示

您也可以使用 Azure Image Builder 功能,將自定義的 VM 映射建立自動化。

建立 HPC Pack 2016 Update 3 的自定義 VM 映像

步驟 1:在 Azure 中建立虛擬機

Azure 入口網站上,建立具有下列其中一個操作系統的 Azure 虛擬機:Windows Server 2012、Windows Server 2012 R2、Windows Server 2016、Windows Server 2019

步驟 2:在虛擬機中安裝和設定您自己的應用程式

登入虛擬機,並安裝及設定您自己的應用程式。

步驟 3:使用 Sysprep 將虛擬機一般化

登入 Windows 虛擬機,移至目錄 %windir%\system32\sysprep,然後以系統管理員身分執行 sysprep.exe

在 [系統準備工具] 對話框中,選取 [輸入系統現成體驗 [OOBE],並確定已選取 [一般化] 複選框,然後選取 [關機][關機選項]。 按兩下 [確定] [確定] 開始。

當 Sysprep 完成時,它會關閉虛擬機。

步驟 4:建立 VM 映射

開啟 Azure 入口網站,從虛擬機清單中尋找虛擬機。 在虛擬機的 [概觀] 頁面上,按兩下 [擷取],從虛擬機建立受控映像。

  1. 開啟 Azure 入口網站
  2. 在左側功能表中,單擊 [虛擬機],然後尋找虛擬機。
  3. 在虛擬機的 [概觀] 頁面上,單擊上方功能表上的 [擷取
  4. Name中,輸入您想要用於影像的名稱。
  5. 在 [資源群組] 選取 [建立新的],然後輸入名稱,或選取 [使用現有的],然後從下拉式清單中選取要使用的資源群組。
  6. 選擇 [在建立映射之後自動刪除此虛擬機
  7. 按兩下 [建立] 建立 VM 映像。

建立 HPC Pack 2016 Update 2 的自定義 VM 映射(或更早版本)

步驟 1:使用 HPC Pack 2016 Update 2 建立或選取 Azure IaaS 計算節點(或舊版)

您可以建立 Azure 虛擬機,並在其上手動安裝正確的 HPC Pack 2016 計算節點版本,或在現有的 HPC Pack 2016 叢集中選取目前執行的 Azure IaaS 計算節點。

如果 Windows Management Framework (WMF) 5.1 未安裝在 IaaS 計算節點中,請下載並安裝它。

步驟 2:在 Azure IaaS 計算節點中安裝和設定您自己的應用程式

登入虛擬機,並安裝及設定您自己的應用程式。

步驟 3:從虛擬機卸載 VM 擴充功能

Azure 入口網站上,尋找對應的 Azure 虛擬機,按兩下 [擴充功能],如果有的話,請卸載所有 VM 擴充功能。

步驟 4:從計算節點清除叢集特定資訊

以系統管理員身分登入 Azure IaaS 計算節點、以系統管理員身分開啟 Windows PowerShell 控制台,然後執行下列 PowerShell 腳本來清除叢集特定資訊。

# Step 1. Stop all the HPC services and change StartupType to Disabled
$hpcServices = @("HpcManagement", "HpcNodeManager", "msmpi", "HpcMonitoringClient", "HpcSoaDiagMon")
foreach($svc in $hpcServices)
{
    Stop-Service -Name $svc -Force -ErrorAction SilentlyContinue
    Set-Service -Name $svc -StartupType Disabled
}

# Step 2: Remove HPC logs and temp files from this node
$datadir = [System.Environment]::GetEnvironmentVariable("CCP_DATA", [System.EnvironmentVariableTarget]::Machine)
$logFilesPath = [System.IO.Path]::Combine($datadir, "LogFiles")
if(Test-Path $logFilesPath -PathType Container)
{
    Get-ChildItem -Path $logFilesPath | select -ExpandProperty FullName | Remove-Item -Force -Recurse -ErrorAction SilentlyContinue
}
Get-ChildItem -Path C:\Windows\Temp  | select -ExpandProperty FullName | Remove-Item -Force -Recurse -ErrorAction SilentlyContinue
Get-ChildItem -Path $env:TEMP | select -ExpandProperty FullName | Remove-Item -Force -Recurse -ErrorAction SilentlyContinue

# Step 3: Remove CustomData.bin if it exists
Remove-Item "$env:SYSTEMDRIVE\AzureData\CustomData.bin" -Force -ErrorAction SilentlyContinue

# Step 4: Remove the HPC communication certificate
$thumbprint = Get-ItemPropertyValue -Path HKLM:\SOFTWARE\Microsoft\HPC -Name SSLThumbPrint
Remove-Item Cert:\LocalMachine\My\$thumbprint -ErrorAction SilentlyContinue
Remove-Item Cert:\LocalMachine\Root\$thumbprint -ErrorAction SilentlyContinue

# Step 5: Clear the information of the current HPC cluster
Set-ItemProperty -Path HKLM:\SOFTWARE\Microsoft\HPC -Name ClusterConnectionString -Value ""
Set-ItemProperty -Path HKLM:\SOFTWARE\Microsoft\HPC -Name SSLThumbPrint -Value ""
Set-ItemProperty -Path HKLM:\SOFTWARE\Microsoft\HPC -Name NonDomainRole -Value 0 -Type DWord
if(Test-Path HKLM:\SOFTWARE\Wow6432Node\Microsoft\HPC)
{
    Set-ItemProperty -Path HKLM:\SOFTWARE\Wow6432Node\Microsoft\HPC -Name ClusterConnectionString -Value ""
    Set-ItemProperty -Path HKLM:\SOFTWARE\Wow6432Node\Microsoft\HPC -Name SSLThumbPrint -Value ""
    Set-ItemProperty -Path HKLM:\SOFTWARE\Wow6432Node\Microsoft\HPC -Name NonDomainRole -Value 0 -Type DWord
}

[Environment]::SetEnvironmentVariable("CCP_SCHEDULER", "", [System.EnvironmentVariableTarget]::Machine)
[Environment]::SetEnvironmentVariable("CCP_CLUSTERCONNECTIONSTRING", "", [System.EnvironmentVariableTarget]::Machine)

步驟 5:使用 Sysprep 將虛擬機一般化

登入 Windows 虛擬機,移至目錄 %windir%\system32\sysprep,然後以系統管理員身分執行 sysprep.exe

在 [系統準備工具] 對話框中,選取 [輸入系統現成體驗 [OOBE],並確定已選取 [一般化] 複選框,然後選取 [關機][關機選項]。 按兩下 [確定] [確定] 開始。

當 Sysprep 完成時,它會關閉虛擬機。

步驟 6:建立 VM 映射

開啟 Azure 入口網站,從虛擬機清單中尋找虛擬機。 在虛擬機的 [概觀] 頁面上,按兩下 [擷取],從虛擬機建立受控映像。

  1. 開啟 Azure 入口網站
  2. 在左側功能表中,單擊 [虛擬機],然後尋找虛擬機。
  3. 在虛擬機的 [概觀] 頁面上,單擊上方功能表上的 [擷取
  4. Name中,輸入您想要用於影像的名稱。
  5. 在 [資源群組] 選取 [建立新的],然後輸入名稱,或選取 [使用現有的],然後從下拉式清單中選取要使用的資源群組。
  6. 選擇 [在建立映射之後自動刪除此虛擬機
  7. 按兩下 [建立] 建立 VM 映像。