Elfer raus

Nach einer längeren Ruhephase gibt es eine neue Version des Unix-Betriebssystems, das Oracle sich mit der Übernahme von Sun Microsystems einverleibt hat. Solaris 11, verfügbar für SPARC- und x86/x64-CPUs, sollte mit Innovativem aufwarten können, denn es droht ins Abseits zu geraten.

vorlesen Druckansicht 17 Kommentare lesen
Lesezeit: 13 Min.
Von
  • Thomas Nau
Inhaltsverzeichnis

Runde sieben Jahre hat die neue Solaris-Release auf sich warten lassen. Selbst für ein Enterprise-Unix-Betriebssystem mit langjährigem garantierten Support eine ungewöhnlich lange Zeit. Ohne Zweifel ist einiges davon dem Open-Source-Ausflug des ehemaligen Eigentümers Sun Microsystems und der Übernahme durch Oracle geschuldet.

Revolutionäre neue Techniken mit Einfluss auf die gesamte Branche wie ZFS [1] oder DTrace [2], sucht man auf den ersten Blick in der neuen Release vergeblich. Ein Blick hinter die Kulissen offenbart jedoch eine Vielzahl von Neuerungen und Verbesserungen, die dem Umstieg auf die Version 11 in allen Bereichen Attraktivität verleihen. Zuvor sollte man jedoch prüfen, ob es für die eigene Plattform noch eine Unterstützung gibt. Da den älteren UltraSPARC-CPUs, wie sie bei der sun4u-Architektur zum Einsatz kommen, wichtige Befehle im Hinblick auf neue Features fehlen, läuft Solaris 11 dort nicht. Nicht betroffen sind die SPARC-Systeme der M- und T-Serie (Niagara) sowie die x86-Plattform.

Der xVM-Hypervisor, erst im Rahmen von OpenSolaris eingeführt, ist nicht mehr Bestandteil des Betriebssystems -- Näheres in den End-of-Life-Information.

Auf der anderen Seite hat Oracle zahlreiche Bibliotheken und Anwendungen aus dem Open-Source-Umfeld in Solaris 11 integriert und bietet Support dazu. Es ist die Rede von über 800 Paketen, die Administratoren und Entwicklern das Leben erleichtern und einem oft das Nachinstallieren von Tools ersparen sollen. Viele der Oracle-eigenen Tools sollen sich besser verwenden lassen als vorher: Oracles tar-Kommando etwa erkennt nun endlich selbstständig komprimierte Archive.

Eine Vielzahl der GNU-Tools sind unter /usr/bin verfĂĽgbar, sofern sie im Hinblick auf Funktion, Syntax und Ausgabeformaten mit den Oracle-eigenen kompatibel sind. Anderenfalls befinden sie sich unter /usr/gnu/bin. Dies gilt etwa fĂĽr die GNU-Variante von chmod, das nicht mit ZFS-ACLs umgehen kann.

Neben diesen Zugaben kommt jedoch einiges an Umdenken auf „alte Solaris-Hasen“ zu. Die in Solaris 10 eingeführte „Service Management Facility“ (SMF), etabliert sich in immer stärkerem Maße als zentrales Repository für Konfigurationsparameter. Das bedarf des Studiums der Unterlagen; für Eilige hat Joerg Moellenkamp ein PDF-Dokument namens Cheat Sheet zusammengestellt, das wesentliche Bereiche der täglichen Systemadministration in Solaris 11 abdeckt.

Mit SMF lässt sich etwa der DNS-Resolver so konfigurieren:

svccfg -s dns/client setprop config/domain = 
"MY_DOMAIN"
svccfg -s dns/client setprop config/nameserver =
"( 192.168.1.1 192.168.1.2 )"
svccfg -s dns/client setprop config/search =
'( "MY_OTHERDOMAIN" "MY_DOMAIN" )'

Die Änderungen aktiviert:

svcadm refresh svc:/network/dns/client:default

Alternativ ließen sich mittels nscfg(1m) Änderungen etwa aus /etc/resolv.conf oder /etc/nsswitch.conf in die Service Management Facility übernehmen, dauerhaft führt für ernsthafte Administratoren an den Kommandozeilen-Tools jedoch kein Weg vorbei. Aus den ehemaligen Konfigurationsfiles Daten importieren zu können, ist die große Ausnahme und keinesfalls die Regel.

Mag SMF auf den ersten Blick umständlich und überzogen aussehen, überwiegen bei genauerer Überlegung die Vorteile. Die Syntax-Prüfung bei der Eingabe der Kommandos schützt vor unliebsamen späteren Überraschungen, etwa beim Reboot Wochen später. Zudem trägt SMF Abhängigkeiten zwischen Anwendungen Rechnung und rekonfiguriert andere zugehörige Services gegebenenfalls. Als weiterer Pluspunkt lässt sich mit der Facility leicht feststellen, welche Parameter des Systems im Laufe der Zeit angepasst wurden:

# svccfg -s dns/client listcust
config/domain astring admin MY_DOMAIN
config/nameserver net_address admin
192.168.1.1 192.168.1.2
config/search astring admin "MY_OTHERDOMAIN" "MY_DOMAIN"
...

Dateien wie /etc/resolv.conf sind nach wie vor aus Kompatibilitätsgründen zu finden. Warnungen wie

# _AUTOGENERATED_FROM_SMF_V1_ # 
WARNING: THIS FILE
# GENERATED FROM SMF DATA.
DO NOT EDIT THIS
# FILE. EDITS WILL BE LOST. See resolv.conf(4)
# for details.

sollte jedoch niemand ignorieren.

Ähnlich weitreichend sind die Änderungen bei der Netzwerkkonfiguration, bedingt durch die Anforderungen aus „Crossbow“, einem der Kernprojekte in der gesamten Entwicklung von Solaris 11. Es beinhaltet die Virtualisierungsschicht des Netzwerk-Layers sowie ein Redesign des Stack im Hinblick auf Performance und Skalierung. Mit Crossbow lassen sich selbst komplexe Netzwerke einschließlich Load-Balancing, Firewalls oder Routern innerhalb einer Solaris-Instanz virtuell abbilden.

Aus Sicht des Administrators lösen wenige Kommandos mit klar abgegrenzten Aufgaben das altehrwürdige ifconfig(1m) und eine Vielzahl von Konfigurationsdateien ab.

Mehr Infos

iX-Tract

  • Solaris 11, Oracles kommerzielle Version des von Sun Microsystems entwickelten Betriebssystems, hat eine siebenjährige Reifeperiode hinter sich.
  • Die von Sun Microsystems entwickelte Unix-Variante ist inzwischen in erster Linie fĂĽr Server konzipiert.
  • Zwar ist das Betriebssystem fĂĽr aktuelle SPARC-Architekturen optimiert, läuft aber auch auf x86/x64-Systemen.

Das neue dladm(1m) dient zum Verwalten von physikalischen und virtuellen Netzwerkkarten ebenso wie dem Aufbau komplexer virtueller Netztopologien. Selbst ein einfaches Steuern des Datendurchsatzes lässt sich damit realisieren. Bei komplexeren Anforderungen, etwa die Geschwindigkeit für externe HTTP-Verbindungen zu beschränken, kommt flowadm(1m) ins Spiel. Darauf aufsetzend fasst ipadm(1m) alle administrativen Aufgaben rund um das Internetprotokoll zusammen. Die Konfiguration von IP-Multipathing gehört ebenso dazu wie spezifische Parameter, etwa die Steuerung des Packet Forwarding. Hilfreich ist es, Änderungen lediglich temporär, etwa zu Testzwecken, aktivieren zu können. Die neue Benennung sowohl der Netz-Interfaces als auch der zugehörigen Adressen steigert die Übersichtlichkeit erheblich und war überfällig. Die Schnittstellen zum Netz heißen nun voreingestellt net0, net1 und so weiter, wer will, kann aber eigene Namen verwenden.

Eigene Adressen und NICs (Network Interface Cards) lassen sich für bestimmte Dienste, etwa NFS-Server, einfach einrichten. Ein virtuelles Interface bietet deutliche Vorteile, da snoop(1m) und IPfilter es direkt unterstützen, und mit Solaris 11 mehrere unabhängige NFS-Server in Zonen residieren können. Falls sich mehrere Interfaces im selben IP-Subnetz befinden, sollte der Administrator festlegen, welche Adresse für ausgehende neue Verbindungen voreingestellt sein sollen.

sol11box:.../~# ipadm set-ifprop -p usesrc= 
net0 -m ipv4 vnic0
sol11box:…/~# ipadm set-ifprop -p usesrc=
net0 -m ipv6 vnic0

Herausragende Verbesserungen zur Vorgängerversion gibt es im Bereich des Life Cycle Management, beim Installieren neuer Systeme und Software sowie bei Patches. Das neue Image Packaging System (IPS), das Bart Smaalders aus der Solaris Kernel Group federführend mitentwickelt hat, räumt insbesondere mit der Unterscheidung zwischen Software und Patch auf. Ähnlich wie bei Debian existieren keine Patches mehr, sondern lediglich unterschiedliche Versionen von Software und Abhängigkeiten. Software-Repositories stehen via HTTP/HTTPS im Netz zur Verfügung, können zur Sicherheit digital signiert oder über Zertifikate geschützt sein. Oracle nutzt dies etwa, um den Zugang zu Solaris-11-Updates auf Kunden mit laufenden Supportverträgen zu beschränken. Erwähnenswert sind außerdem die sogenannten „fat packages“, die mehrere Architekturen gleichzeitig unterstützen, ohne jedoch gemeinsame Dateien, etwa Manuals, doppelt zu enthalten.

