Empfehlungen: Konfigurieren eines 10-GbE-NAS-Stacks für den Virtualisierungsspeicher

7

Ich werde mich bemühen, dies so zu formulieren, dass es nicht als Einkaufsliste gilt.

Wir führen seit einiger Zeit erfolgreich eine Entwicklungs- / Test-ESXi-Umgebung mit einigen Dell PE2950III-Servern über ein HP MSA2012fc Starter Kit (mit dem Brocade-basierten HP Class B SAN-Switch) aus. Dies hat bei uns sehr gut funktioniert, aber da wir uns in der Entwicklung / im Test befinden, gibt es verschiedene Einschränkungen hinsichtlich der Verfügbarkeit / Leistung.

In jedem Fall hat der wahrgenommene Erfolg der Entwicklungs- / Testplattform dazu geführt, dass eine „produktionsbereite“ Virtualisierungsplattform gefordert wurde. Wir arbeiten derzeit an den Empfehlungen.

Eine der Beschwerden auf dem vorhandenen Stack ist jedoch die mangelnde Unterstützung für andere Virtualisierungstechnologien (HyperV, Xen usw.), da die SAN-LUNs vollständig zugewiesen und als VMFS formatiert sind. Dies ist etwas, das wir überwinden sollen, aber wie es typisch ist, gibt es keinen Hinweis auf die Aufnahme von HyperV / Xen (und wir möchten die "teure" Speicherressource nicht besonders verschwenden, indem wir LUNs dort zuweisen, wo sie vorhanden sind wird nicht verwendet).

Daher besteht unsere derzeitige Denkweise darin, auf das herkömmliche Glasfaser-SAN zugunsten einer einfachen CentOS-Box (wahrscheinlich HP ProLiant DL380p Gen8 der höheren Preisklasse) zu verzichten, auf der NFS- und Samba / CIFS-Dämonen mit einem 10-GbE-Switch (wahrscheinlich) ausgeführt werden Cisco Nexus 5000/5500-Serie).

Die Argumentation ist, dass die ESXi-Köpfe NFS und die HyperV-Köpfe CIFS sprechen könnten, aber beide letztendlich auf die gleichen XFS / RAID1 + 0-Volumes verweisen.

Jetzt bin ich nicht grün genug, um zu glauben, dass ich mit 10 GbE einen echten 10-Gigabit-E / A-Durchsatz zwischen den Köpfen und den Festplatten erzielen kann, aber ich weiß nicht, von welchen Overheads ich erwarten kann die NFS- und CIFS-Implementierungen (und alle anderen Bits, die möglicherweise stören, wenn mehr als ein Host versucht, mit ihm zu kommunizieren).

Ich bin die Hoffnung, zumindest get in der Nähe von der anhaltenden Platte Lese- / Schreibgeschwindigkeiten von Direct-Attached - Platten, aber für so viele Hosts wie ich kann. Wenn ich mir die Websites verschiedener Laufwerkshersteller anschaue, gehe ich davon aus, dass dies irgendwo um die 140-160 MB / s-Marke liegt (wenn ich weit weg bin, lassen Sie es mich bitte wissen).

Was Empfehlungen / Richtlinien / weiterführende Literatur kann jemand Angebot in Bezug auf Linux / NFS / Samba oder 10GbE - Switch - Konfiguration , dass könnte diese Hilfe erlangen?

