Red Hat Training

A Red Hat training course is available for Red Hat Enterprise Linux

Kapitel 22. Zusätzliche Informationen für IBM System z-Benutzer

22.1. Das sysfs-Dateisystem

Der Linux 2.6 Kernel setzt das Dateisystem sysfs ein. Das sysfs-Dateisystem wird auch als ein Verbund der Dateisysteme proc, devfs und devpty beschrieben. Das Dateisystem sysfs listet die Geräte und Busse eines Systems in einer Dateisystemhierarchie auf, auf welche von Seiten des Benutzers zugegriffen werden kann. Es wurde dazu entwickelt, die geräte- und treiberspezifischen Optionen handzuhaben, die zuvor in /proc/zu finden waren sowie auch die Dynamic-Device-Addition zu umfassen, die zuvor von devfs angeboten wurde.
Das Dateisystem sysfs wird unter /sys/ eingehängt und beinhaltet Verzeichnisse, welche die Organisation der Geräte übernehmen, die an das System auf verschiedenste Arten angehängt sind. Die /sysfs/-Unterverzeichnisse beinhalten:
  1. Das /devices/-Verzeichnis
    Dieses Verzeichnis beinhaltet das Verzeichnis /css0/. Dessen Unterverzeichnisse stellen sämtliche Unterkanäle dar, die vom Linux-Kernel erfasst werden. Subkanal-Verzeichnisse werden in der Form von 0.0.nnnn benannt, wobei nnnn die Subkanalnummer in hexadezimal zwischen 0 und ffff ist. Subkanal-Verzeichnisse beinhalten wiederum Status-Dateien und noch ein Unterverzeichnis, welches das eigentliche Gerät darstellt. Das Geräte-Verzeichnis wird 0.0.xxxx benannt, wobei xxxx die Unit-Adresse für das Gerät ist. Das Verzeichnis /devices/ beinhaltet ebenso Status-Informationen sowie auch Konfigurationsoptionen für das Gerät.
  2. Das /bus/-Verzeichnis
    Dieses beinhaltet ein /ccw/-Unterverzeichnis und ein /ccwgroup/-Unterverzeichnis. Auf CCW-Geräte wird mittels Kanalbefehlswörtern (Channel Command Words) zugegriffen. Geräte im /ccw/-Verzeichnis benutzen nur einen Subkanal auf dem Kanal-Subsystem des Großrechners. Auf CCW-Gruppengeräte wird ebenso mittels Kanalbefehlswörtern zugegriffen, wobei diese jedoch mehr als einen Subkanal pro Gerät benutzen. Zum Beispiel benutzt ein 3390-3 DASD-Gerät einen Subkanal, wogegen eine QDIO-Netzwerkverbindung für einen OSA-Adapter 3 Subkanäle benutzt. Die /ccw/- und die /ccwgroup/-Verzeichnisse beinhalten beide Verzeichnisse, die Geräte und Treiber genannt werden:
    Das /devices/-Verzeichnis beinhaltet einen symbolischen Link zu den Geräteverzeichnissen im Verzeichnis /sys/devices/css0/.
    Das Verzeichnis /drivers/ beinhaltet Verzeichnisse für jeden Gerätetreiber, der gegenwärtig im System geladen ist. Mit Geräten wie dasd, console, qeth und zFCP assoziierte Treiber besitzen hier Verzeichniseinträge. Das Verzeichnis /driver/ beinhaltet aktuelle Einstellungen für den Gerätetreiber sowie auch symbolische Links zu den jeweiligen Geräten (im /sys/devices/css0/-Verzeichnis).
  3. Das /class/-Verzeichnis
    Dies beinhaltet Verzeichnisse, die ähnliche Geräte gruppieren, wie z.B. ttys, SCSI-Bandlaufwerke, Netzwerkgeräte und andere Geräte unterschiedlichster Art.
  4. Das /block/-Verzeichnis
    Dieses Verzeichnis beinhaltet Verzeichnisse für jedes der Blockgeräte auf dem System. Dabei handelt es sich vorwiegend um plattenartige Geräte wie z.B. das DASD, Loopback-Geräte und Software-Raid Blockgeräte. Der merkliche Unterschied zwischen älteren Linux-Systemen und denjenigen, die sysfs benutzen, ist die Notwendigkeit sich auf den sysfs-Namen von Geräten zu beziehen. Auf einem 2.4 Kernel-Image wurde der zFCP-Treiber als dessen Geräteadresse übergeben. Auf dem 2.6 Kernel-Image-System wird der Treiber als 0.0.1600 übergeben.