Quando si utilizza ESXi con SAN iSCSI, seguire i consigli offerti da VMware per evitare problemi.

Verificare con il rappresentante dello storage se il sistema di storage supporta le funzionalità di accelerazione hardware Storage API - Array Integration. In tal caso, consultare la documentazione del fornitore per abilitare il supporto dell'accelerazione hardware sul lato del sistema di storage. Per ulteriori informazioni, vedere Accelerazione hardware di storage in vSphere.

Prevenzione dei problemi di SAN iSCSI

Quando si utilizza ESXi con una SAN, è necessario seguire linee guida specifiche per evitare problemi di SAN.

Osservare i seguenti suggerimenti:

  • Inserire un solo datastore VMFS in ogni LUN.
  • Non modificare il criterio del percorso impostato dal sistema a meno che non si comprendano le implicazioni nell'effettuare tale modifica.
  • Documentare tutto. Includere informazioni su configurazione, controllo degli accessi, storage, commutatore, configurazione di HBA server e iSCSI, versioni di software e firmware e piano del cablaggio di storage.
  • Piano in caso di errore:
    • Creare diverse copie delle mappe della topologia. Per ogni elemento, prendere in considerazione cosa accade alla SAN se l'elemento passa in stato d'errore.
    • Spuntare i diversi link, interruttori, HBA e altri elementi per assicurarsi di non perdere un punto di errore critico nella progettazione.
  • Assicurarsi che gli HBA iSCSI siano installati negli slot corretti nell'host di ESXi, in base allo slot e alla velocità del bus. Bilanciare il carico del bus PCI tra i dati disponibili nel server.
  • Acquisire familiarità con i vari punti di monitoraggio nella rete di storage, presso tutti i punti di visibilità, inclusi ESXi grafici delle prestazioni, le statistiche del commutatore Ethernet e le statistiche delle prestazioni di storage.
  • Modificare gli ID LUN solo quando i datastore VMFS distribuiti nei LUN non dispongono di macchine virtuali in esecuzione. Se si modifica l'ID, le macchine virtuali in esecuzione nel datastore VMFS potrebbero passare in stato di errore.

    Dopo aver modificato l'ID del LUN, è necessario ripetere la scansione dello storage per reimpostare l'ID nell'host. Per informazioni sull'utilizzo della ripetizione della scansione, vedere Nuova scansione delle operazioni per lo storage di ESXi.

  • Se si modifica il nome iSCSI predefinito della scheda iSCSI, assicurarsi che il nome immesso sia univoco in tutto il mondo e formattato correttamente. Per evitare problemi di accesso allo storage, non assegnare mai lo stesso nome iSCSI a schede diverse, anche in host diversi.

Ottimizzazione delle prestazioni dello storage SAN iSCSI

Diversi fattori contribuiscono a ottimizzare un ambiente SAN tipico.

Se l'ambiente di rete è configurato correttamente, i componenti iSCSI offrono una velocità effettiva adeguata e una latenza sufficientemente bassa per gli iniziatori e le destinazioni iSCSI. Se la rete è congestionata e i link, i commutatori o i router sono saturi, le prestazioni iSCSI ne risentono e potrebbero non essere adeguate per gli ambienti ESXi.

Prestazioni del sistema di storage

Le prestazioni del sistema di storage sono uno dei fattori principali che contribuiscono alle prestazioni dell'intero ambiente iSCSI.

Se si verificano problemi relativi alle prestazioni del sistema di storage, consultare la documentazione del fornitore del sistema di storage per qualsiasi informazione pertinente.

Quando si assegnano LUN, tenere presente che è possibile accedere a ciascun LUN condiviso tramite un certo numero di host, e che un certo numero di macchine virtuali può essere eseguito su ciascun host. Un LUN utilizzato dall'host ESXi può eseguire l'I/O da molte applicazioni diverse in esecuzione su sistemi operativi diversi. A causa di questo carico di lavoro diversificato, il gruppo RAID che contiene i LUN ESXi non deve includere i LUN utilizzati dagli altri host che non eseguono ESXi per le applicazioni che utilizzano molti I/O.

Abilitare la memorizzazione nella cache in lettura e scrittura.

Il bilanciamento del carico è il processo di diffusione delle richieste di I/O del server su tutti i provider di servizi ESP disponibili e sui percorsi del server host associato. L'obiettivo è ottimizzare le prestazioni in termini di velocità effettiva (I/O al secondo, megabyte al secondo o tempi di risposta).

I sistemi di storage SAN richiedono riprogettazione e ottimizzazione continue per garantire che il carico di I/O venga bilanciato in tutti i percorsi del sistema di storage. Per soddisfare questo requisito, distribuire i percorsi ai LUN tra tutti gli IP per fornire un bilanciamento del carico ottimale. Il monitoraggio accurato indica quando è necessario ribilanciare manualmente la distribuzione LUN.

