Vorheriges Thema: Windows-Appliance-Installation

Nächstes Thema: Windows-Installationsreferenz

Appliance-Kit-Installation für Windows

Für Windows Server 2003 (32-Bit/64-Bit) und Windows Server 2008 (32-Bit/64-Bit).

Dateien
Kompatibilität

Die Versionen "apk-*-windows" sind mit den folgenden Betriebssystem-Distributionen kompatibel:

Zum Installieren von APK benötigen Sie:

Vorbereiten des Image

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 Bedieners überlassen. Für einige dieser Schritte ist ein GUI-Zugriff notwendig, der ggf. mit einem automatisierten Skript nicht möglich ist. Andere sind invasiv und können destruktiv sein. Daher wird davon abgeraten, sie über ein automatisiertes Skript ablaufen zu lassen.

Überspringen Sie Schritte, die für Sie nicht zutreffend sind.

  1. Deaktivieren Sie alle visuellen Elemente auf dem Desktop (animierte Menüs, Schatten, Verschieben ganzer Fenster usw.), damit der Vorgang über VNC oder über einen Remote-Desktop optimal ausgeführt werden kann.
  2. Deaktivieren Sie den Bildschirmschoner und die Bildschirmsperre.
  3. Legen Sie ein sicheres Kennwort für das Administratorkonto fest.
  4. Deinstallieren/deaktivieren Sie alle BS-Dienste, die nicht verwendet werden (z. B. Browser-Dienst und Server-Dienst).
  5. Installieren Sie alle Windows-Update-Hotfixes (erfordert mehrere Neustarts!). Hinweis: Wenn die Windows 2008-Updates nicht installiert werden, kann APK fehlschlagen.
  6. Ergreifen Sie weitere notwendige Maßnahmen, um das BS zu sichern, bevor es dem Netzwerk zugänglich gemacht wird.
  7. Aktivieren Sie die Remoteverwaltung (mithilfe der Terminaldienste): Beachten Sie, dass sich dies von der Konfiguration des BS als Terminalserver unterscheidet. (Für Terminalserver müssen die Lizenzen auf den Clients bezahlt werden. Führen Sie dies nur durch, wenn dies der Zweck der Installation ist.)
  8. Konfigurieren Sie das Netzwerk mit einer öffentlich zugänglichen IP-Adresse. Die restlichen Schritte können jetzt über den Remote-Desktop ausgeführt werden.
  9. Installieren Sie CygWin (www.cygwin.com). Führen Sie die Installation als Administrator aus, und wählen Sie aus, dass die Installation für alle Benutzer ausgeführt werden soll. Fügen Sie mindestens das folgende Element dem Basissatz von Paketen hinzu: SSH-Server. Konfigurieren Sie den SSHD-Server NICHT selbst, sondern lassen Sie APK den SSHD-Server konfigurieren.
  10. Überprüfen Sie, dass die folgenden GNU-Hilfsprogramme installiert sind. (Sie sollten in den Basispaketen sein, überprüfen Sie dies, und fügen Sie sie hinzu, wenn sie fehlen): "bash", "wget", "gzip" und "tar".
  11. Installieren Sie die XEN-fähigen (paravirtuellen) Gerätetreiber, wenn gewünscht. Bei der Verwendung von PV-Treibern wird empfohlen, Windows neu zu starten, nachdem die Treiber und bevor APK installiert wurden. Überprüfen Sie, dass die PV-Treiber ordnungsgemäß funktionieren.

Hinweis: Für die Mindestinstallation von Windows 2003 werden mehr als 1 GB Festplattenspeicher benötigt. Für die vollständige Installation von Windows 2008 werden fast 8 GB benötigt (weniger als für den Server Core). Geben Sie ausreichend Festplattenspeicher für die Installation von CygWin und den Windows-Update-Hotfixes frei. (Denken Sie daran, dass Windows ALLE Vorgängerversionen der binären Dateien beibehält, die durch die Hotfixe ersetzt werden.) Überprüfen Sie, dass mindestens 5–10 MB freier Festplattenspeicher für die Installation von APK und für Protokolldateien, temporäre Dateien usw. vorhanden ist.

Installieren von APK

Die Installation muss unter einem Live-System ausgeführt werden. APK für Windows kann nicht in ein geladenes Betriebssystem-Datenträger-Image installiert werden, das nicht das eigentlich ausgeführte Betriebssystem ist. Verwenden Sie für beste Ergebnisse ein Betriebssystem-Image mit konfiguriertem externem Netzwerkzugriff, und melden Sie sich mithilfe eines Remote-Desktop-Clients von Ihrem gewünschten Betriebssystem (z. B. "rdesktop") an. Dies ergibt bessere interaktive Operationen als mit VNC zu sehen, um den HVM-Emulator-Videobildschirm anzuzeigen.

  1. Melden Sie sich als Administrator an, und öffnen Sie eine CygWin-Shell.
  2. Kopieren Sie die APK-Dateien in das Verzeichnis "/tmp".
  3. Ändern Sie das CygWin-Stammverzeichnis (/), und entpacken Sie das APK-Binärarchiv im Stammverzeichnis. Beispiel:
    cd / gtar -zxf tmp/apk-2.0.10-windows.tar.gz 
    
  4. Führen Sie das Installationsskript aus:
    bash tmp/apk-install 
    

