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.
È 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.
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.
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:
- Distribuire il modello di infrastruttura.
- Distribuire una macchina virtuale dell'hub di Azure Stack in una macchina virtuale ospitata altrove nel data center.
- 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. - Usare l'indirizzo IP esterno o gli indirizzi del server di destinazione iSCSI come input per eseguire lo script di
Connect-toiSCSITarget.ps1
.
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
- Distribuire l'infrastruttura client iSCSI usando
azuredeploy.json
- 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. - 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:
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