17.2. Hinzufügen von FCP-verknüpften Logical Units (LUNs)

Nachfolgend sehen Sie ein Beispiel für das Hinzufügen einer FCP-LUN.

Anmerkung

Vergewissern Sie sich bei der Ausführung unter z/VM, dass der FCP-Adapter an die virtuelle z/VM-Gastmaschine angehängt ist. Für das Multipathing in Produktionsumgebungen gibt es mindestens zwei FCP-Geräte auf zwei verschiedenen physischen Adaptern (CHPIDs). Zum Beispiel:
CP ATTACH FC00 TO * 
CP ATTACH FCD0 TO *

17.2.1. FCP-LUN dynamisch aktivieren

Führen Sie folgende Schritte aus, um eine LUN zu aktivieren:
  1. Verwenden Sie das Dienstprogramm cio_ignore, um den FCP-Adapter aus der Liste der ignorierten 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 FCP-Adapters. Zum Beispiel:
  2. Verwenden Sie den folgenden Befehl, um das FCP-Adaptergerät online zu stellen:
    # chccwdev -e fc00
  3. Vergewissern Sie sich, dass die erforderliche WWPN durch das automatische Scannen der Ports durch den zfcp-Gerätetreiber gefunden wurde:
    # ls -l /sys/bus/ccw/drivers/zfcp/0.0.fc00/
    drwxr-xr-x.  3 root root    0 Apr 28 18:19 0x500507630040710b
    drwxr-xr-x.  3 root root    0 Apr 28 18:19 0x50050763050b073d
    drwxr-xr-x.  3 root root    0 Apr 28 18:19 0x500507630e060521
    drwxr-xr-x.  3 root root    0 Apr 28 18:19 0x500507630e860521
    -r--r--r--.  1 root root 4096 Apr 28 18:17 availability
    -r--r--r--.  1 root root 4096 Apr 28 18:19 card_version
    -rw-r--r--.  1 root root 4096 Apr 28 18:17 cmb_enable
    -r--r--r--.  1 root root 4096 Apr 28 18:17 cutype
    -r--r--r--.  1 root root 4096 Apr 28 18:17 devtype
    lrwxrwxrwx.  1 root root    0 Apr 28 18:17 driver ->  ../../../../bus/ccw/drivers/zfcp
    -rw-r--r--.  1 root root 4096 Apr 28 18:17 failed
    -r--r--r--.  1 root root 4096 Apr 28 18:19 hardware_version
    drwxr-xr-x. 35 root root    0 Apr 28 18:17 host0
    -r--r--r--.  1 root root 4096 Apr 28 18:17 in_recovery
    -r--r--r--.  1 root root 4096 Apr 28 18:19 lic_version
    -r--r--r--.  1 root root 4096 Apr 28 18:17 modalias
    -rw-r--r--.  1 root root 4096 Apr 28 18:17 online
    -r--r--r--.  1 root root 4096 Apr 28 18:19 peer_d_id
    -r--r--r--.  1 root root 4096 Apr 28 18:19 peer_wwnn
    -r--r--r--.  1 root root 4096 Apr 28 18:19 peer_wwpn
    --w-------.  1 root root 4096 Apr 28 18:19 port_remove
    --w-------.  1 root root 4096 Apr 28 18:19 port_rescan
    drwxr-xr-x.  2 root root    0 Apr 28 18:19 power
    -r--r--r--.  1 root root 4096 Apr 28 18:19 status
    lrwxrwxrwx.  1 root root    0 Apr 28 18:17 subsystem ->  ../../../../bus/ccw
    -rw-r--r--.  1 root root 4096 Apr 28 18:17 uevent
  4. Aktivieren Sie die FCP-LUN, indem Sie sie zu dem Port (WWPN), durch den Sie auf das LUN zugreifen möchten, hinzufügen:
    # echo 0x4020400100000000 > /sys/bus/ccw/drivers/zfcp/0.0.fc00/0x50050763050b073d/unit_add
  5. Finden Sie den zugewiesenen SCSI-Gerätenamen heraus:
    # lszfcp -DV
    /sys/devices/css0/0.0.0015/0.0.fc00/0x50050763050b073d/0x4020400100000000
    /sys/bus/ccw/drivers/zfcp/0.0.fc00/host0/rport-0:0-21/target0:0:21/0:0:21:1089355792

17.2.2. FCP-LUNs persistent aktivieren

Die obigen Anweisungen beschrieben, wie FCP-LUNs dynamisch in einem laufenden System aktiviert werden können. Solche Änderungen sind jedoch nicht persistent und überdauern keinen Neustart. Das persistente Ändern der FCP-Konfiguration auf Ihrem Linux-System hängt davon ab, ob die FCP-LUNs Bestandteil des Root-Dateisystems sind. Die FCP-LUNs, 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.2.2.1. FCP-LUNs, die Teil des Root-Dateisystems sind

