iSCSI für Datenbanken, gute Idee


7

Ist es eine gute Idee, eine Transaktionsdatenbank auf einem Server auszuführen, der iSCSI verwendet?

Das Hauptargument ist, dass zwei Server auf dasselbe Festplattenarray zugreifen können. Wenn also ein Server ausfällt, kann der andere die Arbeit erledigen.

Ich habe also einen Server in einem kalten Standby-Modus. Ist dieses Setup wirklich sicherer als Festplatten und Server auf demselben Computer?

Dies würde bedeuten, dass iSCSI-Maschinen nicht so leicht kaputt gehen wie ein Server.

Ein weiterer Punkt ist die WAL, die bei Verzögerungen des Netzwerks negativ beeinflusst werden kann. Irgendwelche Erfahrungen?

Ich freue mich, Ihre Meinung zu diesem Thema zu hören.

Antworten:


9

Ihre Frage muss in zwei Teile unterteilt werden: interner und externer Speicher und iSCSI und die Alternativen (FC, FCoE, NFS). Ich habe Erfahrung mit großen Unternehmenskunden, auf denen hauptsächlich Oracle ausgeführt wird. Dies gilt möglicherweise nicht für kleinere Umgebungen oder andere Datenbanken. Meiner Meinung nach ist der externe Speicher sehr wertvoll. iSCSI ist eine Option, um dies bereitzustellen, aber es ist nicht so ausgereift wie einige der Alternativen.

Interner oder externer Speicher

Externer Speicher, der im Allgemeinen in einem Festplattenarray bereitgestellt und über ein Speicherbereichsnetzwerk (SAN) bereitgestellt wird, bietet eine Reihe von Vorteilen:

  • Schnelle Leistung, häufig mit hardwarebeschleunigtem RAID und großen batteriegepufferten Caches.
  • Einfach zu skalierende Volumes, um mehr Festplatten für Leistung und Kapazität zu verwenden.
  • Zentraler Zugriff auf Speicherressourcen, um Silos verschwendeter Ressourcen zu vermeiden.
  • Kann Speicher für Hochleistungs- oder Hochverfügbarkeitscluster (z. B. Oracle RAC) gemeinsam nutzen.
  • Möglicherweise sind Funktionen zum Erstellen von Snapshots und zum Replizieren von Daten an Remotestandorten enthalten.
  • Kann mit anständigen Analysetools geliefert werden, um die Leistung zu verfolgen.

Die Hauptnachteile des externen Speichers sind die Komplexität und die Kosten für die Einrichtung und Wartung des Speicherbereichsnetzwerks und der Speicherarrays.

iSCSI vs Alternativen

Fibre Channel ist derzeit der Standardmechanismus für den Zugriff auf externen Speicher für Datenbanken. Es ist üblich, SAS (Serial-Attached-SCSI) für weniger kritische Daten zu verwenden, eher als Erweiterung der internen Festplatte als als Festplatte in einem SAN. Der entscheidende Punkt bei diesen Technologien ist, dass sie in dedizierten Speichernetzwerken ausgeführt werden.

Neuere Alternativen wie FCoE und iSCSI bieten effektiv dasselbe Protokoll wie FC und SAS, außer dass sie über Ethernet ausgeführt werden und daher dieselbe Infrastruktur verwenden können, die für Host-zu-Host-Netzwerke verwendet wird. Die Idee ist, dass Unternehmen durch die Konvergenz über Ethernet die Kosten und die Komplexität eines externen Speichers reduzieren können. Es gibt jedoch immer noch Fragen, ob Ethernet als Transportmittel die Geschwindigkeit und Zuverlässigkeit der dedizierten Technologien bietet.

NFS ist ein Protokoll auf Dateiebene, das auch über Ethernet ausgeführt wird. In der Vergangenheit wurde davon ausgegangen, dass es zu viel Overhead für Datenbanken gibt, aber mit Hardware-Offloading in neueren Netzwerkadaptern, besseren Netzwerkstapeln des Betriebssystems und direkter Unterstützung durch die Datenbank (z. B. die Direct NFS-Funktion in Oracle) ist dies auch eine praktikable Option für einige Unternehmen. NFS ist besonders nützlich, da es den Verwaltungsaufwand für die Größenänderung von Volumes reduziert und auch zum Modell des virtualisierten Speichers wie EMC VNX und Oracle ZFS Storage passt.


