Home ORDIX AG             Dienstleistung             Trainingsshop    Kunden / Referenzen Aktuelles    Kontakt
Home  Pfeil  ORDIX News  Pfeil  1/2005
suche: 

ORDIX News Archiv

Das IT-Magazin der ORDIX AG mit Fachbeiträgen zu Datenbanken, Unix und Java/XML.
Solaris

Solaris 10: New Features

Investitionen von ca. 500 Mio US$ und mehr als 600 neue Merkmale sollen die Vormachtstellung von Solaris unter den Unix-Betriebssystemen festigen. Neben vielen Verbesserungen von Altbewährtem finden sich auch eine Reihe von neuen Tools und Systemeigenschaften im nächsten Solaris-Release. In diesem Artikel stellen wir die wichtigsten Neuerungen und Änderungen vor.

Neues

Zonen

Solaris 10 ermöglicht es, eine Maschine softwaremäßig in sogenannte Zonen zu partitionieren. Im Prinzip kann man sich das als Verallgemeinerung einer changeroot-Umgebung vorstellen. Dazu werden auf dem System eine oder mehrere Zonen aufgesetzt, die unabhängig voneinander bestehen und administriert werden.

Eine Sonderstellung nimmt die globale Zone ein. Dies ist die Bezeichnung für die ursprüngliche Maschine, in der die virtuellen Maschinen laufen. Theoretisch können mehrere Tausend solcher Zonen auf einem System eingerichtet werden. Bei der Installation einer Zone werden Teile des Systems in den zuvor definierten Zonenbereich kopiert.

root@train506:/# zoneadm list -v
ID  NAME    STATUS   PATH
0   global  running  /
3   ordix   running  /export/home/ordix

root@train506:/# ps -efZ | grep sched
    global  root  0     0  0  Nov 22 ? 0:13 sched
    ordix   root  7010  1  0  Nov 23 ? 0:00 zsched
Abb. 1: Jede Zone besitzt einen eigenen Scheduler (zsched).

Durch die Verwendung von gemeinsam genutzten Dateisystemen (/usr, /platform, /lib, /sbin) wird die Zoneninstallation beschleunigt und zusätzlich viel Plattenplatz eingespart. Auf die gemeinsamen Plattenbereiche hat aber nur der Administrator der globalen Zone Vollzugriff. Das gleiche gilt für den Zugriff auf die physikalischen Geräte.

Als Netzwerkschnittstellen werden logische Interfaces auf die physikalischen Geräte konfiguriert. Eine weitere Einschränkung ist, dass die Zonen keine eigenen Hardware-Ressourcen wie POST (Power on self test) oder OBP (Open Boot Prom) besitzen.

Für das Zonenkonzept wurden einige Kommandos erweitert. So kann z. B. das ps-Kommando nun Prozesse zu Zonen zuordnen (siehe Abbildung 1). Ebenso sind Paket- und Patch-Kommandos erweitert worden, um Software in der globalen Zone - und damit in allen Zonen - oder nur in bestimmten Zonen zu installieren. Eine Übersicht über alle Stati, die eine Zone annehmen kann, finden Sie in Abbildung 2.

Zonen-Stati
Abb. 2: Die möglichen Zonen-Stati.

DTrace

Als neues, mächtiges Diagnosewerkzeug steht nun DTrace zur Verfügung. Durch die dynamische Aktivierung von Messpunkten („Probes“) im Kernel, in Modulen und Bibliotheken können sehr detaillierte Systemanalysen zur Laufzeit durchgeführt werden. Hierzu wurde eigens die Sprache „D“ entwickelt (siehe Beispiel in Abbildung 3). Zur Syntax sei auf die entsprechenden Dokumentationen auf den Internetseiten von SUN verwiesen.

BEGIN
{
	trace("hello, world");
	exit(0);
}

# dtrace -s hello.d
dtrace: script 'hello.d' matched 1 probe
CPU  ID  FUNCTION:NAME
  0   1          :BEGIN    hello, world
Abb. 3: Das legendäre Hello World!-Skript in D
programmiert.

Zeta File System (ZFS)

Mit dem Zeta File System will Sun in neue (Größen-)Dimensionen vorstoßen. Der Name ist angelehnt an die Größenordnung 1 ZB = 270 B und steht für eine praktische Unbegrenztheit des Dateisystems.

Über einen „eingebauten“ Volume-Manager wird eine dynamische Anpassung der Größe und der Inodes des Filesystems ohne explizites shrinkfs bzw. growfs ermöglicht.

Mit Hilfe eines copy-and-write genannten Transaktionsmodells soll es gelingen, das Dateisystem immer in einem konsistenten Zustand zu behalten. Als Konsequenz daraus wird der fsck überflüssig. Leider ist das ZFS im Pre-Release noch nicht enthalten, sodass wir hier noch keine genauen Aussagen zur Alltagstauglichkeit treffen können.

