Oracle auf NetApp, Teil I:
Einsatz von NFS aus Gründen der Einfachheit und Managebarkeit
von Sanjay Gulabani, Darrell Suggs, Steve Daniel und Vasu Subbiah
Dies ist der erste Teil einer dreiteiligen Serie über Oracle Storage-Architekturen. Nächsten Monat geht es darum, wie NetApp Storage für Oracle in FC-SAN-Umgebungen optimiert hat, und danach wird ein technischer Anwenderbericht mit Oracle auf NetApp unter Verwendung von NAS, iSCSI und FC SAN vorgestellt.
Es gibt keine einfache Lösung von der Stange, wenn es um den Entwurf eines Storage-Systems für Oracle geht. Performance, Verfügbarkeit und natürlich budgetäre Möglichkeiten variieren dramatisch. Die Wahl eines Storage-Protokolls ist möglicherweise eine der kritischsten Entscheidungen der meisten IT-Teams – auch wenn viele dies nicht als eine besondere Entscheidung betrachten.
Traditionell installieren IT-Teams blockbasierte Protokolle zur Unterstützung für Oracle Datenbanken und Applikationen, doch eine große Zahl von Unternehmen führt Oracle heute auf dem Network File System (NFS) aus. Viele dieser Organisationen - von kleinen IT-Abteilungen bis zu großen Fortune-100-Unternehmen, darunter Oracle selbst - nutzen Storage von Network Appliance. NetApp ist seit 1992 führend auf dem NFS-Markt und hat als erstes Unternehmen NFS mit Oracle eingesetzt und diese Verwendung damit legitimiert.
In diesem Artikel wird beschrieben, wie NetApp Engineering NFS zu einer stabilen Storage-Option für Oracle werden ließ. Hauptinvestitionen:
- Erweiterung der NFS-Implementierungen für Datenbanken
- Partnerschaften zur Gewährleistung der Hochverfügbarkeit
- Förderung von Industriestandards wie NFSv4
- Förderung neuer Technologien wie Oracle Direct NFS
- Entwicklung integrierter, Oracle-spezifischer Tools
- Definition von Best Practices für Oracle auf NFS
Zunächst soll untersucht werden, warum es überhaupt sinnvoll ist, eine Oracle Storage-Architektur auf der Basis von NFS zu entwerfen.
Warum NetApp NFS für Oracle?
Oracle auf NetApp NFS bietet dem Benutzer eine einfach zu managende und flexible Infrastruktur, in der eine große Zahl von Datenbankinstanzen ausgeführt werden können. Ethernet-basiertes NFS erleichtert einfaches Provisioning, Management und Sharing und gibt den Administratoren die Flexibilität, Datenbank- und Storage-Ressourcen rasch zu verschieben und neu zuzuweisen. NFS-Implementierungen sind außerdem typischerweise kostengünstig, da sie keine speziellen Fibre Channel SAN-Kenntnisse oder Schulungen erfordern, IT-Teams kommen hier mit ihrem standardmäßigen Ethernet-Wissen aus.
Oracle auf NetApp NFS kann für den Einsatz in praktisch jeder Art von Oracle-Umgebung installiert werden - von Test/Entwicklungs-Umgebungen bis hin zu OLTP zur 24x7 Produktion (einschließlich ERP und kundenspezifische Applikationen). NetApp Kunden konnten feststellen, dass Oracle auf NetApp NFS nach entsprechender Konfiguration und Einstellung bei identischer Hardware und gleichen Testbedingungen 80 - 90% der Transaktionsleistung von Fibre Channel erbringt, und die NFS-Performance ist typischerweise vergleichbar mit iSCSI. NFS kann durch die Ergänzung von Hardware-Ressourcen denselben Grad an Performance erreichen wie FCP.
Der beobachtete Unterschied zu FCP resultiert primär aus den folgenden Faktoren:
- Die FCP-Protokollverarbeitung (oder iSCSI, wenn ein iSCSI HBA verwendet wird) wird von den System-CPUs auf den HBA ausgelagert. Da die gesamte NFS-Verarbeitung auf System-CPUs erfolgt, erfordert NFS etwas mehr CPU-Ressourcen, um dieselbe Aufgabe zu erledigen.
- Fibre-Channel-Netzwerke sind momentan im Hinblick auf die Netzwerkbandbreite (4 GBit/s sind üblich) gegenüber IP-Netzwerken (üblicherweise 1 GBit/s) im Vorteil. Mit der Verbreitung von 10-GBit-Ethernet verschwindet dieser Vorteil.
NetApp hat eine gründliche Bewertung der NFS-Performance gegenüber FCP und anderen Protokollen in einer Vielzahl von Umgebungen durchgeführt - darunter Oracle 10g auf Linux (PDF - Englisch), Solaris (PDF - Englisch), HP-UX (PDF - Englisch), und AIX (PDF - Englisch),sowie Oracle 10g RAC auf Linux (PDF - Englisch). Diese Berichte können Ihnen als Referenz für Ihre spezifischen Anforderungen dienen.
|
Protokollvergleich |
|
NFS |
FC SAN |
- vereinfachte Provisionierung/ einfacheres Management
- kostengünstiger Hardware-Support
- einfaches Sharing zur Unterstützung von RAC/Grid
|
- höchste Performance pro CPU
- nutzt Host-Filesystem oder ASM
- nutzt FC-Investitionen
| |
Erweitern der NFS-Implementierungen für Datenbanken
NFS Version 3 (NFSv3, die heute allgemein genutzte Version) besteht aus Server Software - beispielsweise die Software, die auf NetApp Storage läuft - und Client Software, die auf Datenbankservern oder sonstigen Hosts ausgeführt wird, die Zugriff auf Netzwerkspeicher benötigen. Für gute Performance und ordnungsgemäße Funktion müssen beide Seiten der Verbindung - Client und Server - korrekt implementiert sein.
Um Stabilität auf der Serverseite zu gewährleisten, verbindet NetApp seinen bewährten Servercode mit einer Hardwareplattform, die nachweislich Verfügbarkeit und Verlässlichkeit durch Merkmale wie eine Aktiv/Aktive-Controller-Konfiguration und Double-Parity RAID bietet.
Der NFS-Client kann als Bestandteil einer Reihe von Betriebssystemen, wie z. B. Solaris, HP-UX, AIX und Linux, implementiert werden. NetApp Engineering arbeitet eng mit allen großen Unternehmen zusammen, die NFS einsetzen, um sicherzustellen, dass die Client-Implementierungen funktional korrekt erfolgen und bei Datenbanken eine gute Leistung zeigen. NetApp verfügt über ein Team von Interoperabilitätsfachleuten, die die Voraussetzungen, unter denen ein Storage-Verband sich korrekt von Fehlerbedingungen erholt (PDF - Englisch),
genau untersucht haben und dafür sorgen, dass NFS-Implementierungen diese Voraussetzungen konstant erfüllen.
Die Zusammenarbeit von NetApp Engineering mit den technischen Teams verschiedener Anbieter hat zur breiten Implementierung der folgenden NFS-Verbesserungen geführt:
- Direkte I/O bezeichnet die Möglichkeit, NFS I/O unter Umgehung des Pufferspeichers des NFS-Client direkt von einer Applikation über ein Netzwerk an den Storage zu senden. Direkte I/O vermeidet redundantes Caching auf dem Server, gibt Oracle die Kontrolle über das I/O-Verhalten des Client und unterstützt die von Oracle RAC geforderte Semantik für die gemeinsame Datennutzung.
- Asynchrone I/O ermöglicht es einer Datenbank, viele gleichzeitige I/O-Transaktionen zu managen, ohne dass Prozesse bei den einzelnen Transaktionen blockiert werden. Dies sorgt durch die Verringerung der Prozesse und der Verarbeitungslast für höheren Durchsatz.
- Durch die Eliminierung von Kernel-Engpässen, die die Client-I/O drosseln, kann eine Vielzahl gleichzeitiger I/O-Operationen unterstützt werden.
- Zusätzliche Funktionen unterstützen Oracle RAC auf NFS.
- Quorum und I/O Fencing werden in Verbindung mit Hochverfügbarkeitspartnern unterstützt.
Partnerschaften zur Gewährleistung von Hochverfügbarkeit
Clustering ist von Bedeutung, um hohe Verfügbarkeit für kritische Datenbankserver zu sichern. NetApp ist Partnerschaften mit Oracle, Symantec und Sun eingegangen, um die Unterstützung von NFS in Verbindung mit Oracle RAC, Veritas Cluster Server (VCS) und Sun Cluster zu gewährleisten.
NetApp und Sun haben zusammen ein Paket für Sun Cluster entwickelt, mit dem geclusterte Server über NFS auf gemeinsam genutzten Storage zugreifen können und nicht über gemeinsamen Fibre Channel oder eine SCSI-Verbindung mit Festplatten. Die NetApp Software bietet Unterstützung für I/O Fencing und Quorum, um für ordnungsgemäße Funktion im Falle eines Serverausfalls zu sorgen. Das NetApp Software-Paket für Sun Cluster unterstützt sowohl Sun SPARC als auch die x86-Plattform zur Ausführung von Sun Solaris.
Der VCS-Agent für NFS unterstützt Oracle auf einer breiten Palette von Betriebssystemen (Linux, AIX, Solaris usw.) und stellt eine gute Option für Kunden dar, die eine Hochverfügbarkeitslösung für einen Einzelinstanz-Failover benötigen.
Das Sun-Paket und der VCS-Agent für NetApp NFS stehen beide auf der NOW Website (NetApp on the Web) (Englisch) zur Verfügung.
Förderung von Industriestandards
Einer der führenden Wissenschaftler von NetApp, Steve Kleiman, gehört zu den Erfindern von NFS. Und im Laufe der Jahre haben die technischen Experten bei NetApp die führende Rolle bei der Definition von Industriestandards übernommen. Beispiel:
- Brian Pawlowski (Chief Technical Officer bei NetApp) war Mitautor der NFSv3-Spezifikation und ist stellvertretender Leiter der NFS Version 4 (NFSv4) Arbeitsgruppe in der Internet Engineering Task Force (IETF).
- Garth Goodson (NetApp Engineer) ist Mitautor und Herausgeber des pNFS-Teils von NFSv4.1.
- Mike Eisler (Senior Technical Director bei NetApp) ist der Hauptautor von RFC 2203 zur Verbesserung der Sicherheit von NFS und hat kürzlich RFC 3530, die NFSv4-Spezifikation, mitverfasst. Er arbeitet aktuell an der NFSv4.1-Spezifikation. Vor seinem Eintritt bei NetApp leitete Mike Eisler das SEAM-Projekt bei Sun, das zur ersten NFS-Implementierung mit der Kerberos-V5-Authentifizierung führte.
- Tom Talpey (Technical Director bei NetApp) war Mitautor verschiedener Spezifikationen für NFS über RDMA bei IETF.
- Dave Noveck (NetApp Senior Engineeer) ist ebenfalls Mitherausgeber der NFSv4.1-Spezifikation und Mitautor von RFC 3530.
NFSv4 wurde als noch stabilere NFS-Implementierung entworfen und enthält Funktionen, die in Oracle Umgebungen von Vorteil sind. Beispielsweise können mit der Umleitungsfunktion in NFSv4 ein Storage-Grid und ein Computer-Grid ihre I/O-Pfade gegenseitig optimieren. Ein Storage-System kann einem Server mitteilen, welches Storage-System bestimmte Anfragen am besten bedienen kann, um gridbasierte Skalierung zu vereinfachen.
NFSv4 gewinnt momentan an Akzeptanz, und wir erwarten für die Zukunft eine breitere Unterstützung von Datenbankapplikationen für NFSv4. Aktuelle Informationen über NFSv4-Entwicklungen finden Sie in Eisler's NFS Blog (Englisch).
Optimierung des Datenbankzugriffs über Oracle Direct NFS
Direct NFS ist ein von Oracle entwickelter NFS-Client, der als Bestandteil von Oracle 11g (angekündigt im Juli 2007) geliefert wird. Anstatt über das Betriebssystem zu gehen, generiert der Direct-NFS-Client von Oracle NFS-Anforderungen direkt in der Datenbank.
In einem kürzlichen Blog erläuterte NetApp Gründer Dave Hitz, dass Oracle seinen Code speziell für NFS optimiert hat (Englisch). Grundlage dafür waren die Erfahrungen des Unternehmens beim Einsatz von NFS für die Ausführung von Applikationen auf Zehntausenden von Linux-Servern mit Zugriff auf viele Petabyte NetApp Storage. NetApp arbeitete bei der Entwicklung von Direct NFS eng mit Oracle zusammen und lieferte technische Beratung und Ressourcen für Funktions- und Performance-Tests.
Diese Client-Implementierung von Oracle bietet einige einzigartige Vorteile:
- Oracle kann denselben NFS-Client, unabhängig von der Plattform, auf der er ausgeführt wird, nutzen, um konsistentere und planbare Performance zu erzielen.
- Da der Client plattformübergreifend arbeitet, können Fehler schneller erkannt und behoben werden.
- Dies ist der erste NFS-Client, der für Oracle auf Windows validiert ist.
- Tunen der Mount-Option ist nicht notwendig. Herkömmliche Clients benötigen spezielle Mount-Optionen für optimale Oracle-Performance, und diese Optionen variieren für jedes Betriebssystem.
- NFS-Lasten lassen sich einfach auf bis zu 16 Netzwerk-Links verteilen. Bei herkömmlichen NFS-Clients hatte sich dies als schwierig erwiesen.
Entwicklung integrierter Storage Management Tools für Oracle
Oracle DBAs führen Oracle gern auf NFS aus, da sie damit die Möglichkeit haben, ihren eigenen Storage bereitzustellen. Da Oracle Dateien erstellen oder vergrößern kann, kann der DBA einfach nach Bedarf Tablespaces und sonstige Dateien erweitern, ohne einen Storage-Administrator bitten zu müssen, LUNs zu ergänzen oder zugrunde liegende LUNs zu erweitern. NFS macht das Verschieben von Storage oder Applikationen von einem Server auf einen anderen einfach. Es ist kein kompliziertes Rezoning von Switches usw. nötig. Da es sich bei NFS um ein gemeinsam genutztes Dateisystem handelt, funktioniert es per Design auch mit Oracle RAC.
Snapshot und FlexClone
NetApp Storage trägt durch verschiedene Funktionen noch zur Einfachheit des Oracle Datenmanagements in NFS-Umgebungen bei. NetApp Snapshot-Kopien sind platzsparende, zeitpunktgenaue Kopien, die sich innerhalb von Sekunden erstellen lassen. Für ein Oracle Backup muss nur die Datenbank für einige Sekunden in den Hot-Backup-Modus versetzt werden, während eine Snapshot-Kopie erstellt wird. Der Einfluss auf andere Vorgänge ist normalerweise unbedeutend, so dass die meisten DBAs mehrere Snapshot-Kopien pro Tag als Sicherheitsmaßnahme einplanen. Man kann bis zu 255 Snapshot-Kopien eines jeden Storage-Volumes aufbewahren und einzelne Dateien aus früheren Snapshot-Kopien wiederherstellen oder auf eine frühere Kopie zurückgreifen, wenn ein Problem auftritt.
Typischerweise halten IT-Abteilungen, die Oracle einsetzen, eine Reihe von Snapshot-Kopien im Primärspeicher, um unmittelbaren Bedarf decken zu können. Snapshot-Kopien können auch mit NetApp SnapVault in den Sekundärspeicher kopiert, mit SnapMirror auf einen remoten DR-Standort gespiegelt oder auf Band gesichert werden. Eine Kombination dieser Optionen ist ebenfalls möglich, je nachdem, was zur Erfüllung der Datensicherungsanforderungen nötig ist. Da diese Vorgänge im Storage-System erfolgen, haben sie keine Auswirkungen auf laufende Oracle Applikationen.
NetApp FlexClone ist eine weitere Option, die sich in Oracle- und anderen Datenbankumgebungen als äußerst nützlich erwiesen hat. FlexClone erlaubt die Erstellung eines beschreibbaren Klons eines beliebigen Daten-Volumes. Neuer Speicherplatz auf Festplatte wird nur verbraucht, wenn das Original-Volume und der Klon voneinander abweichen. Dies bedeutet, Sie können Produktionsdaten ganz einfach und ohne die typischen 2X-Storage-Anforderungen für Tests und Entwicklung, Data Mining oder andere Zwecke klonen. Wie bei Snapshots können Sie bis zu 255 FlexClone Volumes eines einzigen Volumes erstellen. (In einem aktuellen Tech OnTap Anwenderbericht wird die Verwendung von FlexClone zur Optimierung von Anwendungsentwicklung und Tests bei Oracle beschrieben.)
NetApp hat außerdem eine Reihe von Mehrwert schaffenden Software-Tools speziell für Oracle Umgebungen entwickelt.
SnapManager für Oracle
SnapManager für Oracle ist ein Tool, das das Management von Oracle Backup und Recovery vereinfacht. Es funktioniert mit allen Storage-Protokollen und lässt sich eng in Oracle ASM und RMAN integrieren. SnapManager für Oracle macht die Planung konsistenter Snapshot-Kopien und FlexClone-Volumes einfach. Dadurch können Operationen, die zuvor komplizierte Scripts erforderten, mit ein paar Klicks vollzogen oder für die reguläre Ausführung geplant werden (Einzelheiten siehe Seitenleiste).
SnapValidator für Oracle
Unter seltenen Fehlerbedingungen können Daten auf dem Weg zwischen Server und Storage beschädigt werden. Oracle integriert eine Prüfsumme in jeden Block, so dass diese Beschädigung erkannt wird, doch manchmal kann es Monate dauern, bis die Daten tatsächlich neu gelesen und geprüft werden, damit wird eine Wiederherstellung von einem sehr alten Backup nötig. Um dieses Problem zu lösen, erfüllt SnapValidator für Oracle die Anforderungen der Oracle HARD-Initiative (Hardware Assisted Resilient Data) und verifiziert Prüfsumme und Block-Offset bei jedem Schreiben eines Blocks. Wird ein Problem erkannt, schlägt der Schreibvorgang fehl und der Server wird gezwungen, den Schreibvorgang zu wiederholen, damit kein Restore nötig wird.
Diese Funktion arbeitet mit NFS besonders gut. Herkömmliche Host-Filesysteme können die HARD-Validierung nicht unterstützen. Der Hauptgrund dafür ist die Mischung aus Datenbankblöcken und Dateisystem-Metadaten in den Schreibvorgängen im Storage-System. Unter Oracle 9i ist die HARD-Validierung nur für Rohfestplatten und NFS praktisch. Oracle 10g erweiterte diese Funktion auf Oracle ASM.
Integration von SnapLock und Oracle
Oracle enthält Funktionen für Partitionierung und Tablespace-Transport, die eine Verschiebung von Teilen Ihrer Daten in andere Storage-Bereiche erlauben. Durch die Integration von SnapLock können Inhalte und Nachrichten von Oracle in WORM-Volumes verschoben werden. Dadurch wird gewährleistet, dass keine Änderungen an den Daten möglich sind, was auch zur Erfüllung der Anforderungen von Sarbanes-Oxley (SOX), HIPAA und anderen aufsichtsbehördlichen Vorschriften beiträgt. Diese Funktion ist besonders bei NFS von Vorteil, da NFS eine feinere Granularität liefert. SnapLock kann sogar für eine bestimmte Datei oder eine Gruppe von Dateien angewendet werden. In einer SAN-Umgebung müsste SnapLock für eine gesamte LUN eingesetzt werden.
Definition von Best Practices für Oracle auf NFS
Obwohl das Deployment von Oracle auf NFS ziemlich direkt erfolgt, hat NetApp eine Vielzahl von Best Practices formuliert, um die Performance zu optimieren. Die NetApp Bibliothek mit technischen Berichten enthält eine Reihe von Implementierungsleitfäden und Best Practices, darunter auch einen 34-seitigen Leitfaden zu Best Practices für Oracle (PDF - Englisch). NetApp Engineering hat sich mit Kollegen bei führenden Betriebssystemanbietern zusammengetan, um Best Practices für spezifische Umgebungen zu dokumentieren. Ein aktuelles gemeinsames Whitepaper von Sun and NetApp (PDF - Englisch) liefert beispielsweise bewährte Richtlinien für die Optimierung von Oracle auf NFS in einer Solaris-Umgebung, einschließlich der Tuning-Optionen für Oracle, geeigneter Mount-Optionen für den Solaris NFS-Client, des optimalen Datenbank-Layouts in NetApp Storage und des NFS-Tunings von NFS-Storage.
Zusammenfassung:
Wahl des richtigen Protokolls für Ihre Umgebung
Wenn Ihr primäres Ziel darin besteht, eine einfach aufgebaute und einfach zu managende Infrastruktur zu schaffen, die in der Lage ist, eine große Zahl an Oracle Datenbankinstanzen auf flexible Weise zu unterstützen, ist NetApp NFS möglicherweise die richtige Wahl für Sie. NetApp kann eine Erfolgsgeschichte bei Oracle Deployments auf NFS vorweisen, und die Kombination von NetApp Storage-Funktionen wie Snapshot und FlexClone mit Oracle-spezifischer Software wie SnapManager für Oracle, SnapValidator und SnapLock kann das Leben von DBAs und Storage-Administratoren sehr viel einfacher gestalten.
Letztendlich hängt Ihre Protokollwahl natürlich von einer Vielzahl von Faktoren ab, wie der vorhandenen Infrastruktur, den Prozessen und dem Know-how, neben den relativen Möglichkeiten einer jeden Technologie. NetApp bietet hervorragende Implementierungsoptionen und Tools für das Deployment und Management von Oracle Umgebungen für NFS, Fibre Channel und iSCSI, allein oder in Kombination, so dass Kunden beim Deployment von Oracle Datenbanken auf NetApp Storage branchenbeste Funktionen auf den für ihre Anforderungen geeigneten Protokollen realisieren können.
Kommentar