Kapitel 25. Konfiguration eines installierten Linux auf einer System z-Instanz

Für weitere Informationen zu Linux auf System z, werfen Sie einen Blick auf die unter Kapitel 27, IBM System z Referenzen aufgeführten Veröffentlichungen. Einige der häufigsten Aufgaben werden hier beschrieben.

25.1. DASDs hinzufügen

Nachfolgend ist ein Beispiel aufgeführt, wie ein DASD online gesetzt werden kann, wie es formatiert werden kann und wie die Änderungen persistent gemacht werden können.

Anmerkung

Stellen Sie sicher, dass das Gerät an das Linux-System angehängt, oder damit verbunden ist, wenn dieses unter z/VM läuft.
CP ATTACH EB1C TO *
Um eine Mini-Platte, auf die Sie Zugriff haben, zu verbinden, geben Sie beispielsweise ein:
CP LINK RHEL6X 4B2E 4B2E MR 
DASD 4B2E LINKED R/W
Siehe z/VM: CP Commands and Utilities Reference, SC24-6175 für Details zu Befehlen.

25.1.1. DASDs dynamisch online setzen

Um ein DASD online zu setzen, befolgen Sie folgende Schritte:
  1. Verwenden Sie den Befehl cio_ignore, um das DASD aus der Liste der zu ignorierenden Geräte zu entfernen und für Linux sichtbar zu machen:
    # cio_ignore -r device_number
    Ersetzen Sie device_number mit der Gerätenummer des DASD. Zum Beispiel:
    # cio_ignore -r 4b2e
  2. Setzen Sie das Gerät online. Verwenden Sie einen Befehl der folgenden Form:
    # chccwdev -e device_number
    Ersetzen Sie device_number mit der Gerätenummer des DASD. Zum Beispiel:
    # chccwdev -e 4b2e
    Alternativ können Sie das Gerät unter Verwendung der sysfs-Attribute online setzen:
    1. Verwenden Sie den Befehl cd um in das /sys/-Verzeichnis zu wechseln, das den Datenträger repräsentiert:
      # cd /sys/bus/ccw/drivers/dasd-eckd/0.0.4b2e/
      # ls -l
      total 0
      -r--r--r--  1 root root 4096 Aug 25 17:04 availability
      -rw-r--r--  1 root root 4096 Aug 25 17:04 cmb_enable
      -r--r--r--  1 root root 4096 Aug 25 17:04 cutype
      -rw-r--r--  1 root root 4096 Aug 25 17:04 detach_state
      -r--r--r--  1 root root 4096 Aug 25 17:04 devtype
      -r--r--r--  1 root root 4096 Aug 25 17:04 discipline
      -rw-r--r--  1 root root 4096 Aug 25 17:04 online
      -rw-r--r--  1 root root 4096 Aug 25 17:04 readonly
      -rw-r--r--  1 root root 4096 Aug 25 17:04 use_diag
    2. Überprüfen Sie, ob das Gerät bereits online ist:
      # cat online
      0
    3. Wenn nicht, dann bringen Sie ihn mit Hilfe des folgenden Befehls online:
      # echo 1 > online
      # cat online
      1
  3. Überprüfen Sie, als welcher Blockgeräteknoten auf ihn zugegriffen wird:
    # ls -l
    total 0
    -r--r--r--  1 root root 4096 Aug 25 17:04 availability
    lrwxrwxrwx  1 root root    0 Aug 25 17:07 block -> ../../../../block/dasdb
    -rw-r--r--  1 root root 4096 Aug 25 17:04 cmb_enable
    -r--r--r--  1 root root 4096 Aug 25 17:04 cutype
    -rw-r--r--  1 root root 4096 Aug 25 17:04 detach_state
    -r--r--r--  1 root root 4096 Aug 25 17:04 devtype
    -r--r--r--  1 root root 4096 Aug 25 17:04 discipline
    -rw-r--r--  1 root root    0 Aug 25 17:04 online
    -rw-r--r--  1 root root 4096 Aug 25 17:04 readonly
    -rw-r--r--  1 root root 4096 Aug 25 17:04 use_diag
    Wie in diesem Beispiel gezeigt, wird auf das Gerät 4B2E als /dev/dasdb zugegriffen.
