ASM Filter Driver und Linux Kernel Versionen
ASM Filter Driver und Linux Kernel Versionen
AFD is not supported on this operating system version
Ein immer mal wieder auftretendes Problem, gerade bei Neuinstallationen, teilweise aber auch bei Betriebssystem-Updates bei Kunden ist es, dass die Umgebung bei der Installation der (neuesten) Oracle Grid Infrastructure, z.B. mit Oracle Restart, unter gewünschter Verwendung des ASM Filter Drivers einen Fehler wirft:
„AFD-620: AFD is not supported on this operating system version”.
Die Standardfrage lautet dann immer: „Das Release ABC ist doch zertifiziert für das Betriebssystem-Release DEF, warum geht das denn nicht? Der Linux Administrator hat doch extra das neueste, zertifizierte Betriebssystem aufgesetzt, um die Datenbanken zu betreiben.“
Ein Beispiel, nehmen wir das hauseigene Oracle Linux 8 Betriebssystem und die aktuell verfügbare Datenbankversion 19c. Ein Blick in die Zertifizierungsmatrix zeigt, dass 19c inzwischen auf der Oracle Linux 8 Version zertifiziert ist. Deshalb ist man natürlich erst einmal frohen Mutes, die Datenbank auf der neuesten Linux Version einsetzen zu können.
Was leider häufig, gerade von unter Linux weniger erfahrenen Datenbankadministratoren oder reinen Linux Administratoren übersehen wird (woher soll man das auch wissen), ist, dass es zur jeweiligen Version – in diesem Fall Oracle Linux 8.x noch eine detailliertere Seite gibt:
Diese beschreibt, wie zu sehen ist, nicht nur den minimalen RU Stand für die Datenbankversion, sondern auch, welche Kernel Versionen unterstützt sind.
Wer das System als RAC betreiben möchte, sollte sich vorsichtshalber auch noch die Clusterware Certification zu Gemüte führen. Im Normalfall sind die dort verzeichneten Linux Kernel Versionen aber identisch zu denen der Datenbank.
Zertifiziert <> Zertifiziert
Um das Ganze „zu verkomplizieren“, gilt für ACFS und den ASM Filter Treiber aber NICHT die angegebene Kernel Version der jeweiligen Zertifizierung der Datenbank oder der Clusterware. Stattdessen befindet sich am Ende der Übersicht der kleine Hinweis „ACFS: Please refer to ACFS Supported on OS Platforms for Oracle ACFS cerfication details (Doc ID 1369107.1).
Ein Blick in das Dokument zeigt dann relativ schnell, dass es für Oracle Linux 8 z.B. noch keine Unterstützung für den ASM Filter Treiber und ACFS gibt, sondern für die entsprechenden Red Hat oder Unbreakable Enterprise Kernel des Oracle Linux 7.
"Ich will aber kein ASMLib"
Was nun, wenn man nicht auf ASMLib setzen möchte?
Seit einiger Zeit gibt es einen Blog-Eintrag von Simon Coter (zu finden unter https://blogs.oracle.com/scoter/oracle-linux-and-unbreakable-enterprise-kernel-uek-releases). Dieser zeigt, für jedes Oracle Linux Release, welches der initiale Unbreakable Enterprise Kernel für welches Oracle Linux (Update) Release ist und welche UEK darüber hinaus noch unterstützt sind. Außerdem findet man in diesem Blog zur jeweiligen Kernel Abkürzung auch das in der ACFS und AFD Supported Platforms Dokument verwendete Major Release und kann sich somit über yum die benötigten Repositories konfigurieren und genau den Kernel (nachinstallieren), der für die gewünschten Datenbank-, Clusterware- und ACFS/AFD-Treiber-Freigaben benötigt wird.
Ein Beispiel aus meiner Virtualbox. Installiert ist hier eine Oracle Linux Version 7.4 mit dem folgenden Kernel:
Ein Blick in den Blog sagt, dies ist die initiale Kernel Version für dieses Oracle Linux Release. Gleichzeitig zeigt das ACFS/AFD Support Dokument aber, dass man für 19c mindestens die 4.1.12-112.16.4 benötigt, dies wiederum entspricht dem initialen Kernel der Version OL7U5.
Wenn man nun einfach ein yum upgrade durchführt (was gleichbedeutend ist mit Update auf OL7U8), erhält man folgenden Default Kernel, mit dem standardmässig gestartet wird:
Installiert sind nun die folgenden UEK:
Deinstallation alter Kernel
Da der alte Kernel nutzlos geworden ist, kann er deinstalliert werden:
yum remove kernel* kernel-uek*
Um nun ACFS oder die ASM Filter Treiber nutzen zu können, benötigt es nun allerdings noch das entsprechende RU/RUR 19.4.190716 (Base Bug 27494830), laut dem ACFS Support Dokument:
Installation alternativer Kernel und Grid Infrastruktur
Um die Installation eines RU/RUR umgehen zu können, kann allerdings noch zusätzlich ein älterer Kernel installiert werden (Support im Blog-Eintrag von Simon Coter beachten), indem man in /etc/yum.repos.d/public-yum-ol7.repo (bzw. im oracle-linux-ol7.repo) das entsprechende Repository „enabled“ (in diesem Fall OL7_UEKR4) und den Kernel installiert:
yum install kernel-uek-devel-4.1.12-124.40.6.el7uek.x86_64 kernel-uek-4.1.12-124.40.6.el7uek.x86_64 kernel-uek-firmware-4.1.12-124.40.6.el7uek.noarch kernel-uek-doc-4.1.12-124.40.6.el7uek.noarch
Nach der Installation hat man nun beide unterstützte Kernel zur Auswahl:
Nach dem Start mit dem 4.1.12-124 Kernel kann nun geprüft werden, ob dieser Default ist (grubby --default-kernel) und falls nicht, mit grubby als Default gesetzt werden (grubby --set-default /boot/vmlinuz-4.1.12-124.40.6.el7uek.x86_64).
Nun kann die Grid Infrastruktur (19.3 ohne irgendwelche Patches) nach Anleitung installiert werden.
Im Zuge dessen werden nun die Disks mit dem ASM Filter Treiber gelabelt (asmcmd afd_label) und das gridSetup.sh aufgerufen.
Leider sieht man auf dem Blog-Post von Scoter aber auch, dass auf dem Oracle Linux 8 bisher nur UEK6 supported ist. Man kann also hier keine Umgehungslösung schaffen, indem man einen älteren Kernel installiert. Wer mit Oracle Linux 8 startet, kommt also bisher nicht um die Nutzung der ASMLib herum.
Noch zwei kurze Hinweise: Wer möchte, kann natürlich den RU/die Patches bereits bei der Installation im gridSetup.sh anwenden und für ACFS gibt es auch noch ein paar weitere Einschränkungen, die man hier finden kann.
Kommentare
Keine Kommentare