jimbobmcgee
quelle
Sie gehen die richtige Linie mit der NFS-Seite der Dinge. Ich muss wissen, wie viele Spindeln Sie betrachten.
Tom O'Connor
1
Ich werde einige Zahlen und Beispiele zusammenstellen ....
ewwhite
Können Sie auch die Mängel des MSA / P2000-SAN in Ihrer Situation erklären?
ewwhite
@ TomO'Connor - Gedanken waren entweder , mit (HP-spezifisch) einem DL380p mit 8 Festplatten (auf dem internen P420i-RAID) zu beginnen, bei Bedarf auf 8 weitere zu erweitern (über eine P420-Karte + Laufwerkskäfig) und dann auf 25- Disk D2000 Arrays (über P421- oder P800-Karten) oder um mit dem CTO 25-Disk HP DL380p-Gehäuse (P420i + SAS Expander) zu beginnen und auf D2000 Arrays (von P421 / P800) zu erweitern
jimbobmcgee
@ewwhite - war bisher sehr zufrieden mit unseren MSA- und P2000-Modellen. Der Wunsch, auf NAS umzusteigen, beruht auf den Tatsachen, dass ich keine Möglichkeit finden kann, es ohne eine dedizierte LUN auf HyperV auszudehnen (und dass wir nicht möchten , dass eine ganze LUN für wahrscheinlich ein oder zwei HyperV zugewiesen wird VMs), noch kann ich den SAN-Switch verwenden, um IP zu "sprechen". Offen für andere Ideen, wenn Sie das nicht gemeint haben ...
jimbobmcgee

Antworten:

9

Ich verstehe den Wunsch, vom reinen Blockspeicher zu etwas Flexiblerem überzugehen.

Ich würde jedoch vermeiden, dafür einen direkten Linux-Speicherstapel zu verwenden, wenn derzeit mehrere Software-Angebote für Speichergeräte verfügbar sind. Ein Linux-Ansatz könnte funktionieren, aber der Mangel an Verwaltungsfunktionen / -unterstützung, die erforderliche XFS-Optimierung ( hier und hier ) und die Tatsache, dass es sich nicht um ein speziell entwickeltes Speicherbetriebssystem handelt, sind Nachteile.

Hinzu kommen einige unangenehme Probleme mit dem XFS / RHEL-Code-Betreuer und ein böser Kernel-Fehler, der sich auf den Durchschnitt der Systemlast auswirkt, und die von Ihnen beschriebene Linux-Kombination wird weniger ansprechend.

Ein reines Linux könnte für diesen Zweck gut funktionieren, aber das Setup würde sicherlich außerhalb der Norm liegen und möglicherweise esoterische Lösungen wie ZFS unter Linux oder das nicht so bereit für die Primetime bereitgestellte Btrfs verwenden . Mehr dazu später.

Ich mache dies häufig und entscheide mich für NFS auf ZFS-basiertem Speicher für die meisten meiner VMware-Bereitstellungen im Vergleich zu einem SAN der Einstiegsklasse wie dem HP P2000-Array. Ich erweitere die ZFS-Installation mit SSD- und DRAM-Cache-Geräten mit L2ARC (Lesen) und ZIL (Schreiben). Außerdem verwende ich seit vier Jahren 10 GbE mit dieser Art von Setup.

Ich werde mich im Moment auf NexentaStor konzentrieren , da dies die Appliance-Software ist, die ich die meiste Zeit benutze ...

Ich habe zahlreiche HP ProLiant-basierte Systeme für ZFS-Speicher erstellt, von All-in-One-VMware-Hosts über eigenständige DL380-Speicher- "Appliances" bis hin zu vollständigen Mehrweg -SAS-Verbindungen zu kaskadierten Speicher-JBOD-Einheiten ( vorne und hinten ).

NexentaStor und NFS / CIFS.

Nexenta unterstützt die Präsentation von Datei- UND Blockspeicher für externe Systeme. Ich kann einen Pool von 24 Festplatten verwenden und Hosts, die nativen Blockspeicher benötigen, iSCSI-Speicher, NFS für meine VMware ESXi-Infrastruktur und CIFS für eine Handvoll Windows-Clients bereitstellen. Der Raum wird effizient genutzt und aus dem Speicher des Pools herausgeschnitten. ZB keine künstlichen Kappen. Die Komprimierung ist transparent und hilft in VM-Szenarien enorm (weniger, um sich über das Kabel zu bewegen).

10 GbE hilft, hängt jedoch davon ab, was Sie Ihren Virtualisierungshosts präsentieren. Werden sie auch 1 GbE oder 10 GbE sein?

