Configurare Azure Stack HCI

Azure Stack HCI è una soluzione cluster iperconvergente (Hyper-Converged Infrastructure) che ospita carichi di lavoro Windows e Linux virtualizzati e le relative risorse di archiviazione in un ambiente ibrido che combina l’infrastruttura locale con i servizi cloud di Azure.

Si tratta di una versione particolare del sistema operativo Windows pensata appositamente per essere utilizzata negli host di virtualizzazione, per essere installata on-premises e per potersi interfacciare con Microsoft Azure per sfruttare servizi cloud come Backup e Disaster Recovery. I servizi principali offerti sono infatti Virtualizzazione con Hyper-V, archiviazione con Storage Spaces Direct e rete con Network Controller e Software Defined Networking.

Ogni cluster di Azure Stack HCI è costituito da un numero compreso tra 2 e 16 server fisici convalidati. I server del cluster condividono configurazioni e risorse comuni sfruttando la funzionalità di clustering di failover di Windows Server.

Un cluster Azure Stack HCI ha le seguenti caratteristiche:

  • Sistema operativo Azure Stack HCI
  • Hardware convalidato da un partner OEM
  • Servizi ibridi di Azure
  • Windows Admin Center
  • Risorse di calcolo basate su Hyper-V
  • Archiviazione virtualizzata basata su Storage Spaces Direct
  • Rete virtualizzata basata su SDN con Controller di rete (facoltativo)

Figura 1: Soluzione Azure Stack HCI

Qui di seguito un breve video che ne illustra le funzionalità e i vantaggi di utilizzo:

Attualmente la versione disponibile di Azure Stack HCI è la 21H2, che può essere scaricata dalla pagina Azure Stack HCI Download | Microsoft Azure, e che deve girare su hardware certificato disponibile nel Azure Stack HCI Catalog.

Costi

Azure Stack HCI è un servizio di Azure che viene addebitato come qualsiasi altro servizio di Azure. Il prezzo viene indicato in base al numero di core nei server locali. I prezzi sono disponibili alla pagina Prezzi – Azure Stack HCI | Microsoft Azure

Come acquistare Azure Stack HCI

Sono disponibili due opzioni per l’acquisto del software di Azure Stack HCI ed è necessaria una sottoscrizione di Azure per completare la configurazione completa nell’hardware del server.

  1. Acquistare una soluzione hardware convalidata da uno dei nostri partner con il software Azure Stack HCI preinstallato. Esplora le soluzioni.
  2. Installare il software Azure Stack HCI con una versione di valutazione gratuita di 60 giorni in hardware nuovo o ricondizionato (deve corrispondere alla funzionalità di una soluzione nel catalogo di Azure Stack HCI). Scarica il software.

Valutazione di Azure Stack HCI 21H2

In questa guida verrà mostrato come testare Azure Stack HCI 21H2 in una macchina virtuale creata in Microosft Azure. Alla pagina Azure/AzureStackHCI-EvalGuide: Welcome to the Azure Stack HCI Evaluation Guide! (github.com) è disponibile uno step-by-step per eseguire un cluster iperconvergente di Azure Stack HCI 21H2 capace di eseguire wokloads Windows o Linux in un ambiente ibrido con Azure.

L’ambiente che verrà creato sfrutta la nested virtualization per eseguire in un’unica Azure VM tutto l’ambiente di Azure Stack HCI 21H2, creando un cluster a 2 nodi.

NOTA: l’ambiente creato deve essere utilizzato solo come test e non può essere utilizzato in produzione. Per la produzione tutto l’ambiente deve essere installato su hardware fisico che sia stato validato nel Azure Stack HCI 21H2 Catalog.

Figura 2: Ambiente di test che verrà creato in Azure per testare Azure Stack HCI 21H2

Creazione della VM che ospiterà l’ambiente di test

Alla pagina AzureStackHCI-EvalGuide/1_DeployAzureVM.md at main · Azure/AzureStackHCI-EvalGuide (github.com) troverete il link per creare la Azure VM che conterrà il nostro ambiente di test di Azure Stack HCI 21H2 partendo da un template JSON.

Fate clic sul pulsante

Figura 3: Creazione della Azure VM partendo da un template JSON

Il template creerà la macchina virtuale e tutte le risorse necessarie al funzionamento del laboratorio di test.

