Creare un'immagine di macchina virtuale personalizzata per il nodo di calcolo IaaS hpC Pack
Questo articolo descrive come creare un'immagine di macchina virtuale personalizzata per distribuire nodi di calcolo IaaS per il cluster HPC Pack 2016.
Esistono due modi diversi per creare l'immagine di macchina virtuale personalizzata, una per HPC Pack 2016 Update 3, l'altra per HPC Pack 2016 RTM, HPC Pack 2016 Update 1 e HPC Pack 2016 Update 2. È necessario selezionare il modo corretto in base alla versione HPC Pack dei nodi head.
Nota
La differenza tra l'immagine di macchina virtuale HPC Pack Update 3 e l'immagine di macchina virtuale HPC Pack Update 2 (e versioni precedenti) è che il nodo di calcolo HPC Pack e Windows Management Framework 5.1 deve essere preinstallato in quest'ultimo.
Consiglio
È anche possibile usare funzionalità di Image Builder di Azure per automatizzare la creazione personalizzata dell'immagine della macchina virtuale.
Creare un'immagine di macchina virtuale personalizzata per HPC Pack 2016 Update 3
Passaggio 1: Creare una macchina virtuale in Azure
In portale di Azurecreare una macchina virtuale di Azure con uno dei sistemi operativi seguenti: Windows Server 2012, Windows Server 2012 R2, Windows Server 2016, Windows Server 2019.
Passaggio 2: Installare e configurare le proprie applicazioni nella macchina virtuale
Accedere alla macchina virtuale e installare e configurare le proprie applicazioni.
Passaggio 3: Generalizzare la macchina virtuale con Sysprep
Accedere alla macchina virtuale Windows, passare alla directory %windir%\system32\sysprep
e quindi eseguire sysprep.exe come amministratore.
Nella finestra di dialogo strumento di preparazione del sistema
Al termine di Sysprep, la macchina virtuale viene arrestata.
Passaggio 4: Creare un'immagine di macchina virtuale
Aprire il portale di Azure , trovare la macchina virtuale dall'elenco delle macchine virtuali. Nella pagina panoramica della macchina virtuale fare clic su Acquisisci per creare un'immagine gestita dalla macchina virtuale.
- Aprire il portale di Azure .
- Nel menu a sinistra fare clic su Macchine virtuali e trovare la macchina virtuale.
- Nella pagina Panoramica
della macchina virtuale fare clic sul menu superiore Acquisisci . - In Nomedigitare il nome da usare per l'immagine.
- In Gruppo di risorse selezionare Crea nuovo e digitare un nome oppure selezionare Usa esistente e selezionare un gruppo di risorse da usare nell'elenco a discesa.
- Selezionare Eliminare automaticamente questa macchina virtuale dopo aver creato l'immagine.
- Fare clic su Crea per creare l'immagine della macchina virtuale.
Creare un'immagine di macchina virtuale personalizzata per HPC Pack 2016 Update 2 (o versioni precedenti)
Passaggio 1: Creare o selezionare un nodo di calcolo IaaS di Azure con HPC Pack 2016 Update 2 (o versione precedente)
È possibile creare una macchina virtuale di Azure e installare manualmente la versione corretta di nodo di calcolo HPC Pack 2016 in esso oppure selezionare un nodo di calcolo IaaS di Azure attualmente in esecuzione nel cluster HPC Pack 2016 esistente.
Se windows Management Framework (WMF) 5.1 non è installato nel nodo di calcolo IaaS, scaricarlo e installarlo.
Passaggio 2: Installare e configurare le proprie applicazioni nel nodo di calcolo IaaS di Azure
Accedere alla macchina virtuale e installare e configurare le proprie applicazioni.
Passaggio 3: Disinstallare le estensioni della macchina virtuale dalla macchina virtuale
In portale di Azuretrovare la macchina virtuale di Azure corrispondente, fare clic su Estensioni, disinstallare tutte le estensioni della macchina virtuale, se presenti.
Passaggio 4: Cancellare le informazioni specifiche del cluster dal nodo di calcolo
Accedere al nodo di calcolo IaaS di Azure, aprire una console di Windows PowerShell come amministratore ed eseguire lo script di PowerShell seguente per cancellare le informazioni specifiche del cluster.
# 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)
Passaggio 5: Generalizzare la macchina virtuale con Sysprep
Accedere alla macchina virtuale Windows, passare alla directory %windir%\system32\sysprep
e quindi eseguire sysprep.exe come amministratore.
Nella finestra di dialogo strumento di preparazione del sistema
Al termine di Sysprep, la macchina virtuale viene arrestata.
Passaggio 6: Creare un'immagine di macchina virtuale
Aprire il portale di Azure , trovare la macchina virtuale dall'elenco delle macchine virtuali. Nella pagina panoramica della macchina virtuale fare clic su Acquisisci per creare un'immagine gestita dalla macchina virtuale.
- Aprire il portale di Azure .
- Nel menu a sinistra fare clic su Macchine virtuali e trovare la macchina virtuale.
- Nella pagina Panoramica
della macchina virtuale fare clic sul menu superiore Acquisisci . - In Nomedigitare il nome da usare per l'immagine.
- In Gruppo di risorse selezionare Crea nuovo e digitare un nome oppure selezionare Usa esistente e selezionare un gruppo di risorse da usare nell'elenco a discesa.
- Selezionare Eliminare automaticamente questa macchina virtuale dopo aver creato l'immagine.
- Fare clic su Crea per creare l'immagine della macchina virtuale.