ESXi può connettersi allo storage SAN esterno utilizzando il protocollo Internet SCSI (iSCSI). Oltre all'iSCSI tradizionale, ESXi supporta anche le estensioni iSCSI per RDMA (iSER).

Con il protocollo iSER, l'host può utilizzare lo stesso framework iSCSI, ma sostituisce il trasporto TCP/IP con il trasporto RDMA (Remote Direct Memory Access).

Informazioni su SAN iSCSI

Il SAN iSCSI utilizza connessioni Ethernet tra host e sottosistemi di storage ad alte prestazioni.

Sul lato host, i componenti SAN iSCSI includono schede bus host iSCSI (HBA) o schede interfaccia di rete (Network Interface Cards - NICs) La rete iSCSI include inoltre commutatori e router che trasportano il traffico di storage, cavi, processori di storage e sistemi di dischi di storage.

Il grafico illustra due tipi di connessioni iSCSI, una con un iniziatore software e un'altra con un iniziatore hardware.

La rete SAN iSCSI utilizza un'architettura client-server.

Il client, denominato iniziatore iSCSI, funziona sull'host ESXi. Avvia le sessioni iSCSI inviando comandi SCSI e trasmettendoli, incapsulati nel protocollo iSCSI, a un server iSCSI. Il server è noto come destinazione iSCSI. In genere, la destinazione iSCSI rappresenta un sistema di storage fisico nella rete.

La destinazione può anche essere una SAN iSCSI virtuale, ad esempio un emulatore di destinazione iSCSI in esecuzione su una macchina virtuale. La destinazione iSCSI risponde ai comandi dell'iniziatore trasmettendo i dati iSCSI richiesti.

Multipathing iSCSI

Quando si trasferiscono i dati tra il server host e lo storage, SAN utilizza una tecnica nota come multipathing. Con il multipathing, l'host ESXi può avere più di un percorso fisico verso un LUN in un sistema di storage.

In genere, un singolo percorso da un host a un LUN è composto da una scheda iSCSI o da una scheda NIC, porte del commutatore, cavi di connessione e porta del controller di storage. Se un componente del percorso non riesce, l'host seleziona un altro percorso disponibile per l'I/O. Il processo di rilevamento di un percorso non riuscito e di passaggio a un altro è chiamato failover del percorso.

Per ulteriori informazioni sul multipathing, vedere Informazioni su multipathing e failover nell'ambiente ESXi.

Nodi e porte nella SAN iSCSI

Una singola entità individuabile nella SAN iSCSI, ad esempio un iniziatore o una destinazione, rappresenta un nodo iSCSI.

Ciascun nodo ha un nome di nodo. ESXi utilizza diversi metodi per identificare un nodo.

Indirizzo IP
A ogni nodo iSCSI può essere associato un indirizzo IP in modo che l'attrezzatura di routing e commutazione sulla rete possa stabilire la connessione tra l'host e lo storage. Questo indirizzo è come l'indirizzo IP assegnato al computer per poter accedere alla rete della propria azienda o a Internet.
Nome iSCSI
Nome univoco mondiale per l'identificazione del nodo. iSCSI utilizza il nome qualificato iSCSI (IQN) e l'identificatore univoco esteso (EUI).
Per impostazione predefinita, ESXi genera nomi iSCSI univoci per gli iniziatori iSCSI, ad esempio iqn.1998-01.com.vmware:iscsitest 68158ef2. In genere non è necessario modificare il valore predefinito, ma in caso contrario, assicurarsi che il nuovo nome iSCSI immesso sia univoco a livello mondiale.
Alias iSCSI
Un nome più gestibile per un dispositivo iSCSI o una porta usato al posto del nome iSCSI. Gli alias iSCSI non sono univoci e devono essere un nome descrittivo da associare a una porta.

Ciascun nodo dispone di una o più porte che lo connettono alla SAN. Le porte iSCSI sono endpoint di una sessione iSCSI.

Convenzioni di denominazione iSCSI