Darüber hinaus sind von SUN eine Reihe weiterer Neuerungen und Verbesserungen angekündigt. Dazu gehören im Wesentlichen ein verbesserter Netzwerkdurchsatz („Extreme Network Performance“), eine Überarbeitung bzw. Erweiterung des Sicherheitskonzeptes, das den Zugriff auf Ressourcen über Privilegien regelt sowie die Einführung von „selbstheilenden“ Mechanismen (Solaris Fault Manager, Solaris Service Manager), die sich aber allesamt erst noch in der Praxis bewähren müssen.

Fast Neues

Wer Solaris 9 schon eine Zeit im Einsatz hat, dem werden einige der hier beschriebenen Aspekte bekannt vorkommen. Denn wie auch schon bei vorherigen Release-Wechseln von SUN praktiziert, fließen neue Entwicklungen teilweise schon in den aktuellen, produktiven Stand per Updates ein.

SSH

Die ssh-Suite ist stark aktualisiert und unterscheidet sich nun kaum noch von den Versionen, die z. B. bei OpenBSD/Linux ausgeliefert werden. Zusätzlich hat eine Anpassung der Schalter stattgefunden. Die wichtigsten „Neuerungen“ sind:

Bei der Verwendung des ssh-Agenten kann zur Erleichterung der Fehlersuche ein Debug-Modus verwendet werden. Für die Verwaltung von Schlüsseln kann eine maximale Lebensdauer definiert werden. Außerdem kann der Agent nun temporär gesperrt werden.

Die beiden Programme ssh-keyscan und ssh-keysign sind in den Standardumfang der ssh-suite aufgenommen worden (SUNWsshcu):

Mit Hilfe von ssh-keyscan kann man die Hostschlüssel entfernter Rechner einsammeln, um sie z. B. in der systemweiten Datei /etc/ssh/ssh_known_hosts zentral abzulegen.

ssh-keysign ist ein Hilfsprogramm zur hostbasierten Authentifikation in der Protokollversion 2. Damit kann eine digitale Signatur der Host-Keys erzeugt werden, auch wenn ssh nicht mit SUID-Bit installiert ist.

sftp kann nun auch im Batchbetrieb verwendet werden.

Browser

Bei den Browsern vollzieht sich der längst überfällige Wechsel von Netscape auf Mozilla.

NFS

NFS liegt jetzt in der Version 4 vor. Standardmäßig wird aber zunächst die NFS-Version 3 verwendet. Es sei denn, der Client montiert eine Ressource explizit (mit der Option -o vers=4) oder es wird als Voreinstellung festgelegt (über den Parameter NVS_CLIENT_VERSION in der Datei /etc/default/nfs), dass eine andere Version gewünscht ist.

Hinzugekommen sind zwei neue Dämonen (nfsmapid und nfs4cbd), die für die Abbildung von Benutzer-IDs zu Namen und umgekehrt zuständig sind bzw. unterstützend bei der Kommunikation einwirken. Damit kann mit der neuen Protokollversion eine Steigerung der Performance erreicht und ein differenzierterer Sicherheitsmechanismus realisiert werden.

UFS

Für das UFS-Dateisystem wird bei Solaris 10 das UFS-Logging standardmäßig verwendet. Außerdem lassen sich nun Dateisysteme mit bis zu 16 TB anlegen (Multi-Terabyte-UFS). Dies wird allerdings nur für den 64-Bit Kernel unterstützt.

Einschränkend sind weiterhin die Bedingungen, dass das Root-FS die 1 TB-Grenze auch weiterhin nicht überschreiten darf und dass die Anzahl der Dateien aus Performance-Gründen im Multi-Terabyte-UFS auf eine Million beschränkt ist.

Sonstiges

Zu den vielen Neuerungen zählen auch eine Menge Kleinigkeiten, die erst bei genauerem Hinsehen auffallen. Dazu gehört die Straffung der Verzeichnisstruktur an einigen Stellen sowie die funktionale Erweiterung vieler Kommandos (coradm, mount, ps, psrinfo, reboot, ...). Hier sei nur ein Beispiel aus den proc-Tools herausgegriffen:

Das Kommando pfiles kennt nun den Schalter -n, um nur die wichtigsten Informationen zu den File Descriptoren auszugeben. Dies geht zum einen schneller und ist zum anderen deutlich übersichtlicher (siehe Abbildung 4).

