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.