Sicherungsstrategien für Oracle Database auf einer Azure Linux-VM

Achtung

Dieser Artikel bezieht sich auf CentOS, eine Linux-Distribution, die sich dem End-of-Life-Status (EOL) nähert. Sie sollten Ihre Nutzung entsprechend planen. Weitere Informationen finden Sie im CentOS-Leitfaden für das Lebensende.

Gilt für: ✔️ Linux-VMs

Datenbanksicherungen schützen die Datenbank vor Datenverlust, der durch Fehler von Speicherkomponenten und des Rechenzentrums verursacht wird. Sie können außerdem zur Wiederherstellung einer Datenbank nach Bedienungsfehlern und für das Klonen einer Datenbank zu Entwicklungs- oder Testzwecken verwendet werden.

In Azure ist der gesamte Speicher hochgradig redundant. Der Verlust eines oder mehrerer Datenträger führt nicht zu einem Datenbankausfall. Sicherungen werden am häufigsten zum Schutz vor menschlichen Fehlern, zur Unterstützung von Klonvorgängen oder zum Aufbewahren von Daten aus gesetzlichen Gründen verwendet.

Sicherungen dienen auch zum Schutz vor regionalen Ausfällen, bei denen keine Notfallwiederherstellungstechnologie wie z. B. DataGuard verwendet wird. In diesem Fall müssen die Sicherungen unter Verwendung der georedundanten Replikation in unterschiedlichen Azure-Regionen gespeichert werden, damit sie außerhalb der Region der primären Datenbank verfügbar sind.

Azure Storage

Die Azure Storage-Dienste sind die Cloudlösung von Microsoft für moderne Datenspeicherszenarien. Azure Storage umfasst Dienste, mit denen Sie externe Speicher in eine Azure Linux-VM einbinden können, die als Sicherungsmedium für Oracle-Datenbankinstanzen geeignet ist. Zum Initiieren eines Sicherungs- oder Wiederherstellungsvorgangs und zum Kopieren der Sicherung aus und in Azure Storage ist ein Sicherungstool wie beispielsweise Oracle Recovery Manager (RMAN) erforderlich.

Azure Storage-Dienste bieten folgende Vorteile:

  • Robust und hoch verfügbar. Mithilfe von Redundanz können Sie sicherstellen, dass Ihre Daten während vorübergehender Hardwareausfälle sicher sind. Der gesamte Speicher wird standardmäßig dreifach gespiegelt. Sie können sich auch für das Replizieren von Daten über Rechenzentren oder geografische Regionen hinweg entscheiden, um sich besser vor lokalen Notfällen oder Naturkatastrophen zu schützen. Daten, die auf diese Weise repliziert werden, sind bei einem unerwarteten Ausfall weiterhin hoch verfügbar.

  • Sicher: Azure Storage verschlüsselt alle Daten, die in ein Speicherkonto geschrieben werden. Bei Azure Storage können Sie genau steuern, wer Zugriff auf Ihre Daten hat.

  • Skalierbar: Azure Storage ist hochgradig skalierbar, um die Datenspeicherungs- und Leistungsanforderungen heutiger Anwendungen zu erfüllen.

  • Verwaltet: Azure übernimmt die Hardwarewartung, Updates und die Behandlung kritischer Probleme für Sie.

  • Zugänglich: Auf Daten in Azure Storage kann weltweit per HTTP oder HTTPS zugegriffen werden. Microsoft stellt Clientbibliotheken für Azure Storage in verschiedenen Sprachen bereit, wie .NET, Java, Node.js, Python, PHP, Ruby und Go. Microsoft bietet auch eine ausgereifte REST-API an.

    Azure Storage unterstützt die Skripterstellung in Azure PowerShell oder Azure CLI. Im Azure-Portal und über Azure Storage-Explorer werden visuelle Lösungen für die Arbeit mit Ihren Daten bereitgestellt.