Okay, ich spreche auch über Orakel. Ich habe nicht das Geld für die Enterprise Edition, um die echte Replikation auf WAL-Ebene zu verwenden (ich denke, sie nennen das Data Guard). Aber mit der normalen Edition erhalten Sie dieses RAC-Zeug "kostenlos". Der beste Weg ist also, einen wirklich sicheren San und zwei schnelle Server zu kaufen? Irgendwie bin ich nicht davon überzeugt, dass dies sicher ist. Zwei Gebäude, zwei unabhängige Server scheinen besser zu sein. Wissen Sie, ob Sie beide Server mit rac in der Standard-One-Edition gleichzeitig verwenden können? Oder braucht das zwei Lizenzen?
Franz Kafka

Wir sind ein Oracle-Shop und nach unserem Verständnis ist RAC nicht unter der SEO-Lizenz verfügbar.
Keith Stokes

@Franz: RAC soll vor Serverausfällen schützen und horizontale Skalierung ermöglichen - nicht um Ihre Daten zu schützen. Es gibt keinen Ersatz für eine Remote-Kopie Ihrer Daten, vorzugsweise mit der Möglichkeit, Änderungen (Snapshots oder verzögerte Anwendung von Protokollen) zurückzusetzen. Data Guard ist der Goldstandard, aber teuer. Ich habe gesehen, dass einige Leute ihren eigenen Protokollversand rollen, einige Array-basierte Replikation + Snapshots verwenden, andere die Replikation logischer Volumes verwenden. Eine neue Alternative ist Delphix - ich habe es nie benutzt, aber ich respektiere das technische Team.
Tom Shaw

4

Meiner Meinung nach ist iSCSI für einen Speichernetzwerktransport weniger stabil als Fibre Channel oder Fibre Channel over Ethernet. Vorausgesetzt, Sie haben die erforderlichen Optimierungen vorgenommen, sollte es funktionieren. Es funktioniert am besten, wenn die iSCSI-Verbindung über ein dediziertes Ethernet erfolgt und kein Nicht-iSCSI-Verkehr darauf stört. ISCSI-Initiatoren sind im Laufe der Jahre besser geworden und unterstützen jetzt sogar Multipathing, wenn Sie dorthin wollen.

Was das Ausführen einer Transaktionsdatenbank über iSCSI betrifft, habe ich meine Zweifel. Ein Cold-Standby-Server sollte in der Lage sein, dort weiterzumachen, wo der Hot-Server aufgehört hat, vorausgesetzt, er hat die Datenbankdateien in einem wiederherstellbaren Zustand belassen. Der einzige Anwendungsfall, in dem die dedizierten Speichertransportnetzwerke wirklich glänzen, ist der Anwendungsfall "Viele kleine Transaktionen".

Am Ende wird es meiner Einschätzung nach funktionieren, kann aber katastrophal häufiger ausfallen als die Verwendung von FC oder FCoE.


Es ist ein langer Weg ...
SpacemanSpiff

2
Meiner Meinung nach kann iSCSI bei richtiger Implementierung genauso stabil wie Glasfaser sein. Glasfaserbereitstellungen zwingen Sie fast zu einem guten Design, bei dem die Flexibilität von iSCSI es Ihnen ermöglicht, es schlecht zu machen, wenn Sie Ihre Hausaufgaben nicht machen.
icky3000

1
@ icky3000: Ich habe nichts gegen iSCSI, aber das Problem ist, dass Sie viel von der versprochenen Einfachheit verloren haben, als Sie alle dedizierten Ethernet-Bits installiert und konfiguriert haben, damit sie schnell und zuverlässig genug für die Speicherung sind und Einsparungen! Die Tatsache, dass jeder Joe es aufnehmen und verwenden kann, bedeutet, dass es immer beliebter wird, aber die durchschnittliche Installation wird weniger zuverlässig sein, bis die Anbieter es kinderleicht machen.
Tom Shaw

@ Tom Shaw: Ich verstehe Ihren Standpunkt, aber bei Best Practices für iSCSI geht es eher um einfache Entwurfsschritte, die nicht wirklich so viel Geld kosten. Ich glaube nicht, dass Sie feststellen werden, dass es die Kosten für Fasern erreicht, selbst wenn es wirklich gut gemacht wird.
icky3000

3