Dies sollte ohne Fehlermeldungen abgeschlossen werden. Wenn Fehlermeldungen auftreten, überprüfen Sie die oben genannten vorbereitenden Schritte, und führen Sie den Vorgang noch einmal durch.

Hinweis: Das Installationsskript darf mehrmals ausgeführt werden, die Installation wird dadurch keinesfalls beschädigt.

Das Setupskript und die APK-Datei-mit der Erweiterung "tar" können wie folgt entfernt werden:

  1. Führen Sie den folgenden Befehl aus:
    rm tmp/apk-install  tmp/apk-*.tar.gz 
    
  2. Fahren Sie das Betriebssystem herunter.

Wenn die Image-Vorbereitung außerhalb eines CA 3Tera AppLogic-Grids durchgeführt wurde, kann das Image jetzt in ein Grid kopiert und zum Erstellen einer Appliance verwendet werden.

Wenn das Image auf einem Grid als eine neue Betriebssysteminstallation erstellt wurde: Deaktivieren Sie die nicht verwaltete Appliance-Option. Deaktivieren Sie dazu das Kontrollkästchen für den Feldentwicklungscode.

Überprüfen Sie, dass das Geräteschema auf "hda/hdb/hdc/hdd" festgelegt wird (im Editor: "Begrenzung ändern", "Allgemein", "Virtualisierungsmodus", "Erweitert").

Wichtige Windows-spezifische Informationen

Dateinamen

Wenn nicht anders angegeben, sind Namen in diesem Dokument im CygWin-Datei-Namespace, der ein Posix-System nachahmt.