iSCSI utilizza un nome univoco speciale per identificare un nodo iSCSI, che sia destinazione o iniziatore.

I nomi iSCSI vengono formattati in due modi diversi. Il più comune è il formato IQN.

Per ulteriori dettagli sui requisiti di denominazione iSCSI e sui profili delle stringhe, vedere RFC 3721 e RFC 3722 sul sito Web IETF.

Formato nome qualificato iSCSI
Il formato nome qualificato iSCSI (IQN) porta il nome in forma iqn.yyyy-mm.naming-authority:unique, dove:
  • aaa-mm è l'anno e il mese in cui è stata stabilita l'autorità di denominazione.
  • naming-authority è la sintassi inversa del nome di dominio Internet della naming authority. Ad esempio, la naming authority iscsi.vmware.com può avere il formato nome qualificato iSCSI iqn.1998-01.com.vmware.iscsi. Il nome indica che il nome dominio vmware.com è stato registrato nel gennaio del 1998 e iscsi è un sottodominio, gestito da vmware.com.
  • nome univoco è qualsiasi nome si desidera utilizzare, ad esempio il nome dell'host. La naming authority deve assicurarsi che i nomi assegnati con i due punti siano univoci, come ad esempio:
    • iqn.1998-01.com.vmware.iscsi:name1
    • iqn.1998-01.com.vmware.iscsi:name2
    • iqn.1998-01.com.vmware.iscsi:name999
Formato identificatore univoco aziendale
Il formato identificatore univoco aziendale (EUI) assume il formato eui.16_hex_digits.

Ad esempio eui.0123456789ABCDEF.

Le 16 cifre esadecimali sono rappresentazioni di testo di un numero a 64 bit di un formato EUI IEEE (identificatore unico esteso). I primi 24 bit sono un ID azienda che IEEE si registra con una determinata azienda. I restanti 40 bit vengono assegnati dall'entità che detiene tale ID azienda e devono essere univoci.

Iniziatori iSCSI

Per accedere alle destinazioni iSCSI, l'host ESXi utilizza gli iniziatori iSCSI.

L'iniziatore è un software o un hardware installato sull'host ESXi. L'iniziatore iSCSI origina la comunicazione tra l'host e un sistema di storage iSCSI esterno e invia dati al sistema di storage.

Nell'ambiente di ESXi, le schede iSCSI configurate nell'host hanno il ruolo di iniziatori. ESXi supporta diversi tipi di schede iSCSI.

Per informazioni sulla configurazione e l'utilizzo delle schede iSCSI, vedere Configurazione di schede e storage iSCSI e iSER con ESXi.

Scheda iSCSI software
Una scheda iSCSI software è un VMware Code integrato nel VMkernel. Utilizzando la scheda iSCSI software, l'host può connettersi al dispositivo di storage iSCSI tramite schede di rete standard. La scheda iSCSI software gestisce l'elaborazione iSCSI durante la comunicazione con la scheda di rete. Con la scheda iSCSI software, è possibile utilizzare la tecnologia iSCSI senza acquistare hardware specializzato.
Scheda iSCSI hardware
Una scheda iSCSI hardware è una scheda di terze parti che esegue l'offload dell'elaborazione iSCSI e di rete dall'host. Le schede iSCSI hardware sono suddivise in categorie.
  • Dependent Hardware iSCSI Adapter. Dipende dalla rete VMware e dalle interfacce di configurazione e gestione iSCSI fornite da VMware.

    Questo tipo di scheda può presentare una scheda di rete standard e una funzionalità di offload iSCSI per la stessa porta. La funzionalità di offload iSCSI dipende dalla configurazione di rete dell'host per ottenere gli indirizzi IP, MAC e altri parametri utilizzati per le sessioni iSCSI. Un esempio di scheda dipendente è la scheda NIC Broadcom 5709 con supporto iSCSI.

  • Independent Hardware iSCSI Adapter. Implementa le proprie interfacce di gestione e configurazione di rete e iSCSI.

    In genere, una scheda iSCSI hardware indipendente è una scheda che presenta solo funzionalità di offload iSCSI oppure funzionalità di offload iSCSI e NIC standard. La funzionalità di offload iSCSI dispone di una gestione della configurazione indipendente che assegna gli indirizzi IP, MAC e altri parametri utilizzati per le sessioni iSCSI. Un esempio di scheda indipendente è la scheda QLogic QLA4052.