Um den eigenen Policies zu genügen, lassen sich die Softwarelager spiegeln, Systeme können vollständig aus Quellen im eigenen Intranet schöpfen. Eigene Repositories oder einzelne Pakete zu erstellen, ist ohne Weiteres realisierbar. Das Einspielen von SysV-Paketen wie VirtualBox [4] unterstützt Solaris 11 weiterhin.

Als direkte Folge des IPS haben die Entwickler das vollautomatische Installieren von Solaris-Systemen grundlegend erneuert. Der Automated Installer (AI) löst das 20 Jahre alte Jumpstart ab. Dessen Schwachstellen liegen im alten Package-System und vor allem darin, dass man Änderungen der Konfiguration meist an einem noch nie gestarteten System vornehmen musste. AI integriert sich wie Jumpstart nahtlos in eine DHCP-Infrastruktur, erfordert aber einen speziellen Installationsserver unter Solaris 11, der die Boot Images bereitstellt. Er kann, sofern gewünscht, unabhängig von der Bereitstellung der IPS-Repositories seine Dienste verrichten. Aus den bei Oracle zum Download verfügbaren DVD-Images kann jeder einfach eine Installationsumgebung namens „s11-x86“ erzeugen:

sol11box:.../~# installadm create-service -n 
s11-x86 \
-s /ai/iso/sol-11-ga-ai-x86.iso \
-d /ai/target/s11-ga_x86

Für die jeweils erste Umgebung einer x86- oder SPARC-Architektur legt AI automatisch ein Alias an, hier „default-i386“. Das Zuweisen der Images an einzelne Clients geschieht über die MAC-Adresse, sofern eine Abweichung vom Default gewünscht ist. Zusätzliche Boot-Parameter lassen sich auf dem Wege individuell einstellen, etwa die Schnittstelle zur Konsole.

sol11box:.../~# installadm create-client -e 
CLIENT_MAC \
-n s11u1-x86 -b 'console=ttyb'

Des Weiteren sind jedem Service ein oder mehrere sogenannte „Install Manifests“ fest zugeordnet. Sie entsprechen im Wesentlichen den Profilen aus der Jumpstart-Ära und definieren zusätzlich die zu verwendenden Repositories, zu installierende Software und Plattenkonfiguration. Als Auswahlkriterien können Speicherausbau, Systemarchitektur oder IP-Adressbereiche dienen, womit sich komplexe Anforderungen erfüllen lassen.

Beim erstmaligen Installieren zeigt sich eine der Stärken von IPS: Durch Definition eines Metapakets, das lediglich Abhängigkeiten spezifiziert, lassen sich eigene Paketgruppen zusammenstellen, auf Wunsch mit den exakten Versionen einzelner Anwendungen. Oracle liefert solche Gruppen mit, etwa pkg:/group/system/solaris-large-server

Mehr Infos

iX-Wertung

+ Konfiguration komplexer, virtueller Netze

+ Support fĂĽr Open-Source-Tools

+ einheitliches Software- und Patch-Management

+ Automated Installer

- sunu4-Architektur nicht mehr unterstĂĽtzt

Im Gegensatz zu Jumpstart erlaubt AI keine eigenen Skripte während der ersten Phase des Installierens vor dem abschließenden Reboot. Eine Personalisierung der Systeme ist ausschließlich über Service Configuration Manifests (SCM) oder über das Einspielen eigener Pakete realisierbar, die erst nach dem ersten Booten einmalig das System anpassen. Die SCMs sprechen XML; SMF importiert und wertet sie aus. Man kann per SCMs Dienste aktivieren und wieder abschalten.

Vermutlich den aufwendigsten Teil bei der Jumpstart-AI-Migration beansprucht das Ăśbertragen individueller Konfigurationsskripte in das IPS. Mancher dĂĽrfte ĂĽberrascht feststellen, dass viele der ĂĽber Jahre gewachsenen Skripte entweder obsolet sind oder sich mit kleinen Anpassungen ĂĽbernehmen lassen.

