Solaris 10 mit mehr Highend-Funktionen

Unix Reloaded

1. März 2005, 23:55 Uhr | Susanne Franke/jos Susanne Franke ist freie Journalistin in München.

Von sich reden machte Unix in den vergangenen Jahren meist nur durch die Verwandtschaft zum boomenden Linux. Nun schickt Sun Microsystems mit Solaris 10 eine Betriebssystemversion ins Rennen, die durch Features wie virtuelle Server, dynamisches Debugging, ein mächtiges Dateisystem und einen überarbeiteten TCP/IP-Stack für positive Aufmerksamkeit sorgt.

Nachdem die Experten Solaris 10 bereits ein Jahr lang auf verschiedenen Entwicklungsständen
testen konnten, steht seit Januar das neue 64-Bit-Unix von Sun als Download allgemein zur
Verfügung. Solaris 10 unterstützt neben Sparc- sowohl x86- als auch AMD64- und EM64-Prozessoren.
Für Endbenutzer ist Solaris 10 kostenlos. Wer Support und Service benötigt, muss jedoch zahlen.
Eine lang erwartete quelloffene Variante hat Sun zwar angekündigt, aber zunächst nur Teile
freigegeben.

Die so genannten "Solaris Container" gelten für viele als wichtigste Neuerung der Version 10.
Container bieten die Möglichkeit, über Softwarepartitionen virtuelle Rechner auf einem System
aufzusetzen. Der Virtualisierungsansatz unterstützt Suns Fokussierung auf die x86-basierenden
Opteron-Server im Lowend. Die in der Vergangenheit von der Unix-Company propagierte physikalische
Partitionierung ist lediglich Servern wie Sun Fire vorbehalten, die mehr als acht CPUs
enthalten.

Anwender können nun bis zu 4000 sicherheitstechnisch voneinander getrennte virtuelle Instanzen,
auch Zones genannt, definieren, die – anders als bei der von Sun in der Vergangenheit häufig
kritisierten Methode von Vmware oder IBM – jedoch keine unabhängigen Betriebssysteminstanzen
nutzen, sondern auf einen gemeinsamen OS-Kernel und dasselbe Memory zugreifen. Fachleute geben zu
bedenken, dass dadurch jeder Container in einem System einen Single Point of Failure enthält. Als
weiteren Nachteil nennen sie die Tatsache, dass die Zonen auch keine unterschiedlichen
Betriebssystemversionen oder Linux-Partitionen dulden. Die Container eignen sich dagegen besonders
gut, um virtuelle Hosts für verschiedene Netzwerkaufgaben in einem System zu erzeugen. Denkbar
wären DNS-, LDAP- und DHCP-Server in jeweils separaten Containern. Jeder Container kann eine eigene
IP-Adresse nutzen, sodass sich die Zonen auch für mehrfache Hosting-Accounts auf einem Webserver
nutzen lassen. Ein integriertes Ressourcenmanagement erlaubt eine dynamische Zuteilung von
Betriebsmitteln wie CPU oder Memory an die Container.

Dem dynamischen Verfolgen des Geschehens in Anwendungen und im Kernel dient bei Solaris 10 das
Programm- und Framework-Dynamic-Tracing, kurz "Dtrace". Mithilfe einer Reihe von Kernmodulen,
Provider genannt, die im ganzen System verteilt sind, lassen sich Abläufe verfolgen oder
Aufrufstatistiken von Systemaufrufen erstellen, um Leistungsprobleme aufzuspüren, Sicherheitslücken
in Anwendungen zu erkennen oder die Ursache für ein Fehlverhalten auszumachen. Die Provider werden
mit der speziell dafür entworfenen Sprache "D" aktiviert und abgefragt. Die Ergebnisaktionen
reichen von der simplen Ausgabe von Informationen bis zum Aufruf von Befehlen. Entwickler können in
Form von D-Programmen neue Provider hinzufügen. Laufzeitfehler erkennt Dtrace selbstständig, meldet
sie und unterbricht die Bearbeitung, sodass der Programmierer die Chance erhält, den Fehler zu
korrigieren und einen erneuten Versuch zu starten.

Anwender, die über Grundkenntnisse in der Skriptsprache "awk" verfügen, fällt der Umgang mit
Dtrace relativ leicht. Es lässt sich in großen Netzwerken mit vielen Maschinen und
unterschiedlichen Programmen neben der Fehlersuche auch dazu einsetzen, Engpässe zu erkennen und
ein Fein-Tuning der Solaris-Umgebung vorzunehmen. Einige Visualisierungswerkzeuge auf der Grundlage
von Dtrace befinden sich bereits in der Entwicklung.

Unter dem Stichwort "Predictive Self Healing" soll Solaris 10 hohe Verfügbarkeit, automatische
Fehlererkennung und Auto-Recovery der laufenden Dienste gewährleisten. Zwei Komponenten sind dafür
zuständig: der Fault-Manager und die Service-Management-Facility (SMF). Der Fault-Manager holt sich
Informationen über eingehende Ereignisse, gibt die Daten an eine Diagnose-Engine weiter, die diese
auswertet. Die Ergebnisse münden dann in entsprechende Reaktionen: Spezielle Agenten legen etwa
Komponenten still oder entfernen diese aus der Konfiguration, um so einen Systemabsturz zu
vermeiden. Neue Agenten lassen sich dem Fault-Management bei Bedarf hinzufügen. SMF arbeitet Hand
in Hand mit dem Fault-Manager und stellt ein neues Konzept für das Starten, Stoppen und Monitoring
von Systemprozessen dar. Es überwacht den Zustand von konfigurierten Services und sorgt dafür, dass
Dienste unter Berücksichtigung von Abhängigkeiten automatisch neu starten, falls es zu Ausfällen
kommt.