Die Azure Storage-Plattform umfasst die folgenden Datendienste, die als Sicherungsmedien für Oracle Database geeignet sind:

  • Azure Blob Storage: ein Objektspeicher für Text- und Binärdaten. Dieser unterstützt auch Big Data-Analysen mit Azure Data Lake Storage Gen2.

  • Azure NetApp Files: Vollständige Netzwerkspeicherlösung, einschließlich erweiterter Datenverwaltungsfunktionen zum Erstellen von Momentaufnahmen, Klonen und Replizieren von Datenbankvolumes.

  • Azure Files: Verwaltete Dateifreigaben für Bereitstellungen lokal oder in der Cloud.

  • Azure Disk Storage: Speichervolumes auf Blockebene für virtuelle Azure-Computer.

Regionsübergreifende Speichereinbindung

Die Möglichkeit, regionsübergreifend auf Sicherungsspeicher zuzugreifen, ist ein wichtiger Aspekt der Geschäftskontinuität und Notfallwiederherstellung (Business Continuity and Disaster Recovery, BCDR). Dies ist auch hilfreich, um Datenbanken aus Sicherungen in verschiedenen geografischen Regionen zu klonen. Der Azure-Cloudspeicher umfasst fünf Ebenen der Redundanz:

Blob- und Dateispeicher

Wenn Sie Azure Files mit dem SMB-Protokoll (Server Message Block) oder dem NFS 4.1-Protokoll (Network File System) als Sicherungsspeicher verwenden, unterstützt Azure Files weder RA-GRS noch RA-GZRS.

Der Sicherungsspeicher von Azure Files kann bis zu 100 (TiB) mit Unterstützung für LRS-, GRS- und GZRS-Redundanzoptionen skaliert werden.

Wenn Azure Blob Storage über das NFS 3.0-Protokoll eingebunden wird, unterstützt der Dienst derzeit nur LRS- und ZRS-Redundanz. Wurde Azure Blob Storage mit einer beliebigen Redundanzoption konfiguriert, kann die Einbindung über Blobfuse erfolgen.

Recovery Services-Tresor

Bei einem Recovery Services-Tresor handelt es sich um eine Verwaltungsentität zum Speichern der im Laufe der Zeit erstellten Wiederherstellungspunkte. Er stellt eine Schnittstelle zum Ausführen von Vorgängen für die Sicherung bereit. Zu diesen Vorgängen gehören das Erstellen von bedarfsgesteuerten Sicherungen, das Durchführen von Wiederherstellungen und das Erstellen von Sicherungsrichtlinien.

Azure Backup übernimmt automatisch die Speicherung für den Tresor. Sie müssen bei der Erstellung angeben, wie dieser Speicher repliziert wird. Sie können die Replikation nicht ändern, nachdem Elemente im Tresor geschützt wurden. Wählen Sie für regionale Redundanz die Einstellung „Georedundant“ aus.

Wenn Sie die Wiederherstellung in einem sekundären Azure-Regionspaar durchführen möchten, aktivieren Sie die Funktion Bereichsübergreifende Wiederherstellung. Wenn Sie die regionsübergreifende Wiederherstellung aktivieren, wechselt der Sicherungsspeicher von GRS zu RA-GRS.

Azure Blob Storage

Azure Blob Storage ist ein cloudbasierter Dienst zum Speichern großer Mengen unstrukturierter Daten und eignet sich für Sicherungen von Oracle Database. Sie können Azure Blob Storage mit dem NFS 3.0-Protokoll oder mit Blobfuse (Linux FUSE) in Azure-Linux-VMs einbinden.

blobfuse

Blobfuse ist ein Open-Source-Projekt, das ein virtuelles Dateisystem bereitstellt, das auf Azure Blob Storage basiert. Es verwendet die Open-Source-Bibliothek „libfuse“, um mit dem Linux-Kernelmodul FUSE zu kommunizieren. Diese implementiert Dateisystemvorgänge mithilfe der Azure Blob Storage REST-APIs.

Blobfuse ist derzeit für Ubuntu- und CentOS/Red Hat-Distributionen verfügbar. Außerdem ist sie für Kubernetes über den CSI-Treiber verfügbar.