Le schede iSCSI hardware potrebbero dover essere concesse in licenza. In caso contrario, potrebbero non venire visualizzate nel client o nella vSphere CLI. Per informazioni sulla licenza, contattare il vendor.

Utilizzo del protocollo iSER con ESXi

Oltre all'iSCSI tradizionale, ESXi supporta le estensioni iSCSI per il protocollo RDMA (iSER). Quando il protocollo iSER è abilitato, il framework iSCSI nell'host ESXi può utilizzare il trasporto RDMA (Remote Direct Memory Access) anziché TCP/IP.

Il protocollo iSCSI tradizionale trasporta comandi SCSI su una rete TCP/IP tra un iniziatore iSCSI su un host e una destinazione iSCSI su un dispositivo di storage. Il protocollo iSCSI incapsula i comandi e assembla tali dati nei pacchetti per il livello TCP/IP. Quando i dati arrivano, il protocollo iSCSI disassembla i pacchetti TCP/IP affinché i comandi SCSI possano essere differenziati e distribuiti al dispositivo di storage.

iSER è diverso dal tradizionale iSCSI perché sostituisce il modello di trasferimento dati TCP/IP con il trasporto RDMA (Remote Direct Memory Access). Utilizzando la tecnologia di posizionamento diretto dei dati dell'RDMA, il protocollo iSER può trasferire i dati direttamente tra i buffer di memoria dell'host ESXi e i dispositivi di storage. Questo metodo elimina l'elaborazione TCP/IP non necessaria e la copia dei dati e consente inoltre di ridurre la latenza e il carico della CPU sul dispositivo di storage.

Nell'ambiente iSER, iSCSI funziona esattamente come prima, ma utilizza un'interfaccia di struttura RDMA sottostante anziché l'interfaccia basata su TCP/IP.

Poiché il protocollo iSER preserva la compatibilità con l'infrastruttura iSCSI, il processo di abilitazione di iSER nell'host ESXi è simile al processo iSCSI. Vedere Configurazione di iSER con ESXi.

Creazione di connessioni iSCSI

Nel contesto di ESXi, il termine destinazione identifica una singola unità di storage a cui l'host può accedere. I termini dispositivo di storage e LUN descrivono un volume logico che rappresenta lo spazio di storage in una destinazione. In genere, i termini dispositivo e LUN, nel contesto di ESXi, sono volumi SCSI presentati all'host da una destinazione di storage e disponibili per la formattazione.

Diversi fornitori di storage iSCSI presentano lo storage agli host in modi diversi. Alcuni fornitori presentano più LUN in una singola destinazione. Altri presentano più destinazioni con un LUN ciascuna.

Figura 1. Destinazione rispetto alle rappresentazioni LUN
In un caso, l'host rileva una sola destinazione con tre LUN. Nell'altro esempio, l'host vede tre destinazioni diverse, ognuna delle quali presenta un LUN.

In questi esempi, in ognuna di queste configurazioni sono disponibili tre LUN. Nel primo caso, l'host rileva una destinazione, ma tale destinazione ha tre LUN che possono essere utilizzati. Ciascun LUN rappresenta il singolo volume di storage. Nel secondo caso, l'host rileva tre destinazioni diverse, ognuna delle quali dispone di un LUN.

Gli iniziatori iSCSI basati su host stabiliscono connessioni con ciascuna destinazione. I sistemi di storage con una singola destinazione contenente più LUN hanno traffico verso tutti i LUN in una singola connessione. Con un sistema che ha tre destinazioni con un LUN ciascuna, l'host utilizza connessioni separate con i tre LUN.

