HPC Pack IaaS コンピューティング ノード用にカスタマイズされた VM イメージを作成する
この記事では、独自のカスタマイズされた VM イメージを作成して、HPC Pack 2016 クラスターの IaaS コンピューティング ノードをデプロイする方法について説明します。
カスタマイズされた VM イメージを作成する方法は 2 つあります。1 つは HPC Pack 2016 Update 3 用、もう 1 つは 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 機能
HPC Pack 2016 Update 3 用のカスタム VM イメージを作成する
手順 1: Azure で仮想マシンを作成する
Azure Portal
手順 2: 仮想マシンに独自のアプリケーションをインストールして構成する
仮想マシンにログオンし、独自のアプリケーションをインストールして構成します。
手順 3: Sysprep を使用して仮想マシンを一般化する
Windows 仮想マシンにログオンし、%windir%\system32\sysprep
ディレクトリに移動し、管理者として sysprep.exe 実行します。
[
Sysprep が完了すると、仮想マシンがシャットダウンされます。
手順 4: VM イメージを作成する
Azure Portalを開き、仮想マシンの一覧から仮想マシンを見つけます。 仮想マシンの [
- Azure Portalを開きます。
- 左側のメニューで[仮想マシン]をクリックし、仮想マシンを見つけます。
- 仮想マシンの [
の概要 ] ページの上部メニューの [キャプチャクリックします。 - 名前に、イメージに使用する名前を入力します。
リソース グループ 、[新しい の作成]選択して名前を入力するか、[既存の を使用 を選択し、ドロップダウン リストから使用するリソース グループを選択します。 - [イメージの作成後にこの仮想マシンを自動的に削除する] を選択します。
- [
作成] をクリックして 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 Portal
手順 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 実行します。
[
Sysprep が完了すると、仮想マシンがシャットダウンされます。
手順 6: VM イメージを作成する
Azure Portalを開き、仮想マシンの一覧から仮想マシンを見つけます。 仮想マシンの [
- Azure Portalを開きます。
- 左側のメニューで[仮想マシン]をクリックし、仮想マシンを見つけます。
- 仮想マシンの [
の概要 ] ページの上部メニューの [キャプチャクリックします。 - 名前に、イメージに使用する名前を入力します。
リソース グループ 、[新しい の作成]選択して名前を入力するか、[既存の を使用 を選択し、ドロップダウン リストから使用するリソース グループを選択します。 - [イメージの作成後にこの仮想マシンを自動的に削除する] を選択します。
- [
作成] をクリックして VM イメージを作成します。