Die Versionen "apk-*-linux-rh" sind mit den folgenden Betriebssystem-Distributionen kompatibel:
Zum Installieren von APK benötigen Sie:
Das Image muss das ext3-Dateisystem enthalten, wenn die von APK bereitgestellten Kernel- und initrd-Dateien verwendet werden.
Wichtig! Die APK-Linux-Versionen unterstützen nur virtuelle PVM-Computer-Einrichtungen mithilfe des von CA 3Tera AppLogic bereitgestellten Builds des Linux-Kernels. Das Installationsskript löscht jede GRUB-Konfigurationsdatei auf dem Ziel-Image, daher ist kein Start im HVM-Modus möglich. Beim Speichern der GRUB-Datei (und ohne Löschen des Standard-BS-Kernels wie unten dokumentiert) kann APK auf einer Linux-Domäne verwendet werden. Dies wird aber nicht unterstützt und funktioniert möglicherweise nicht. Insbesondere sind ein sauberes Herunterfahren der Appliance im HVM-Modus sowie die automatische Bereitstellung von Volumes entsprechend der Bereitstellungspfade im CA 3Tera AppLogic-Klassen-Deskriptor nicht möglich.
Die folgenden Schritte können je nach der ursprünglichen Installation des Betriebssystems variieren. Sie werden nicht vom APK-Setupskript ausgeführt, und werden dem Ermessen des Administrators überlassen, da einige von ihnen invasiv sind und destruktiv sein können, wenn sie versehentlich auf einem Live-System ausgeführt werden (statt auf dem Image, das vorbereitet wird). Daher wird davon abgeraten, sie über ein automatisiertes Skript ablaufen zu lassen. Überspringen Sie Schritte, die für Sie nicht zutreffend sind.
So bereiten Sie das Image vor
Wenn das Betriebssystem als "ext2" installiert wurde, führen Sie den folgenden Befehl aus, um das Image in "ext3" zu konvertieren:
tune2fs -j
Um "ext2" (oder ein anders Dateisystem als "ext3") zu verwenden, muss die im Lieferumfang von APK enthaltene Datei "initrd" neu erstellt werden.
rm /etc/sysconfig/network-scripts/ifcfg-eth*
Das Installationsprogramm führt auch eine Überprüfung durch und zeigt eine Warnung an, wenn das Stammgerät durch eine Bezeichnung oder UUID angegeben wird.
rpm --root path/to/image -e --nodeps kernel
Oder der Shell "vol manage":
chroot path/to/image rpm -e --nodeps kernel
Hinweis: Nach der Bereinigung kann das Volume verkleinert werden, um ein kleineres Start-Volume-Image für die Appliance zu erhalten. Stellen Sie aber sicher, dass mindestens 10-15 MB freier Speicherplatz verbleiben, um genügend Platz für die Installation des XEN DomU-Kernels und APK und für Protokolldateien, temporäre Dateien usw. zu haben.
Die hier angegebenen Installationsanweisungen setzen voraus, dass die APK-Installation auf einem BS-Image vorgenommen wird, das eigentlich nicht ausführt wird, aber zuvor vorbereitet wurde, indem entweder ein sauberes BS installiert, heruntergefahren und auf den Startdatenträger zurückgegriffen wurde, oder indem eine vorhandene CA 3Tera AppLogic-Appliance wird mit einer neuen APK-Version aktualisiert wurde.
Auch eine Live-Installation (auf einem laufenden Betriebssystem) ist möglich. Verwenden Sie sie zusammen mit dem Hilfsprogramm "iso2class", das ab CA 3Tera AppLogic ServicePack 2.4.5 bereitgestellt wird. Beachten Sie, dass "iso2class" eine HVM-Appliance für Sie erstellt und dass APK nicht im HVM-Modus funktioniert. Die Appliance muss zum Modus "Paravirtualisiert" geändert werden, nachdem APK installiert wurde. Führen Sie für eine Installation in einem Live-System die folgenden Schritte aus; verwenden Sie jedoch "/" als aktuelles Verzeichnis für alle Vorgänge. Dies wird am besten auf einem virtuellen XEN-Computer durchgeführt (z. B. bei der Verwendung von "iso2class"). Wird dies auf einem Bare Metal-System durchgeführt, kann der Rechner nicht mehr gestartet werden.
So installieren Sie APK
Wenn das Image bereits als ein Volume auf einem CA 3Tera AppLogic-Grid installiert ist, kann darauf mithilfe des Befehls "vol manage" zugegriffen werden.
Wichtig: APK benötigt für diesen Vorgang das Paket "dhclient". Es wird nicht standardmäßig auf CentOS5 installiert. Installieren Sie das Paket "dhclient" auf Ihrem Image, bevor Sie APK installieren.
Das dhclient-RPM-Paket kann auf einem nicht aktiven BS-Image mithilfe von "chroot" installiert werden (z. B. als Bereitstellung in der Shell "vol manage"). Das RPM-Paket sollte auf einem der CentOS-Mirror-Websites verfügbar sein (z. B. http://mirror.stanford.edu/yum/pub/centos/5.1/os/i386/CentOS/dhclient-3.0.5-7.el5.i386.rpm).
So installieren Sie das Paket "dhclient"
cd /mnt/vol tar -zxf tmp/domu-linux-2.6.18.8.386.tar.gz # ** siehe Hinweis unten! tar -zxf tmp/apk-2.0.14-rh.tar.gz
Das Setupskript wird ins Verzeichnis "./tmp" entpackt.
Wichtig! Verwenden Sie das richtige domu-linux-Archiv für Ihre Distro-Architektur. Wenn Sie ein 32-Bit Kernel installieren, funktioniert es auf einem 64-Bit-Distro nicht.
tmp/apk-install
Das Setupskript (und die Dateien mit der Erweiterung "tar", falls sie in das Image selbst kopiert wurden) können jetzt mit dem folgenden Befehl entfernt werden:
rm tmp/apk-install tmp/domu-linux-*.tar.gz tmp/apk-*.tar.gz
Hinweis: Die im Lieferumfang von APK enthaltenen init-Skripte unterstützen die Appliance-spezifischen Skripte nicht mehr, die unter "/appliance" installiert sind. Wenn es vorhanden ist, hält das Installationsskript an und fordert eine Benutzereingabe an. Wenn keine Appliance-spezifische Anpassung in diesem Verzeichnis vorgenommen wurde (d. h., die Inhalte sind gleich oder ähneln dem LUX-Inhalt), können Sie es löschen. Die ganze Standardfunktionalität, die dort installiert wurde, wird jetzt von APK bereitgestellt. Klicken Sie anderenfalls, um nach "/tmp" zu speichern und mit der Installation fortzufahren.
Wenn die Datei "/etc/sysconfig/applogic_init" vorhanden ist, liest das APK-Initialisierungsskript sie als "shell include"-Skript (mit dem Befehl "."). Die folgenden Parameter können in "/etc/sysconfig/applogic_init" 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. Dies ersetzt die angegebene Konfigurationsdateiliste im Dialogfeld "Begrenzung ändern" in der GUI (für Appliances, die nicht APK verwenden). 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. |
Wichtig! Die Datei "/etc/sysconfig/applogic_init" wird ausgeführt, bevor Konfigurationsdaten abgerufen oder angewandt werden. Daher kann sich das Skript nicht auf die Anwesenheit der Konfigurationsdateien der Appliance verlassen. 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
Wenn die Datei "/etc/sysconfig/applogic_appliance" vorhanden ist, liest das APK-Skript "late init" sie als Skript "shell include" (mit dem Befehl "."), nachdem alle 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 druckt und einen Fehler zurückgibt, wird die Schlusszeile dieser Meldung als Fehlermeldung an den Controller gesandt.
Beispieldatei für die Überprüfung nach dem Start für eine Webserver-Appliance - ü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
Wichtig! Einige Appliances im Systemkatalog verwenden ein angepasstes Skript in "/appliance", um Dienste zu initialisieren. Dies wird nicht mehr unterstützt. Dieses Verzeichnis wird gelöscht, wenn APK installiert wird, damit die Stammverzeichnisstruktur sauber und mit dem Dateisystem-Hierarchie-Standard kompatibel ist. Der Code aus solchen Skripten könnte zu "/etc/sysconfig/applogic_appliance" verschoben werden, um das alte Verhalten nachzuahmen. Dies ist jedoch nicht die Absicht der Datei für die Überprüfung nach dem Start und wird nicht empfohlen. Statt dessen muss ein installierter Dienst sein eigenes Initialisierungsskript haben und allgemein in der Lage sein, vollständig außerhalb von CA 3Tera AppLogic ausgeführt zu werden.
| Copyright © 2011 CA. Alle Rechte vorbehalten. | Senden Sie CA Technologies eine E-Mail zu diesem Thema. |