Blobfuse ist in Azure-Regionen allgegenwärtig und kann bei allen Speicherkontotypen verwendet werden, einschließlich der universellen v1/v2 und Azure Data Lake Storage Gen2. Jedoch ist die Leistung nicht so gut wie bei alternativen Protokollen. Als Medium zur Datensicherung empfehlen wir daher die Verwendung des SMB- oder NFS-Protokolls zum Einbinden von Azure Blob Storage.

NFS v3.0

Azure unterstützt das NFS v3.0-Protokoll. Durch die Unterstützung von NFS können Windows- und Linux-Clients einen Azure Blob Storage-Container auf einer Azure-VM einbinden.

Um die Netzwerksicherheit sicherzustellen, muss sich das für die NFS-Einbindung verwendete Speicherkonto in einem virtuellen Netzwerk befinden. Microsoft Entra-Sicherheit und Zugriffssteuerungslisten (Access Control Lists, ACLs) werden in Konten mit aktivierter Unterstützung des NFS 3.0-Protokolls noch nicht unterstützt.

Azure Files

Azure Files ist ein cloudbasiertes, vollständig verwaltetes verteiltes Dateisystem. Sie können es auf lokalen oder cloudbasierten Windows-, Linux- oder macOS-Clients einbinden.

Azure Files bietet vollständig verwaltete, plattformübergreifende Dateifreigaben in der Cloud, auf die über die SMB- und NFS-Dateisystemprotokolle zugegriffen werden kann. Azure Files unterstützt derzeit nicht den Zugriff auf mehrere Protokolle, daher kann eine Freigabe entweder eine NFS-Freigabe oder eine SMB-Freigabe sein. Es wird empfohlen, vor dem Erstellen von Azure-Dateifreigaben zu bestimmen, welches Protokoll Ihren Anforderungen am besten entspricht.

Sie können Azure-Dateifreigaben auch schützen, indem Sie Azure Backup für einen Recovery Services-Tresor verwenden. Dieser Ansatz bietet eine weitere Schutzebene für Oracle RMAN-Sicherungen.

Azure Files mit NFS v4.1

Sie können Azure-Dateifreigaben mit dem NFS v4.1-Protokoll in Linux-Distributionen einbinden. Es gibt Einschränkungen bei den unterstützten Funktionen. Weitere Informationen finden Sie unter Unterstützung für Azure Storage Features.

Azure-NFS-Dateifreigaben werden in allen Regionen unterstützt, die Premium-Dateispeicher unterstützen.

Die aktuelle Liste finden Sie im Eintrag File Storage Premium auf der Azure-Seite Verfügbare Produkte nach Region.

Azure Files mit SMB 3.0

Sie können Azure-Dateifreigaben mithilfe des SMB-Kernelclients in Linux-Distributionen einbinden. Das CIFS-Protokoll (Common Internet File System), das in Linux-Distributionen verfügbar ist, ist eine Variante von SMB. Wenn Sie eine Azure-Dateifreigabe auf Linux-VMs mithilfe von SMB einbinden, wird sie als Dateisystem vom Typ CIFS eingebunden, und das CIFS-Paket muss installiert sein.

Die Möglichkeit Azure-Dateifreigaben über SMB einzubinden ist allgemein in allen Azure-Regionen verfügbar. Sie weist dieselben Leistungsmerkmale auf wie die NFS-Protokolle v3.0 und v4.1, weshalb wir es derzeit als Methode zur Bereitstellung von Sicherungsspeichermedien für Azure Linux-VMs empfehlen.

Zwei Versionen von SMB werden unterstützt: SMB 2.1 und SMB 3.0. Wir empfehlen SMB 3.0, da es die Verschlüsselung während der Übertragung unterstützt. Die Linux-Kernelversionen bieten jedoch unterschiedliche Unterstützung für SMB 2.1 und 3.0. Um sicherzustellen, dass Ihre Anwendung SMB 3.0 unterstützt, gehen Sie zu Einbinden einer Azure-SMB-Dateifreigabe unter Linux.

Da Azure Files ein Dateifreigabedienst für mehrere Benutzer ist, sollten Sie bestimmte Eigenschaften anpassen, um ihn optimal als Sicherungsspeichermedium nutzen zu können. Wir empfehlen, die Zwischenspeicherung zu deaktivieren und die Benutzer- und Gruppen-IDs für erstellte Dateien festzulegen.

