Condividi tramite


Connettersi all'archiviazione iSCSI con l'hub di Azure Stack

È possibile usare il modello in questo articolo per connettere una macchina virtuale (VM) dell'hub di Azure Stack a una destinazione iSCSI locale configurare la macchina virtuale per usare l'archiviazione ospitata all'esterno dell'hub di Azure Stack e altrove nel data center. Questo articolo esamina l'uso di un computer Windows come destinazione iSCSI.

È possibile trovare il modello nel fork lucidqdreams del repository GitHub Azure Intelligent Edge Patterns. Il modello si trova nella cartella storage-iSCSI. Il modello è stato progettato per configurare l'infrastruttura necessaria sul lato hub di Azure Stack per connettersi a una destinazione iSCSI. Include una macchina virtuale che fungerà da iniziatore iSCSI insieme alla rete virtuale, al gruppo di sicurezza di rete, al PIP e all'archiviazione associati. Dopo aver distribuito il modello, è necessario eseguire due script di PowerShell per completare la configurazione. Uno script verrà eseguito nella macchina virtuale locale (destinazione) e uno verrà eseguito nella macchina virtuale dell'hub di Azure Stack (Iniziatore). Al termine, l'archiviazione locale verrà aggiunta alla macchina virtuale dell'hub di Azure Stack.

Panoramica

Il diagramma mostra una macchina virtuale ospitata nell'hub di Azure Stack con un disco montato iSCSI da un computer Windows locale (fisico o virtuale) che consente l'archiviazione esterna all'hub di Azure Stack per montare all'interno della macchina virtuale ospitata nell'hub di Azure Stack tramite il protocollo iSCSI.

Diagramma che mostra una macchina virtuale ospitata nell'hub di Azure Stack che accede a un disco iSCSI esterno montato.

Requisiti

  • Un computer locale (fisico o virtuale) che esegue Windows Server 2016 Datacenter o Windows Server 2019 Datacenter.
  • Elementi del Marketplace dell'hub di Azure Stack necessari:
    • Windows Server 2016 Datacenter o Windows Server 2019 Datacenter (versione più recente consigliata).
    • Estensione DSC di PowerShell.
    • Estensione script personalizzata.
    • Una macchina virtuale o fisica esistente. Idealmente, questo computer avrà due schede di rete. Potrebbe anche trattarsi di un'altra destinazione iSCSI, ad esempio una SAN.

Aspetti da considerare

  • Alla subnet del modello viene applicato un gruppo di sicurezza di rete. Esaminare questo e apportare ulteriori quote in base alle esigenze.
  • Una regola RDP di negazione viene applicata all'NSG del Tunnel e deve essere modificata per consentire l'accesso se si intende accedere alle macchine virtuali tramite l'indirizzo IP pubblico.
  • Questa soluzione non tiene conto della risoluzione DNS.
  • È necessario modificare chapusername e Chappassword. Il carattere Chappassword deve avere una lunghezza da 12 a 16 caratteri.
  • Questo modello usa un indirizzo IP statico per la macchina virtuale perché la connessione iSCSI usa l'indirizzo locale nella configurazione.
  • Questo modello utilizza la licenza BYOL di Windows.
  • È anche possibile connettere sistemi basati su Linux alle destinazioni iSCSI. È possibile trovare istruzioni nell'articolo iniziatore iSCSI nella documentazione di Ubuntu.

Opzioni

  • È possibile utilizzare il proprio account di archiviazione Blob e il token SAS impiegando i parametri _artifactsLocation e _artifactsLocationSasToken per abilitare l'uso del proprio Blob di archiviazione con token SAS.
  • Questo modello fornisce valori predefiniti per la denominazione della rete virtuale e l'indirizzamento IP.
  • Questa configurazione ha solo una scheda di interfaccia iSCSI proveniente dal client iSCSI. Avevamo testato diverse configurazioni per utilizzare subnet e NIC separate, ma ci siamo imbattuti in problemi con più gateway e abbiamo tentato di creare una subnet di archiviazione separata per isolare il traffico e assicurare una vera ridondanza.
  • Prestare attenzione a mantenere questi valori all'interno di subnet legali e intervalli di indirizzi perché la distribuzione potrebbe non riuscire.
  • Lo scopo principale dei pacchetti DSC di PowerShell è verificare la presenza di riavvii in sospeso. Questo DSC può essere personalizzato ulteriormente, se necessario. Per altre informazioni, vedere omputerManagementDsc.

Modello di gruppo di risorse (client iSCSI)

Il diagramma mostra le risorse distribuite dal modello per creare il client iSCSI che è possibile usare per connettersi alla destinazione iSCSI. Questo modello distribuirà la macchina virtuale e altre risorse, inoltre, eseguirà il prepare-iSCSIClient.ps1 e riavvia la macchina virtuale.

Diagramma che mostra le risorse distribuite dal modello per creare il client iSCSI per connettersi alla destinazione iSCSI. Mostra un file server con una subnet interna e una scheda di interfaccia di rete (scheda di rete), pip interno (protocollo Internet privato) e NSG (gruppo di sicurezza di rete).

Processo di distribuzione

Il modello di gruppo di risorse genera l'output, che deve essere l'input per il passaggio successivo. Si concentra principalmente sul nome del server e sull'indirizzo IP pubblico dell'hub di Azure Stack in cui ha origine il traffico iSCSI. Per questo esempio:

  1. Distribuire il modello di infrastruttura.
  2. Distribuire una macchina virtuale dell'hub di Azure Stack in una macchina virtuale ospitata altrove nel data center.
  3. Eseguire Create-iSCSITarget.ps1 usando gli output dell'indirizzo IP e del nome del server dal modello come parametri in-out per lo script sulla destinazione iSCSI, che può essere una macchina virtuale o un server fisico.
  4. Usare l'indirizzo IP esterno o gli indirizzi del server di destinazione iSCSI come input per eseguire lo script di Connect-toiSCSITarget.ps1.