Die einzige Datei, die Sie für das Hinzufügen von FCP-LUNs, 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 mehr erneut erstellt werden.
Red Hat Enterprise Linux stellt einen Parameter zur Aktivierung von FCP-LUNs zu einem frühen Zeitpunkt des Bootvorgangs zur Verfügung: rd_ZFCP=. Der Wert ist eine kommagetrennte Liste, die Folgendes enthält: die Geräte-BUS-ID, die WWPN als 16-stelligen Hexadezimalwert mit 0x als Präfix und die FCP-LUN mit 0x als Präfix und rechts mit Nullen aufgefüllt, um 16 Hexadezimalstellen zu erreichen.
Nachfolgend ist eine beispielhafte zipl.conf-Datei für ein System aufgeführt, das physische Datenträger auf Partitionen von zwei FCP-LUNs für eine LVM-Datenträgergruppe namens vg_devel1 verwendet, die einen logischen Datenträger namens lv_root für das Root-Dateisystem besitzt. Der Einfachheit halber wird ein Beispiel für die Konfiguration ohne Multipathing gezeigt.
[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.zfcp=0.0.fc00,0x5105074308c212e9,0x401040a000000000 
rd.zfcp=0.0.fc00,0x5105074308c212e9,0x401040a100000000 
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"
Um einen weiteren physischen Datenträger auf einer Partition einer dritten FCP-LUN mit Gerätebus ID 0.0.fc00, WWPN 0x5105074308c212e9 und FCP LUN 0x401040a300000000 hinzuzufügen, fügen Sie einfach rd.zfcp=0.0.fc00,0x5105074308c212e9,0x401040a300000000 zu der Zeile mit den Parametern Ihres Bootkernels in zipl.conf hinzu, wie z. B.:
[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.zfcp=0.0.fc00,0x5105074308c212e9,0x401040a000000000 
rd.zfcp=0.0.fc00,0x5105074308c212e9,0x401040a100000000 
rd.zfcp=0.0.fc00,0x5105074308c212e9,0x401040a300000000
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..........................: 08:00
Partition.......................: 08:01
Device name.....................: sda
Device driver name..............: sd
Type............................: disk partition
Disk layout.....................: SCSI disk layout
Geometry - start................: 2048
File system block size..........: 4096
Physical block size.............: 512
Device size in physical blocks..: 10074112
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.zfcp=0.0.fc00,0x5105074308c212e9,0x401040a000000000 rd.zfcp=0.0.fc00,0x5105074308c212e9,0x401040a100000000 rd.zfcp=0.0.fc00,0x5105074308c212e9,0x401040a300000000 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-0x007a21ff
parmline........: 0x00001000-0x000011ff
initial ramdisk.: 0x02000000-0x028f63ff
internal loader.: 0x0000a000-0x0000a3ff
Preparing boot device: sda.
Detected SCSI PCBIOS disk layout.
Writing SCSI master boot record.
Syncing disks...
Done.

17.2.2.2. FCP-LUNs, die nicht Teil des Root-Dateisystems sind

FCP-LUNs, die nicht Teil des Root-Dateisystems sind, d. h. Datenplatten, werden persistent in der Datei /etc/zfcp.conf konfiguriert. Die Datei enthält eine FCP-LUN pro Zeile. Jede Zeile enthält Folgendes: die Geräte-Bus-ID des FCP-Adapters, die WWPN als 16-stellige Hexadezimalzahl mit 0x Präfix und die FCP-LUN mit 0x Präfix und rechts mit Nullen aufgefüllt, um 16 Hexadezimalstellen zu erreichen, getrennt durch Leerzeichen oder Tabulator. Einträge in /etc/zfcp.conf werden durch udev aktiviert und konfiguriert, wenn ein FCP-Adapter zum System hinzugefügt wird. Zum Zeitpunkt des Bootens werden alle für das System sichtbaren FCP-Adapter hinzugefügt und aktivieren udev.
Beispielinhalt von /etc/zfcp.conf:
0.0.fc00 0x5105074308c212e9 0x401040a000000000
0.0.fc00 0x5105074308c212e9 0x401040a100000000
0.0.fc00 0x5105074308c212e9 0x401040a300000000
0.0.fcd0 0x5105074308c2aee9 0x401040a000000000
0.0.fcd0 0x5105074308c2aee9 0x401040a100000000
0.0.fcd0 0x5105074308c2aee9 0x401040a300000000
Änderungen an /etc/zfcp.conf werden erst nach einem Neustart des Systems oder dem dynamischen Hinzufügen eines neuen FCP durch Änderung der I/O-Konfiguration des Systems wirksam (z. B. ein Channel wird unter z/VM angehängt). Alternativ erreichen Sie die Aktivierung eines neuen Eintrags für ein FCP, das zuvor nicht aktiv war, in /etc/zfcp.conf mit den folgenden Befehlen:
  1. Verwenden Sie das Dienstprogramm cio_ignore, um den FCP-Adapter aus der Liste der ignorierten 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 FCP-Adapters. Zum Beispiel:
    # cio_ignore -r fcfc
  2. Führen Sie Folgendes aus, um uevent zu initiieren, welches die Änderung aktiviert:
    echo add > /sys/bus/ccw/devices/device-bus-ID/uevent
    Zum Beispiel:
    echo add > /sys/bus/ccw/devices/0.0.fcfc/uevent