root@train506:/# pfiles `pgrep ssh-agent`
3923: ssh-agent
  Current rlimit: 256 file descriptors
  1: S_IFCHR mode:0644 dev:267,0 ino:99614726 uid:0 gid:3 rdev:190,1
     O_RDONLY
     /devices/pseudo/random@0:urandom
  3: S_IFSOCK mode:0666 dev:269,0 ino:8743 uid:0 gid:0 size:0
     O_RDWR|O_NONBLOCK
       SOCK_STREAM
       SO_SNDBUF(16384),SO_RCVBUF(5120)
       sockname: AF_UNIX /tmp/ssh-iaAA3922/agent.3922
  4: S_IFDOOR mode:0444 dev:276,0 ino:55 uid:0 gid:0 size:0
     O_RDONLY|O_LARGEFILE FD_CLOEXEC door to nscd[231]
     /var/run/name_service_door
  5: S_IFCHR mode:0666 dev:267,0 ino:11010052 uid:0 gid:3 rdev:21,0
     O_WRONLY FD_CLOEXEC
     /devices/pseudo/log@0:conslog

root@train506:/# pfiles -n `pgrep ssh-agent`
3923: ssh-agent
  Current rlimit: 256 file descriptors
   1: S_IFCHR mode:0644 dev:267,0 ino:99614726 uid:0 gid:3 rdev:190,1
   3: S_IFSOCK mode:0666 dev:269,0 ino:8743 uid:0 gid:0 size:0
   4: S_IFDOOR mode:0444 dev:276,0 ino:55 uid:0 gid:0 size:0
   5: S_IFCHR mode:0666 dev:267,0 ino:11010052 uid:0 gid:3 rdev:21,0
Abb. 4: Systempflege im Detail: pfiles (vergrößern!).

Obwohl also in vielen Details Systempflege betrieben wurde, bleiben noch einige Punkte offen. Warum z. B. wird der TCP-Wrapper, der doch schon seit Solaris 9 fester Bestandteil des Betriebssystems ist, weiterhin samt man-Pages unter /usr/sfw „versteckt“?

Ausgedientes

Admintool/SMC

Das Admintool hat ab Solaris 10 endgültig ausgedient. Dafür ist die Solaris Management Konsole weiter auf dem Vormarsch.

NIS/LDAP

Ebenso vollzieht sich mit Solaris 10 der bereits angekündigte Wechsel von NIS zu LDAP. Zur Migration werden Hilfsmittel mitgeliefert.

Erweiterungen

Installation

Bei der Installation hat sich ebenfalls einiges getan. Das betrifft sowohl die Art als auch den Umfang:

WAN-Boot

Das WAN-Boot Installationsverfahren (siehe Abbildung 5) stand bereits ab der Version Solaris 9 12/03 zur Verfügung. Das hierbei verwendete HTTP-Protokoll kann über SSL abgesichert werden. Bei der Installation über WAN werden zur Zeit nur Flash Archive unterstützt. Wesentliche Voraussetzung ist ein OBP ab der Version 4.14. Wer daran denkt, diese Möglichkeit einzusetzen, der wird sich über kleine Helferlein wie bootconfchk (1M) freuen.

Ablauf beim WAN-Boot
Abb. 5: Ablauf beim WAN-Boot.

Custom Jumpstart

Beim Custom Jumpstart kann nun direkt bei der Installation ein Software-RAID eingerichtet werden.

Live Upgrade (LU)

Auch bei einem Live Upgrade können nun direkt gespiegelte, alternative Boot-Umgebungen erzeugt werden.

Flash Archive

Das Flash Archive-Verfahren unterstützt nun differentielle Archive, um die Deltas eines geringfügig geänderten Master-Systems zu erfassen. Mit diesem Delta-Archiv können die Änderungen des Masters auf dem Clone-System nachgezogen werden.

Installationscluster

Die Anzahl der Installationscluster erhöht sich von sechs auf sieben. Dieses neue Cluster SUNWrnet steht für „Reduced Networking Core System Support“ und enthält ein Minimalsystem mit Netzwerkunterstützung. Es reiht sich inhaltlich zwischen dem Minimal Core System ohne (SUNWmreq) und mit Netzwerk (SUNWreq) ein.

Medien

Ab Solaris 10 wird es die Installations-CD nicht mehr geben. Gebootet werden kann von der DVD und von der ersten SW-CD. Die Miniroot-Umgebungen auf CD und DVD sind nun vereinheitlicht und sorgen so für weniger Verwirrung. Mit dem neuen Bootflag „text“ kann man rein textbasiert installieren. Das entspricht teilweise dem Verhalten des altbekannten „suninstall“.

Fazit

Solaris hat sich mit dem Release 10 durch eine Reihe interessanter Features weiterentwickelt. Dazu trägt auch die in vielen Details betriebene Systempflege bei. Bleibt also das Final Release abzuwarten, um im Produktiveinsatz weitere Erfahrungen zu sammeln.

Roger Niemeyer (info@ordix.de).