Il diagramma mostra i primi tre dei quattro passaggi elencati in precedenza e include input e output. I passaggi sono: Distribuire l'infrastruttura, Creare una destinazione iSCSI e Connettersi a iSCSI.

Input per azuredeploy.json

Parametri predefinito descrizione
WindowsImageSKU Datacenter 2019 Selezionare l'immagine della macchina virtuale Windows di base
VMSize Standard_D2_v2 Immettere le dimensioni della macchina virtuale
VMName FileServer Nome macchina virtuale
adminUsername storageadmin Nome dell'amministratore della nuova macchina virtuale
adminPassword Password per l'account amministratore delle nuove macchine virtuali. Il valore predefinito è l'ID sottoscrizione
VNetName Immagazzinamento Nome della rete virtuale. Verrà usato per etichettare le risorse
VNetAddressSpace 10.10.0.0/23 Spazio indirizzi per la rete virtuale
VNetInternalSubnetName Interno Nome della subnet interna della VNet
VNetInternalSubnetRange 10.10.1.0/24 Intervallo di indirizzi per la subnet interna della rete virtuale
Indirizzo IP del VNet interno (InternalVNetIP) 10.10.1.4 Indirizzo statico per l'indirizzo IP interno del file server.
_artifactsLocation
_artifactsLocationSasToken

Passaggi di implementazione

  1. Distribuire l'infrastruttura client iSCSI usando azuredeploy.json
  2. Eseguire Create-iSCSITarget.ps1 nella destinazione iSCSI del server locale. Una volta completato il modello, sarà necessario eseguire il Create-iSCSITarget.ps1 sulla destinazione iSCSI del server locale utilizzando i risultati del primo passaggio.
  3. Eseguire Connect-toiSCSITarget.ps1 nel client iSCSI. un il Connect-toiSCSITarget.ps1 sul client iSCSI con i dettagli della destinazione iSCSI

Aggiunta dello storage iSCSI alle VM esistenti

È anche possibile eseguire gli script in una macchina virtuale esistente per connettersi dal client iSCSI a una destinazione iSCSI. Questo flusso è se si sta creando la destinazione iSCSI manualmente. Questo diagramma mostra il flusso di esecuzione degli script di PowerShell. Questi script sono disponibili nella directory Script:

Diagramma che mostra i tre script illustrati di seguito. In ordine di esecuzione, sono: Prepare-iSCSIClient.ps1, (viene eseguito nel client), Crea iSCSITarget.ps1 (viene eseguito nelle destinazioni) e Connect-toiSCSITarget.ps1 (exectutes nel client).

Prepare-iSCSIClient.ps1

Lo script Prepare-iSCSIClient.ps1 installa i prerequisiti nel client iSCSI, inclusi;

  • installazione di servizi Multipath-IO
  • impostazione dell'avvio del servizio iniziatore iSCSI su automatico
  • abilitazione del supporto multipath MPIO su iSCSI
  • Abilitare la richiesta automatica di tutti i volumi iSCSI
  • Impostare il timeout del disco su 60 secondi

È importante riavviare il sistema dopo l'installazione di questi prerequisiti. I criteri di bilanciamento del carico MPIO richiedono un riavvio in modo che possa essere impostato.

Create-iSCSITarget.ps1

Lo script Create-iSCSITarget.ps1 deve essere eseguito nel server di archiviazione. Puoi creare più dischi e destinazioni limitate dagli iniziatori. È possibile eseguire questo script più volte per creare più dischi virtuali che è possibile collegare a destinazioni diverse. È possibile connettere più dischi a un'unica destinazione.

input predefinita descrizione
Server Remoto FileServer Nome del server che si connette alla destinazione iSCSI
RemoteServerIPs 1.1.1.1 L'indirizzo IP da cui proviene il traffico iSCSI
DiskFolder C:\iSCSIVirtualDisks Cartella e unità in cui verranno archiviati i dischi virtuali
DiskName DiskName Nome del file VHDX del disco
Dimensione del disco 5 GB Dimensioni del disco VHDX
TargetName RemoteTarget01 Nome di destinazione usato per definire la configurazione di destinazione per il client iSCSI.
ChapUsername nome utente Nome utente per l'autenticazione Chap
ChapPassword userP@ssw0rd! Nome della password per l'autenticazione Chap. Deve essere da 12 a 16 caratteri

Connect-toiSCSITarget.ps1

Il Connect-toiSCSITarget.ps1 è lo script finale, che viene eseguito nel client iSCSI e monta il disco presentato dalla destinazione iSCSI al client iSCSI.

input predefinita descrizione
TargetiSCSIAddresses "2.2.2.2","2.2.2.3" Indirizzi IP della destinazione iSCSI
LocalIPAddresses "10.10.1.4" Questo è l'indirizzo IP interno da cui proviene il traffico iSCSI
Politica di bilanciamento del carico C:\iSCSIVirtualDisks L'indirizzo IP da cui proviene il traffico iSCSI
ChapUsername nome utente Nome utente per l'autenticazione Chap
ChapPassword userP@ssw0rd! Nome della password per l'autenticazione Chap. Deve essere da 12 a 16 caratteri

Passaggi successivi

Differenze e considerazioni per il networking di Azure Stack Hub