Mittwoch Mrz 19, 2008
Mittwoch Mrz 19, 2008
Freitag Mrz 07, 2008
Donnerstag Feb 14, 2008
Zur Anwendung von exclusiven IP-Instanzen für Zonen sind sog. gldv3-Interfaces (Generic Link Driver v3) notwendig. Eine Liste der möglichen Interfaces ist hier zu finden. Bisher fehlten in dieser Liste die ce-Interfaces, die jedoch sehr verbreitet sind. Nun sind Patches verfügbar, damit auch die ce-Interfaces für exclusive IP-Instanzen benutzt werden können.
SPARC patches:
x86 patches:
Donnerstag Jan 24, 2008
Die neue Version 2.0 des Solaris Container Leitfadens ist nun verfügbar. Er enthält
Der Leitfaden richtet sich an alle, die mit Containern zu tun haben. Einzelne Kapitel enthalten mehr Praxis oder mehr Architektur, mal mehr technische Erklärungen und mal was zum Eintippen. Die Idee ist, dass jeder etwas für sich herausziehen kann. Daher ist der Leitfaden das Richtige für
Die wesentlichen Neuerungen in dieser Version sind IP Instances, neues Ressource Management, Live Upgrade mit Zonen und Branded Zones.
Detlef Drewanz und Ulrich Gräf
Donnerstag Okt 18, 2007
Donnerstag Sep 13, 2007
Montag Sep 10, 2007
Seit 4. September ist der 4. Update zu Solaris 10 da: Solaris 10 8/07 .
Die interessantesten neuen Features sind Verbesserungen bei Zonen und ZFS.
Bei Zonen kann man jetzt der Zone eigene IP Stacks zuordnen und damit die Vergabe der Adresse, IP-Filter Einstellung und Routing in der lokalen Zone machen. Weiterhin ist es möglich auf x86 Maschinen in einer Zone ein Linux-Environment zu aktivieren (Projekt brandz). Zu guter Letzt ist das Ressource-Management mit Zonen erheblich vereinfacht worden (CPU-Zuordnung, Zuordnung von virtuellem, realem und locked Memory). Wir bauen Informationen dazu gerade in eine neue Version des Container Leitfadens ein...
Download von Solaris 10 8/07: http://www.sun.com/software/solaris/get.jsp
Detaillierte Beschreibung der neuen Features in Solaris 10 8/07: Solaris 10 What's New Collection
Montag Jul 23, 2007
Montag Jul 16, 2007
Um ein System mit installierten lokalen Zonen zu patchen, werden die Patches mit patchadd in der globalen Zone eingespielt. Hierbei wird die Patchprozedur für die globale Zone und anschließend automatisch der Reihe nach für jede lokale Zone ausgeführt. Dazu muß die Zone laufen.
Dieses Verfahren betrifft alle installierten Zonen (Zustand installed) und kann bei vielen einzuspielenden Patches und vielen vorhandenen Zonen mehrere Stunden in Anspruch nehmen.
Es gibt verschiedene
Überlegungen, wie der Zeitaufwand zum Patchen von vielen Zonen
und damit die Ausfallzeit von Zonen reduziert werden kann:
Die globale Zone und alle installierten lokalen Zonen werden in den single-user Mode gebootet, um alle Patches einzuspielen. So kann die Zeit für die Zustandswechsel der Zonen (z.B. multi-user zu single-user und zurück) eingespart werden.
Um das aktuell laufende
System nicht durch Patch-Verfahren zu beeinflussen ist auch ein
separater Patch-Server anwendbar. Die aktuellen Zonen werden hierbei
dupliziert und die Kopien der Zonen werden per
zoneadm
detach / zoneadm
attach auf einen Patch-Server
bewegt. Auf diesem Server werden danach die Patches eingespielt.
Danach werden die Zonen auf einen Server bewegt, der in der globalen
Zone bereits die aktuellen Patches enthält.
Ab dem kommenden Solaris Update kann Live Upgrade auch auf Zonen angewendet werden, wenn sich das zoneroot im UFS befindet. Dave Miner beschreibt dieses neue Projekt in seinem Blog (http://blogs.sun.com/dminer/entry/upgrades_with_zones%2C_finally). So kann mit lucreate(1M) eine Kopie des aktiven Solaris Boot-Environments mit all seinen Zonen erzeugen werden, um danach in diese Kopie mit luupgrade -t die Patches einzuspielen. Ein luactivate(1M) aktiviert das Boot-Environment, das nach dem nächsten reboot aktiv ist. Durch die Nutzung von Live Upgrade kann die Ausfallzeit von Services während des Patchens drastisch reduziert werden, da das Patchen parallel zu laufenden Services abläuft. Lediglich zur Aktivierung des aktualisierten Boot-Environments durch ein reboot ist ein Service-Ausfall notwendig. Weiterhin ist eine höhere Beanspruchung des I/O-Systems durch lucreate und luupgrade zu beachten und ggf. auf negative Effekte auf die Produktionsumgebung hin zu überprüfen.
Mit dem Script patchadd_zones_parallel.ksh wird zuerst die globale Zone gepatcht, anschließend parallel alle lokalen Zonen. Damit reduziert sich die Zeit für die Patchinstallation von (1 + (anzahl_zonen)) x installtime auf ca. (1 + 1,5) x installtime. Bei einem Kunden konnte so die Downtime von unerträglichen 25 Stunden(!) auf akzeptable 6 Stunden reduziert werden.
Aber ACHTUNG - das Script ist nur ein work-around, es ist nicht offiziell supported.
Hier ein Beispiel-Output von patchadd_zones_parallel.ksh:
root@global[/zones/zpatch] ./patchadd_zones_parallel.ksh -d /zones/zpatch/ -u ulist
>>> Started at Thu Jul 5 14:08:53 CEST 2007
Now we have a ordered patchlist to work with.
Patching global zone now:
Patch 119956-03 has been successfully installed.
Patch 120033-03 has been successfully installed.
Patch 120349-02 has been successfully installed.
Patch 121300-03 has been successfully installed.
Patch 122184-03 has been successfully installed.
Patch 124394-03 has been successfully installed.
Global zones patching successful. Proceeding to patch non-global zones
testz3 in [running] status, OK.
testz6 in [running] status, OK.
testz1 in [running] status, OK.
testz2 in [installed] status; booting the zone to singleuser mode.
testz2 in [running] status, OK.
testz4 in [installed] status; booting the zone to singleuser mode.
testz4 in [running] status, OK.
testz5 in [configured] status; cannot be booted and patched, skipping.
testz2 : Patch 119956-03 failed to install due to a failure produced by pkgadd.
testz2 : Patch 120033-03 has been successfully installed.
testz2 : Patch 120349-02 has been successfully installed.
testz2 : Patch 121300-03 has been successfully installed.
testz2 : Patch 122184-03 has been successfully installed.
testz2 : Patch 124394-03 has been successfully installed.
testz3 : Patch 119956-03 has been successfully installed.
testz3 : Patch 120033-03 has been successfully installed.
testz3 : Patch 120349-02 has been successfully installed.
testz3 : Patch 121300-03 has been successfully installed.
testz3 : Patch 122184-03 has been successfully installed.
testz3 : Patch 124394-03 has been successfully installed.
testz6 : Patch 119956-03 has been successfully installed.
testz6 : Patch 120033-03 has been successfully installed.
testz6 : Patch 120349-02 has been successfully installed.
testz6 : Patch 121300-03 has been successfully installed.
testz6 : Patch 122184-03 has been successfully installed.
testz6 : Patch 124394-03 has been successfully installed.
testz4 : Patch 119956-03 has been successfully installed.
testz4 : Patch 120033-03 has been successfully installed.
testz4 : Patch 120349-02 has been successfully installed.
testz4 : Patch 121300-03 has been successfully installed.
testz4 : Patch 122184-03 has been successfully installed.
testz4 : Patch 124394-03 has been successfully installed.
testz1 : Patch 119956-03 has been successfully installed.
testz1 : Patch 120033-03 has been successfully installed.
testz1 : Patch 120349-02 has been successfully installed.
testz1 : Patch 121300-03 has been successfully installed.
testz1 : Patch 122184-03 has been successfully installed.
testz1 : Patch 124394-03 has been successfully installed.
>>> Completed at Thu Jul 5 14:12:20 CEST 2007
>>> Please check and cleanup these files:
/var/tmp/global_zone_patchadd.28567_output in global zone
/var/tmp/<zonename>_zone_patchadd.28567_output in each local zone
/zones/zpatch//patch_list.28567
Do not forget to bringup zones into multiuser mode.
root@global[/zones/zpatch]Bemerkung: Natürlich wird empfohlen, in den Zonen gleiche Patchstände des Betriebssystems zu betreiben. Trotzdem kann es aus verschiedenen Gründen notwendig sein, für die benutzte Anwendungssoftware, in Zonen unterschiedliche Patch-Ständen zu benutzen. Sollen Patches nur in eine bestimmte Zone installiert werden, z.B. bei Whole-root Zonen zum Testen von Patches, können Patches mit patchadd -G in nur eine Zone installiert werden.