Benchmarks:

Ich werde einen kurzen Test einer virtuellen Gastmaschine ausführen, die auf einem ESXi-Host ausgeführt wird, der über 10 GbE mit einem NexentaStor-SAN verbunden ist.

Dies geht zu einem 6-Platten-Array. (in einem HP D2600-Gehäuse - 600 GB 15 KB SAS)

[root@Test_VM /data]# iozone -t1 -i0 -i1 -i2 -r1m -s6g 
        Iozone: Performance Test of File I/O

        Run began: Mon Feb 11 18:25:14 2013
        Record Size 1024 KB
        File size set to 6291456 KB
        Command line used: iozone -t1 -i0 -i1 -i2 -r1m -s6g
        Output is in Kbytes/sec

        Children see throughput for  1 initial writers  =  128225.65 KB/sec
        Children see throughput for  1 readers          =  343696.31 KB/sec 
        Children see throughput for 1 random readers    =  239020.91 KB/sec
        Children see throughput for 1 random writers    =  160520.39 KB/sec

Dies geht an ein ausgelastetes 16-Festplatten-Array (in einem HP D2700-Gehäuse - 300 GB 10k SAS).

[root@Test_VM2 /data]# iozone -t1 -i0 -i1 -i2  -r1m -s4g
        Iozone: Performance Test of File I/O

        Run began: Mon Feb 11 16:33:53 2013
        Record Size 1024 KB
        File size set to 4194304 KB
        Command line used: iozone -t1 -i0 -i1 -i2 -r1m -s4g
        Output is in Kbytes/sec

        Children see throughput for  1 initial writers  =  172846.52 KB/sec
        Children see throughput for  1 readers          =  366484.00 KB/sec
        Children see throughput for 1 random readers    =  261205.91 KB/sec
        Children see throughput for 1 random writers    =  152305.39 KB/sec

Die E / A-Diagramme aus demselben Lauf ... Kilobyte / Sekunde und IOPS-Messungen.

Geben Sie hier die Bildbeschreibung ein

ewwhite
quelle
Einige detaillierte Sachen hier - sehr geschätzt. Es sieht so aus, als ob Sie (zumindest in Ihrem Setup) dem nahe kommen, was ich vermutet / gehofft habe, dass ich in der Lage sein könnte, es zu erreichen. Ich werde noch ein wenig Zeit damit verbringen , zu entziffern , was die Ausgabe Ihrer Werkzeuge sagen uns, wenn auch (zB Initialen, Brenner, etc. sind neu für mich) ...
jimbobmcgee
Ich bearbeite noch ... werde es ip bereinigen ...
ewwhite
In der Zwischenzeit werde ich hier hinzufügen, dass ich nicht mit Linux verbunden bin , obwohl ich kurz auf OpenFiler geschaut habe (zumindest, damit ich meinen eigenen nicht vollständig gerollt habe). Ich kann jedoch auf der Nexenta-Website nicht viel über die Preisgestaltung sehen (was normalerweise "zu teuer für mich!" Bedeutet) - die Kosten sind definitiv ein Faktor für mein Los.
jimbobmcgee
Und ich bin auch nicht mit XFS verbunden - es sah einfach gut für große Datendateien aus. ZFS war meine andere Option (ich habe anekdotisch gehört, dass es das Beste für diese Art von Dingen ist), aber ich war ein wenig abgeschreckt von der sofort einsatzbereiten Unterstützung unter Linux (oder deren Fehlen) und ein wenig besorgt über das Oracle. Eigentum'. Ich dachte nur, dass entweder sicherlich angemessener wäre als EXT oder NTFS (obwohl meine Erfahrung mit diesen ist).
jimbobmcgee
Würde mich interessieren zu verstehen, wie Sie die SSDs tatsächlich verwenden. Außerhalb der Flash-Backed-Caches, die mit den RAID-Karten
geliefert
3

