Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
Questo argomento contiene informazioni sull'estensione del cluster HPC Pack per includere i pool di Azure Batch come risorse di calcolo. Usando questi pool di Azure Batch, è possibile aumentare la capacità del cluster HPC su richiesta. Per altre informazioni sul servizio Azure Batch, vedere la documentazione Azure.com .
In questo argomento:
Prerequisiti
Cluster HPC Pack : è necessario creare e configurare almeno il nodo head di un cluster. La funzionalità Burst to Batch è disponibile a partire da HPC Pack 2012 R2 Update 3.
Sottoscrizione di Azure : se non si ha già una sottoscrizione, iscriversi per ottenere una versione di valutazione gratuita, usare i vantaggi dei sottoscrittori MSDN o esplorare altre opzioni di acquisto.
Passaggio 1: Creare un account Azure Batch
Account Azure Batch: vedere Creare e gestire un account Azure Batch per creare un account Batch nel portale di Azure. Per eseguire il burst in Batch da HPC Pack 2012 R2 Update 3, sono necessarie le informazioni sull'account seguenti (disponibili nel portale).
Nome account Batch
URL dell'account Batch
Chiave dell'account Batch
Da HPC Pack 2016 Update 1 in, potrebbero essere necessarie le informazioni sull'account seguenti per eseguire il burst in Batch da HPC Pack in base alle diverse modalità di allocazione delle risorse di Azure Batch (servizio Batch o sottoscrizione utente) e ai metodi di autenticazione client (chiave di accesso batch o Azure AD):
- Batch Serivce con chiave di accesso
- Nome account Batch
- URL dell'account Batch
- Chiave dell'account Batch
- Servizio Batch o sottoscrizione utente con Azure AD
- Istanza di Batch AAD
- Batch AAD Tenant Id
- ID app client di Batch AAD
- Chiave dell'app client AAD batch
- Nome account Batch
- URL dell'account Batch
Controllare la tabella seguente per decidere quale tipo di account Batch e metodo di autenticazione scegliere. È anche possibile consultare questo blog e questo documento per altre informazioni sulla modalità di allocazione del pool di sottoscrizioni utente e su come usare l'autenticazione di Azure AD per il servizio Azure Batch.
| Modalità di allocazione del pool/tipo di account | Metodi di autenticazione | Tipi di immagine della macchina virtuale | Macchina virtuale con priorità bassa | Rete virtuale |
|---|---|---|---|---|
| Servizio di elaborazione a lotti | Chiave di accesso/Azure AD | PaaS/IaaS (MarketPlaceImage) / IaaS (CustomImage tramite Azure AD) | Sì | Sì (tramite Azure AD) |
| Sottoscrizione utente | Azure AD | IaaS (MarketPlaceImage)/ IaaS (CustomImage) | NO | Sì |
Usare l'interfaccia della riga di comando di Azure per creare un account Batch con la modalità di allocazione del pool di servizi Batch e usare la chiave di accesso batch per l'autenticazione come indicato di seguito:
# Authenticate CLI session.
az login
# Select the subscription
az account set -s mysubscription
# Create a resource group.
az group create --name myresourcegroup --location mylocation
# Let's add a storage account reference to the Batch account for use as 'auto-storage'
# for applications. We'll start by creating the storage account.
az storage account create -g myresourcegroup -n mystorageaccount -l mylocation --sku Standard_LRS
# Create a Batch account.
az batch account create -g myresourcegroup -n mybatchaccount -l mylocation --storage-account mystorageaccount
# Now we can display the details of our created account.
az batch account show -g myresourcegroup -n mybatchaccount
# We can view the access keys to the Batch Account for future client authentication.
az batch account keys list -g myresourcegroup -n mybatchaccount
Usare l'interfaccia della riga di comando di Azure per creare un account Batch con la modalità di allocazione del pool di sottoscrizioni utente
# Authenticate CLI session.
az login
# Select the subscription
az account set -s mysubscription
# Allow Azure Batch to access the subscription (one-time operation).
az role assignment create --assignee MicrosoftAzureBatch --role contributor
# Create a resource group.
az group create --name myresourcegroup --location mylocation
# A Batch account that will allocate pools in the user's subscription must be configured
# with a Key Vault located in the same region. Let's create this first.
az keyvault create --resource-group myresourcegroup --name mykeyvault --location mylocation --enabled-for-deployment true --enabled-for-disk-encryption true --enabled-for-template-deployment true
# We will add an access-policy to the Key Vault to allow access by the Batch Service.
az keyvault set-policy --resource-group myresourcegroup --name mykeyvault --spn ddbf3205-c6bd-46ae-8127-60eb93363864 --key-permissions all --secret-permissions all
# Now we can create the Batch account, referencing the Key Vault either by name (if they exist in the same resource group) or by its full resource ID.
az batch account create --resource-group myresourcegroup --name mybatchaccount –location mylocation --keyvault mykeyvault
Per configurare Azure AD per l'autenticazione batch e ottenere informazioni su Batch AAD
- Ottenere l'istanza di Batch AAD. Se si usa cloud di Azure globale, l'istanza di AAD è
https://login.microsoftonline.com/. - Ottenere l'ID tenant di Batch AAD. Nel portale di Azure fare clic su Altri servizi, cercare e scegliere Azure Active Directory, selezionare Active Directory selezionando l'account nell'angolo in alto a destra della pagina e fare clic su Proprietà. Copiare il valore GUID specificato per l'ID directory. Questo valore viene chiamato anche ID tenant.
- Registrare l'applicazione client Batch e ottenere l'ID applicazione client batch AAD.
- Nel portale di Azure scegliere il tenant di Azure AD selezionando l'account nell'angolo in alto a destra della pagina. - Scegliere Altri servizi, cercare e scegliere Registrazioni app. - Fare clic su +Nuova registrazione dell'applicazione. - Immettere il nome, scegliere App Web/API come Tipo di applicazione e immettere un valore specifico per l'applicazione, ad esempio https://myAppName per l'URI di accesso. Fare clic su Crea. - Dopo la creazione dell'applicazione, selezionare l'applicazione nell'elenco Registrazioni app e fare clic su Proprietà. Copiare il valore GUID fornito per l'ID applicazione, che verrà usato come ID applicazione client di Batch AAD.
- Configurare per l'uso di un'entità servizio per l'autenticazione e ottenere la chiave dell'app client di Batch AAD.
- Richiedere una chiave privata per l'applicazione. Selezionare l'applicazione creata nell'elenco registrazioni app e fare clic su Chiavi, digitare Descrizione chiave e scegliere Durata, quindi fare clic su Salva. Copiare il valore visualizzato che verrà usato come chiave client di Batch AAD. - Assegnare un ruolo controllo degli accessi in base al ruolo all'applicazione per l'autenticazione con un'entità servizio. Scegliere Altri servizi, cercare e scegliere Account Batch, fare clic sull'account batch creato e selezionare Controllo di accesso (IAM). Fare clic su +AGGIUNGI, selezionare Ruolo collaboratore e l'applicazione registrata. Fare clic su Salva.
Annotazioni
Si noti che l'autenticazione di Azure AD è supportata sia dalla modalità servizio Batch che dalla modalità sottoscrizione utente degli account Batch.
Importante: dopo aver configurato Azure AD per l'autenticazione batch con le informazioni batch AAD seguenti ottenute, aprire Gestione cluster HPC, in Configurazione -> Elenco attività distribuzione fare clic su Imposta configurazione di Azure Batch per inserire le informazioni di conseguenza nel modulo e quindi fare clic su OK. Questo passaggio è obbligatorio quando si usa Azure AD per l'autenticazione batch in HPC Pack.
- Istanza di Batch AAD
- Batch AAD Tenant Id
- ID app client di Batch AAD
- Chiave dell'app client AAD batch
In alternativa, è possibile usare il cmdlet di PowerShell HPC per impostare le informazioni di Batch AAD, come illustrato di seguito:
# HPC PowerShell
Set-HpcClusterRegistry -BatchAADInstance '<AAD Instance e.g. https://login.microsoftonline.com/>' -BatchAADTenantId <TenantGUID> -BatchAADClientAppId <AppGUID> -BatchAADClientAppKey '<AppKey>'
Passaggio 2: Creare un modello di pool di Azure Batch
Per creare un modello di pool di Azure Batch, usare la Creazione guidata modello di nodo in Gestione cluster HPC.
Per creare un modello di pool di Batch
Avviare Gestione cluster HPC.
Nel riquadro di spostamento in Configurazione fare clic su Modelli di nodo.
Nel riquadro Azioni fare clic su Nuovo.
Verrà visualizzata la Creazione guidata modello di nodo.Nella pagina Choose Node Template Type (Scegli tipo di modello di nodo) fare clic su Modello di pool di Azure Batch e quindi su Avanti.
Nella pagina Specifica nome modello digitare un nome per il modello di nodo e, facoltativamente, digitare una descrizione. Fare clic su Avanti.
Nella pagina Specificare le informazioni sull'account Azure Batch immettere il nome dell'account Batch. Se il tipo di account Batch è Servizio Batch, scegliere BatchService come tipo di account Batch. Se si usa la chiave di accesso batch per l'autenticazione, compilare la chiave come chiave dell'account, se si usa l'autenticazione di Azure AD, lasciare vuoto. Se il tipo di account Batch è Sottoscrizione utente, scegliere UserSubscription come tipo di account Batch. Immettere l'URL dell'account Batch e la stringa di connessione di Archiviazione di Azure ottenuta in precedenza e quindi fare clic su Avanti.
Annotazioni
quando è necessaria l'autenticazione AAD, assicurarsi che l'istanza di Batch AAD, l'ID tenant di Batch AAD, l'ID applicazione client batch AAD e la chiave dell'app client batch AAD siano già impostate nell'elenco attività di distribuzione oppure che la convalida dell'account abbia esito negativo con l'errore "Account Azure Batch non valido. Controllare le impostazioni dell'account Azure Batch." quando si fa clic su Avanti.
Nella pagina Configurazione della scalabilità automatica di Azure Batch lasciare deselezionata Abilita scalabilità automatica e fare clic su Avanti.
Nella pagina Configura credenziali Desktop remoto e SSH specificare facoltativamente le credenziali di un utente che verrà creato nei nodi di calcolo del pool di Azure Batch durante la distribuzione. È possibile usare le credenziali in un secondo momento per connettersi ai nodi di calcolo del pool. Per i nodi Linux, è anche possibile specificare SSH Public Key and SSH Private Key File (.ppk) to SSH to SSH to the node via putty.exe. Fare riferimento qui per informazioni su come generare una chiave pubblica e un file di chiave privata per PuTTY. Si noti che se si specificano sia la password che le chiavi SSH, le chiavi SSH verranno usate per la connessione. È anche necessario copiare il file di chiave privata generato (con estensione ppk) nella cartella %CCP_HOME%Bin per aprire SSH ai nodi da Gestione cluster HPC. Fare clic su Avanti.
Nella pagina Specifica script di avvio , con HPC Pack 2012 R2 Update 3, specificare facoltativamente un'attività di avvio di Azure Batch.
- Riga di comando : comando eseguito all'avvio dei nodi di calcolo di Azure Batch
- URL origine BLOB - Percorso di archiviazione di Azure dei file caricati in precedenza e che verranno scaricati automaticamente nei nodi di calcolo di Azure Batch
-
Percorso file locale : percorso in cui scaricare i file nei nodi di calcolo di Azure Batch
In HPC Pack 2016 Update 1 o versione successiva specificare facoltativamente una riga di comando o il nome di uno script di avvio da eseguire in tutti i nodi di calcolo di Azure Batch nel pool di Batch. Attualmente lo script di avvio è supportato solo per i nodi Linux. Ad esempio, se si vuole eseguire uno script denominato startup.sh in tutti i nodi Linux in un pool di Batch all'avvio, è necessario usare lo strumento da riga di comando HpcPack.exe per comprimere e caricare lo script nell'account di archiviazione di Azure come indicato di seguito e quindi specificare startup.sh nella riga di comando:
HpcPack.exe create startup.sh.zip startup.sh HpcPack.exe upload startup.sh.zip /account:<StorageAccountName> /key:<StorageAccountKey>Fare clic su Avanti ed esaminare tutte le impostazioni del modello specificate. Fare clic su Crea per generare il modello di nodo del pool di Azure Batch.
Passaggio 3: Aggiungere un pool di Azure Batch
Usare l'Aggiunta guidata nodo in Gestione cluster HPC per aggiungere i nodi di calcolo del pool di Batch.
Per aggiungere un pool di Azure Batch
In Gestione cluster HPC fare clic su Aggiungi nodo nel riquadro Azioni in Gestione risorse. Verrà visualizzata la Procedura guidata Aggiungi nodo.
Nella pagina Selezione metodo di distribuzione fare clic su Aggiungi pool di Azure Batch e quindi fare clic su Avanti.
Nella pagina Specifica informazioni pool di Azure Batch selezionare un modello di pool di Azure Batch. In base al tipo di account Batch nel modello selezionato, specificare le informazioni sul pool come segue:
Se il tipo di account Batch è Servizio Batch,- Numero di nodi di calcolo : numero di nodi di calcolo (istanze di macchina virtuale) nel nuovo pool di Azure Batch
- Indica se le macchine virtuali sono macchina virtuale dedicata o macchina virtuale con priorità bassa
- Scegliere il tipo di immagine per PaaS o IaaSMarketPlace. Per PaaS scegliere la famiglia di sistemi operativi. Ad esempio Windows Server 2016. Per IaaSMarketPlace scegliere Editore, Offerta e Sku. Ad esempio Canonical, UbuntuServer, 16.04-LTS.
- Dimensioni dei nodi di calcolo: dimensioni del ruolo di ogni nodo di calcolo.
- Numero massimo di attività per nodo di calcolo: numero massimo di attività simultanee da eseguire in ogni nodo di calcolo. Il numero predefinito è uguale al numero di core nella dimensione del ruolo selezionata. Il numero massimo è tre volte maggiore del numero effettivo di core. Si noti che il numero massimo di attività per nodo di calcolo moltiplicato per numero di nodi di calcolo è uguale ai core totali del nodo del pool di Batch.
- Pacchetti dell'app: specificare facoltativamente i pacchetti dell'applicazione già aggiunti nell'account Batch nel formato Id:Version,Id<><:>Version<, ...><> Se il tipo di account Batch è Sottoscrizione utente,
- Numero di nodi di calcolo, ad esempio sopra
- Scegliere il tipo di immagine per IaaSMarketPlace o IaaSCustomImage. Per IaaSMarketPlace scegliere Editore, Offerta e Sku. Ad esempio Canonical, UbuntuServer, 16.04-LTS. Per IaaSCustomImage, oltre a Publisher, Offer e Sku, è necessario anche l'ID risorsa immagine personalizzata nel formato /subscriptions/{subscriptionId}/resourceGroups/{resourceGroup}/providers/Microsoft.Compute/images/{imageName}
- Dimensioni dei nodi di calcolo, ad esempio sopra
- Numero massimo di attività per nodo di calcolo, ad esempio sopra
- Pacchetti di app: (come sopra)
- Rete virtuale: specificare facoltativamente l'ID subnet per il pool di Batch. Fare riferimento a questo documento per informazioni su come creare una rete virtuale e una subnet personalizzata e ottenere l'ID subnet. Controllare anche i requisiti di Batch per una rete virtuale personalizzata specificata in questo documento.
Annotazioni
Fare riferimento a questo documento per informazioni su come acquisire un'immagine da una macchina virtuale Linux e ottenere l'ID risorsa immagine. Per un'immagine di macchina virtuale personalizzata o una rete virtuale personalizzata (vedere di seguito), è necessario assegnare in modo esplicito il ruolo Collaboratore applicazione client Batch alla risorsa tramite il relativo controllo di accesso (IAM). In alternativa, è possibile che si verifichi un errore "BadRequest" quando si avvia il pool di Batch.
Passaggio 4: Avviare il pool
È necessario avviare il pool prima di eseguire i processi.
Per avviare un pool di Azure Batch
Nel riquadro di spostamento di Gestione risorse fare clic su Nodi o pool di Azure Batch.
Nella visualizzazione Elenco o Mappa termica selezionare uno o più pool di Azure Batch.
Nel riquadro Azioni fare clic su Avvia.
Viene visualizzata la finestra di dialogo Avvia pool di Azure Batch . Fare clic su Inizia.
Lo stato dei nodi passa da Non distribuito a Provisioning.
Per tenere traccia dello stato di avanzamento del provisioning, selezionare il pool e quindi nel riquadro Dei dettagli fare clic sulla scheda Log di provisioning . Il pool di Azure Batch deve essere creato in meno di 1 minuto e lo stato passa a Offline.
Considerazioni aggiuntive
Monitorare lo stato dei nodi di calcolo di Azure Batch: dopo che il pool di Azure Batch è pronto, i nodi di calcolo di Azure Batch vengono ancora creati e avviati. Per monitorare lo stato del nodo, selezionare il pool e quindi nel riquadro Dei dettagli fare clic su Nodi di calcolo di Azure Batch.
Desktop remoto o SSH per i nodi di calcolo: dopo l'avvio dei nodi di calcolo nel pool di Azure Batch (lo stato del nodo è Inattiva), è possibile connettersi da Desktop remoto o SSH a ogni nodo di calcolo se sono state configurate le impostazioni del modello per farlo, ad esempio per eseguire alcune operazioni di configurazione manuale o risoluzione dei problemi. A tale scopo, selezionare uno o più pool di Azure Batch e quindi nel riquadro Azioni fare clic su Desktop remoto/SSH. Quando ci si connette ai nodi Linux tramite SSH, è necessario copiare il file di chiave privata generato (con estensione ppk) nella cartella %CCP_HOME%Bin nel computer client.
Visualizzare le attività di avvio : se è stata specificata un'attività di avvio nel modello di pool di Azure Batch, dopo l'avvio del pool di Azure Batch, è possibile visualizzare l'output dettagliato dell'attività di avvio eseguendo il cmdlet di PowerShell HPC seguente:
Get-HpcBatchPoolStartTask -Name <PoolName>Visualizzazione mappa termica: mentre il pool di Azure Batch è in esecuzione, visualizzare la mappa termica del pool. Nel riquadro di spostamento Gestione risorse fare clic su Nodi e quindi scegliere Visualizzazione mappa termica . È anche possibile controllare la mappa termica per vm per i nodi Linux nel pool. Nel riquadro di spostamento Gestione risorse fare clic su Pool di Azure Batch e quindi scegliere Visualizzazione mappa termica . Attualmente vengono raccolti i contatori delle prestazioni seguenti:
- Utilizzo CPU
- Velocità effettiva del disco
- Spazio libero su disco
- Utilizzo rete
- Memoria fisica disponibile
.
Passaggio 5: Eseguire un processo nel pool
Attualmente, HPC Pack supporta l'esecuzione di normali comandi batch/parametric/mpi e clusrun nei pool di Azure Batch. Si notino le raccomandazioni seguenti per l'uso di clusrun con Batch:
Eseguire processi clusrun in un pool di Azure Batch quando non sono in esecuzione altri processi nel pool. Se sono in esecuzione altri processi o attività , potrebbe essere necessario attendere il completamento delle attività in esecuzione.
I processi in esecuzione in un pool di Azure Batch per impostazione predefinita non restituiscono l'output dell'attività a HPC Pack, a causa del potenziale impatto sulle prestazioni. È possibile definire le attività di rilascio del nodo nel processo per recuperare l'output dell'attività, se necessario. Per recuperare l'output dell'attività, modificare la proprietà del cluster seguente tramite HPC PowerShell:
Set-HpcClusterProperty -GetAzureBatchTaskOutput $true
Passaggio 6: Arrestare il pool
Quando non si usa il pool di Batch, arrestare le risorse di Azure. Questo esegue il deprovisioning dei nodi di calcolo del pool, riducendo i costi dell'uso di un pool di Batch.
Per arrestare il pool
Nel riquadro di spostamento di Gestione risorse fare clic su Nodi o pool di Azure Batch.
Nella visualizzazione Elenco o Mappa termica selezionare uno o più pool di Azure Batch da arrestare.
Nel riquadro Azioni fare clic su Arresta.
Viene visualizzata la finestra di dialogo Arresta pool di Azure Batch . Fare clic su Arresta.
Per tenere traccia dello stato di arresto, selezionare un nodo e quindi nel riquadro Dei dettagli fare clic sulla scheda Log di provisioning .