Schlechte I/O Performance TVS-871U-RP

  • Hallo Forum


    Ich habe ein Problem mit einem TVS-871U-RP, die Konfiguration ist folgende:

    Firmware: 4.3.5.0760
    CPU: Intel Core i5-4590S @ 3GHz
    RAM: 8GB
    Disk 1-7: RAID 6
    Disk 8: Spare
    Alle Disks: Seagate ST10000NE0004-1ZF101 (10TB)
    Cache-Port 1 & 2: 2x Hoodisk SSD 32 GB

    Volume: 1x THICK Volume mit 44,21TB, 41.45 TB frei
    Allen Schnickschnack: Snapshots, Papierkorb, etc deaktiviert, alle unnötigen Services deaktiviert: Nur SNMP, Webserver, CIFS & NFS aktiviert.
    Gigabit Port 2,3,4 LACP 802.3ad dynamic an Netgear GS108Tv2
    NFS Freigabe (Write Cache disabled) an ESXi 6.0 Update 3 mit latest patches Gigabit an GS108Tv2, eingebunden als Datastore.
    MTU: 1500 (default)

    Max. Read/Write Performance: schwankend 8MB/s - 40 MB/s

    Wenn ich zb. auf dem ESXi Host einen Snapshot einer VM lösche, dann ist das ganze NAS extrem langsam. Arbeiten darauf geht praktisch gar nicht mehr.


    System Health aller Systeme normal.

    Das System wird auf der QNAP Seite als "8-bay high performance unified storage" beworben. Es wird gesagt: 3,300 MB/s Datendurchsatz und 172,000+ IOPS. Davor kann ich nichts spüren.


    Habt Ihr eine Idee, was ich falsch mache? Sind diese Werte (ausgeführt auf dem QNAP selber) normal?

    Gruss Tom

    8 Mal editiert, zuletzt von TomTheOne ()

  • Hi Zusammen


    Danke für euer Feedback.


    dr_mike
    Nein, nicht von extern her. Das NAS hat aber Internet Zugang (outgoing).



    Crazyhorse

    Nein, ich hatte die schlechte Performance schon ohne SSD Cache, habe dann die zwei SSD speicher eingebaut; wurde nicht besser & nicht schlechter.
    Ich sehe, dass der SSD Cache so gut wie nicht benutzt wird (1%-10% von 32GB); ich vermute die VMDK Files sind einfach zu gross für den Cache & das QNAP kann nicht 'in die VMDK Files reinschauen'.


    Mein Plan ist folgender:

    Ich befreie das NAS von den drei, vier virtuellen Servern die da drauf laufen; ich verschiebe die temporär wo anders hin, dann:

    a) Ich zerstöre das RAID6 und setze ein RAID 10 auf (2x 4 Disks à RAID 1; dann ein RAID 0 darüber). Soll wohl 8x bessere read- und 4x bessere write performance bieten).
    b) Ich erstelle darauf 9x 4TB LUNs und hänge diese via iSCSI (weniger overhead vs. NFS) an den ESXi Host; dann verteile ich meine paar Serverlein über diese LUNs; dies soll wohl die I/O Queue auf den LUNs entlasten.
    c) Firmware Update auf die 4.3.6.xxx


    Fazit: Dies würde wohl so ca. 9TB Kapazität kosten sowie etwas Ausfallsicherheit dazu; dies kann ich in kauf nehmen, da:
    - Gutes Backup vorhanden
    - mit Reserve habe ich ein Platzbedarf von max 5TB


    Ich erhoffe mir dadurch eine wesentliche Verbesserung. Hättet Ihr weitere Ideen?

    Gruss

    Einmal editiert, zuletzt von TomTheOne ()

  • Allen Schnickschnack: Snapshots, Papierkorb, etc deaktiviert, alle unnötigen Services deaktiviert: Nur SNMP, Webserver, CIFS & NFS aktiviert.

    ...

    Ich befreie das NAS von den drei, vier virtuellen Servern die da drauf laufen; ich verschiebe die temporär wo anders hin, dann:

    Wäre natürlich interessant, was die an Leistung kosten, wie viel CPU, RAM un I/O dafür aufgewendet werden?

    Da hast du uns etwas an Info vorenthalten ;)

    Mach mal ein Bild rein, was deine VM's so an Performance "verbraten".


    Bei mir laufen die VM's nur bei Bedarf (einige Stunden pro Woche, sonst ist sogar das QVS gestoppt) und die Images liegen ausnahmslos auf SSD, nicht auf den HDD.

  • Hallo RedDiabolo


    Wäre natürlich interessant, was die an Leistung kosten, wie viel CPU, RAM un I/O dafür aufgewendet werden?

    Meinst du von den virtuellen Server oder von dem QNAP?
    Zum QNAP kann ich sagen, dass es CPU/RAM mässig 'rumdümpelt' und sich langweilt.
    Zu den IOPS kann ich keine Aussagen treffen, habe das (noch) nicht im Detail analysiert; müsste mich erst erkunden wie ich das mache.
    Zu den VMs weiter unten.

    Mach mal ein Bild rein, was deine VM's so an Performance "verbraten".

    Aktuell verschiebe ich die VMs auf einen anderen Speicher, damit ich das vorgeschlagene umsetzen kann.
    Ich würde dich dann im Anschluss mit den Daten beliefern, sobald ich fertig bin. Das wird noch etwas dauern.

    Ich kann mal auflisten was hier läuft:

    Win2k16:
    - AD Controller mit WSUS drauf (für 4 Clients) (~200 IOPS)
    - Webserver IIS mit SQL (ca. 200 Webseiten) (~300 IOPS)

    CentOS 7:
    - Mailserver für 20 Benutzer (~200 IOPS)
    - MRTG & Nagios überwachung; ca. 40 Devices (~100 IOPS)
    - Mailcleaner: Anti-Spam Appliance (~100 IOPS)


    vCenter:

    - vCenter 6.5 (~200IOPS)


    Ich schätze so gesamthaft 1000-1400 IOPS.


    Generell ist es so; dass das NAS aus meiner Sicht nicht gut performt; resp. in der genannten Disk-Konfig nicht gut performt - wenn ich einen Snapshot vom AD Controller entferne, dann sind die anderen Server quasi down und dies über mehrere Stunden. Wir wissen ja; vm Datastore und Snapshots ist Random Disk access; und hier siehst du an den dd Werten oben, dass ich um die 12MB/s erreiche. Dies deckt sich mit den Angaben welche ich auf den Netzwerkinterface auf der QNAP Box sehe und erwähnt habe (schwankend: 8 - 40 MB/s). Zumal wenn ich linear schreibe/lese; dann erreiche ich trotz allen eingeschalteten vm's an die 200MB/s; da wäre ich schon massiv glücklich drüber, wenn dies Random auch gehen würde. Die Diskrepanz ist einfach zu gross.

    Ich frage mich wie der Werbeprospekt auf diese Werte kommt: 3,300+ MB/s throughput and 172,000+ IOPS. Das scheint mir sehr unlogisch zu sein; es sei denn, die betreiben alles Einzelplatten und addieren dann die IOPS jeder Einzelplatte zusammen. Das kommt mir etwas vor wir beim Benzinverbrauch von Autos; der auch nur im Labor unter ganz bestimmten Umständen erreicht werden kann, was fernab jeglichem realistischen Szenario ist.


    Ich denke schon, dass ich in Richtung: Ich braaauche mehr IOPS hinarbeiten muss... :)


    Update:


    Nun bin ich am verschieben der VMs: Also ich lese vom Qnap. Im Anhang ein Bild der NIC Auslastung, sowie ein iostat Befehl über ein paar Sekunden. Es liest eigentlich nicht schlecht schnell - zwischendurch - aber schwankt auch damit. Hmmm...

  • Schaue mal ins Kleingedruckte der QNAP Tests, da stehen fast immer SSD Vollbestückung drin.

  • Crazyhorse

    Alles klar.

    Ich habe noch ein Update zum deaktivieren des Caches. Ich habe den Cache nun doch noch ausgeschaltet und ich habe iotopinstalliert. Ich sehe damit, dass die Schwankungen abgenommen haben und ich nahtlos > 100MB/s lesen kann. Warum habe ich das nur verneint... Asche über mein Haupt. Nun bin ich wohl am Limit der Kapazität der Disks selber.


    Danke - Du hattest Recht!

  • platten verscheuern und 8x 2TB SSD? Wäre das nicht auch ne Idee?

  • Sicher. Knapp 2000 CHF/1800 EUR kosten mich 8x 2TB SSDs.


    Ich habe noch etwas rumprobiert. Das NAS kann ja Netzwerktechnisch total 3Gbit/s und daran 3x ESXi Hosts mit je 1Gbit/s. Aktuell Move ich VMs weg von ESXi Host 1 und ESXi Host 2. Ich sehe, die ESXen lesen Konstat (linear) je mit 100MB/s vom NAS und übers Netz (siehe Anhang). Daneben läuft noch ein Veam Backupjob mit 70 MB/s. Das sind ja Welten im Vergleich von vorher; der Cach- Tip war gold wert. Ich versuche dennoch umzusetzen, was ich oben beschrieben habe. Damit kann ich wohl noch etwas mehr rausholen.


    Wenn das nicht ausreichend ist, dann ziehe ich deine Idee heran.

    Danke(!)

  • PS:


    Noch eine Info; bei LACP Trunks mit 3x 1Gbit/s NICs, ist die Bandbreite nicht 3Gbit/s sondern dennoch 2Gbit/s. Der dritte Schlauch ist ausschliesslich redundanz, fall ein Schlauch ausfällt.

  • Das ist aber kein normales Verhalten für einen aktiv LACP, da werden alle Strecken aktiv verwendet.


    Ich vermute eher das Problem im Load Balancing, welches auf L2 eingestellt ist.

    Erst mit L3 IP/Port wird das richtig ab gehen.

    Auf MAC Basis läuft das deutlich weniger ausgeglichen und ein Host nutzt nur einen Link.


    Das muss aber auch dein Switch unterstützen.

  • Ok, irgendwo im Internet habe ich das geschriebene mit dem redundanten Link aufgeschnappt; ich finde die Quelle nicht mehr; ich werde sicherlich was falsch verstanden haben.

    - Mit L2 erreiche ich das beschrieben Verhalten; NIC 2 macht nix - NIC 3 ~120MB/s, NIC 4 ~120MB/s.
    - Mit L3 erreiche ich folgendes: NIC 2 ~90 MB /s - NIC 3 ~30 MB/s - NIC 4 macht nix.


    Ich habe wieder auf L2 zurückgestellt; mache noch ein FW Upgrade der Switches. Ich bin zuwenig 'Netzi' um hier genaues sagen zu können. Ich weiss nur die Switches waren günstig und ich finde keine Informationen über deren Support für L3 IP/Port.

    PS: Es könnte natürlich auch sein, dass ich hier am Limit der Switches bin - gut möglich, dass diese 100€ Switches halt einfach 2Gbit/s über eine Bündelung hinkriegen - aber nicht mehr.

    PPS: Hier Leute mit dem selben Verhalten.

  • Welche Switch genau?

    In deinem Link steht ja, dass man das Load Balancing einstellen soll, bzw. kontrollieren ob in der Running

    port-channel load-balance src-dst-ip

    eingetragen ist.


    Denn fehlt das, wird das auf L2 Basis gefshren und dann kann eine VM z.B. nur 1 Gbit nutzen, auch wenn x Clients drauf zu greifen.

    Denn da die Anfragen über einen zweiten Switch laufen, sieht der erste nur noch eine MAC von der alle Anfragen kommen.


    Bei L3 sieht er jedoch die IP einer jeden Quelle, bei L3/L4 sogar noch die Ports die angesprochen werden und kann daher auch von einem Client der mehrere Links hat, die Bandbreite voll nutzen.


    Es ist also ein großer Unterschied ob L2 oder L3 läuft, vor allem wenn mehr als ein Switch aktiv ist, ist letztes entscheid die gewünschte Performance zu erhalten.

    Ansonsten ist das eher Ausfallsicherheit.


    Einen active LACP kannst du im Betrieb umstecken ohne das ein Client was merkt, von der Reduzierung der Bandbreite abgesehen.

    So kann man ein Modul im laufenden Bertrieb updaten ohne das es Ausfälle gibt.

    Spielt aber eher in großen Inftastrukturen eine Rolle.


    Seht bei deinem nichts von L3 im Datenblatt, wird er nur L2 beherrschen.

  • Hi CR

    Ich habe keine Cisco Switches: Es sind Netgear; da gibt es nichts (grossartiges) einzustellen; alles was man einstellen kann im Screenshot, das einzige was interessant ist welchen LAG Typ man wünscht: LACP oder Static; hier nehme ich LACP. STP = Spanning Tree; brauche ich nicht. Und ob der Switch ein Link Trap schickt ist mir momentan auch Sausage.

    Ich habe noch etwas rumprobiert; die Resultate ebenfalls im Anhang - interessant ist es allemal. Als Ergänzung zum Visio; es ist nicht immer NIC3 die nichts macht; manchmal ist es auch eine andere; jedenfalls kann man sagen, immer eine tut nix.

    Info: Ich habe noch mit einem Netzwerker gesprochen: Es ist wohl tatsächlich so, dass bei einer ungeraden Anzahl NICs im Trunk eine immer für die Redundanz da ist und darüber kein Traffic fliesst; andernfalls müssten man eine gerade Zahl machen; sprich alle 4 NICs bündeln. Was für Ihn jedoch keinen Sinn macht; ist dass oben Rechts nur 120MB/s einer Karte genutzt wird, da ich von drei unterschiedlichen MACs herkomme, was bedeutet, drei unterschiedliche HASHES. Das ist wohl komisch.

    Gruss

  • Das dieses Verhalten nicht typisch für einen LAG oder LACP ist, kann ich dir in Verbindung mit anderen Switch Verndors bestätigen, wir hatten das in einem Standort über Jahre mit einem 3er LAG bei HPs laufen, da wurden alle Links ausgelastet, es hat sich keiner als reines Backup verhalten.


    Die sind aber auch in einer ganz anderen Leistungsklasse angesiedelt und können L3 Load Balancing und Routing.


    Du hast nicht die Möglichkeit mit anderen Modellen oder sogar einem anderen Hersteller zu testen?


    Zwei Switche vermute ich, da die in verschiedenen Räumen stehen?

  • Servus CR


    Wenn ich die Web-Quelle, die ich nicht mehr finde, richtig verstanden hatte - dann stand da irgendwas davon, dass man das nach seinem Gusto konfigurieren kann, wie es sich bei drei Links im Trunk verhalten soll.

    Die Quelle von dem Kollegen ist für mich sehr vertrauenswürdig - aber eben, es ist niemand vor falschen Annahmen/falschem Wissen gefeilt. Ich weiss nicht was 'normal' ist (wobei es evtl. normal gar nicht gibt, evtl. ist default das bessere Wort (wenn man es konfigurieren kann)). Evtl. es kann ja noch unterschiedliche Verhaltensweisen geben, wenn man nichts einstellen kann.


    Mein QNAP mit dem Billig-Netgear Switch der hat sich auf jeden Fall so verhalten wie oben beschrieben.


    Die Switches waren im selben Raum, weil ich noch mehr Bedarf an Ports habe, als ich aufgezeichnet habe. Ich wollte nun der Empfehlung meines Kollegen folgen und einen 4x 1Gbit/s Trunk realisieren. Dazu hatte ich aber zuwenig Ports.

    Gestern habe ich mir deshalb den Netgear GS516TP (Datenblatt) gekauft, wurde heute geliefert und habe Ihn bereits installiert. Der hat intern wohl 32Gbit/s Kapazität an Bandbreite; da sollte ich keinen Switch-internen Engpass mehr haben.


    Ich werde heute noch etwas die Performance testen und schauen, was ich herausfinde. Ich würde das Resultat dann in diesem Post updaten, denn ich kann wohl keinen zweiten Beitrag schreiben, wenn ich dazwischen nicht 2-3 Tage warte.


    Update
    Siehe Anhang: von drei Hosts mit ~350 MB/s; jeder Host sauber 110-120 MB/s über seine eigene Karte; Last schön verteilt - wärend das NAS noch die RAID Gruppe synchronisiert mit 40 MB/s.
    2019-05-08 16_26_10-Remote Desktop Manager Free [tomthedell].png

    Ich würde sagen: Erfüllt!


    Wichtig: Bei dem neuen Switch kann man unter LAG -> "LAG Configuration" den "STP Mode" zwar auf disabled setzen, aber es speichert die Setting einfach nicht: Gem. Netgear wohl ein Bug in der letzten und einzigen Firmware.
    2019-05-08 16_34_02-NETGEAR GS516TP.png

    Stattdessen muss man unter "STP" -> "CST Port Configuration" -> "STP Status" auf den Ports ausschalten; wenn STP aktiv war, dann hatte es den Traffic nicht schön verteilt sondern es lief alles über ein Interface mit 1Gbit/s.
    2019-05-08 16_30_54-NETGEAR GS516TP.png

    Herzlichen Dank euch allen für die guten Tips.

    Gruss
    Tom

    7 Mal editiert, zuletzt von TomTheOne ()

  • Das ist mehr als ein Bug!


    STP muss einen LAG wie einen einzigen Port behandeln, denn genau das ist er.

    Ein Virtueller Port der aus mehreren einzelnen Links besteht.


    Meine Meinung:

    Packe den wieder ein, bestelle dir einen Cisco SG300, das ist ein L3 Switch der auch L3 Loadbalancing kann.

    Das ist eine ganz andere Liga als Netgear.


    Ich kenne keinen der Netgear in größeren Netzwerken einsetzt.

    Das ist was für Cisco, HP/Aruba, Extreme usw.


    Wenn meine Bude steht, freue ich mich schon auf den 2910al, da kann man schön alles per CLI einstellen und ist in Sekunden fertig.

    Einmal editiert, zuletzt von Crazyhorse ()

  • Ja - der Cisco SG300 wäre nur 40 Ocken teurer gewesen. Macht nix; soweit läuft es mit der Performance die ich gesucht habe und ich brauche das Ding schliesslich nur für das "Storage Netz". Der Netgear macht ja auch L3 LB; mit L2 LB verteilt es die Last nicht recht. Ich werde Ihn behalten - nehme aber deine Empfehlung mit, für das nächste Mal.


    Ich habe es noch gar nicht erwähnt; ich habe wieder NFS Shares gemacht und noch mit NFS v3 vs. 4/4.1 rum probiert. Da habe ich gelesen, Zitat:

    "Mit NFS 4.1 unterstützt VMware Session Trunking, allerdings nicht auf Basis von Parallel NFS (pNFS). Das setzt natürlich voraus, dass der NFS-Server dieses Feature ebenfalls beherrscht. Ein solches Multipathing erlaubt die Lastver­teilung auf mehrere Pfade, die man im vSphere Web Client als Komma-separierte Liste von IP-Adressen hinterlegt."

    Da dachte ich mir, dann mache ich 2x 2x 1Gbit/s Trunks und vergebe beiden eine IP Adresse. So habe ich mir ausgemalt, bringe ich evtl. eine noch bessere Performane hin, wenn viele gleichzeitig lesen/schreiben. Damit war leider nichts; es wurde einfach auf IP 1 und IP 2 je 50MB/s transferiert - was logisch wäre wenn es ein Server wäre; aber DAS IM TOTAL, auch wenn mehrere Server gleichzeitig geschrieben resp. gelesen haben. Der pure Reinfall - habe es Rückgängig gemacht und bin wieder mit NFSv3 unterwegs.


    Have a great week.