Figura 4: Configurazione dei parametri richiesti per la creazione della Azure VM che conterrà l’ambiente di test

Dopo circa 40 minuti tutte le risorse saranno create e configurate. Nella figura sotto sono mostrate le risorse create dal template:

Figura 5: Risorse create dal template

Figura 6: Configurazioni della Azure VM creata dal template

Recuperate l’indirizzo IP pubblico della Azure VM e collegatevi in desktop remoto. All’interno della VM, grazie all’utilizzo della nested virtualization, è stato installato Hyper-V e sono state create due macchine virtuali annidate con a bordo Azure Stack HCI che saranno i due nodi con cui creeremo il cluster HCI.

Nella Azure VM sono stati installati Hyper-V, AD Domain Services, DNS e DHCP. In più è stata scaricata anche la ISO di Azure Stack HCI 21H2 e sono stati creati due nodi che utilizzeremo per creare il cluster.

Figura 7: Nella Azure VM sono stati creati i due nodi con Azure Stack HCI

Figura 8: particolare delle configurazioni dei due nodi che comporranno il cluster di Azure Stack HCI

Nella Azure VM sono stati installati gli Active Directory Domain Services e la macchina è stata promossa a Domain Controller. In più, i due nodi che utilizzeremo per creare il cluster di Azure Stack HCI sono stati aggiunti al dominio creato. È stato anche creato un oggetto computer che rappresenterà il cluster che creerete successivamente.

Figura 9: Dominio di Active Directory creato dal template JSON e particolare delle VM aggiunte al dominio

Configurazione del cluster di Azure Stack HCI 21H2

Grazie a Windows Admin Center avremo la possibilità di creare il cluster Azure Stack HCI. Per prima cosa assicuratevi che Microsoft Edge sia configurato come browser predefinito e che tutti i popup siano abilitati, modificando le impostazioni da edge://settings/content/popups

A questo punto lanciate dal desktop della Azure VM il collegamento a Windows Admin Center e da All Connections fate clic su +Add per creare lanciare il wizard di creazione di un nuovo cluster.

Figura 10: Creazione di un nuovo cluster da Windows Admin Center

Scegliete come tipo di cluster Azure Stack HCI e lasciate la selezione su All servers in one site

Figura 11: Creazione di un nuov cluster Azure Stack HCI

Nella pagina Check the prerequisites verificate che tutti i prerequisiti siano rispettati e fate clic su Next.

Figura 12: verifica dei prerequisiti per la creazione di un cluster di Azure Stack HCI

Nella pagina Add servers inserite le credenziali che avete utilizzato durante il deployment del template JSON e aggiungete i due nodi che faranno parte del cluster, AZSHCINODE01 e AZSHCINODE02.

Figura 13: Aggiunta dei due nodi con Azure Stack HCI

Nella pagina Join a domain noterete che i server sono stati già aggiunti al dominio dal template, come abbiamo già verificato prima dalla console di Active Directory Users and Computers. In caso contrario, Windows Admin Center potrà joinarli per voi.

Figura 14: verifica del join a dominio per i due nodi di Azure Stack HCI

Nella pagina Install required features Windows Admin Center interrogherà i nodi per verificare che tutte le funzionalità richieste siano state installate. Se manca qualche funzionalità procedete ad installarla, ma il template ha già provveduto all’installazione per farci risparmiare tempo

Figura 15: Installazione delle funzionalità richieste sui due nodi di Azure Stack HCI

Nella pagina Optionally install operating system updates Windows Admin Center interrogherà i nodi per verificare che siano installati tutti gli aggiornamenti. Procedete ad installarli ed eventualmente ad effettuare il reboot dei due nodi di Azure Stack HCI.

Figura 16: Aggiornamenti disponibili per i due nodi di Azure Stack HCI

Figura 17: Installazione degli aggiornamenti mancanti sui due nodi di Azure Stack HCI

Figura 18: Installazione degli aggiornamenti completata

La pagina Optionally install hardware updates potete saltarla in quanto quello che avete realizzato è un ambiente annidato e quindi non ci sono controlli sugli aggiornamenti dell’hardware da effettuare.

Figura 19: Controllo degli aggiornamenti per l’hardware dei due nodi di Azure Stack HCI