Queste informazioni sono utili quando si tenta di aggregare il traffico di storage su più connessioni dall'host con più schede iSCSI. È possibile impostare il traffico per una destinazione su una scheda specifica e utilizzare una scheda diversa per il traffico verso un'altra destinazione.

Tipi di sistemi di storage iSCSI

I tipi di storage ESXi supportati dall'host includono attivo-attivo, attivo-passivo e conforme ad ALUA.

Sistema di storage attivo-attivo
Supporta l'accesso simultaneo ai LUN tramite tutte le porte di storage disponibili senza un notevole peggioramento delle prestazioni. Tutti i percorsi sono sempre attivi, a meno che non si verifichi un errore in un percorso.
Sistema di storage attivo-passivo
Sistema in cui un processore di storage fornisce attivamente l'accesso a un determinato LUN. Gli altri processori fungono da backup per il LUN e possono fornire attivamente l'accesso ad altri I/O LUN.L'I/O può essere inviato correttamente solo a una porta attiva per un determinato LUN. Se l'accesso tramite la porta di storage attiva non riesce, uno dei processori di storage passivi può essere attivato dai server che vi accedono.
Sistema di storage asimmetrico
Supporta l'accesso asimmetrico all'unità logica (ALUA). I sistemi di storage conformi all'ALUA forniscono diversi livelli di accesso per porta. Con ALUA, gli host possono determinare gli stati delle porte di destinazione e assegnare priorità ai percorsi. L'host utilizza alcuni percorsi attivi come primari e altri come secondari.
Sistema di storage delle porte virtuali
Supporta l'accesso a tutti i LUN disponibili tramite un'unica porta virtuale. I sistemi di storage delle porte virtuali sono dispositivi di storage attivi-attivi, ma nascondono le connessioni multiple attraverso una singola porta. Il multipathing ESXi non effettua più connessioni da una porta specifica allo storage per impostazione predefinita. Alcuni fornitori di storage forniscono i manager delle sessioni per stabilire e gestire più connessioni al proprio storage. Questi sistemi di storage gestiscono i failover delle porte e il bilanciamento della connessione in modo trasparente. Questa funzionalità viene spesso definita failover trasparente.

Individuazione, autenticazione e controllo degli accessi

È possibile utilizzare diversi meccanismi per individuare lo storage e limitare l'accesso a tale storage.

È necessario configurare l'host e il sistema di storage iSCSI per supportare il criterio di controllo dell'accesso allo storage.

Individuazione
Una sessione di individuazione fa parte del protocollo iSCSI. Restituisce il set di destinazioni a cui è possibile accedere in un sistema di storage iSCSI. I due tipi di individuazione disponibili in ESXi sono dinamica e statica. L'individuazione dinamica ottiene un elenco di destinazioni accessibili dal sistema di storage iSCSI. L'individuazione statica può accedere solo a una destinazione specifica in base al nome e all'indirizzo di destinazione.

Per ulteriori informazioni, vedere Configurazione dell'esplorazione dinamica o statica per iSCSI e iSER su host ESXi.

Autenticazione
I sistemi di storage iSCSI autenticano un iniziatore in base a una coppia di nome e chiave. ESXi supporta il protocollo di autenticazione CHAP. Per utilizzare l'autenticazione CHAP, l'host ESXi e il sistema di storage iSCSI devono avere il protocollo CHAP abilitato e credenziali comuni.

Per informazioni sull'abilitazione del CHAP, vedere Configurazione dei parametri CHAP per le schede di storage iSCSI o iSER nell'host ESXi.

Controllo degli accessi
Il controllo degli accessi è una configurazione di criteri nel sistema di storage iSCSI. La maggior parte delle implementazioni supporta uno o più di tre tipi di controllo degli accessi:
  • Tramite nome dell'iniziatore
  • Tramite indirizzo IP
  • Tramite il protocollo CHAP

Solo gli iniziatori che soddisfano tutte le regole possono accedere al volume iSCSI.