L'ottimizzazione dei sistemi di storage con bilanciamento statico consiste nel monitorare le statistiche delle prestazioni specifiche (ad esempio le operazioni di I/O al secondo, i blocchi al secondo e il tempo di risposta) e distribuire il carico di lavoro LUN per distribuire il carico di lavoro in tutti i provider di servizi.

Prestazioni del server con iSCSI

Per garantire prestazioni ottimali dell'host ESXi, è necessario prendere in considerazione diversi fattori.

Ogni applicazione server deve poter accedere allo storage designato con le seguenti condizioni:

  • Velocità di I/O elevata (numero di operazioni di I/O al secondo)
  • Velocità effettiva elevata (megabyte al secondo)
  • Latenza minima (tempi di risposta)

Poiché ogni applicazione ha requisiti diversi, è possibile soddisfare questi obiettivi selezionando un gruppo RAID appropriato nel sistema di storage.

Per raggiungere gli obiettivi delle prestazioni, attenersi alle seguenti linee guida:

  • Posizionare ciascun LUN in un gruppo RAID che fornisca i livelli di prestazioni necessari. Monitorare le attività e l'uso delle risorse degli altri LUN nel gruppo RAID assegnato. Un gruppo RAID ad alte prestazioni che include troppe applicazioni che eseguono I/O a tale gruppo potrebbe non soddisfare gli obiettivi di prestazioni richiesti da un'applicazione in esecuzione nell'host ESXi.
  • Per ottenere la velocità effettiva massima per tutte le applicazioni nell'host durante il periodo di picco, installare un numero sufficiente di schede di rete o di schede hardware iSCSI. I/O distribuito su più porte fornisce una velocità effettiva più rapida e una latenza inferiore per ogni applicazione.
  • Per fornire ridondanza per il software iSCSI, assicurarsi che l'iniziatore sia connesso a tutte le schede di rete utilizzate per la connettività iSCSI.
  • Quando si allocano LUN o gruppi RAID per i sistemi ESXi, tenere presente che più sistemi operativi utilizzano e condividono tale risorsa. Le prestazioni dei LUN richieste dall'host ESXi potrebbero essere molto più elevate rispetto a quando si utilizzano macchine fisiche normali. Ad esempio, se si prevede di eseguire quattro applicazioni che utilizzano molti I/O, allocare quattro volte la capacità di prestazioni per i LUN ESXi.
  • Quando si utilizzano più sistemi ESXi con vCenter Server, i requisiti di prestazione dello storage aumentano.
  • Il numero di I/O in sospeso necessario per le applicazioni in esecuzione in un sistema ESXi deve corrispondere al numero di I/O che la SAN è in grado di gestire.

Prestazioni della rete

Una SAN tipica è costituita da un insieme di computer connessi a un insieme di sistemi di storage tramite una rete di commutatori. Spesso, diversi computer accedono allo stesso storage.

Il seguente grafico illustra diversi sistemi di computer connessi a un sistema di storage tramite un commutatore Ethernet. In questa configurazione, ogni sistema è connesso tramite un singolo link Ethernet al commutatore. Il commutatore è connesso al sistema di storage tramite un singolo link Ethernet.

Figura 1. Connessione allo storage tramite link Ethernet singolo
Il grafico mostra diversi sistemi connessi a un sistema di storage tramite un singolo commutatore Ethernet.

Quando i sistemi leggono i dati dallo storage, lo storage risponde inviando dati sufficienti a riempire il link tra i sistemi di storage e il commutatore Ethernet. È improbabile che qualsiasi singolo sistema o macchina virtuale utilizzi tutta la velocità della rete. Tuttavia, questa situazione è prevedibile quando molti sistemi condividono un dispositivo di storage.

Quando si scrivono dati sullo storage, è possibile che più sistemi o macchine virtuali tentino di riempire i link. Di conseguenza, il commutatore tra i sistemi e il sistema di storage potrebbe eliminare pacchetti di rete. L'eliminazione dei dati può verificarsi perché il commutatore ha più traffico da inviare al sistema di storage di quanto un singolo link possa trasportare. La quantità di dati che il commutatore può trasmettere è limitata dalla velocità del link tra lo switch e il sistema di storage.

Figura 2. Pacchetti eliminati
Il grafico mostra il commutatore tra i server e i sistemi di storage che elimina dati.

Il ripristino da pacchetti di rete eliminati causa un notevole calo delle prestazioni. Oltre al tempo impiegato per determinare se i dati sono stati eliminati, la ritrasmissione utilizza una parte della larghezza di banda di rete che potrebbe altrimenti essere utilizzata per le transazioni correnti.

Il traffico iSCSI viene trasmesso nella rete da TCP (Transmission Control Protocol). TCP è un protocollo di trasmissione affidabile che garantisce che la trasmissione dei pacchetti eliminati venga tentata di nuovo fino a fargli raggiungere la destinazione. TCP è progettato per eseguire il ripristino dei pacchetti eliminati e ritrasmetterli in modo semplice e rapido. Tuttavia, quando il commutatore ignora i pacchetti con una certa regolarità, la velocità effettiva della rete ne risente. La rete diventa congestionata dalle richieste di reinvio dei dati e dai pacchetti reinviati. Vengono trasferiti meno dati rispetto a in una rete senza congestione.