Se è necessario riavviare i due nodi procedete a farlo.

Figura 20: Riavvio necessario dei de nodi di Azure Stack HCI

Figura 21: Riavvio dei due nodi di Azure Stack HCI completato

Nella schermata Choose how to configure host networking scegliete Manually configure host networking

Figura 22: Scelta della configurazione manuale del networking

Networking

Come prima operazione Windows Admin Center si occuperà di verificare il numero e le caratteristiche delle schede di rete presenti sui due nodi di Azure Stack HCI.

Come si può vedere dalla figura sotto, su ogni nodo sono presenti 4 schede di rete che verranno utilizzate in questo modo:

  • 1 scheda di rete dedicata al Management che utilizza la subnet 192.168.0.0/16
  • 1 scheda di rete dedicata alle VM e a cui verrà collegato un virtual switch
  • 2 schede di rete dedicate allo Storage, che utilizzano due subnet distinte: 10.10.11.0/24 e 10.10.12.0/24

Figura 23: Verifica delle schede di rete installate sui due nodi di Azure Stack HCI

Scegliete la scheda di rete che dovrà essere utilizzata per il Management. Come potete vedere dalla figura sotto, sarà direttamente Windows Admin Center a scegliere la scheda di rete più adatta, in base alle configurazioni degli indirizzamenti che sono stati dati dal template JSON con cui abbiamo creato la Azure VM. Infatti, c’è un’unica scheda di rete per ogni nodo che ha un indirizzo nella stessa rete dove è installato Windows Admin Center.

Figura 24: Scelta della scheda di rete da utilizzare per il management del cluster di Azure Stack HCI

Figura 25: Scelta della scheda di rete da utilizzare per il management

Nella pagina Virtual Switch scegliete di creare un virtual switch da dedicare alle macchine virtuali che verranno create nel cluster di Azure Stack HCI, in modo tale da separate il traffico dello storage su altre schede di rete dedicate. Selezionate per ognuno dei due nodi la scheda di rete con l’indirizzo nella subnet 10.10.13.0/24

Figura 26: Scelta delle schede di rete a cui associare un virtual switch che verrà utilizzato dalle VM che gireranno nel cluster di Azure Stack HCI

Il Remote Direct Memory Access (RDMA) rende possibile l’invio veloce di dati dalla memoria principale di un sistema informatico a quella di un altro. Questo è particolarmente utile quando a essere inviati sono dati di grandi dimensioni. RDMA non è supportato in un ambiente annidato, quindi se abilitate la funzionalità, mettendo il segno di spunta come ho fatto io, riceverete l’errore mostrato sotto:

Figura 27: RDMA non è supportato in un ambiente virtualizzato annidato

Nella pagina Define networks, configurate le 3 schede di rete rimanenti seguendo le indicazioni riportate nella figura sotto. Rinominate anche le schede di rete per poterle individuare più facilmente. Applicate e testate le modifiche che avete apportato alle schede di rete.

NOTA: Prestate bene attenzione alle informazioni riportate in figura

Figura 28: Configurazione delle schede di rete rimanenti

Clustering

Adesso che abbiamo terminato la configurazione del networking siamo pronti per poter creare il cluster. Fate clic su Validate e verificate che i risultati vi confermino che i due nodi possono fare parte del cluster.

Figura 29: Validazione dei due nodi di Azure Stack HCI

Nella pagina Create the cluster assegnate al cluster il nome AZSHCICLUS (questo oggetto è già stato creato in Active Directory quindi dovete utilizzare per forza questo nome) e l’indirizzo IP 192.168.0.4.

Figura 30: Assegnazione del nome e dell’indirizzo IP al cluster di Azure Stack HCI

Nel giro di pochi secondi il cluster verrà creato.

Figura 31: Creazione del cluster completata

Nella pagina Optionally erase all existing data cliccate su Erase drives per procedere alla preparazione dei dischi che poi verranno utilizzati da Storage Spaces Direct.

Figura 32: Preparazione dei dischi che poi verranno utilizzati da Storage Spaces Direct

Ad ogni nodo del cluster di Azure Stack HCI sono stati aggiunti 4 dischi virtuali da 250 GB dal template JSON. Attendete la verifica da parte di Windows Admin Center e fate clic su Next.

Figura 33: Verifica dei dischi collegati ai nodi del cluster di Azure Stack HCI

