次の方法で共有


HPC Pack IaaS コンピューティング ノード用にカスタマイズされた VM イメージを作成する

この記事では、独自のカスタマイズされた VM イメージを作成して、HPC Pack 2016 クラスターの IaaS コンピューティング ノードをデプロイする方法について説明します。

カスタマイズされた VM イメージを作成する方法は 2 つあります。1 つは HPC Pack 2016 Update 3 と HPC Pack 2019 用で、もう 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 機能を使用して、カスタマイズされた VM イメージの作成を自動化することもできます。

HPC Pack 2016 Update 3 および HPC Pack 2019 用のカスタム VM イメージを作成する

手順 1: Azure で仮想マシンを作成する

Azure Portal で、Windows Server 2012、Windows Server 2012 R2、Windows Server 2016、Windows Server 2019 のいずれかのオペレーティング システムで Azure 仮想マシンを作成します。

手順 2: 仮想マシンに独自のアプリケーションをインストールして構成する

仮想マシンにログオンし、独自のアプリケーションをインストールして構成します。

手順 3: Sysprep を使用して仮想マシンを一般化する

詳細リンク: イメージを作成する前に VM を一般化する

  1. Windows 仮想マシンにサインインします。
  2. 管理者としてコマンド プロンプト ウィンドウを開きます。
  3. panther ディレクトリ (C:\Windows\Panther) を削除します。
  4. 次に、ディレクトリを \system32\sysprep %windir%に変更し、/oobe /generalize /mode:vm /shutdown sysprep.exe 実行します。

Sysprep で VM の一般化が完了すると、VM はシャットダウンされます。 VM は再起動しないでください。

Sysprep が完了したら、仮想マシンのステータスを [一般化] に設定します。

Set-AzVm -ResourceGroupName $rgName -Name $vmName -Generalized

手順 4: VM イメージを作成する

Azure Portal を開き、仮想マシンの一覧から仮想マシンを見つけます。 仮想マシンの [概要 ] ページで、[ キャプチャ ] をクリックして、仮想マシンからマネージド イメージを作成します。

  1. Azure Portal を開きます。
  2. 左側のメニューで[仮想マシン]をクリックし、仮想マシンを見つけます。
  3. 仮想マシンの [概要 ] ページで、上部メニューの [ キャプチャ] をクリックします。
  4. [ 名前] に、イメージに使用する名前を入力します。
  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 Portal で、対応する Azure 仮想マシンを見つけ、[拡張機能] をクリックし、VM 拡張機能がある場合は、すべての 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 を使用して仮想マシンを一般化する

詳細リンク: イメージを作成する前に VM を一般化する

  1. Windows 仮想マシンにサインインします。
  2. 管理者としてコマンド プロンプト ウィンドウを開きます。
  3. panther ディレクトリ (C:\Windows\Panther) を削除します。
  4. 次に、ディレクトリを \system32\sysprep %windir%に変更し、/oobe /generalize /mode:vm /shutdown sysprep.exe 実行します。

Sysprep で VM の一般化が完了すると、VM はシャットダウンされます。 VM は再起動しないでください。

Sysprep が完了したら、仮想マシンのステータスを [一般化] に設定します。

Set-AzVm -ResourceGroupName $rgName -Name $vmName -Generalized

手順 6: VM イメージを作成する

Azure Portal を開き、仮想マシンの一覧から仮想マシンを見つけます。 仮想マシンの [概要 ] ページで、[ キャプチャ ] をクリックして、仮想マシンからマネージド イメージを作成します。

  1. Azure Portal を開きます。
  2. 左側のメニューで[仮想マシン]をクリックし、仮想マシンを見つけます。
  3. 仮想マシンの [概要 ] ページで、上部メニューの [ キャプチャ] をクリックします。
  4. [ 名前] に、イメージに使用する名前を入力します。
  5. リソース グループで、[新規作成] を選択して名前を入力するか、[既存のものを使用] を選択し、ドロップダウン リストから使用するリソース グループを選択します。
  6. イメージの作成後に[この仮想マシンを自動的に削除する]を選択します。
  7. [ 作成 ] をクリックして VM イメージを作成します。