Die Verwendung eines Linux-Hosts, der CIFS-Speicher für Hyper-V-Hosts bereitstellt, ist nicht sinnvoll und wird von Microsoft definitiv nicht unterstützt. Wenn Sie über etwas so Wichtiges wie Virtualisierung für geschäftskritische Infrastrukturen sprechen, möchten Sie auf jeden Fall Unterstützung von Anbietern.

Sie müssen Ihren Hyper-V-Servern entweder traditionelleren iSCSI- oder Fibre Channel-Speicher bereitstellen, oder wenn Sie Windows 2012 ausführen möchten, können Sie Windows 2012-Speicherdienste verwenden, um Ihren Hosts iSCSI bereitzustellen.

Eine andere Möglichkeit besteht darin, Windows 2012 oder etwas Ähnliches wie Nexenta als virtuellen Gast in Ihrer VMWare-Infrastruktur auszuführen, um Ihren Hyper-V-Gästen iSCSI bereitzustellen. Es ist nicht die leistungsstärkste Konfiguration, aber es ist auch nicht schlecht. Da Ihr Hyper-V-Footprint klein bis nicht vorhanden ist, kann dies ein guter Kompromiss für maximale Flexibilität ohne dedizierte LUN sein.

Andernfalls müssen Sie sich für etwas entscheiden, das Ihre LUNs vollständig virtualisiert hat, wie z. B. ein HP LeftHand SAN. Mit LeftHand sind Festplatten keiner LUN zugeordnet. Stattdessen werden alle LUNs auf alle Festplatten verteilt. Es klingt ein bisschen seltsam, aber es ist ein gutes Produkt.

langer Hals
quelle
Absolut anerkannt und geschätzt. Soweit ich weiß, ist das HyperV-Ding nicht eindeutig (oder sogar wahrscheinlich), aber den Mächten, die nicht gerne gesagt werden, dass wir etwas nicht tun können (Sie wissen, wie es ist). Ich gehe davon aus, dass jedes darauf basierende HyperV-Angebot eher eine zweite Stufe der "Test" - als eine echte "DEITY" -Produktion darstellt, und werde jeden Vorschlag, der sich auf HyperV konzentriert, mit der Nichtverfügbarkeit formeller Unterstützung (nicht der) einschränken das hat sie vorher gestoppt - schließlich bin ich dafür !!)
jimbobmcgee
Siehe meine Bearbeitung mit zusätzlichen Vorschlägen.
Longneck
2

Es ist wahrscheinlich teilweise mein Hintergrund und meine Erfahrung, hier zu sprechen, aber ich würde keine selbstgebraute Serverlösung für die Speicherung virtueller Maschinen in einer "Produktions" - oder "Unternehmens" -Umgebung empfehlen.

Ich würde mir die gängigen Speicheranbieter ansehen, die eine SAN-Lösung anbieten könnten, aber mit zwei hochverfügbaren NAS-Köpfen, um das zugrunde liegende Dateisystem auf unterstützte, zertifizierbare Weise als NFS / CIFS zu exportieren.

Tom O'Connor
quelle
Beziehen Sie die angeblich "Enterprise" -Server- / Festplattenangebote von HP in Ihre Definition von "Home-Brew" ein? Ich habe nicht die Absicht, Teile zu einem Fall ohne Markenzeichen zusammenzuschustern und es als NAS zu bezeichnen, aber ich weiß zu schätzen, dass ich auch hier nicht alle EMV-
Maßnahmen ergreifen werde
Und hätte ich nicht immer noch das Problem, die VM-Hosts dazu zu bringen, auf zweckmäßige Weise mit den NAS-Köpfen zu sprechen?
jimbobmcgee
Wenn es sich nicht um eine Appliance handelt, auf der ein Speicherserver ausgeführt wird, handelt es sich nur um eine Box mit Festplatten, auf denen Linux ausgeführt wird. Und es liegt ganz bei Ihnen, dies zu beheben.
Tom O'Connor