Beiträge getagged mit patch

Howto: Citrix XenServer-Patch nochmals installieren

Heute wurde ich in das Büro geholt, da beim Update auf die letzten XenServer-Version (5.5.0 Update-1) wohl einiges schief gegangen ist. Nach dem Neustart des Servers konnten unser FibreChannel Storage Repository, das lokale Storage Repository und die iSCSI-Volumes nicht mehr geladen werden. Beim Re-attachen eines iSCSI-Laufwerks bekam ich den Fehler, dass der Treiber lvmoiscsi nicht geladen wurde. Weiterhin war es uns auch nicht möglich, die USB-Treiber zu nutzen, da diese offensichtlich nicht mehr vorhanden gewesen sind.

Problematischerweise konnten wir mit der Installations-Cd von 5.5.0 Update-1 unser System nicht wiederherstellen bzw. upgraden, da der Patch bereits als komplett installiert erkannt worden war.

Nach mehreren missglückten Lösungsansätzen und wenig Erfolg bei Google hatte ich dann die rettende Idee, folgende Kommandos müssen auf der CLI des XenServers abgesetzt werden.

wget http://downloadns.citrix.com.edgesuite.net/4276/XenServer-5.5.0-Update1.xsupdate /tmp
xe patch-upload file-name=XenServer-5.5.0-Update1.xsupdate

Nun kann es sein, dass der Patch bereits als installiert gekennzeichnet worden ist. Deshalb muss im Verzeichnis /var/patch bzw. /var/patch/applied das Verzeichnis mit der UUID, die xe patch-upload zurückliefert, verschoben werden.

/usr/bin/gpg --homedir /opt/xensource/gpg --no-default-keyring --keyring /opt/xensource/gpg/pubring.gpg --decrypt /tmp/XenServer-5.5.0-Update1.xsupdate > /tmp/update.sh
chmod u+x /tmp/update.sh
/tmp/update.sh unpack

Damit wird die Installationsdatei entschlüsselt und danach entpackt. Der Aufruf von /tmp/update.sh apply funktionierte bei uns nicht, da die Version trotz oben genannter Anpassungen als bereits installiert gekennzeichnet worden war.
Im Verzeichnis /tmp befindet sich nun ein neues Unterverzeichnis, in dem die Installationsdaten des Updates liegen. Das Script install.sh ist leider so geschrieben, dass es bei der ersten fehlgeschlagenen Installation eines RPM-Packages komplett abbricht. Außerdem braucht es eine kleine Anpassung im Header (vi install.sh):

#!/bin/bash
### Generic patch install.sh script
# ...

#[ -n "$UUID" ] || exit 2
UUID=$2
# ...

Die Zeile mit der Überprüfung der UUID muss auskommentiert und stattdessen UUID als zweiter Parameter des Scripts übergeben werden.
Nun folgt die Installation aller RPM-Packages. Eventuell müssen die Packages in richtiger Reihenfolge installiert werden, bei mir reichte aber

rpm -U *.rpm

aus.
Es sollten nun (hoffentlich!) alle nötigen RPM-Packages installiert worden sein. Als letzten Schritt muss die Datei CONTENTS angepasst werden. Sie enthält alle Dateien, die beim Update-Prozess geändert/installiert werden. Da die RPM-Packages bereits im vorherigen Schritt installiert worden sind, müssen sie aus der Datei entfernt werden.

cp CONTENTS CONTENTS.bak
vi CONTENTS
# alle Zeilen beginnend mit "rpm" löschen

Soweit so gut, nun folgt der Aufruf des install.sh-Scripts:

install.sh apply $UUID

$UUID muss mit der UUID aus Schritt 1 (xe patch-upload) ersetzt werden. Nach einem Neustart ist der XenServer auf dem letzten Stand.

Für die Frickler unter euch, die wissen möchten, wie der Update-Prozess abläuft:

  • Laden der Update-Datei
  • Entpacken der Daten und Aufruf des Scripts:
    • Delegation an die install.sh
    • Zeilenweise lesen der Datei CONTENTS
    • Je nach Beginn der Zeile in CONTENTS wird ein RPM-Package installiert oder eine Datei umkopiert
    • Aufruf der post_install(_update1) zum Generieren der initrds

, , , , , , , , , , , , ,

Keine Kommentare

Rautiges 2009-07-14

Momentan vertreibe ich mir die Zeit mit der Konfiguration des Zotac ION Boards, deshalb hier eine kurze Übersicht über die letzte Woche

  • Empfehlenswerte Websites sind www.faql.de (behandelt Themen zur deutschen Sprache, unter anderem wird erklärt, dass es das Wort “Stati” als Plural von “Status” nicht existiert) und www.encyclopediadramatica.com (über Alltags-Internetsprache).
  • Florian kämpft momentan mit der Konfiguration von MPD und Icecast2. Wir (und andere) haben das Problem, dass mit WinAMP und VLC der OGG-Stream nach Ende eines Tracks oder Wechsel während des Abspielens eines Tracks der komplette Stream abbricht. Sehr ominöses Problem, Foren-Threads deuten darauf hin, dass mit dem Wechsel der OGG-Header zu tun hat.
  • Ich habe die Woche einen Patch für vboxtool eingereicht, so dass die richtigen Maschinen gestartet werden, falls der Benutzer, der vboxtool aufruft, nicht identisch ist, mit dem ggw. Benutzer. Mehr Infos dazu gibt es im Firmen-Entwickler-Blog.
  • Im Trac von VirtualBox habe ich außerdem einen Bug-Eintrag hinterlassen, da bei mir hin und wieder die  SSH-Netzwerkverbindung abbricht.
  • Auf ganzer Linie kämpfe ich mit dem Zotac ION-Board:
    • Die Auflösung auf meinem Fernseher wird falsch dargestellt. Es gibt unsichtbare Bereiche oberhalb und unterhalb des sichtbaren Bereichs. Das Panning funktioniert nicht, ebenso diverse X-Konfigurationseinstellungen. Meine Vermutung ist, dass das DVI-Signal vom HDMI-Eingang des Fernsehers falsch interpretiert wird.
    • Bei Windows Server 2003, das in einer VirtualBox-VM ist,  lassen sich keine Rollen mehr hinzufügen. Gestern wollte ich WINS und DHCP nachinstallieren – dies schlug aber aus unerfindlichen Gründen fehl. Ich habe mir die Install-Logs unter c:\windows\debug\ angeschaut, konnte aber nicht wirklich die Fehlerursache zu identifizieren. Es läuft wohl darauf hinaus, dass ich Windows Server 2003 neu installieren muss.
    • Winbind und Samba laufen noch nicht rund. Die Authentifizierung von Winbind am Active Directory über Kerberos funktioniert hingegen schon.
    • Audio-Ausgabe über HDMI, Video-Beschleunigung etc. konnte ich noch nicht testen, da o.g. Punkte erst einmal zu fixen sind.

, , , , ,

2 Kommentare