Sie haben ein paar verschiedene Fragen aufgeworfen. Kann iSCSI für eine Transaktionsdatenbank gut funktionieren? Ja absolut. Aber es ist ein qualifiziertes Ja. In den meisten Implementierungen erzielen Sie mit Glasfaser eine bessere Leistung. Sie müssen Ihre E / A-Anforderungen verstehen, um festzustellen, ob Sie diese Leistung tatsächlich benötigen. Wenn nicht, ist iSCSI möglicherweise perfekt. Was jedoch passiert, ist, dass die Leute manchmal sehen, wie einfach iSCSI zu implementieren ist, und es einfach einführen, ohne viel über das Design nachzudenken. Best Practices für iSCSI sind bei Google leicht zu finden. Sie sollten sich jedoch Gedanken darüber machen, wie Sie diesen Datenverkehr von anderem Datenverkehr trennen (dedizierte Switches oder VLANs), wie Sie Jumbo-Frames implementieren können, ob Sie MCS oder MPIO verwenden ( Ihr Verkäufer wird dies wahrscheinlich für Sie diktieren.

Das zweite Problem ist, wie Sie Redundanz für Ihre Datenbank (en) entwerfen. Ja, es stimmt, wenn der Primärserver ausfällt, können Sie diese Festplatten einer anderen Box zuweisen, aber ich würde mich nicht darauf als meine HA-Lösung verlassen, da Sie nicht garantiert sind, dass der sterbende Primärserver diese Datenbanken in gutem Zustand hinterlassen hat. Es gibt viele Möglichkeiten, HA durchzuführen, und die meisten funktionieren gut mit iSCSI, aber Sie müssen noch etwas darüber nachdenken.


2

Wir verwenden seit Jahren iSCSI-zu-extern-Speicher in unserer Oracle-Transaktionsdatenbankumgebung ohne Probleme und mit hervorragender Leistung. Die iSCSI-Komponente ist jedoch nicht Teil unseres Redundanzplans. Wir sprechen das an, wie andere gezeigt haben. Aus den ebenfalls genannten Gründen migrieren wir mithilfe von DNFS von Oracle auf NFS-basierten Speicher. Mit 11gR1 haben wir einige Probleme gesehen, die in 11gR2 nicht vorhanden zu sein scheinen. Wir haben noch nicht genügend Benutzer, um zu sehen, wie die Leistung wirklich funktioniert. Das passiert wahrscheinlich in den nächsten Wochen.


1

Ihr Plan ist ernsthaft fehlerhaft, da die Leistung bei Verwendung von iSCSI deutlich schlechter ist als bei lokalen Laufwerken. Darüber hinaus gibt es bessere Schemata als einen kalten Standby-Modus für den Zugriff auf dieselben Laufwerke, was auch dazu führt, dass der einzelne Fehlerpunkt der unzuverlässigste Teil ist - die Laufwerke.

Ich schlage vor, Sie verwenden einen konventionelleren Ansatz, der gut getestet wurde und nachweislich funktioniert. Verwenden Sie lokale Festplatten auf beiden Computern und verwenden Sie die Master / Slave- oder Master / Master-Replikation, um Ihre Redundanz bereitzustellen.


Ich stimme mit allem außer Ihrem ersten Satz überein. Zwar wäre der lokale Speicher schneller, aber es ist nicht unbedingt richtig, dass das Poster diese Leistung benötigt. Er muss seine E / A-Anforderungen verstehen, bevor er in eine Speicherlösung eintaucht, kann jedoch feststellen, dass iSCSI diese Anforderungen sehr leicht erfüllen kann. Oder nicht.
icky3000

Lokale Laufwerke funktionieren nicht überall. Ich habe Clients, bei denen aufgrund der mangelnden Skalierbarkeit und des fehlenden batteriegepufferten Caches extreme Leistungsprobleme und Kapazitätseinschränkungen auftreten würden, wenn sie auf die interne Festplatte beschränkt wären.
Tom Shaw

@ Tom Shaw: Sie können lokale RAID-Controller mit einer BBU für den Cache erhalten.
Sven

@SvenW: Gültiger Punkt - auch SSDs können jetzt auch einen Teil dieser Rolle übernehmen. Die anderen Vorteile des externen Speichers bleiben jedoch bestehen.
Tom Shaw

@ Tom Shaw: Einverstanden, dass externer Speicher große Vorteile bietet, insbesondere in größeren Umgebungen, in denen Sie viel davon benötigen. Ich würde lieber ein großes System verwalten als 50 kleine.
icky3000

1

Es gibt viele SAS-Festplatten-Arrays, die eine Verbindung mit mehreren Servern ermöglichen. Beispielsweise können Dell MD32x0-Arrays, wenn sie mit zwei Controllern konfiguriert sind, mit bis zu vier Servern mit zwei redundanten Verbindungen pro Server arbeiten ( http://www.dell.com/downloads/global/products/pvaul/en/powervault-md3200) -md3220-Transition-Guide.pdf ).

Wenn Sie keine spezielle Notwendigkeit zum Erstellen einer SAN-Umgebung haben, noch nie zuvor SANs verwendet haben und nur ein Aktiv / Standby-Failover wünschen, ist dies eine einfachere, einfachere und billigere Lösung.

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.