La maggior parte dei commutatori Ethernet può eseguire il buffering, cioè l'archiviazione temporanea, dei dati. Questa tecnica offre a tutti i dispositivi che tentano di inviare dati la stessa probabilità di raggiungere la destinazione. La possibilità di buffering di alcune trasmissioni, combinata con molti sistemi che limitano il numero di comandi in sospeso, riduce le trasmissioni a piccoli burst. I burst di diversi sistemi possono a loro volta essere inviati a un sistema di storage.

Se le transazioni sono di grandi dimensioni e più server inviano dati tramite una singola porta di un commutatore, è possibile che venga superata la capacità di buffering. In questo caso, il commutatore elimina i dati che non può inviare e il sistema di storage deve richiedere una ritrasmissione del pacchetto eliminato. Ad esempio, se un commutatore Ethernet ha una capacità di buffering di 32 KB ma il server invia 256 KB al dispositivo di storage, alcuni dati vengono eliminati.

La maggior parte dei commutatori gestiti fornisce informazioni sui pacchetti eliminati, in modo simile al seguente:

*: interface is up
IHQ: pkts in input hold queue     IQD: pkts dropped from input queue
OHQ: pkts in output hold queue    OQD: pkts dropped from output queue
RXBS: rx rate (bits/sec)          RXPS: rx rate (pkts/sec)
TXBS: tx rate (bits/sec)          TXPS: tx rate (pkts/sec)
TRTL: throttle count
Tabella 1. Esempio di informazioni del commutatore
Interfaccia IHQ IQD OHQ OQD RXBS RXPS TXBS TXPS TRTL
* GigabitEthernet0/1 3 9922 0 0 476303000 62273 477840000 63677 0

In questo esempio da un commutatore Cisco, la larghezza di banda utilizzata è 476.303.000 bit al secondo, meno di metà della velocità permessa dal cavo. La porta sta eseguendo il buffering dei pacchetti in entrata, ma ha eliminato diversi pacchetti. La riga finale di questo riepilogo dell'interfaccia indica che questa porta ha già eliminato quasi 10.000 pacchetti in entrata nella colonna IQD.

Se si modifica la configurazione per evitare questo problema, è necessario assicurarsi che diversi link Ethernet di input non vengano incanalati in un solo link di output, causando un'oversubscription del link. Quando diversi link che trasmettono quasi a massima capacità vengono commutati in un numero inferiore di link, è possibile avere un'oversubscription.

In genere, le applicazioni o i sistemi che scrivono la maggior parte dei dati nello storage devono evitare la condivisione dei link Ethernet con un dispositivo di storage. Questi tipi di applicazioni funzionano al meglio con connessioni multiple ai dispositivi di storage.

L'immagine Connessioni multiple dal commutatore allo storage mostra un esempio di connessioni multiple dal commutatore allo storage.

Figura 3. Connessioni multiple dal commutatore allo storage
Il grafico mostra connessioni multiple dal commutatore allo storage.

L'utilizzo di VLAN o VPN non fornisce una soluzione adeguata al problema dell'oversubscription dei link nelle configurazioni condivise. Le VLAN e altre partizioni virtuali di una rete offrono un modo per progettare logicamente una rete. Tuttavia, non modificano le funzionalità fisiche dei link e dei trunk tra commutatori. Quando il traffico di storage e altro traffico di rete condividono connessioni fisiche, è possibile l'oversubscription e la perdita di pacchetti. Lo stesso vale per le VLAN che condividono trunk tra i commutatori. La progettazione delle prestazioni per una SAN deve tenere presenti i limiti fisici della rete, non le allocazioni logiche.

Verifica delle statistiche del commutatore Ethernet

Molti commutatori Ethernet offrono metodi diversi per monitorare l'integrità del commutatore.

I commutatori che dispongono di porte che funzionano quasi alla massima velocità effettiva per la maggior parte del tempo non forniscono prestazioni ottimali. Se le porte nel SAN iSCSI sono in esecuzione quasi al massimo, ridurre il carico. Se la porta è connessa a un sistema ESXi o a uno storage iSCSI, è possibile ridurre il carico utilizzando il bilanciamento del carico manuale.

Se la porta è connessa tra più commutatori o router, è consigliabile installare collegamenti aggiuntivi tra questi componenti per gestire un carico maggiore. I commutatori Ethernet forniscono inoltre informazioni sugli errori di trasmissione, sui pacchetti in coda e sui pacchetti Ethernet eliminati. Se il commutatore segnala regolarmente una di queste condizioni sulle porte utilizzate per il traffico iSCSI, le prestazioni del SAN iSCSI risulteranno scarse.