Dieses Kapitel enthält folgende Themen:
Anpassen des Appliance-Verhaltens
Sie können das automatische Verhalten des Systemstartskripts anpassen, um benutzerdefinierte Funktionen für die Appliance bereitzustellen.
Definieren Sie die folgenden Parameter in einer der folgenden Dateien:
/etc/sysconfig/applogic_init
Appliance-Initialisierungskonfiguration
Wenn die Datei "/etc/sysconfig/applogic_init" vorhanden ist, liest das APK-Initialisierungsskript sie als "shell include"-Skript mit dem Befehl ".".
Wichtig: Die Datei "/etc/sysconfig/applogic_init" wird ausgeführt, bevor Konfigurationsdaten abgerufen oder angewandt werden. Daher kann das Skript nicht auf die Anwesenheit von Appliance-Konfigurationsdateien vertrauen. Verwenden Sie diese Datei nicht dafür, Initialisierungscode auszuführen, sondern nur für die oben definierten Konfigurationsvariablen.
Beispiel "/etc/sysconfig/applogic_init":
APK_CONFIG_FILES=/etc/httpd/conf.d/myconfig.conf APK_AUTH_KEY_PATH=/root/.ssh/alternate_keys
Folgende Parameter können in jedem Skript definiert werden:
|
APK_AUTH_KEY_PATH |
Speicherort, an dem der öffentliche Schlüssel für den SSH-Zugriff der Appliance gespeichert wird. Über den Befehl "3t comp shh" wird anhand des entsprechenden privaten Schlüssels eine Verbindung zu Appliances hergestellt. Der Standard ist "/root/.ssh". Wenn eine leere Zeichenfolge festgelegt wird, wird der Schlüssel nirgends gespeichert. |
|
APK_CONFIG_FILES |
Durch Leerzeichen getrennte Liste von Dateien, auf die Appliance-Eigenschaften angewendet werden sollen. Eine Appliance mit APK verwendet die Liste "APK_CONFIG_FILES", die sich in der Appliance selbst befindet, und nicht die in der GUI angegebene Liste. Wenn die Appliance das APK nicht verwendet, ersetzt dies die Konfigurationsdateiliste, die im Dialogfeld "Begrenzung ändern" im Infrastruktur-Editor der GUI angegeben wurde. Wichtig: Wenn Sie das APK in einer vorhandenen Appliance installieren, überprüfen Sie die Konfigurationsdateien im Klassen-Deskriptor. Der Klassen-Deskriptor befindet sich auf der Registerkarte "Konfigurationsdateien" des Dialogfelds "Begrenzung ändern" im Infrastruktur-Editor. Übertragen Sie die Liste der Dateien an die Einstellung "APK_CONFIG_FILES" in der Appliance. |
|
APK_CONFIG_DNS |
Dieser Parameter steuert Aktualisierungen der Systemnamensauflösungskonfiguration. Werte:
|
|
APK_HOSTNAME_UPDATE |
Wenn Sie diesen Parameter auf "No" setzen, wird das Standardverhalten deaktiviert, bei dem der Hostname oder Computername in eine vom Instanzennamen der Appliance abgeleitete Zeichenfolge geändert wird. Das Deaktivieren der automatischen Hostnamensänderung kann für die Appliances "Virtual Private" oder "Dedicated Server" wünschenswert sein, bei denen der Appliance-Eigentümer alle Aspekte der Konfiguration, einschließlich des Hostnamens, verwaltet. Wichtig! Wenn APK_HOSTNAME_UPDATE auf "yes" oder gar nicht festgelegt wird, löst die Hostnamensänderung einen Neustart des Betriebssystems aus. Dies tritt beim ersten Start auf oder immer dann, wenn der Instanzenname der Appliance geändert und ein Neustart ausgeführt wird. Da dieser Neustart durchgeführt wird, bevor APK einen erfolgreichen Start melden kann, scheint es, als ob die Appliance für den Start doppelt so lange benötigt. Wenn ein Neustart vom APK ausgelöst wurde, wird eine Meldung über den Wechsel in den Wartungsmodus in den Details des Systemstartfortschritts angezeigt. |
|
APK_AUTOMOUNT |
Wenn dieser Parameter auf "no" festgelegt wird, wird die automatische Zuweisung von Laufwerksbuchstaben oder Bereitstellungspunkten deaktiviert, wie in der Appliance-Klasse angegeben. Dies deaktiviert auch alle Volume-Statusüberprüfungen in APK. Wichtig! Diese Option muss verwendet werden, wenn die Appliance ein konfiguriertes CD-ROM-Gerät besitzt, indem ein ISO-formatiertes Image als ein virtueller Datenträger zugewiesen wird. Die automatische APK-Bereitstellung funktioniert in dieser Kombination nicht, und die Appliance kann nicht gestartet werden. |
Appliance-Überprüfung nach dem Start
Wenn die Datei "/etc/sysconfig/applogic_appliance" oder "\aookiguc\config\applogic_appliance" vorhanden ist, liest das APK-Skript "late init" sie als Skript "shell include" mit dem Befehl ".", nachdem alle anderen Dienste auf der Appliance gestartet wurden. Der Rückgabestatus vom Skript zeigt an, ob die Appliance als richtig gestartet oder fehlgeschlagen betrachtet werden soll.
Wenn das Skript eine Meldung in stderr ausgibt und einen Fehler zurückgibt, wird die letzte Zeile dieser Meldung als Fehlermeldung an den Controller gesendet.
Beispieldatei für die Überprüfung nach dem Start für eine Webserver-Appliance. Damit wird überprüft, dass der Server läuft und auf "HTTP GET" an die Startseite reagiert:
if ! wget -q -O /dev/null http://localhost/ ; then echo "start failed - web server is not responding" >&2 return 1 fi return 0
Vermeiden Sie die Verwendung von "/etc/sysconfig/applogic_appliance" als Startskript, um die Appliance-Dienste zu starten. Dies verhindert, dass Ihr Setup verwendet oder außerhalb einer Appliance, auf der APK installiert ist, getestet wird.
Wichtig: Unter Windows wird die Überprüfung "applogic_appliance" nach dem Start initiiert, nachdem der Windows-SCM (Dienststeuerungs-Manager) alle Dienste geladen hat und NICHT, wenn die Initialisierung abgeschlossen ist. Dies ist anders als bei anderen Plattformen, die vom APK unterstützt werden.
In Windows werden einige Dienste von anderen Diensten mithilfe eines API-Anrufs gestartet werden, statt als eine ausdrückliche Abhängigkeit. Es kann daher nicht erwartet werden, dass sie darauf warten, dass das automatische Laden der Dienste abgeschlossen ist. Deswegen muss jeder Startüberprüfungscode, der zur Datei "/etc/sysconfig/applogic_appliance" hinzugefügt wird, dies berücksichtigen und auf jeden Dienst warten, der überwacht werden muss, falls er noch nicht initialisiert wurde.
|
Copyright © 2013 CA.
Alle Rechte vorbehalten.
|
|