1. Start
  2. Unternehmen
  3. Blog
  4. Starten eines Oracle Engineered System, am Beispiel ODA, über SSH-Verbindung

Starten eines Oracle Engineered System, am Beispiel ODA, über SSH-Verbindung

Die ewige Frage nach dem "Warum"?

Die Frage ist - wieso kommt jemand auf die Idee, ein Engineered System von Oracle, wie im vorliegenden Fall eine Oracle Database Appliance (ODA), automatisiert starten zu wollen? Es ist doch relativ einfach, sich am ILOM (die Tests hier wurden übrigens mit einem ILOM Stand 5.xx vorgenommen) anzumelden und dann die ODA hoch zu fahren. Dazu ist aber eigentlich immer ein manueller Eingriff nötig. 

Ohne zu sehr ins Detail zu gehen - im vorliegenden Fall eines Industrieunternehmens ist ein Rechenzentrum mit Akkus ausgestattet, die für einen gewissen Zeitraum die Stromversorgung übernehmen können, wenn es im öffentlichen Stromnetz einen Ausfall gibt. Diese Akkus sind allerdings für keinen längeren Betrieb dimensioniert, sondern sollen nur dafür sorgen, dass die Server (und Industriemaschinen) sanft heruntergefahren werden. Kommt das öffentliche Netz wieder (oder springt der dieselbetriebene Generator an), sollen gewisse Server und Maschinen wieder gestartet werden - aber bitte nicht alle in der gleichen Sekunde und in der richtigen Reihenfolge (also erst Basisinfrastruktur wie DNS, AD, dann Datenbanken, dann Applikationsserver,...) . Dafür gibt es eine entsprechende Software/Konfiguration, die dieses verwaltet und die Systeme nach gewissen Wartezeiten automatisiert startet. 

Die Anforderung ist somit sehr klar definiert und das "Warum" auch eindeutig nachvollziehbar. Fehlt also das "Wie" - am liebsten natürlich über SSH und nicht über eine HTML-Oberfläche. Nun, das Herunterfahren des Servers ist einfach - man kann im Falle einer ODA dem Ablaufplan in der entsprechenden Oracle Support Note (ID 2479508.1) folgen. Hier ist beschrieben, wie ein geordnetes Herunterfahren und Ausschalten der ODA durchgeführt wird, in dem man sich auf der ODA als entsprechender Benutzer anmeldet, Dienste stoppt und dann einen Shutdown durchführt - natürlich nur, sofern der Akku noch genügend Laufzeit hat, damit dies auch so funktioniert. Ein geordnetes Herunterfahren kann schliesslich einige Minuten dauern. 

Problematischer ist aber der Start einer ODA. Es gibt keine Möglichkeit, sich mit der ODA selbst zu verbinden - da diese heruntergefahren ist, ist nur eine Verbindung mit dem ILOM der ODA möglich. Diese ILOM Verbindung kann nun genutzt werden, um die ODA manuell  oder automatisiert zu starten (SSH zum ILOM kann natürlich auch genutzt werden, um eine ODA schnell herunter zu fahren, auch wenn dies nicht empfohlen wird, da es in (sehr, sehr seltenen) Fällen zu einer Beschädigung des Filesystems des Betriebssystems oder einer auf der ODA laufenden VM führen könnte). 

 

Schritt 1 (optional) - Anlegen eines eigenen Benutzers

Das ILOM an einem Oracle Engineered System besitzt als Standardbenutzer "root". Wer also das Skripten als User "root" (ohne Zertifikat) durchführen möchte, kann diesen (und weitere Schritte) einfach übergehen. Da man aber aus Security-Gründen vielleicht doch lieber einen anderen Benutzer anlegen möchte, hier das Vorgehen. 

In der Benutzeroberfläche des ILOM gibt es einen Punkt "ILOM Administration" und hier kann man über "User Management" auch einen neuen Benutzer anlegen. Damit dieser Benutzer später die Rechte hat, das Engineered System zu stoppen und zu starten, benötigt er noch Rechte. Wir haben (ro) vergeben, wobei "r" für "Reset and Host Control" und "o" für "Read only steht. Die entsprechende Oberfläche zum Anlegen von User und Passwort sieht man im nachfolgenden Screenshot. 

In diesem Beispiel wurde ein Benutzer "bootman" (Boot-Manager) angelegt, das entsprechende User-Management sieht also wie folgt aus.