Mit Hilfe dieser Anweisungen wird ein DASD für die aktuelle Sitzung online gesetzt. Dies hat jedoch bei Neustarts keinen Bestand. Für Anweisungen für das Setzen eines DASDs auf online, siehe Abschnitt 25.1.3, »DASDs persistent online setzen«. Wenn Sie mit DASDs arbeiten, verwenden Sie die beständigen symbolischen Links für Geräte unter /dev/disk/by-path/.
Sie finden weitere Informationen im DASD-Kapitel in Linux auf System z. Gerätetreiber, Features und Befehle unter Red Hat Enterprise Linux 6.

25.1.2. Vorbereiten eines neuen DASD mit Low-Level-Formatierung

Sobald die Platte online ist, wechseln Sie zurück in das Verzeichnis /root und formatieren das Gerät Low-Level. Dies ist nur einmal während der gesamten Lebensspanne eines DASD erforderlich:
# cd
# dasdfmt -b 4096 -d cdl -p /dev/disk/by-path/ccw-0.0.4b2e 
Drive Geometry: 10017 Cylinders * 15 Heads =  150255 Tracks 

I am going to format the device /dev/disk/by-path/ccw-0.0.4b2e in the following way: 
   Device number of device : 0x4b2e 
   Labelling device        : yes 
   Disk label              : VOL1 
   Disk identifier         : 0X4B2E
   Extent start (trk no)   : 0 
   Extent end (trk no)     : 150254 
   Compatible Disk Layout  : yes 
   Blocksize               : 4096 

--->> ATTENTION! <<--- 
All data of that device will be lost. 
Type "yes" to continue, no will leave the disk untouched: yes
cyl    97 of  3338 |#----------------------------------------------|   2%
Wenn der Fortschrittsbalken das Ende erreicht hat und die Formatierung komplett ist, gibt dasdfmt die folgende Ausgabe aus:
Rereading the partition table... 
Exiting...
Verwenden Sie nun fdasd, um das DASD zu partitionieren. Sie können bis zu drei Partitionen auf einem DASD erstellen. In unserem Beispiel hier erstellen wir eine Partition, die sich über die gesamte Platte erstreckt:
# fdasd -a /dev/disk/by-path/ccw-0.0.4b2e
auto-creating one partition for the whole disk...
writing volume label...
writing VTOC...
checking !
wrote NATIVE!
rereading partition table...
Sie finden weitere Informationen im DASD-Kapitel in Linux auf System z. Gerätetreiber, Features und Befehle unter Red Hat Enterprise Linux 6.
Sobald ein (Low-Level formatiertes) DASD online ist, kann es wie jede andere Platte unter Linux verwendet werden. Sie können beispielsweise Dateisysteme, physische LVM-Datenträger oder Swap-Platz auf den Partitionen erstellen, z.B. /dev/disk/by-path/ccw-0.0.4b2e-part1. Verwenden Sie niemals den das vollständige DASD-Gerät (dev/dasdb) für etwas anderes als die Befehle dasdfmt und fdasd. Wenn Sie das gesamte DASD verwenden möchten, erstellen Sie eine Partition, die sich über das gesamte Gerät verteilt, wie im oben aufgeführten Beispiel fdasd.
Um später zusätzliche Platten hinzuzufügen, ohne bereits bestehende Platteneinträge in beispielsweise /etc/fstab zu zerstören, verwenden Sie die persistenten symbolischen Geräte-Links unter /dev/disk/by-path/.

25.1.3. DASDs persistent online setzen

