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.
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.
quelle
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.
quelle
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.
quelle
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.
quelle
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.
quelle