Das längste Thema

  • Bitte nicht vergessen, dass meine Messungen aus dem Hostsystem kommen.


    Glaube auch nicht, dass man meine Messungen mit denen von einem Fetten Server wo 100 oder 200 VMs drauf laufen vergleiche kann.


    Messung aus einer VM:


    Code
    root@vitruvius:~# dd if=/dev/zero of=testfile bs=1G count=5 oflag=dsync
    5+0 records in
    5+0 records out
    5368709120 bytes (5.4 GB) copied, 3.87908 s, 1.4 GB/s
    root@vitruvius:~# dd if=/dev/zero of=testfile bs=1G count=5
    5+0 records in
    5+0 records out
    5368709120 bytes (5.4 GB) copied, 3.55576 s, 1.5 GB/s


    Das ist ne KVM mit 2 Cores, 4GB RAM und einer 60GB qcow2 Platte.


    Siehste? Nicht wirklich vergleichbar.

  • Oh, ich hatte schon tatsächlich angenommen, dass auch deine darauf laufenden VM´s davon profitieren werden, auch wenn die virtuelle Platte eventuell mit ext4 formatiert wurde.

  • Da ich keine extra SSD nutze geschweige den überhaupt keine SSD habe, hab ich mich wirklich damit befasst aber in der best practise von dir steht unter ZIL bzw external Log Device das es richtig unpraktisch ist wenn dir das um die Ohren fliegt entweder ist dein Pool komplett hin oder die aktuellen schreib operationen sind komplett verloren. Wenn man es als Host nativ hat nicht so schlimm(doch sehr schlimm..) aber wenn man iSCSI nutzt fatal weil das OS es nicht bekommt durch die ZVOL Platte das die Schreiboperation gefailt ist. Würde das in deinem Fall normal lassen da wird die ZIL über Blöcke verteilt auf dein z-Raid geschrieben was ich ehrlich gesagt besser finde und aussreichend. Sonst musst du mirrored SSDs (recommend) nutzen wenn du das unbedingt möchtest hängt halt davon ab ob du viel sync schreibst dann lohnt sich dass, sonst ist es nur nice to have was bedeuet zu viel Geld haben(Klar zwei 80er Intel SSDs wären nicht so teuer aber ja...). Wenn es failen sollte geht er aber automatisch wieder in default mode und schreibt es über blöcke aufs z-Raid, meine Meinung wäre es bei default zu lassen.


    Hier der Abschnitt: ZFS Best Practices Guide - Siwiki


    In meinen Fall nutz ich wie gesagt nur Nexenta ist ein Storage optimiertes Solaris da klickst bissl oder halt auf der Shell und den Rest übernimmt Nexenta (Sicher weil keine Fehler somit enstehen), hab iSCSI mit zVOLs für VMWare im Einsatz die arbeiten zusammen und falls Fehler da sind hat ja ZFS sein selfhealing feature somit geringer Administrativer Aufwand für mich :) Allein die Performance auf den 15K Pool ist Astronomisch trotz Gigabit Verbindung schaff ich da durchschnitt Schreibgeschwindigkeiten von 450MBit :D Nearline SAS also 7,2K SAS Platten rate ich komplett ab die sind richtig Langsam trotz verbund.

  • Cache-Device != Log-Device die SSD kannst du schon drin lassen zum Cachen, ZIL wird ja als Seperates Device angegeben. Nur weil du SSD als Cache hast wird sich nicht Automatisch als ZIL mit verwendet! RAID-Controller reicht vollkommen um die SSDs anzusprechen wie gesagt RAID-0 Technik, ausser dein RAID-Controller ist voll belegt dann versteh ich es aber lass bitte die Finger von diesen SATA-Port extender die sind mehr Problem als Erweiterung (ausser du hast da gute Erfahrung) ;) Lieber nen zweiten RAID Controller wenn der Hops geht bei ZFS eigentlich kein Großes Thema da ja nur die Platte durch gereicht wird.

  • Ich hab beim Wechsel zu ZFS den Raid Controller ausgebaut und nutze die Mainboard Ports.


    Schon klar dass das zwei Paar Schuhe sind. ;) Der Lesecache bringt mir leider nichts spürbares. Wahrscheinlich sorgt meine Maschine nicht für genug Last...


    Dementsprechend lasse ich den Cache jetzt erstmal ganz weg und schaue mal was passiert.

  • Ah okay verstehe joa das geht auch so mit RAID-Controller würdest du halt noch den Cache des Controllers nutzen :)


    Du musst beachten das der Cache eine weile drin sein muss, weil du einen Großen Teil ja im RAM/Platten hast und ZFS sucht mit der Zeit die Blöcke raus die oft aufgerufen werden und verschiebt sie auf die SSD, deswegen darfst du nicht so "voreilig" sein :P Ohne Cache sollte nicht besonders viel passieren, würdest halt mit der SSD auf Zeit gesehen schon merken das einige Dinge flotter verfügbar sind meine Erfahrung zumindest wenn bei mir Blöcke es in den RAM geschafft haben. Was in deinem Fall die sinnvollste Optimierung wäre das du einen RAM Cache limitierst also wie viel ZFS bekommt. Nicht das irgendwann kein RAM mehr da ist für VMs oder Wirt ;)

  • Ah okay verstehe joa das geht auch so mit RAID-Controller würdest du halt noch den Cache des Controllers nutzen :)


    Du musst beachten das der Cache eine weile drin sein muss, weil du einen Großen Teil ja im RAM/Platten hast und ZFS sucht mit der Zeit die Blöcke raus die oft aufgerufen werden und verschiebt sie auf die SSD, deswegen darfst du nicht so "voreilig" sein :P ...


    Hallo Skulduggery,


    trifft dieses von dir beschriebene Verhalten auch auf das Dateisystem ext4 zu?


    Gruß
    Andreas

  • Wenn du mir dein Szenario Schilderst kann ich dir das sagen, bzw auf was du beim Zitieren genau bezug nimmst. :)


    Ich habe eher Bezug auf den RAID-Controler und dessen Nutzung des eigenen RAM´s als Cache gemeint.


    Mein Szenario klingt ein bisschen abgefahren und eventuell blöd und macht man normalerweise auch nicht:
    Ich möchte gern einen schon vorhandenen Adaptec-RAID-Controller mit eigenem RAM von 1024 MB (Adaptec RAID 71605Q mit Flash-Modul und 2 GB NAND-Flash-Speicher-Platine) nur als erweiterten Festplatten-Cache nutzen, um zwei Festplatten (Western Digital WD30EFRX) darüber in Software-RAID 1 nutzen zu können, da der Prozessor des PC´s weitaus leistungsfähiger ist als der Prozessor auf dem RAID-Controller.


    Von der Theorie her müßten dann die Daten wie folgt auf die Festplatten gespiegelt geschrieben werden:
    Vom PC-RAM zum Controller-RAM (Cache), danach zum Festplatten-Cache und dann auf die beiden Festplatten gespiegelt als Software-RAID 1.

  • Seit wann ist der write-cache der Platten aktiviert wenn man RAID hat? :O Zu mal dein RAID-Controller in Sachen RAID definitv effizienter als dein Prozessor sein wird. Software-RAID hat den Vorteil das du keine Hardwareabhängigkeit hast, belastet aber auch deinen Prozessor was ein Nachteil ist, das stecken aber heutige Prozessoren locker weg.


    In deinem Fall ist es ehr so das die Daten aus dem RAM dem Controller übergeben werden und er schreibt direkt auf die Platten. Da ist nichts mit Festplatten-Cache der würde dein RAID unerträglich langsam machen deswegen hat der RAID-Controller ja einem Cache :) Meine Frage wäre ehr für was du ein Software-RAID1 brauchst weil du nur Datensicherheit hast aber kein Geschwindigkeitszuwachs.


    Edit: Hab mir den Controller gerade angeschaut du möchtest einen 16-Port RAID-Controller für +1000€ betreiben um 2 Festplatten durch zu reichen und ein Software-RAID dazu machen? Kewl!

  • ... Zu mal dein RAID-Controller in Sachen RAID definitv effizienter als dein Prozessor sein wird.


    Wenn ich dich richtig verstehe, meinst du damit eventuell eher den Algorithmus, mit dem der Controller das RAID, z.B. RAID 1, aufbaut oder?


    Zitat

    Meine Frage wäre ehr für was du ein Software-RAID1 brauchst weil du nur Datensicherheit hast aber kein Geschwindigkeitszuwachs.


    Hier dachte ich, dass was mir das RAID 1 an IO-Schreibrate zu Nichte macht, der großzügige RAM des RAID-Controllers wieder rausholen wird. Von der Theorie her müßte es doch so auch kompensiert werden können oder?


    Zitat

    Hab mir den Controller gerade angeschaut du möchtest einen 16-Port RAID-Controller für +1000€ betreiben um 2 Festplatten durch zu reichen und ein Software-RAID dazu machen?


    Ja, so ist derzeit mein Plan. Denn aufgrund, dass es kein Server ist, in dem der Controller eingebaut werden soll, sondern ein sehr laufruhiger PC, sollen an diesem Controller vorerst auch nur zwei langsame und sehr laufruhige Platten dran. Nachher eventuell auch noch SSD´s, da diese lautlos sind.

  • Schätzchen bei einem RAID geht es darum mehrere Platten in einem Verbund zu betreiben, dabei weden die Blöcke verteilt auf alle Platten geschrieben dazu muss immer die Parität berechnet werden. Dann kommt der Fall des Rebuilds der würde deinen Prozessor in die Knie ziehen, wenn du nebenbei andere Sachen betreibst.


    Bei RAID-1 hast du kein Verlust und kein Gewinn, die Daten werden zwei mal geschrieben auf jeder Platte liegt der selbe Datensatz vor.


    Schreib mir mal eine PN zu deinem System da muss es eine bessere Lösung geben...

  • Schreib mir mal eine PN zu deinem System da muss es eine bessere Lösung geben...


    Vielen Dank für dein Angebot.


    Ah okay verstehe joa das geht auch so mit RAID-Controller würdest du halt noch den Cache des Controllers nutzen :)


    Du musst beachten das der Cache eine weile drin sein muss, weil du einen Großen Teil ja im RAM/Platten hast und ZFS sucht mit der Zeit die Blöcke raus die oft aufgerufen werden und verschiebt sie auf die SSD, deswegen darfst du nicht so "voreilig" sein :P


    Aber meine Anfangsfrage war eigentlich: Trifft dieses von dir beschriebene Verhalten auch auf das Dateisystem ext4 zu?

  • Die Konkurrenz versucht das offenbar schon jetzt zu unterbieten, auf den ersten Blick halt nur: ab 0,xx € täglich :D


    Naja, dass gibt es doch schon recht langen und ist auch nichts Neues mehr. Denn ein kleiner Premium-Provider, der vor ein paar Jahren wiederum durch einen sehr großen Premium-Provider geschluckt wurde und dessen Rechenzentrum nun in Frankreich ist, bietet seinen kleinsten vServer, der sehr flexibel hoch und wieder runter skalierbar ist, schon für 0,02 Euro(*) an.




    __________________
    (*) Betrag pro Stunde

  • Falls wir vom gleichen Anbieter reden: Das ist doch was anderes, der wird ja auch wirklich nur pro Stunde abgerechnet und ist sofort löschbar bzw. neu anlegbar! ;)

    "Wer nur noch Enten sieht, hat die Kontrolle über seine Server verloren." (Netzentenfund)