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:
- 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: - Verwenden Sie den folgenden Befehl, um das FCP-Adaptergerät online zu stellen:
# chccwdev -e fc00
- 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
- 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
- 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:
- 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
- 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