Schritt 2 (optional) - SSH Keys erstellen für SSH Verbindungen ohne Passwort

Wie bereits geschrieben, kann man die folgenden Schritte für jeden ILOM Benutzer ausführen. Der Einfachheit halber ist alles mit "root" als Benutzer dargestellt, wer stattdessen einen anderen Benutzer nutzen möchte, kann dieses gerne tun (sowohl auf Linux-Seite, als auch im ILOM). Man muss keine SSH Keys für eine automatisierte Anmeldung am ILOM über SSH anlegen - sollte man allerdings skripten wollen, müsste man dem Skript das Passwort mitgeben (natürlich möglichst verschlüsselt, damit niemand an das Passwort eines ILOM Benutzers kommt). 

Erstellt werden können die SSH Keys für Windows z.B. mit Putty, im Linux mit ssh-keygen. Um später an das ILOM connecten zu können benötigt man nichts Spezielles, rsa reicht völlig aus. Im Falle von Linux kopiert man die id_rsa.pub dann am einfachsten auf den lokalen Rechner (dann kann man sie einfacher ins ILOM über das UI laden).

Schritt 3 (optional) - SSH Keys in das ILOM laden

Möchte man also SSH Verbindungen automatisiert ohne Passwort durchführen, muss dem ILOM der entsprechende öffentliche Schlüssel bekannt gegeben werden. Dieser Schlüssel wird über die id_rsa.pub Datei in das ILOM geladen. Dazu wird wieder der Bereich "ILOM Management" - "User Mangement"-"User Accounts" verwendet. Hier befindet sich eine entsprechende Schaltfläche zum Hinzufügen der Datei.

Nun kann man den Benutzer, für den man den Key laden möchte, und die zu ladende id_rs.pub auswählen.

Wurde die Datei erfolgreich hochgeladen, findet man den entsprechenden Eintrag im Bereich "SSH Keys" - mit User Name (ILOM User), Fingerprint und Algorithm des SSH Keys (ssh-rsa). Im comment steht in diesem Falle, welcher Benutzer von welchem System zu diesem SSH Key gehört (deshalb unkenntlich gemacht).

Schritt 4 - SSH Verbindung zum ILOM

Wer nun die beiden optionalen Schritte 2 und 3 durchgeführt hat, kann sich direkt mit dem ssh unter Verwendung von <ilom_user_name>@<ilom-ip-address/ilom-dns> mit dem ILOM des engineered System verbinden (siehe Screenshot). Ist kein passwortloses Verfahren konfiguriert, muss das Passwort mitgegeben oder übergeben werden, also z.B. mittels <ilom_user_name>/<ilom_user_password>@<ilom-ip-address/ilom-dns>. 

Schritt 5 - Starten/Stoppen des Systems via ILOM SSH Verbindung

Kommen wir also zu dem Teil, weshalb wir das eigentlich alles machen, dem Starten und ggfs. Stoppen des Systems. In der ILOM Dokumentation findet man zum Starten/Stoppen des Systems die Befehle "start /SYSTEM" und "stop /SYSTEM". Führt man diese aus, wird allerdings eine Frage gestellt "Are you sure you want to start/stop /System (y/n)?". Das ist mehr als unschön, verhindert es doch die gewollte Automatisierung. In älteren ILOM Dokumentationen findet man allerdings noch den Parameter "-script", der auch mit der hier getesteten ILOM Version 5.xx funktioniert, in der aktuellen Dokumentation aber nicht mehr enthalten ist. Verwendet man diesen, wird das System wie gewünscht gestoppt und gestartet.

Über ein entsprechendes Skript oder direkt von einer anderen Umgebung aus, ist es nun möglich, mit einem "one-liner" die ODA zu starten oder zu stoppen, im Falle der Verwendung von SSH Keys sogar ohne Verwendung eines Passwortes - also genau der ursprünglichen Anforderung entsprechend. 

Zu allerletzt noch eine kleine Zusatzinformation: Sollte es ausreichen, dass die ODA automatisch startet, wenn wieder Strom verfügbar ist, kann man im ILOM den Parameter "HOST_AUTO_POWER_ON" auf "enabled" setzen.

Kommentare

Keine Kommentare

Kommentar schreiben

* Diese Felder sind erforderlich