Vorheriges Thema: Manuelles Ausführen des APK-VorbereitungsskriptsNächstes Thema: vme: Ereignis-Generator


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 der Datei "/etc/sysconfig/applogic_init" oder "\applogic\config\applogic_init".

Appliance-Initialisierungskonfiguration

Wenn die Datei "/etc/sysconfig/applogic_init" oder "\applogic\config\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. Standard ist "/home/Administrator/.ssh". Wenn eine leere Zeichenfolge festgelegt wird, wird der Schlüssel nirgends gespeichert.
Wenn der angegebene Speicherort eine vorhandene Datei ist, werden der Eigentümer und die Berechtigungen beibehalten. Andernfalls wird die Datei mit "owner root" erstellt.

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" der GUI angegeben ist.

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

Steuert die Aktualisierungen der Systemnamensauflösungskonfiguration.

Werte:

  • yes - Das APK aktualisiert die Systemauflösungskonfiguration (Datei "/etc/resolv.conf" unter Linux und DNS-Einstellungen mithilfe des Befehls "Netsh" unter Windows) mit den auf dem AppLogic-Grid konfigurierten Werten. (Standard)
  • no - Das APK wird keine Aktualisierungen ausführen.

APK_DISABLE_NTPCONFIG

Deaktiviert die Synchronisierung des NTP-Daemons mit der Uhrzeit des Servers, auf dem die Appliance gehostet wird.

Werte:

  • no - deaktiviert die Uhrzeitsynchronisation (Standard)
  • yes - aktiviert die Uhrzeitsynchronisation

Wenn NTP installiert ist, UND APK_DISABLE_NTPCONFIG auf "no" festgelegt oder nicht definiert ist, konfiguriert das APK den NTP-Daemon, um eine Synchronisierung mit der Uhrzeit des Servers, auf dem die Appliance gehostet wird, durchzuführen. Das APK versucht nicht, den NTP-Daemon zu starten, es bereitet die Konfiguration nur vor.

APK_CONFIG_EXTIFC

Aktiviert die APK-Konfiguration von externen rohen Schnittstellen

  • yes - aktiviert die Konfiguration (Standard)
  • no - deaktiviert die Konfiguration

Legen Sie "No" fest, wenn Sie eine neue Version des APK auf einer alten Appliance installieren, die erstellt wurde, bevor das APK externe Schnittstellen automatisch konfiguriert hat.

Diese Appliances erwarten nicht, dass das APK die externe Schnittstelle konfiguriert, und schlagen normalerweise fehl, wenn dies doch durchgeführt wird.

APK_HOSTNAME_UPDATE

Wenn dieser Parameter auf "no" festgelegt wird, wird das Standardverhalten deaktiviert, bei dem der Hostnamens (auch bekannt als Computername in Windows) in eine vom Instanzennamen der Appliance abgeleitete Zeichenfolge geändert wird.

Das Deaktivieren der automatischen Hostnamensänderung kann für die Appliances "Virtual Private/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 bestimmten 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 Systemstart außerhalb einer Appliance, auf der APK installiert ist, verwendet oder getestet wird.

Wichtig: Die "applogic_appliance"- Überprüfung nach dem Start wird 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.