Connessione ai volumi SAN elastici - Linux
Questo articolo illustra come connettersi a un volume san (Elastic Storage Area Network) da un singolo client Linux. Per informazioni dettagliate sulla connessione da un client Windows, vedere Connessione ai volumi SAN elastici - Windows.
In questo articolo si aggiungerà l'endpoint di servizio Archiviazione alla subnet di una rete virtuale di Azure, quindi si configurerà il gruppo di volumi per consentire le connessioni dalla subnet. Infine, si configurerà l'ambiente client per connettersi a un volume SAN elastico e stabilire una connessione.
È necessario usare un gestore cluster per connettere un singolo volume SAN elastico a più client. Per informazioni dettagliate, vedere Usare applicazioni in cluster in SAN elastico di Azure.
Prerequisiti
- Usare l'interfaccia della riga di comando di Azure più recente o installare il modulo azure PowerShell più recente
- Distribuire una SAN di Elastic
- Configurare un endpoint di rete virtuale
- Configurare le regole di rete virtuale
Connessione ai volumi
Configurare l'ambiente client
Abilitare l'iniziatore iSCSI
Per creare connessioni iSCSI da un client Linux, installare il pacchetto iniziatore iSCSI. Il comando esatto può variare a seconda della distribuzione e consultare la relativa documentazione, se necessario.
Ad esempio, con Ubuntu si userà sudo apt install open-iscsi
, con SU edizione Standard Linux Enterprise Server (SLES) si userà sudo zypper install open-iscsi
e con Red Hat Enterprise Linux (RHEL) si userà sudo yum install iscsi-initiator-utils
.
Installare l'I/O multipath
Per ottenere un numero maggiore di operazioni di I/O al secondo e velocità effettiva in un volume e raggiungere i limiti massimi, è necessario creare più sessioni dall'iniziatore iSCSI al volume di destinazione in base alle funzionalità multithread e ai requisiti di prestazioni dell'applicazione. È necessario l'I/O multipath per aggregare questi percorsi in un singolo dispositivo e migliorare le prestazioni distribuendo in modo ottimale i/O su tutti i percorsi disponibili in base a criteri di bilanciamento del carico.
Installare il pacchetto di I/O Multipath per la distribuzione Linux. L'installazione varia in base alla distribuzione ed è necessario consultare la relativa documentazione. Ad esempio, in Ubuntu il comando sarebbe sudo apt install multipath-tools
, per SLES il comando sarebbe sudo zypper install multipath-tools
e per RHEL il comando sarebbe sudo yum install device-mapper-multipath
.
Dopo aver installato il pacchetto, verificare se /etc/multipath.conf esiste. Se /etc/multipath.conf non esiste, creare un file vuoto e usare le impostazioni nell'esempio seguente per una configurazione generale. Ad esempio, mpathconf --enable
creerà /etc/multipath.conf in RHEL.
È necessario apportare alcune modifiche a /etc/multipath.conf. È necessario aggiungere la sezione devices nell'esempio seguente e la sezione defaults nell'esempio seguente imposta alcune impostazioni predefinite in genere applicabili. Se è necessario eseguire altre configurazioni specifiche, ad esempio l'esclusione di volumi dalla topologia multipath, vedere la pagina manuale per multipath.conf.
defaults {
user_friendly_names yes # To create ‘mpathn’ names for multipath devices
path_grouping_policy multibus # To place all the paths in one priority group
path_selector "round-robin 0" # To use round robin algorithm to determine path for next I/O operation
failback immediate # For immediate failback to highest priority path group with active paths
no_path_retry 1 # To disable I/O queueing after retrying once when all paths are down
}
devices {
device {
vendor "MSFT"
product "Virtual HD"
}
}
Dopo aver creato o modificato il file, riavviare Multipath I/O. In Ubuntu il comando è sudo systemctl restart multipath-tools.service
e in RHEL e SLES il comando è sudo systemctl restart multipathd
.
Collegare volumi al client
È possibile usare lo script seguente per creare le connessioni. Per eseguirlo, sono necessari i parametri seguenti:
- Sottoscrizione: ID sottoscrizione
- g: nome del gruppo di risorse
- e: nome SAN di Elastic
- v: nome gruppo di volumi
- n <vol1, vol2, ...>: nomi dei volumi 1 e 2 e altri nomi di volume che potrebbero essere necessari, delimitati da virgole
- s: Numero di sessioni per ogni volume (impostato su 32 per impostazione predefinita)
Copiare lo script da qui e salvarlo come file .py, ad esempio connect.py. Eseguirlo quindi con i parametri obbligatori. Di seguito è riportato un esempio di come eseguire lo script:
./connect.py --subscription <subid> -g <rgname> -e <esanname> -v <vgname> -n <vol1, vol2> -s 32
È possibile verificare il numero di sessioni usando sudo multipath -ll
Numero di sessioni
È necessario usare 32 sessioni per ogni volume di destinazione per raggiungere i limiti massimi di operazioni di I/O al secondo e/o velocità effettiva.