Die oben aufgeführten Anweisungen legten dar, wie DASDs dynamisch in einem laufenden System aktiviert werden können. Solche Änderungen sind jedoch nicht persistent und überstehen keinen Neustart. Das persistente Ändern der DASD-Konfiguration auf Ihrem Linux-System hängt davon ab, ob das DASD Bestandteil des Root-Dateisystems ist. Die DASDs, die für das Root-System benötigt werden, müssen sehr früh während des Boot-Prozesses via initramfs aktiviert werden, damit das Root-Dateisystem eingehängt werden kann.
cio_ignore wird transparent für persistente Gerätekonfigurationen gehandhabt und Sie brauchen keine Geräte aus der Ignorier-Liste manuell freigeben.

25.1.3.1. DASDs, die Teil des Root-Dateisystems sind

Die einzige Datei, die Sie für das Hinzufügen von DASDs, die Teil des Root-Dateisystems sind, verändern müssen, ist /etc/zipl.conf. Führen Sie anschließend das zipl Bootloader-Werkzeug aus. Das initramfs muss nicht erneut erstellt werden.
Es gibt zwei Boot-Parameter, um DASDs zu einem frühen Zeitpunkt im Boot-Prozess zu aktivieren:
  • rd_DASD=
  • rd_DASD_MOD= — lediglich aus Kompatibilitätsgründen für ältere Systemkonfigurationen bereitgestellt. Werfen Sie einen Blick auf die dasd= Parameterbeschreibung im DASD-Kapitel in Linux auf System z. Gerätetreiber, Features und Befehle unter Red Hat Enterprise Linux 6 für weitere Details.
Die Option rd_DASD verwendet eine durch Kommas getrennte Liste als Eingabe. Die Liste beinhaltet eine Geräte-Bus-ID und optional zusätzliche Parameter, bestehend aus Key-Value-Paaren, die DASD sysfs-Attributen entsprechen.
Nachfolgend ist eine Beispieldatei zipl.conf für ein System aufgeführt, die physische Datenträger auf Partitionen von zwei DASDs für eine LVM-Datenträgergruppe vg_devel1 verwendet, die einen logischen Datenträger lv_root für das Root-Dateisystem besitzt.
[defaultboot]
default=linux
target=/boot/
[linux]
        image=/boot/vmlinuz-2.6.32-19.el6.s390x
        ramdisk=/boot/initramfs-2.6.32-19.el6.s390x.img
        parameters="root=/dev/mapper/vg_devel1-lv_root rd_DASD=0.0.0200,use_diag=0,readonly=0,erplog=0,failfast=0 rd_DASD=0.0.0207,use_diag=0,readonly=0,erplog=0,failfast=0  rd_LVM_LV=vg_devel1/lv_root rd_NO_LUKS rd_NO_MD rd_NO_DM LANG=en_US.UTF-8 SYSFONT=latarcyrheb-sun16 KEYTABLE=us cio_ignore=all,!0.0.0009"
Nehmen wir einmal an, Sie wollen einen weiteren physischen Datenträger auf einer Partition eines dritten DASD mit dem Geräte-BUS ID 0.0.202b erstellen. Um dies zu erreichen, fügen Sie einfach rd_DASD=0.0.202b zu der Parameterzeile Ihres Boot-Kernels in zipl.conf hinzu:
[defaultboot]
default=linux
target=/boot/
[linux]
        image=/boot/vmlinuz-2.6.32-19.el6.s390x
        ramdisk=/boot/initramfs-2.6.32-19.el6.s390x.img
        parameters="root=/dev/mapper/vg_devel1-lv_root rd_DASD=0.0.0200,use_diag=0,readonly=0,erplog=0,failfast=0 rd_DASD=0.0.0207,use_diag=0,readonly=0,erplog=0,failfast=0 rd_DASD=0.0.202b  rd_LVM_LV=vg_devel1/lv_root rd_NO_LUKS rd_NO_MD rd_NO_DM LANG=en_US.UTF-8 SYSFONT=latarcyrheb-sun16 KEYTABLE=us cio_ignore=all,!0.0.0009"