A questo punto partirà un processo di validazione di Storage Spaces Direct.

Figura 34: Processo di validazione di Storage Spaces Direct

Terminato il processo di validazione di Storage Spaces Direct fate clic su Enable per procedere all’abilitazione.

Ho già avito modo di parlare di Storage Spaces Direct in una mia precedente guida che trovate al link Creare un cluster iperconvergente con Hyper-V e Storage Spaces Direct in Windows Server 2019 – ICT Power

Figura 35: Abilitazione di Storage Spaces Direct

Figura 36: Abilitazione di Storage Spaces Direct completata

Per la creazione di questo cluster non abiliteremo il Software Defined Networking. Per questo motivo fate cli su Skip nella pagina SDN.

Figura 37: Skip della configurazione SDN

Figura 38: Creazione del cluster di Azure Stack HCI completata con successo

Figura 39: Il cluster è visibile ed è gestibile dalla console di Windows admin Center

Configurazione del cluster witness

Ci rimane da configurare il cluster witness per il nostro cluster di Azure Stack HCI. I dettagli per la creazione di un cloud witness sono disponibili alla pagina Deploy a cloud witness for a Failover Cluster | Microsoft Docs

Create uno storage account di tipo Standard e con la ridondanza Locally-redundant storage (LRS).

Figura 40: Creazione dello storage account da utilizzare per il cluster witness

Nella scheda Advanced disabilitate Enable blob public access.

Figura 41: Disabilitazione dell’Enable blob public access

Recuperate la Primary Access Key per poter accedere allo storage account.

Figura 42: recupero della Primary Access Key per poter accedere allo storage account

Da Windows Admin Center selezionate il cluster AZSHCICLUS che avete creato e fate clic su Settings, che trovate in fondo alla pagina.

Figura 43: Modifica delle configurazioni del cluster di Azure Stack HCI

Selezionate la vice Witness e compliate i campi con le informazioni richieste, come mostrato nella figura sotto:

Figura 44: Configurazione del cloud witness per il cluster di Azure Stack HCI

Figura 45: Configurazione del cloud witness per il cluster completata

A questo punto avete completato la creazione del vostro cluster di Azure Stack HCI 21H2!

Integrazione di Azure Stack HCI con Microsoft Azure

Entro 30 giorni dall’installazione, il cluster di Azure Stack HCI deve essere registrato in Microsoft Azure e grazie all’integrazione con Azure Arc sarà possibile monitorarlo, ricevere il supporto, licenziarlo e sfruttare tutti i servizi ibridi di Azure.

NOTA: Dopo aver registrato il cluster, i primi 60 giorni di utilizzo sono gratuiti.

Verifica della registrazione

Per verificare che i nodi siano registrati in Microsoft Azure potete lanciare il comando PowerShell Get-AzureStackHCI, disponibile nel modulo Az

Figura 46: Verifica della registrazione di un nodo di Azure Stack HCI in Azure

Dal portale di Windows Admin Center selezionate il cluster che avete creato e fate clic sul link Register this cluster che trovate nella dashboard.

Figura 47: Registrazione del cluster di Azure Stack HCI con i servizi di Microsoft Azure

Loggatevi con le credenziali di un utente che sia Azure AD admin (Owner or User Access Administrator con il ruolo Contributor). In alternativa, al link AzureStackHCI-EvalGuide/3_AzSHCIIntegration.md at main · Azure/AzureStackHCI-EvalGuide (github.com) viene spiegato come creare un ruolo personalizzato che abbia solo i permessi per registrare il cluster.

Figura 48: Connessione ad Azure AD per la registrazione del cluster

Figura 49: Conferma della concessione dei permessi dell’applicazione di Azure AD associata al Windows Admin Center

Dopo aver registrato il Windows Admin Center con Azure AD, cliccate sul link Register this cluster e inserite le informazioni richieste, come mostrato nella figura sotto:

Figura 50: Registrazione del cluster di Azure Stack HCI in Microsoft Azure

Figura 51: Registrazione del cluster di Azure Stack HCI in Microsoft Azure completata

Una volta completata la registrazione, cliccando sul collegamento View Azure resource verrete reindirizzati al portale Azure, da cui potrete verificare che è stata creata una nuova risorsa online, che avrà lo stesso nome del cluster di Azure Stack HCI.