Azure NetApp Files

Der Dienst Azure NetApp Files ist eine umfassende Speicherlösung für Oracle Database auf Azure-VMs. Als getaktete Dateispeicher unterstützt er standardmäßig jeden Workloadtyp und ist hochverfügbar. In Verbindung mit dem Oracle Direct NFS-Treiber bietet Azure NetApp Files eine hochgradig optimierte Speicherebene für Oracle Database.

Azure NetApp Files ermöglicht effiziente speicherbasierte Momentaufnahmen des zugrunde liegenden Speichersystems, in dem ein Redirect-on-Write-Mechanismus verwendet wird. Momentaufnahmen können zwar schnell erstellt und wiederhergestellt werden, dienen aber nur als erste Kontrollinstanz. Sie können die meisten erforderlichen Wiederherstellungsvorgänge eines Unternehmens abdecken, die häufig nach menschlichen Fehlern durchgeführt werden.

Momentaufnahmen stellen jedoch keine vollständige Sicherung dar. Um alle Sicherungs- und Wiederherstellungsanforderungen abzudecken, müssen Sie externe Momentaufnahmereplikate oder andere Sicherungstresore in einer entfernten geografischen Region erstellen, um den Schutz vor regionalen Ausfällen zu ermöglichen. Weitere Informationen finden Sie unter Funktionsweise von Azure NetApp Files-Momentaufnahmen.

Um die Erstellung von datenbankkonsistenten Momentaufnahmen sicherzustellen, muss der Sicherungsprozess zwischen der Datenbank und dem Speicher orchestriert werden. Das Befehlszeilentool für konsistente Momentaufnahmen in Azure-Anwendungen (AzAcSnap) ermöglicht auch Datenschutz für Datenbanken von Drittanbietern. Es übernimmt die gesamte Orchestrierung, die erforderlich ist, um diese Datenbanken in einen anwendungskonsistenten Zustand zu versetzen, bevor eine Speichermomentaufnahme erstellt wird. Danach werden die Datenbanken wieder in Betriebszustand versetzt. Oracle-Datenbankinstanzen werden mit AzAcSnap ab Version 5.1 unterstützt.

Weitere Informationen zur Verwendung von Azure NetApp Files für Oracle Database in Azure finden Sie unter Lösungsarchitekturen mit Azure NetApp Files.

Azure Backup-Dienst

Azure Backup ist eine vollständig verwaltete PaaS-Lösung (Platform-as-a-Service), mit der Sie Ihre Daten sichern und aus der Microsoft Azure-Cloud wiederherstellen können. Azure Backup kann lokale Clients, Azure-VMs und Azure-Dateifreigaben sichern und wiederherstellen. Es kann auch SQL Server-, Oracle-, MySQL-, PostgreSQL- und SAP HANA-Datenbanken auf Azure-VMs sichern.

Azure Backup bietet unabhängige und isolierte Sicherungen zum Schutz vor dem versehentlichen Löschen von Originaldaten. Sicherungen werden in einem Recovery Services-Tresor mit integrierter Verwaltung von Wiederherstellungspunkten gespeichert.

Azure Backup verwendet die Azure Cloud, um Hochverfügbarkeit ohne Wartungs- oder Überwachungsaufwand zu ermöglichen. Die Menge an übertragenen ein- oder ausgehenden Daten wird nicht beschränkt, und es fallen keine Kosten für die übertragenen Daten an. Daten werden während der Übertragung und im Ruhezustand gesichert.

Azure Backup bietet mehrere Replikationstypen, mit denen die Hochverfügbarkeit Ihrer Sicherungsdaten sichergestellt wird:

  • LRS repliziert Ihre Daten dreimal in einer Speicherskalierungseinheit in einem Rechenzentrum (sprich es werden drei Kopien Ihrer Daten erstellt).
  • (GRS) ist die standardmäßige und empfohlene Replikationsoption. GRS repliziert Ihre Daten in einer sekundären Region, die mehrere hundert Kilometer vom primären Speicherort der Quelldaten entfernt ist.