L'utilizzo del solo CHAP per il controllo dell'accesso può rallentare le scansioni perché l'host ESXi può individuare tutte le destinazioni, ma successivamente si verifica un errore al passaggio di autenticazione. Le nuove scansioni iSCSI funzionano più rapidamente se l'host rileva solo le destinazioni di cui può eseguire l'autenticazione.

Accesso delle macchine virtuali ai dati su una SAN iSCSI

ESXi archivia i file del disco di una macchina virtuale all'interno di un datastore VMFS che si trova in un dispositivo di storage SAN. Quando i sistemi operativi guest della macchina virtuale inviano comandi SCSI ai propri dischi virtuali, il livello di virtualizzazione SCSI converte questi comandi nelle operazioni dei file VMFS.

Quando una macchina virtuale interagisce con il disco virtuale archiviato in una SAN, si verifica il seguente processo:

  1. Quando il sistema operativo guest in una macchina virtuale legge o scrive su un disco SCSI, invia comandi SCSI al disco virtuale.
  2. I driver di dispositivo nel sistema operativo della macchina virtuale comunicano con i controller SCSI virtuali.
  3. Il controller SCSI virtuale inoltra i comandi a VMkernel.
  4. VMkernel esegue le attività seguenti.
    1. Individua un file del disco virtuale appropriato nel volume VMFS.
    2. Mappa le richieste dei blocchi del disco virtuale ai blocchi del dispositivo fisico appropriato.
    3. Invia la richiesta di I/O modificata dal driver del dispositivo in VMkernel all'iniziatore iSCSI, hardware o software.
  5. Se l'iniziatore iSCSI è una scheda iSCSI hardware, indipendente o dipendente, la scheda esegue le attività seguenti.
    1. Incapsula le richieste di I/O in unità di dati di protocollo iSCSI (PDU).
    2. Incapsula le PDU iSCSI in pacchetti TCP / IP.
    3. Invia pacchetti IP su Ethernet al sistema di storage iSCSI.
  6. Se l'iniziatore iSCSI è una scheda iSCSI software, avviene quanto segue.
    1. L'iniziatore iSCSI incapsula le richieste di I/O nelle PDU iSCSI.
    2. L'iniziatore invia le PDU iSCSI tramite connessioni TCP / IP.
    3. Lo stack TCP/IP di VMkernel inoltra i pacchetti TCP/IP a una NIC fisica.
    4. La NIC fisica invia pacchetti IP su Ethernet al sistema di storage iSCSI.
  7. I router e i commutatori Ethernet presenti nella rete trasportano la richiesta al dispositivo di storage appropriato.

Correzione errori

Per proteggere l'integrità delle intestazioni e dei dati iSCSI, il protocollo iSCSI offre metodi di correzione degli errori noti come digest intestazione e digest dati.

Entrambi i metodi sono supportati dall'host ESXi ed è possibile attivarli. Questi metodi vengono utilizzati per controllare i dati di intestazione e SCSI che vengono trasferiti tra iniziatori e destinazioni iSCSI, in entrambe le direzioni.

I digest intestazione e dati controllano l'integrità dei dati non crittografici oltre i controlli dell'integrità forniti da altri livelli di rete, come TCP ed Ethernet. I digest controllano l'intero percorso di comunicazione, inclusi tutti gli elementi che possono modificare il traffico a livello di rete, ad esempio router, commutatori e proxy.

L'esistenza e il tipo dei digest vengono negoziati quando viene stabilita una connessione iSCSI. Quando l'iniziatore e la destinazione accettano una configurazione digest, questo digest deve essere utilizzato per tutto il traffico tra di loro.

L'abilitazione dei digest intestazione e dati richiede un'elaborazione aggiuntiva per l'iniziatore e il target e può influire sulla velocità effettiva e sulle prestazioni di utilizzo della CPU.

Nota: Di conseguenza, i sistemi che utilizzano i processori Intel Nehalom eseguono l'offload dei calcoli del digest iSCSI riducendo l'impatto sulle prestazioni.

Per informazioni sull'abilitazione dei digest dell'intestazione e dei dati, vedereConfigurazione dei parametri avanzati per iSCSI nell'host ESXi.