GNU/Linux >> LINUX-Kenntnisse >  >> Linux

Gerätepersistenz und Oracle ASMLib verstehen

Grundlagen

Dieser Beitrag beschreibt einige Vorteile, die die von Oracle bereitgestellte Linux-spezifische ASM-Bibliothek (hier „ASMLib“) für die Verwaltung eines Linux-Systems mit Oracle bringt. Linux stellt oft die Herausforderung der Persistenz von Festplattennamen dar. Ändern Sie die Speicherkonfiguration und eine Festplatte, die gestern als /dev/sdg angezeigt wurde, kann nach einem Neustart heute als /dev/sdh angezeigt werden. Wie können diese Änderungen isoliert werden, sodass sie sich nicht auf ASM auswirken?

Warum lassen Sie ASM nicht alle Laufwerke scannen?

ASM scannt alle Festplatten, die es erkennen darf (über asm_diskstring). Warum nicht alle Datenträger scannen und ASM bestimmen lassen, was ihm wichtig ist, anstatt sich auch nur um die Persistenz des Datenträgernamens zu kümmern?

Die Frage ist gedanklich richtig. Wenn Sie /dev/sd* an ASM übergeben und ASM die Geräte lesen kann, kann ASM tatsächlich seine Platten auswählen, unabhängig davon, ob /dev/sdg bei diesem bestimmten Bootvorgang in /dev/sdh geändert wurde.

Um diese Geräte zu lesen, muss ASM jedoch die Berechtigung haben, diese Geräte zu lesen. Das bedeutet, dass ASM Benutzer- oder Gruppenbesitz auf allen Geräten /dev/sd* haben muss, einschließlich aller Systemfestplatten. Die meisten Systemadministratoren möchten nicht, dass der Oracle-Benutzer eigene Systemfestplatten hat, nur damit ASM sie ignorieren kann. Das Fehlerpotenzial (DBA schreibt über das /home-Volume etc.) ist viel zu hoch.

ASMLib vs. UDev oder DevLabel

Es gibt verschiedene Methoden, Namen bereitzustellen, die sich nicht ändern, einschließlich devlabel und udev. Was bietet ASMLib, was diese Lösungen nicht bieten?

Das größere Problem ist nicht speziell ein persistenter Name – es muss diesen Namen mit einer Reihe von Berechtigungen abgleichen. Es spielt keine Rolle, ob /dev/sdg jetzt /dev/sdh ist, solange das neue /dev/sdh oracle:dba besitzt und das neue /dev/sdg – das früher /dev/sdf war – hat Besitz, den das alte /dev/sdf früher hatte. Der einfachste Weg, um sicherzustellen, dass die Berechtigungen korrekt sind, ist die dauerhafte Benennung. Wenn eine Festplatte immer mit demselben Namen angezeigt wird, können Sie ihr ohne Bedenken immer dieselben Berechtigungen zuweisen. Außerdem können Sie dann Namen ausschließen, die mit Systemfestplatten übereinstimmen. Selbst wenn die Berechtigungen stimmen, möchte ein Systemadministrator nicht, dass ASM jedes Mal Systemfestplatten scannt.

Jetzt können udev oder devlabel damit umgehen, sdg als sdg (oder /dev/mydisk, was auch immer) zu behalten. Was fügt ASMLib hinzu? Eigentlich ein paar Dinge. Mit ASMLib gibt es einen einfachen Befehl, um eine Festplatte für ASM zu kennzeichnen. Mit udev müssen Sie die udev-Konfigurationsdatei für jede hinzugefügte Festplatte ändern. Sie müssen eine eindeutige ID ermitteln, die der Festplatte entspricht, und die udev-Konfigurationssyntax lernen.

Der Name ist auch für Menschen lesbar. Warum sollte man bei einem Apple XServe RAID eine Festplatte mit dem Namen /dev/sdg haben, wenn es DRAWER1DISK2 sein kann? ASMLib kann auch alle Platten auflisten, wobei udev entweder im Kopf wissen muss, dass sdg, sdf und sdj für ASM sind, oder Namen angeben muss. Mit ASMLib besteht keine Möglichkeit, dass ASM selbst Systemfestplatten scannt. Tatsächlich ändert ASMLib niemals die Systemnamen für Festplatten. ASMLib verwendet niemals den Namen „/dev/sdg“. Nach dem Abfragen der Festplatten beim Booten bietet es seinen eigenen Zugriff auf die Geräte mit Berechtigungen für Oracle. /dev/sdg gehört immer noch root:root, und der Oracle-Benutzer kann immer noch nicht auf das Gerät mit diesem Namen zugreifen.

Die Konfiguration ist persistent. Installieren Sie ein System neu und Ihre udev-Konfiguration ist weg. Die Labels von ASMLib sind es nicht. Mit udev müssen Sie die Konfiguration auf die anderen Knoten in einem RAC kopieren. Wenn Sie sechzehn Knoten haben, müssen Sie jede Konfigurationsänderung auf alle sechzehn Knoten kopieren. Unabhängig davon, ob Sie udev oder devlabel verwenden, müssen Sie die Berechtigungen auf allen sechzehn Knoten richtig festlegen. ASMLib benötigt nur einen Aufruf von „/etc/init.d/oracleasm scandisks“, um alle Änderungen aufzunehmen, die auf dem anderen Knoten vorgenommen wurden.

Dies sind nur einige der Vorteile, die ASMLib für die Gerätepersistenz bringt.


Linux
  1. CentOS / RHEL :Installieren und Konfigurieren von ASMLib

  2. Oracle OS Watcher (OSWatcher) – Grundlegendes zu oswmpstat

  3. Oracle OS Watcher (OSWatcher) – Oswiostat verstehen

  4. /dev und seine Unterverzeichnisse und Dateien verstehen

  5. Unterschied zwischen pts und tty

Linux-Dateisysteme verstehen:ext4 und darüber hinaus

So erkennen und verwalten Sie Geräte unter Linux

tuned-adm und Oracle

/etc/group-Datei verstehen

Unterschied zwischen Gerätedatei und Gerätetreiber

Die Linux-Gerätetreiber der Webcam verstehen