Kapitel 17. Konfigurieren eines installierten Linux auf einer IBM System z-Instanz

Weitere Informationen zu Linux auf System z finden Sie in den unter Kapitel 19, IBM System z-Referenzen aufgeführten Publikationen. Einige der häufigsten Aufgaben werden hier beschrieben.

17.1. Hinzufügen von DASDs

Nachfolgend sehen Sie ein Beispiel dafür, wie ein DASD online gestellt wird, wie es formatiert wird und wie die Änderungen persistent gemacht werden.

Anmerkung

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

17.1.1. DASDs dynamisch online stellen

Um ein DASD online zu stellen, befolgen Sie folgende Schritte:
  1. Verwenden Sie das Dienstprogramm 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 durch die Gerätenummer des DASD. Zum Beispiel:
    # cio_ignore -r 4b2e
  2. Stellen Sie das Gerät online. Verwenden Sie einen Befehl der folgenden Form:
    # chccwdev -e device_number
    Ersetzen Sie device_number durch die Gerätenummer des DASD. Zum Beispiel:
    # chccwdev -e 4b2e
    Alternativ können Sie das Gerät unter Verwendung der sysfs-Attribute online stellen:
    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 es mithilfe des folgenden Befehls online:
      # echo 1 > online
      # cat online
      1
  3. Überprüfen Sie, mit welchem Blockgeräteknoten auf das Gerät 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.
Diese Schritte stellen ein DASD für die aktuelle Sitzung online, was jedoch einen Neustart nicht überdauert. Anweisungen, wie Sie ein DASDs dauerhaft online stellen, finden Sie in Abschnitt 17.1.3, »DASDs persistent online stellen«. Wenn Sie mit DASDs arbeiten, verwenden Sie die persistenten symbolischen Links für Geräte unter /dev/disk/by-path/.

17.1.2. Neues DASD mit Low-Level-Formatierung vorbereiten

Sobald die Festplatte 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 abgeschlossen 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 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...
Sobald ein (low-level-formatiertes) DASD online ist, kann es wie jede andere Festplatte unter Linux verwendet werden. Sie können beispielsweise Dateisysteme, physische LVM-Datenträger oder Swap-Space auf den Partitionen erstellen, z. B. /dev/disk/by-path/ccw-0.0.4b2e-part1. Verwenden Sie niemals 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 obigen fdasd-Beispiel.
Um später zusätzliche Festplatten hinzuzufügen, ohne bereits bestehende Festplatteneinträge in beispielsweise /etc/fstab ungültig zu machen, verwenden Sie die persistenten symbolischen Geräte-Links unter /dev/disk/by-path/.

17.1.3. DASDs persistent online stellen

Die obigen Anweisungen beschrieben, wie DASDs dynamisch in einem laufenden System aktiviert werden können. Solche Änderungen sind jedoch nicht persistent und überdauern 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 Bootvorgangs mittels initramfs aktiviert werden, damit das Root-Dateisystem eingehängt werden kann.
Die cio_ignore-Befehle werden transparent für persistente Gerätekonfigurationen gehandhabt und Sie brauchen Geräte aus der ignore-Liste nicht manuell freizugeben.

17.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 Bootloader-Werkzeug zipl aus. Das initramfs muss nicht erneut erstellt werden.
Es gibt eine Bootoption, um DASDs früh im Bootvorgang zu aktivieren: rd_DASD. Diese Option verwendet eine kommagetrennte Liste als Eingabe. Die Liste beinhaltet eine Geräte-Bus-ID und optional zusätzliche Parameter, bestehend aus Schlüssel-Wert-Paaren, die DASD-sysfs-Attributen entsprechen.
Nachfolgend ist eine beispielhafte zipl.conf-Datei für ein System aufgeführt, das physische Datenträger auf Partitionen von zwei DASDs für eine LVM-Datenträgergruppe namens vg_devel1 nutzt, die einen logischen Datenträger namens lv_root für das Root-Dateisystem enthält.
[defaultboot]
default=linux
target=/boot/
[linux]
        image=/boot/vmlinuz-2.6.32-19.el7.s390x
        ramdisk=/boot/initramfs-2.6.32-19.el7.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,!condev"
Angenommen, Sie möchten einen weiteren physischen Datenträger auf einer Partition eines dritten DASD mit der 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 Bootkernels in zipl.conf hinzu:
[defaultboot]
default=linux
target=/boot/
[linux]
        image=/boot/vmlinuz-2.6.32-19.el7.s390x
        ramdisk=/boot/initramfs-2.6.32-19.el7.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,!condev"
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.el7.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,!condev'
  initial ramdisk...: /boot/initramfs-2.6.32-19.el7.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.

17.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. Die Datei enthält 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 Tabulatorzeichen getrennt werden. Optionen bestehen aus Schlüssel-Wert-Paaren, bei denen der Schlüssel und der Wert durch ein Gleichheitszeichen getrennt werden.
Der Schlüssel entspricht einem beliebigen, gültigen sysfs-Attribut, das ein DASD gegebenenfalls 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 angeschlossen). 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 erreichen:
  1. Verwenden Sie das Dienstprogramm 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, indem Sie in das uevent-Attribut des Geräts schreiben:
    echo add > /sys/bus/ccw/devices/device-bus-ID/uevent
    Zum Beispiel:
    echo add > /sys/bus/ccw/devices/0.0.021a/uevent