Figura 52: Risorsa Azure Stack HCI creata in Azure dopo la registrazione del cluster

Figura 53: Dettagli della risorsa Azure Stack HCI associata al nostro cluster on-premises

Se rifate la verifica sui due nodi tramite PowerShell con il comando Get-AzureStackHCI, noterete che adesso risulteranno registrati.

Figura 54: Il nodo del cluster di Azure Stack HCI è registrato e connesso

Cliccando sul singolo nodo del cluster nel portale di Azure avrete la possibilità di gestirlo con Azure Arc, di cui ho già avuto modo di parlare nella guida Azure Arc for Servers: la soluzione Microsoft per la gestione del cloud ibrido – ICT Power

Figura 55: Gestione dei nodi del cluster di Azure Stack HCI con Azure Arc

Gestione delle macchine virtuali in Azure Stack HCI

Per poter creare e gestire le macchine virtuali in Azure Stack HCI avremo prima di tutto bisogno di creare dei volumi dove ospitarle.

Dalla console di Azure Admin Center selezionate il cluster di Azure Stack HCI e dalla voce Volumes cliccate su Inventory per creare un nuovo volume, come mostrato nella figura sotto:

Figura 56: Creazione di un nuovo volume nel cluster di Azure Stack HCI

Figura 57: Creazione di un nuovo volume nel cluster di Azure Stack HCI completata

Nel nuovo volume creato è anche possibile abilitare la deduplica, come mostrato nella figura sotto:

Figura 58: Abilitazione della deduplica nel volume di Azure Stack HCI

Visto che il volume conterrà i dischi delle macchine virtuali, la deduplica deve essere ottimizzata per Hyper-V.

Figura 59: Scelta del tipo di deduplica da abilitare nel volume di Azure Stack HCI

Creazione di una macchina virtual nel cluster di Azure Stack HCI

Per creare una nuova macchina virtuale nel cluster di Azure Stack HCI selezionate il nodo Virtual machines e fate clic su Add. Nel pannello che si aprirà configurate le opzioni disponibili, come mostrato nella figura sotto:

Figura 60: Creazione e configurazione di una nuova VM nel cluster id Azure Stack HCI

Selezionate la VM per controllarne le configurazioni, accenderla e installare il sistema operativo.

Figura 61: VM creata nel cluster di Azure Stack HCI

Figura 62: Connessione alla VM dopo il suo avvio

Figura 63: Inserimento delle credenziali per accedere al nodo del cluster di Azure Stack HCI che ospita la VM

Figura 64: Installazione del sistema operativo nella VM

Grazie alle configurazioni del template JSON, nella Azure VM è stato installato un DHCP e la macchina virtuale con Windows Server 2022 che ho creato (che se ci pensate è annidata ad un livello L2) riceverà un indirizzo IP che le consentirà anche di navigare in Internet. Vi invito quindi a controllare le configurazioni delle schede di rete delle due macchine AZSHCINODE01 e AZSHCINODE012 che ospitano i nodi del cluster di Azure Stack (noeterete che è abilitato il MAC address spoofing); con il comando PowerShell Get-NetNAT potrete verificare che è stata creata una NAT nella Azure VM che permette ai due nodi del cluster di poter navigare.

Giusto per avere un’idea di che cosa sto parlando potete visualizzare la guida Come configurare un NAT Virtual Switch e relative NAT Rules in Client Hyper-V in Windows 10 – ICT Power

Figura 65: Installazione del sistema operativo nella VM completata

Conclusioni

Azure Stack HCI permette di poter contenere i costi di infrastruttura ed è decisamente indicato per i carichi di lavoro delle sedi remote. Le applicazioni sono le più disparate e spaziano dalla Virtual Desktop Infrastructure (VDI), ai dababase server, ai container e alla loro orchestrazione con Kubernetes. L’aggiornamento e il consolidamento degli host di virtualizzazione obsoleti con Azure Stack HCI possono migliorare la scalabilità e semplificare la gestione, rimuovendo la necessità di utilizzare una Storage Area network (SAN). In più, un cluster di Azure Stack HCI rende disponibile il failover automatico dei carichi di lavoro virtualizzati in un sito secondario (Azure) in seguito a un errore del sito primario.