Hinweis: Diese Namen können mit ausschließlich mit Cygwin-Hilfsprogrammen verwendet werden. Dies umfasst die APK-Binärdateien ("vme" und "udlparse") und alle systemeigenen Windows-Befehlszeilentools. Die meisten Cygwin-Hilfsprogramme akzeptieren entweder einen CygWin-Namen (Posix) oder einen Windows-Namen (z. B. "C:\Pfad\"), davon ausgenommen sind Namen, die die Zeichenfolge ":" wie in "Computername:Dateiname" enthalten, zum Beispiel "scp", "rsync" und insbesondere "tar". Letzteres kann zum Akzeptieren eines Windows-Namens mit der Option "--force-local" gezwungen werden.

Um einen Dateinamen zwischen den Windows- und Cygwin-Namespaces zu konvertieren, verwenden Sie "cygpath".

windowspath=`cygpath -w /var/applogic/appliance.desc`

Datenträger-Bereitstellungen

Wenn ein Bereitstellungspunkt für Datenträger angegeben wird, verwenden Sie ggf. folgende Namen:

X - ein einzelner Buchstabe (A, B, D–Z) ermöglicht den Datenträgerzugriff als X:\.

X:\ - genauso wie X

C:\dir1\[dir2\...] - ermöglicht den Datenträgerzugriff im angegebenen Unterverzeichnis des Startdateisystems. Falls das Verzeichnis nicht existiert, wird es erstellt.

Hinweis: Es wird nicht empfohlen, APK das Verzeichnis erstellen zu lassen, da die Standardverzeichnisberechtigungen ggf. nicht den gewünschten Berechtigungen entsprechen.

Bei einem Datenträger ohne einen angegebenen Bereitstellungspunkt im Klassen-Deskriptor ignoriert APK den Datenträger, und die Bereitstellungszuweisung in Windows bleibt wie sie ist. In diesem Fall ist jede Bereitstellungspunktzuweisung für diesen Datenträger, die von Windows selbst manuell vorgenommen wird, persistent und hat eine höhere Priorität als die Zuweisung des gleichen Bereitstellungspunkts zu einem anderen Datenträger über dem Klassen-Deskriptor. (Die letztere Zuweisung hat keine Auswirkung, und der Datenträger wird nicht geladen.) Wenn Sie zum Beispiel Folgendes im Klassen-Editor angegeben haben:

Datenträger 0 -> (Start)
Datenträger 1 -> (keine Bereitstellungszuweisung)
Datenträger 2 -> Z:\ 

Wenn Sie sich dann bei der Appliance anmelden, entfernen Sie "Z" vom "Datenträger 2", und weisen Sie sie dem "Datenträger 1" zu. "Z" ist weiterhin dem "Datenträger 1" bei Neustarts zugewiesen, und die Zuweisung von "Datenträger 2" zu "Z" im Klassen-Deskriptor hat keine Auswirkungen. "Datenträger 2" wird so lange an keiner Stelle geladen, bis "Z" aus dem "Datenträger 1" entfernt oder "Datenträger 2" zu etwas anderem als "Z" zugewiesen wird.

"C:\" wird reserviert und kann für keinen Datenträger als Bereitstellungspunkt zugewiesen werden. Jede Zuweisung für den Startdatenträger wird ignoriert und als auf "C:\" im Appliance-Instanzen-Deskriptor zugewiesen gemeldet.

Verwenden Sie keine Bereitstellungspfade nicht mit Unterverzeichnissen auf einem Laufwerk (außer C:). Wenn Sie dies nicht berücksichtigen, ist Ihre Bereitstellung möglicherweise nicht nutzbar, da sie von der Reihenfolge abhängt, in der die Datenträger geladen werden.

Denken Sie daran, dass mit Windows ein nicht formatierter Datenträger (oder ein formatierter Datenträger mit einem Dateisystem, der von Windows nicht erkannt wird) problemlos bereitgestellt werden kann. Es tritt kein Fehler auf, und es wird keine Warnung angezeigt, wenn die Bereitstellung von APK zugewiesen wird, allerdings schlagen Versuche fehl, auf den Bereitstellungspunkt und auf die Unterpfade zuzugreifen.

Benutzernamen

Das APK-Installationsskript legt den CygWin-Alias für den Administrator als "root" fest. "root" ist deswegen der Benutzername, der von jeder CygWin-Binärdatei erkannt wird, und wird als der aktuelle Benutzername in einer CygWin-Shell und in Verzeichnisauflistungen angezeigt. Mit dieser Einstellung ist ein Zugriff auf die Appliance mithilfe des Remote-Shell-Befehls möglich (3t ssh component-name).

Beachten Sie, dass die Zuordnung zwischen den CygWin-Benutzernamen und Windows-Benutzernamen nicht automatisch erfolgt, sondern in den Dateien "/etc/passwd" und "/etc/group" beschrieben wird, die nicht automatisch aktualisiert werden, wenn Windows-Benutzer hinzugefügt/entfernt werden. CygWin umfasst Hilfsprogramme, um die Dateien "/etc/passwd" und "/etc/group" zu verwalten. Wenn diese Hilfsprogramme verwendet werden, achten Sie darauf, dass die besondere Zuordnung für "root", die von APK erstellt wurde, beibehalten wird, andernfalls ist eine SSH-Anmeldung vom Grid aus nicht mehr möglich.

Anpassen des Appliance-Verhaltens - Schnellreferenz

Appliance-Initialisierungskonfiguration

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. 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. 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: Wenn APK auf einer vorhandenen Appliance installiert wird, müssen Sie im Klassen-Deskriptor (mithilfe der GUI des Editors) überprüfen, ob die Konfigurationsdateien vorhanden sind, die sich auf der Registerkarte "Konfigurationsdateien" im Dialogfeld "View class" (Klasse anzeigen) / "Begrenzung ändern" befinden. Übertragen Sie die Liste der Dateien an die Einstellung "APK_CONFIG_FILES" in der Appliance.

APK_HOSTNAME_UPDATE

Wenn dieser Parameter auf "no" festgelegt wird, wird das Standard-Verhalten zum Ändern des Hostnamens (auch bekannt als Computername in Windows) zu einer Zeichenfolge, die vom Instanznamen der Appliance abgeleitet wird, deaktiviert.
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.
Hinweis: Wenn APK_HOSTNAME_UPDATE auf "yes" festgelegt wird (oder nicht festgelegt wird), löst die Hostnamensänderung einen Neustart des Betriebssystems aus. Dies tritt beim ersten Start auf oder immer dann, wenn der Instanzname 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. Dem Bediener wird im Wartungsmodus in den Details zur Fortschrittsanzeige eine Meldung angezeigt, wenn von APK ein Neustart ausgelöst wurde.

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. WICHTIGER HINWEIS: 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.

Wichtig: Die Datei "/etc/sysconfig/applogic_init" wird ausgeführt, bevor Konfigurationsdaten abgerufen oder angewendet 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 

Appliance-Überprüfung nach dem Start

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 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 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 

Vermeiden Sie die Verwendung von "/etc/sysconfig/applogic_appliance" als Startskript, um die Appliance-Dienste zu starten. Dies verhindert, dass Ihr Setupformular verwendet oder außerhalb einer Appliance, die APK installiert hat, getestet werden kann.

Wichtig: Windows-spezifischer Hinweis: Im Gegensatz zu den anderen von APK unterstützten Plattformen wird die Datei für die Überprüfung nach dem Start "applogic_appliance" initiiert, nachdem der Windows-SCM (Dienststeuerungs-Manager) alle Dienste geladen hat und NICHT, wenn die Initialisierung abgeschlossen ist. Zusätzlich kompliziert wird die Situation dadurch, dass in Windows 2003/2008 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 Code, der der Datei "/etc/sysconfig/applogic_appliance" hinzugefügt wird, dies berücksichtigen und auf jeden Dienst warten, der überwacht werden muss, falls sie noch nicht initialisiert wurden.