Quali sono le velocità "buone" per iSCSI e NFS su Ethernet da 1 GB?


9

Ho un box OpenSolaris che condivide due filesystem ZFS. Uno è una connessione NFS a un box CentOS che esegue un server VMware (le immagini del disco sono memorizzate in ZFS). L'altra è una connessione iSCSI a un server Windows 2008 con formattazione NTFS su ZFS. Entrambe le connessioni sono dirette su gig-E (senza switch).

Sto correndo a Monaco per monitorare le scatole, ma non sono sicuro di che tipo di numeri dovrei aspettarmi. Qualcuno può darmi alcuni numeri di base per confrontare o dare suggerimenti su dove iniziare la sintonizzazione?

Ecco le statistiche NFS che vedo, posterò iSCSI una volta che avrò riparato munin sulla scatola di solaris: P

interfaccia

client nfs


Quali unità stai cercando? KBPS? IO / sec?
— WerkkreW,

Non so nemmeno da dove cominciare a cercare. Ho aggiornato il post con le statistiche che ho di munin. Fammi sapere se ci sono posti migliori in cui cercare.
— Sysadminicus,

Risposte:


12

Abbiamo trasferito un Sun X4100 che scrive su GigE e iSCSI collegati su un Sun X4500 a 280 MB / s.

C'è molto che si può fare per ottimizzare lo stack TCP su Solaris per aiutare le cose, questa è la mia configurazione di ottimizzazione delle scorte. (tratto da una raccolta di white paper di Sun):

$ cat /etc/rc3.d/S99ndd
#!/bin/bash

NDD=/usr/sbin/ndd

$NDD -set /dev/tcp tcp_xmit_hiwat 1048576
$NDD -set /dev/tcp tcp_recv_hiwat 8388608
$NDD -set /dev/tcp tcp_max_buf 8388608
$NDD -set /dev/udp udp_xmit_hiwat 1048576
$NDD -set /dev/udp udp_recv_hiwat 8388608
$NDD -set /dev/udp udp_max_buf 8388608
$NDD -set /dev/tcp tcp_conn_req_max_q 65536
$NDD -set /dev/tcp tcp_conn_req_max_q0 65536
$NDD -set /dev/tcp tcp_fin_wait_2_flush_interval 67500

Inoltre, vale la pena dare un'occhiata alla tua macchina OpenSolaris sta cambiando l'intervallo fsflush, la regolazione degli interrupt "magica" e disabilitando gli squilli morbidi. Aggiungere quanto segue a / etc / system (riavvio richiesto):

* "fsflush" tuning
set tune_t_fsflushr = 5
set autoup = 300
* Disable the Automatic Interrupt Adjustment
set dld:dld_opt = 2
* Disable "soft rings"
set ip:ip_squeue_fanout = 0
set ip:ip_soft_rings_cnt = 0

Vale la pena ricordare che lo faccio su Solaris 10, non su OpenSolaris, ma penso che i parametri sintonizzabili dovrebbero funzionare allo stesso modo per te.

Sono un grande fan di Filebench per giocare con le opzioni di ottimizzazione e fare test di throughput.

La versione OpenSolaris 2009.06 (recentemente ribattezzata) sembra essere molto eccitante nel mondo di iSCSI e ZFS.

Spero che questo aiuti alcuni!


3

Ottengo circa 90 MB / sec sui miei array EMC AX150i su iSCSI su Ethernet da 1 GB.


1

Per un solo dd o bonnie ++ (velocità raw, scrittura lineare) dovresti avvicinarti alla velocità del filo.

Ma il tuo collo di bottiglia sarà l'array di dischi, una volta che inizi a far funzionare il carico I / O casuale di più macchine virtuali, molto più del trasporto.

Inoltre, se non si dispone di una cache di scrittura alimentata a batteria con una quantità significativa di RAM, le prestazioni crateranno non appena si iniziano a ricevere molte scritture con qualsiasi altro IO in corso.


0

Sono stato in grado di trasferire i dati su iSCSI a circa 200 Mbit / sec su collegamenti da 1 GB. Ma avevo un RAID 6 a 14 dischi ospitato da un EMC CX4-240 con non molto altro che utilizzava la cache in quel momento.

Il maggiore collo di bottiglia sarà probabilmente la quantità di cache del controller e la velocità dei dischi (per quando la cache si riempie).


1
Abbiamo fallito in fase di pianificazione mettendo tutti e 12 i dischi sullo stesso controller. Immagino che dividere quelli tra un altro controller sarebbe una vittoria facile per noi.
— Sysadminicus,

Potrebbe, tutto dipende da dove si trova il collo di bottiglia. Il nostro RAID 6 è un singolo controller poiché è tutto all'interno di un singolo scaffale. Ma è in un hardware piuttosto di fascia alta. Dov'è il collo di bottiglia? Potrebbe essere semplicemente necessario inserire più cache nel controller e / o assegnare una percentuale più alta di cache come cache di scrittura.
— mrdenny,

Ho una configurazione simile (anche se con AX4-5). Non utilizzo iSCSI, ma ho ottenuto trasferimenti estremamente veloci utilizzando protocolli non crittografati tra due macchine sulla SAN. Vorrei sapere un buon documento di ottimizzazione SAN.
— Matt Simmons,

0

Ottengo circa 80 MB / S sul mio server Windows tramite ISCSI su Ethernet 1G. Target: KernSafe iStorage Server http://www.kernsafe.com/Product.aspx?id=5 Iniziatore: Microsoft Initiator www.microsoft.com/downloads/details.aspx?familyid=12cb3c1a-15d6-4585-b385-befd1319f825&displaylang= it

Hardisk: ATA 7200


0

Per quelli di noi più vicini alla fine semi-pro delle cose (piuttosto che pro) ottengo 150 MB di lettura costante e coerente 120 MB di scrittura dal server W2012 doppio server da 1 GB nic collegato tramite switch gestito da draytek a blackarmorsnas tramite rame RJ45, trasferimento singolo di file da 20 GB. Nessun'altra operazione simultanea durante il test. Per raggiungere questo obiettivo, sto usando i frame jumbo 9k, rx & tx flow, ovvero tutte le normali ottimizzazioni del driver, ma nessuna modifica se non quella di accendere le cose e aumentare il frame jumbo al massimo.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.