Führen Sie zipl aus, um die Änderungen von /etc/zipl.conf für das nächste Booten (IPL) anzuwenden:
# zipl -V
Using config file '/etc/zipl.conf'
Target device information
  Device..........................: 5e:00
  Partition.......................: 5e:01
  Device name.....................: dasda
  DASD device number..............: 0201
  Type............................: disk partition
  Disk layout.....................: ECKD/compatible disk layout
  Geometry - heads................: 15
  Geometry - sectors..............: 12
  Geometry - cylinders............: 3308
  Geometry - start................: 24
  File system block size..........: 4096
  Physical block size.............: 4096
  Device size in physical blocks..: 595416
Building bootmap in '/boot/'
Building menu 'rh-automatic-menu'
Adding #1: IPL section 'linux' (default)
  kernel image......: /boot/vmlinuz-2.6.32-19.el6.s390x
  kernel parmline...: 'root=/dev/mapper/vg_devel1-lv_root rd_DASD=0.0.0200,use_diag=0,readonly=0,erplog=0,failfast=0 rd_DASD=0.0.0207,use_diag=0,readonly=0,erplog=0,failfast=0 rd_DASD=0.0.202b rd_LVM_LV=vg_devel1/lv_root rd_NO_LUKS rd_NO_MD rd_NO_DM LANG=en_US.UTF-8 SYSFONT=latarcyrheb-sun16 KEYTABLE=us cio_ignore=all,!0.0.0009'
  initial ramdisk...: /boot/initramfs-2.6.32-19.el6.s390x.img
  component address: 
    kernel image....: 0x00010000-0x00a70fff 
    parmline........: 0x00001000-0x00001fff 
    initial ramdisk.: 0x02000000-0x022d2fff 
    internal loader.: 0x0000a000-0x0000afff 
Preparing boot device: dasda (0201).
Preparing boot menu
  Interactive prompt......: enabled 
  Menu timeout............: 15 seconds
  Default configuration...: 'linux' 
Syncing disks...
Done.

25.1.3.2. DASDs, die nicht Teil des Root-Dateisystems sind

DASDs, die nicht Teil des Root-Dateisystems sind, d.h. Datenplatten, werden persistent in der Datei /etc/dasd.conf konfiguriert. Es beinhaltet ein DASD pro Zeile. Jede Zeile beginnt mit der Geräte-Bus-ID eines DASD. Optional kann jede Zeile mit Optionen fortgeführt werden, die durch ein Leerzeichen oder Tabulatur-Zeichen getrennt werden. Optionen bestehen aus Key-Value-Pairs, bei denen der Schlüssel (Key) und der Wert (Value) durch ein Gleichzeichen getrennt werden.
Der Schlüssel entspricht einem beliebiegen, gültigen sysfs-Attribut, das ein DASD ggf. besitzt. Der Wert wird zu dem sysfs-Attribut des Schlüssels geschrieben. Einträge in /etc/dasd.conf werden von udev aktiviert und konfiguriert, wenn ein DASD zum System hinzugefügt wird. Zum Zeitpunkt des Bootens werden alle für das System sichtbaren DASDs hinzugefügt und aktivieren udev.
Beispielinhalt von /etc/dasd.conf:
0.0.0207
0.0.0200 use_diag=1 readonly=1
Änderungen an /etc/dasd.conf werden nur nach einem Neustart des Systems oder dem dynamischen Hinzufügen eines neuen DASD durch Änderung der I/O-Konfiguration des Systems gültig (d.h., das DASD wird unter z/VM angehängt). Alternativ können Sie die Aktivierung eines neuen Eintrags für ein DASD, das zuvor nicht aktiv war, in /etc/dasd.conf mit den folgenden Befehlen umsetzen:
  1. Verwenden Sie den Befehl cio_ignore, um das DASD aus der Liste der zu ignorierenden Geräte zu entfernen und für Linux sichtbar zu machen:
    # cio_ignore -r device_number
    Zum Beispiel:
    # cio_ignore -r 021a
  2. Initiieren Sie die Aktivierung durch das Schreiben in das uevent-Attribut des Geräts:
    echo add > /sys/bus/ccw/devices/device-bus-ID/uevent
    Zum Beispiel:
    echo add > /sys/bus/ccw/devices/0.0.021a/uevent