Neben dem eigentlichen Skript sind lediglich ein SMF-Service-Manifest und die Steuerdatei zum Erzeugen des IPS erforderlich. Letztere definiert Rechte und Ziele der einzelnen Dateien und erzwingt im Beispiel insbesondere das Einrichten der Secure Shell.

Befindet man sich im selben Verzeichnis, reicht ein einfaches

sol11box:.../ai# pkgsend -s file:///ai/repo 
publish \
--fmri-in-manifest finish-ai-conf.manifest

um das Paket in das eigene Repository zu laden. Selbstverständlich kann das Paket deutlich mehr Dateien enthalten, etwa SSH-Keys für den Root-Zugang. Die für das eigentliche Konfigurationsskript entscheidenden Fähigkeit ist die, sich nach erfolgreicher Arbeit zu deaktivieren. Für das Root-Filesystem ist ZFS seit Solaris 11 zwingend und bietet sich aufgrund seiner Eigenschaften folgerichtig als Ersatz für ein Live-Upgrade an. Oracle/Sun hat ihn in Form von sogenannten Boot Environments realisiert. Solaris erzeugt sie sowohl beim Installieren als auch bei kritischen Patches automatisch unter Zuhilfenahme von ZFS über Snapshots und Clones. Die eigentlichen Änderungen werden dann je nach Wunsch und Situation statt auf einem laufenden System auf einem Klon durchgeführt. Im Falle von Zonen kann das gleichzeitig auf mehreren geschehen. Das verkürzt die Downtime auf die Dauer eines eventuell erforderlichen Neustarts, beim Fast Reboot sind das rund 2 Minuten, da es oberhalb des BIOS geschieht. Selbstverständlich lassen sich Boot-Environments manuell erzeugen, aktivieren oder löschen und damit für Tests eigener Software verwenden. Auf dem Listingserver der iX befinden sich einige Beispiele.

Technisch gesehen stellt Solaris 11 eine gewohnt solide Weiterentwicklung und Basis für zukünftige Entwicklungen im Hardware- als auch insbesondere im Virtualisierungs-Umfeld dar. Allerdings hat Oracles langes Schweigen nach der Übernahme von Sun Microsystems besonders zu Lizenzfragen der Dynamik rund um Solaris stark zugesetzt. Inwieweit das die im Wesentlichen auf demselben Release-Stand wie Solaris 11 Express basierende Verwandtschaft, etwa Illumos oder Nexenta, zukünftig ausgleichen kann, hängt in erster Linie von Oracles nächsten Schritten ab.

Mehr Infos

Daten und Preise

Solaris 11

Lizenzen: für Test und Evaluation: frei, Enterprise-Edition: 2368 € (je CPU-Sockel), Cluster: Media-Pack 59,20 €

Hardwareanforderung: 7 GByte Plattenplatz, 1 GByte RAM, SPARC- oder x64-CPU

Anbieter: Oracle, www.oracle.com

Das, was in Solaris an Potenzial steckt, ist, im Gegensatz zu seiner Verbreitung, keinesfalls weniger geworden, und Oracle scheint den Solaris-Enthusiasten in den eigenen Reihen wieder mehr Freiheiten einzuräumen.

Ein Blick in die Zukunft: Im Sommer 2011 hat Oracle die Firma Ksplice übernommen, die ein Verfahren zum Patchen eines laufenden Linux-Kernels in petto hat. Eine Integration solcher Techniken in den Solaris-Kernel, etwa für kritische Sicherheits-Patches, könnte die Folge sein.

Zuletzt seien noch die wesentlichen Erweiterungen im Bereich von DTrace und ZFS genannt: Letzteres beherrscht jetzt die transparente VerschlĂĽsselung auf Blockebene, und DTrace stellt im Netzwerk Umfeld zahllose neue Provider bereit.

ist Leiter der Abteilung Infrastruktur am Kommunikations- und Informationszentrum (kiz) der Universität Ulm.

[1] Udo Seidel; Dateisysteme; Variationen in Z; ZFS-Implementierungen fĂĽr Linux im Vergleich; iX 4/2011, S. 90

[2] Thomas Nau; System-Tuning; Signale vom Kern; OpenSolaris mit DTrace analysieren; iX 3/2010, S. 124

[3] Markus Franz; Virtualisierung; Springteufel; Virtualbox fĂĽr Linux, Mac OS X, OpenSolaris und Windows; iX 5/2008, S. 86

[4] Thomas Nau; Unix; Klappe, die vierte; Solaris-Update 08/07 mit iSCSI-Funktionen; iX 12/2007, S. 148

[5] Harald Däubler, Thomas Nau; Frühbucher; Solaris IO im Software Express Program von Sun; iX 3/2004, S. 72

Alle Links: www.ix.de/ix1206080 (rh)