Come rompere il limite iSCSI da 1 Gbit tra ESXi e VNXe

Ho grandi difficoltà con la networking iSCSI e non riesco a funzionare il più velocemente ansible.

Quindi ho provato abbastanza tutto per get performance complete dalla mia SAN, avendo coinvolto specialisti di VMware e EMC.

  • Ipervisore libero per piccole configurazioni
  • Avvia da iSCSI. Come funziona?
  • Errori di allocazione della pagina sull'archiviazione iSCSI
  • Come posso dire a ESXi 5.5 di autostartare le macchine virtuali solo da ssh / CLI?
  • SSD su Vmware ESXI 4 (TRIM? Buona idea?)
  • Perché un VM di avvio PXE cerca aggressivamente ARP Reverse?
  • Breve descrizione della mia attrezzatura: 3x NICs a 4 tabs HP DL360 G7 / vSphere 5.5 / 4 NIC Intel per NICs per iSCSI 2x HP 2510-24G 1x EMC VNXe 3100/2, ognuna con 2 iSCSI dedicati NICs / 24x 15k SAS RAID10 / 6x 7.2k SAS RAID6

    Sono andato le pratiche migliori e ho messo in modo uniforms i pool di storage su entrambi iSCSI-Server. Ho creato due server iSCSI, uno per each processre di archiviazione. Vedi l'image per la mia configuration iSCSI.

    configurazione iSCSI

    Il traffico iSCSI viene separato tramite VLAN (impostabile per altre VLAN), ho anche provato con un altro interruttore HP della serie 29xx. Il controllo del stream è abilitato (lo ha anche provato disabilitato), Jumbo è disabilitato. Non esiste un routing.

    Negli host ESX tutte le NIC iSCSI vengono utilizzate come ho usato l'impostazione Round Robin per each datastore. Ho anche provato con una politica di cambio di path di 1 IO come tanti altri sembrano aver ottenuto performance in questo modo. Ho provato anche le NIC interne (Broadcom), ma non c'è differenza. Sull'interruttore vedo che le porte vengono utilizzate in modo molto uniforms, lato ESX e lato VNXe. Ho un perfetto equilibrio del carico, ANCHE: non posso superare di 1 Gbit in totale. Capisco che il VNXe è ottimizzato per più connessioni e Round Robin ne ha bisogno anche questo, ma anche quando faccio una vMotion di archiviazione tra 2 host e 2 datastores (utilizzando diversi server iSCSI), posso vedere una linea retta di circa 84 MBit / s tramite il webinterface di Unisphere. Posso vedere quella linea così spesso in esattamente lo stesso valore che non riesco a credere che i miei dischi non forniscano più o che i compiti non siano abbastanza esigenti. Sta diventando ancora migliore: con un solo cavo su ciascun host e each processre di storage, ottengo la stessa prestazione. Quindi ho un sacco di ridondanza, ma non c'è niente di più.

    Come ho visto abbastanza persone che parlano della loro performance iSCSI sono disperato per scoprire cosa è sbagliato con la mia configuration (che è stata testata e verificata da persone addestrate di VMware e EMC). Sono grato per each opinione!

    EDIT:

    Sì, ho configurato vMotion per utilizzare più NIC. Oltre a ciò, la vMotion di archiviazione passa sempre agli adattatori iSCSI, non agli adattatori vMotion. Ho allegato screenshot della mia configuration.

    Importazione di porta iSCSI

    Destinazioni iSCSI

    percorsi iSCSI

    So che vMotion di archiviazione non è un benchmark, però ho dovuto fare un sacco di questo negli ultimi giorni e il limite superiore è sempre stato a circa 80 MB / s. Un pool di 6x 15k 600 GB di dischi SAS in RAID 10 dovrebbe facilmente essere in grado di mettere un sacco di più attraverso, non pensi? Ho fatto un test per IO Meter per te – provato alcuni di loro, il più veloce era 256 KiB 100% Lettura. Ho ottenuto 64,45 MB / s – i miei show Unisphere sono circa la stessa velocità. Questo è in un VM che è memorizzato su un pool di 6x 15k 300 GB di disco SAS (RAID 10) che quasi each altra attività in questo momento della giornata.

    IO Meter

    Unisphere

    EDIT2:

    Mi dispiace per i nomi di utente duplicati, ma ho scritto questa domanda al lavoro e non ho usato il mio nome utente che ho già ottenuto a Stock Overflow. Tuttavia qui è lo screenshot che mostra le mie impostazioni di Round Robin. È lo stesso su tutti i padroni di casa e tutti i negozi.

    Robin rotondo

  • EMC VNXe GNU Source Code
  • 3 Solutions collect form web for “Come rompere il limite iSCSI da 1 Gbit tra ESXi e VNXe”

    E 'ansible che tu non crei abbastanza IOPS per questo per realmente kick-in.
    Date un'occhiata qui su come modificare l'impostazione da 1'000 IOPS predefinito a un valore più piccolo. (Questa è una specifica simmetrica, ma puoi fare lo stesso per il fornitore VMWare Round Robin)

    Tuttavia non sono ancora convinto se realmente è in grado di utilizzare più di un link totalmente in parallelo con un solo datastore. Penso che dovrai fare il test IOMeter su più datastore in parallelo per vedere i vantaggi. (Non certo però il 100% sicuro)

    Creare una regola SATP per il produttore di archiviazione denominata EMC, impostare il criterio di path come Round Robine e IOPS dal valore predefinito 1000 a 1. Questa sarà la persistenza durante i riavvoti e each volta che viene presentato un nuovo EMC iSCSI LUN, questa regola verrà raccolta. Per applicare questa a EMC iSCSI LUN esistenti, riavviare l'host.

    esxcli storage nmp satp rule add --satp="VMW_SATP_DEFAULT_AA" \ --vendor="EMC" -P "VMW_PSP_RR" -O "iops=1" 

    Ho giocato in giro con la modifica del IOPS tra i 1 e 3 e cerco di eseguire il meglio su un singolo VM. Detto questo, se hai un sacco di VM e un sacco di datastores, 1 potrebbe non essere ottimale …

    Assicurarsi di avere ciascuna interface sul VNXe impostata su 9000 MTU. Inoltre, il vSwitch con le interfacce iSCSI dovrebbe essere impostato su 9000 MTU insieme a ciascun VMKernel. Sulla VNXe, creare due server iSCSI – uno per SPA e uno per SPB. Associare un IP per ciascuno inizialmente. Quindi visualizzare i dettagli per each server iSCSI e aggiungere ulteriori IP per each interface triggers per SP. Questo vi darà le performance rotonde del robin che stai cercando.

    Quindi creare a minimo due datastores. Associare un datastore con iSCSIServer-SPA e uno con iSCSIServer-SPB. Ciò assicurerà che uno dei tuoi SP non sia seduto al minimo.

    Infine, tutte le interfacce sul lato ESX che vengono utilizzate per iSCSI dovrebbero andare in un vSwitch separato con tutte le interfacce come attive. Tuttavia, si desidera un VMkernel per each interfacce sul lato ESX all'interno di quel vSwitch designato. È necessario superare l'ordine di failover di vSwitch per ciascun VMKernel per avere una scheda Active e tutti gli altri inutilizzati. Questo è il mio script di distribuzione utilizzato per la fornitura di host ESX. Ogni host ha un totale di 8 interfacce, 4 per LAN e 4 per il traffico iSCSI / VMotion.

    1. Eseguire sotto la configuration

    un. # DNS Esxcli networking IP dns ricerca aggiungere –domain = mydomain.net

    esxcli networking ip dns server aggiungere –server = XXXX

    esxcli networking ip dns server aggiungere –server = XXXX

    b. # imposta l'aggiornamento hostname di conseguenza

    esxcli nome host host –host = server1 –domain = mydomain.net

    c. # add uplinks a vSwitch0 esxcli networking upwind standard di uplink add –uplink-name = vmnic1 –vswitch-name = vSwitch0

    esxcli networking upwind standard uplink aggiungere –uplink-name = vmnic4 –vswitch-name = vSwitch0

    esxcli networking upwind standard di uplink aggiungere –uplink-name = vmnic5 –vswitch-name = vSwitch0

    d. # creare vSwitch1 per la memorizzazione e impostare MTU a 9000

    esxcli networking standard vswitch aggiungere –vswitch-name = vSwitch1

    esxcli networking standard switch vswitch –vswitch-name = vSwitch1 –mtu = 9000

    e. # add uplinks a vSwitch1

    esxcli networking upwind standard di uplink aggiungere –uplink-name = vmnic2 –vswitch-name = vSwitch1

    esxcli network upwitch standard uplink aggiungere –uplink-name = vmnic3 –vswitch-name = vSwitch1

    esxcli network upwitch standard uplink aggiungere –uplink-name = vmnic6 –vswitch-name = vSwitch1

    esxcli network upwitch standard uplink aggiungere –uplink-name = vmnic7 –vswitch-name = vSwitch1

    f. # impostare la scheda NIC triggers per vSwitch0

    vxwitch-name = vSwitch0 –active-uplinks = vmnic0, vmnic1, vmnic4, vmnic5

    g. # imposta NIC attivo per vSwitch1

    esxcli networking failwit standard switch vswitch impostare –vswitch-name = vSwitch1 –active-uplinks = vmnic2, vmnic3, vmnic6, vmnic7

    h. # creare gruppi di porte per iSCSI e vmkernels per ESX01 e non ESX02

    il gruppo di esxcli di networking sostituisce il gruppo portgroup -portgroup-name = iSCSI-vmnic2 –vswitch-name = vSwitch1

    esxcli ip interface di networking aggiungere –interface-name = vmk2 –portgroup-name = iSCSI-vmnic2 –mtu = 9000

    esxcli IP ip4 interface di networking impostata –interface-name = vmk2 –ipv4 = 192.158.50.152 –netmask = 255.255.255.0 –type = statico

    vim-cmd hostsvc / vmotion / vnic_set vmk2

    Esportre i gruppi di networking esxcli vswitch standard -portgroup-name = iSCSI-vmnic3 –vswitch-name = vSwitch1

    esxcli interface ip di networking add –interface-name = vmk3 –portgroup-name = iSCSI-vmnic3 –mtu = 9000

    esxcli IP ip4 interface di networking impostata –interface-name = vmk3 –ipv4 = 192.158.50.153 –netmask = 255.255.255.0 –type = statico

    vim-cmd hostsvc / vmotion / vnic_set vmk3

    il gruppo di esxcli di networking sostituisce il gruppo portgroup -portgroup-name = iSCSI-vmnic6 –vswitch-name = vSwitch1

    esxcli interface ip di networking aggiungere –interface-name = vmk6 –portgroup-name = iSCSI-vmnic6 –mtu = 9000

    esxcli IP ip4 interface di networking impostata –interface-name = vmk6 –ipv4 = 192.158.50.156 –netmask = 255.255.255.0 –type = statico

    vim-cmd hostsvc / vmotion / vnic_set vmk6

    Esportre il gruppo di esxcli vswitch portgroup standard -portgroup-name = iSCSI-vmnic7 –vswitch-name = vSwitch1

    esxcli interface ip di networking add –interface-name = vmk7 –portgroup-name = iSCSI-vmnic7 –mtu = 9000

    esxcli IP ip4 interface di networking impostata –interface-name = vmk7 –ipv4 = 192.158.50.157 –netmask = 255.255.255.0 –type = statico

    vim-cmd hostsvc / vmotion / vnic_set vmk7

    io. # creare gruppi di porte per iSCSI e vmkernels per ESX02 e non ESX01

    il gruppo di esxcli di networking sostituisce il gruppo portgroup -portgroup-name = iSCSI-vmnic2 –vswitch-name = vSwitch1

    esxcli ip interface di networking aggiungere –interface-name = vmk2 –portgroup-name = iSCSI-vmnic2 –mtu = 9000

    esxcli IP ip4 interface di networking impostata –interface-name = vmk2 –ipv4 = 192.168.50.162 –netmask = 255.255.255.0 –type = statico

    vim-cmd hostsvc / vmotion / vnic_set vmk2

    Esportre i gruppi di networking esxcli vswitch standard -portgroup-name = iSCSI-vmnic3 –vswitch-name = vSwitch1

    esxcli interface ip di networking add –interface-name = vmk3 –portgroup-name = iSCSI-vmnic3 –mtu = 9000

    esxcli IP ip4 interface di networking impostata –interface-name = vmk3 –ipv4 = 192.168.50.163 –netmask = 255.255.255.0 –type = statico

    vim-cmd hostsvc / vmotion / vnic_set vmk3

    il gruppo di esxcli di networking sostituisce il gruppo portgroup -portgroup-name = iSCSI-vmnic6 –vswitch-name = vSwitch1

    esxcli interface ip di networking aggiungere –interface-name = vmk6 –portgroup-name = iSCSI-vmnic6 –mtu = 9000

    esxcli IP ip4 interface di networking impostata –interface-name = vmk6 –ipv4 = 192.168.50.166 –netmask = 255.255.255.0 –type = statico

    vim-cmd hostsvc / vmotion / vnic_set vmk6

    Esportre il gruppo di esxcli vswitch portgroup standard -portgroup-name = iSCSI-vmnic7 –vswitch-name = vSwitch1

    esxcli interface ip di networking add –interface-name = vmk7 –portgroup-name = iSCSI-vmnic7 –mtu = 9000

    esxcli IP ip4 interface di networking impostata –interface-name = vmk7 –ipv4 = 192.168.50.167 –netmask = 255.255.255.0 –type = statico

    vim-cmd hostsvc / vmotion / vnic_set vmk7

    j. # impostare la scheda NIC triggers per each iSCSI vmkernel

    esxcli networking vswitch standard portgroup policy failover impostato –portgroup-name = iSCSI-vmnic2 –active-uplinks = vmnic2

    esxcli network switch vswitch standard portgroup policy failover impostato –portgroup-name = iSCSI-vmnic3 –active-uplinks = vmnic3

    esxcli networking vswitch standard portgroup impostazione failover impostata –portgroup-name = iSCSI-vmnic6 –active-uplinks = vmnic6

    esxcli networking vswitch standard portgroup policy failover impostato –portgroup-name = iSCSI-vmnic7 –active-uplinks = vmnic7

    K. # crea gruppi di porte

    Esportre il gruppo portuale di esxcli standard vswitch add -group-name = VMNetwork1 –vswitch-name = vSwitch0

    il gruppo di esxcli networking vswitch standard portgroup aggiungere –portgroup-name = VMNetwork2 –vswitch-name = vSwitch0

    il gruppo di esxcli networking vswitch port standardgroup add –portgroup-name = VMNetwork3 –vswitch-name = vSwitch0

    l. # impostare i gruppi di port VLAN in VM

    esxcli networking vswitch standard portgroup set -p VMNetwork1 –vlan-id ##

    esxcli networking vswitch standard portgroup set -p VMNetwork2 –vlan-id ##

    esxcli networking vswitch standard portgroup set -p VMNetwork3 –vlan-id ###

    m. # rimuovi il gruppo predefinito VM portgroup

    esxcli networking vswitch standard portgroup rimuovi –portgroup-name = "VM Network" -v = vSwitch0

    n. # abilitare l'adattatore software iSCSI

    esxcli iscsi software set –enabled = true

    esxcli iscsi networkportl aggiungere -A vmhba33 -n vmk2

    esxcli iscsi networkportl aggiungere -A vmhba33 -n vmk3

    esxcli iscsi networkportl aggiungere -A vmhba33 -n vmk6

    esxcli iscsi networkportl aggiungere -A vmhba33 -n vmk7

    o. # rinominare il datastore locale

    hostname> $ var =

    vim-cmd hostsvc / datastore / rinominare datastore1 locale- $var

    p. #Define il tipo di arrays Array Storage Multi Path per EMC VNXe 3300 e aggiorna IOPS da 1000 a 1

    esxcli memorizzazione nmp regola satp add –satp = "VMW_SATP_DEFAULT_AA" –vendor = "EMC" -P "VMW_PSP_RR" -O "iops = 1"

    q. # aggiornamento della networking

    aggiornare il firewall di networking esxcli

    vim-cmd hostsvc / net / refresh

    1. Configurare il client NTP utilizzando vSphere Client per each host

    un. Configurazione -> Configurazione ora -> Proprietà -> Opzioni -> Impostazioni NTP -> Add -> ntp.mydomain.net -> Controlla "riavvia il servizio NTP per applicare le modifiche" -> OK -> attendere … -> Selezionare "Avvio e arresto con host" -> OK -> Controllare "Client NTP abilitato -> OK

    1. Reboot Host

    2. Procedere con EMC VNXe Storage Provisioning, tornare a questa guida quando è completa

    3. Accedere al client vSphere per host

    4. Aggiorna each Datastore a VMFS-5

    un. Configurazione -> Memorizzazione -> Evidenziare Datastore -> Aggiornamento a VMFS-5

    Purtroppo, penso che nulla è sbagliato con il tuo setup. Non puoi semplicemente utilizzare più di 1 Gb / s per un solo VM.

    Il punto è che non si desidera semplicemente utilizzare due (più) NIC, che si desidera utilizzare contemporaneamente , in una configuration RAID-0.

    802.3ad, la norma circa l'aggregazione a livello di collegamento e che penso che hai configurato sugli switch, non può essere tipicamente configurata per strisciare una singola connessione tra le diverse NIC. Ciò è dovuto al funzionamento dell'interface-alg: è basato su MAC e dst MAC e / o IP / porte e una singola connessione avrà sempre gli stessi MAC / IP / porte .

    Ciò non significa che il tuo setup non può spingere numbers più elevati (sia come tput che IOPS), ma questo mette un limite duro su quanto performance possono estrarre un singolo VM. Cercate di caricare 2 o 4 istanze di IOMeter su 2/4 VM diversi: Scommetto che il tput aggregato sarà più alto rispetto al benchmark singolo VM, ma nessuna singola macchina supererà il limite di 1 Gb / s.

    Il ponte Linux e alcuni switch high-end supportno diversi methods di aggregazione dei collegamenti e consentono interfacce di networking aggregate a righe complete. Tuttavia, ciò ha delle implicazioni non banali su come altri interruttori / sisthemes interagiscono con questi methods di aggregazione "non standard".

    Comunque, per la networking di archiviazione, devi abilitare i frame jumbo, se supportti.

    Suggerimenti per Linux e Windows Server, quali Ubuntu, Centos, Apache, Nginx, Debian e argomenti di rete.