Neuer TCP/IP-Stack

Einen um etwa ein Drittel höheren Netzwerkdurchsatz soll laut Firmenangaben der überarbeitete
TCP/IP-Stack bringen. Die TCP- und IP-Schichten sind nun zusammengeführt. Der Layer erzeugt
lediglich einen einzelnen Thread pro CPU und eine Queue für den Pakettransfer. Das neue
Threading-Modell weist die Verbindungen für deren gesamte Dauer einer bestimmten CPU zu. Für jede
CPU gibt es einen Mechanismus, der die gesamte Verbindung schützt. Er ersetzt die
Stream-basierenden Funktionen für den Schutz von Datenstrukturen. Dieser neue Ansatz soll den
Overhead für Context-Switching reduzieren. Administratoren haben nun die Möglichkeit, eine
IP-Quelladresse festzulegen, die Pakete nutzen, die durch eine bestimmte Netzwerkschnittstelle
geroutet werden. Diese Wahl von virtuellen IP-Adressen lässt sich in Verbindung mit
IP-Routing-Protokollen einsetzen, um ein Multipathing auf der Netzwerkschicht durchzuführen.
Zurzeit funktioniert Multipathing in Verbindung mit dem RIPv2-Protokoll (Routing Information
Protocol). Für die Sicherheit in Solaris-10-Umgebungen sorgen unter anderem einige Funktionen des
bereits bekannten Trusted Solaris. Dazu gehört in erster Linie das Process-Rights-Management. Es
regelt den Zugriff der Prozesse auf Ressourcen und ist somit von entscheidender Bedeutung für den
Schutz von Container-Umgebungen. Prozesse, die keine Root-Privilegien haben, können nur auf eine
eingeschränkte Auswahl von Systemobjekten zugreifen, um den Schaden im Fall eines Einbruchs
möglichst gering zu halten. Eine rollenbasierende Rechtevergabe über Access Control überwacht die
Zugriffsrechte sowohl von Anwendungen als auch von Benutzern. Für zusätzliche Sicherheit sorgt das
Cryptographic Framework, das eine einheitliche Programmierschnittstelle für
Verschlüsselungsalgorithmen zur Verfügung stellt. Bibliotheken, etwa OpenSSL, und Befehle können
Hardwareverschlüsselung verwenden. Das Framework bietet für die Kernel-Module und Gerätetreiber
ebenfalls kryptographische Dienste an.

Erst später in diesem Jahr erhält Solaris 10 mit ZFS (Zettabyte File System) ein von Grund auf
neu konzipiertes Dateisystem, das modernen Speichergeräten und Redundanzlösungen Rechnung trägt.
Der Ersatz für das bisherige UFS (Unix File System) vereint die Funktionen eines Dateisystems mit
denen eines Volume-Managers und kann ohne zusätzliche Software mehrere Platten kontrollieren. Das
skalierbare Dateisystem erzeugt einen Speicher-Pool, der für eine beliebige Anzahl von dynamischen,
Posix-konformen Filesystemen verwendet werden kann, die sich auch als Logical Volume bei Bedarf
über mehrere Platten erstrecken. Da sich verschiedene Dateisysteme aus dem Speicher-Pool bedienen
können, lässt sich der vorhandene Speicher ohne interne Fragmentierung jedes einzelnen FS
effizienter nutzen. ZFS bietet mit einer 128-Bit-Architektur mehr Raum als die meisten modernen
Dateisysteme.

Noch im Jahr 2005 soll die Möglichkeit hinzukommen, Linux-Anwendungen, die den Spezifikationen
der Linux Standard Base entsprechen, unter Solaris 10 in nativer Geschwindigkeit zu betreiben.
Einer der Hauptkritikpunkte ist bislang die Tatsache, dass Sun keine Linux-Partition auf demselben
Laufwerk wie das eigene Unix erlaubt.

Stream Control Transmission Protocol (SCTP): im neuen TCP/IP-Stack enthalten. SCTP unterstützt Verbindungen zwischen Endpunkten mit mehr als einer IP-Adresse und ist damit für Telefonieanwendungen geeignet.

Zebra Multiprotocol Routing Suite: enthält Open Source Zebra 0.92a Routing-Software mit Bugfixes für Sun-Plattformen.

Verbesserungen des nfsmapid Daemon für NFS Version 4: Das Cache-Dateisystem ist ein generischer, nonvolatiler Mechanismus, der eine kleine, lokale schnelle Festplatte nutzt und dadurch die Leistung bestimmter Filesysteme verbessert.

Sun Java System Message Queue 3.5 SP1 Platform Edition: unterstützt verteilte Systeme und Webservices über JAXM (Java API for XML Messaging).

IPv6 Advanced Sockets API: stellt ein Update des Solaris Sockets APIs dar und ist zur aktuellen Version von RFC 2292 konform. Das API bietet Funktionalität, die für das Handling von ICMP-Paketen (Internet Control Message Protocol) benötigt wird, um Schnittstelleninformationen über IPv6-Header zu erhalten.

IPv6 Temporary Addresses: entspricht den Definitionen von RFC 3041, "Privacy Extensions for Stateless Autoconfiguration in IPv6.? Administratoren können zufällig generierte Schnittstellen-IDs im modifizierten EUI-64-Format festlegen und eine Lebensdauer für eine temporäre Adresse zuweisen.

IPv6 Default Address Selection: bietet eine standardisierte Methode für die Wahl von IPv6-Quell- und Zieladressen.

Weitere Informationen: docs.sun.com/app/docs/doc/817-0547


Lesen Sie mehr zum Thema


Jetzt kostenfreie Newsletter bestellen!

Weitere Artikel zu Lampertz GmbH & Co. KG

Matchmaker+