Bei einem mit GRS-Redundanz erstellten Tresor kann die bereichsübergreifende Wiederherstellung konfiguriert werden. Sie können diese Funktion verwenden, um Daten in einem sekundären Azure-Regionspaar wiederherzustellen.

Der Azure Backup-Dienst bietet ein Framework zum Erreichen von Anwendungskonsistenz bei Sicherungen von Windows- und Linux-VMs für verschiedene Anwendungen wie Oracle, MySQL, Mongo DB, SAP HANA und PostgreSQL: anwendungskonsistente Momentaufnahmen. Dieses Framework umfasst das Aufrufen von Pre-Skripten (um die Anwendungen stillzulegen), bevor eine Momentaufnahme von Datenträgern erstellt wird. Nach Abschluss der Momentaufnahme werden Post-Skripte (Befehle zum Aufheben des Einfrierens der Anwendungen) aufgerufen, um die Anwendungen in den normalen Modus zu versetzen.

Auch wenn GitHub beispielhafte Skripte und Post-Skripte enthält, sind Sie für das Erstellen und Verwalten dieser Skripte verantwortlich. Im Fall von Oracle muss sich die Datenbank im Archivprotokollmodus befinden, um Onlinesicherungen zu ermöglichen. Sie müssen die entsprechenden Datenbankbefehle zum Starten und Beenden der Sicherung erstellen und verwalten, die in den Pre- und Post-Skripten ausgeführt werden.

Azure Backup bietet ein erweitertes Framework für Pre- und Postskripte, in dem vorgefertigte Pre- und Post-Skripte für ausgewählte Anwendungen bereitgestellt werden. Sie geben lediglich die Anwendung an, woraufhin Azure Backup automatisch die entsprechenden Pre- und Post-Skripte aufruft. Für die Pflege der vorgefertigten Pre- und Post-Skripte ist Microsoft zuständig, sodass Sie sich der Unterstützung, des Eigentums und der Gültigkeit dieser Skripte sicher sein können.

Derzeit sind die vom verbesserten Framework unterstützten Anwendungen Oracle ab 12.1 und MySQL. Bei der Momentaufnahme handelt es sich um eine vollständige Kopie des Speichers und nicht um eine inkrementelle Momentaufnahme oder eine des Typs „Kopie bei Schreibvorgang“. Somit ist sie ein effektives Medium zur Wiederherstellung Ihrer Datenbank.

Überlegungen zu VLDB

Sicherungsstrategien für sehr große Datenbanken (Very Large Databases, VLDB) müssen aufgrund ihrer Größe sorgfältig berücksichtigt werden. Die Verwendung von RMAN zum Sichern in Azure Blob Storage oder Azure Files bietet möglicherweise nicht den erforderlichen Durchsatz zum Sichern einer VLDB im erforderlichen Zeitrahmen.

Sie können die inkrementelle RMAN-Sicherung verwenden, um die Größe der Sicherung zu reduzieren. Mit diesem Ansatz kann Azure Storage als Sicherungsmedium für VLDBs verwendet werden. Dies ist jedoch möglicherweise nicht bei VLDBs ratsam, die viele Änderungen aufweisen.

Der empfohlene Ansatz für VLDBs ist die Verwendung von Azure-Diensten, die Funktionen für Momentaufnahmen bereitstellen, wie Azure Backup oder Azure NetApp Files. Anwendungskonsistente Momentaufnahmen, bei denen der Sicherungsmodus für Datenbanken automatisch (de-)aktiviert wird, dauern unabhängig von der Größe der Datenbank nur Sekunden.

Ihre Sicherungsstrategie ist möglicherweise auch an die allgemeine Speicherlösung gebunden, die das Unternehmen für Oracle Database verwendet. Datenbankworkloads mit extremem E/A-Durchsatz verwenden häufig Azure NetApp Files oder Drittanbieterlösungen vom Azure Marketplace wie Silk, um die Datenbankspeicherdurchsatz- und IOPS-Anforderungen zu erfüllen. Diese Lösungen bieten auch anwendungskonsistente Momentaufnahmen für schnelle Datenbanksicherungs- und Wiederherstellungsvorgänge.

Nächste Schritte