Red Hat Training

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

17.2. Добавление FCP LUN

Следующий пример демонстрирует добавление нового FCP LUN.

Примечание

Если вы работаете под z/VM, сначала надо подключить адаптер FCP к виртуальной машине. В многопутевых окружениях предусмотрено по крайней мере два устройства FCP на двух физических адаптерах (CHIPD).
CP ATTACH FC00 TO * 
CP ATTACH FCD0 TO *

17.2.1. Динамическая активация FCP LUN

Последовательность действий:
  1. Удалите адаптер FCP из списка игнорируемых устройств:
    # cio_ignore -r номер
    Укажите номер устройства FCP.
  2. Собственно, команда активации:
    # chccwdev -e fc00
  3. Убедитесь, что при автоматическом сканировании портов номер WWPN определяется верно:
    # 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. Чтобы подключить FCP LUN, надо привязать его порту, через который к нему можно будет обращаться:
    # echo 0x4020400100000000 > /sys/bus/ccw/drivers/zfcp/0.0.fc00/0x50050763050b073d/unit_add
  5. Чтобы узнать присвоенное устройству имя, выполните:
    # 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 LUN во время загрузки

Описанные выше действия позволяют включить FCP LUN в работающей системе, но сделанные изменения не сохранятся после перезагрузки. Способ настройки их подключения будет отличаться в зависимости от того, на каких устройствах расположена корневая файловая система «/». Устройства корневой файловой системы должны подключаться на ранней стадии процесса загрузки с помощью initramfs, в то время как остальные устройства можно подключить позднее. При этом обработка списка cio_ignore осуществляется прозрачно, поэтому нет необходимости в удалении диска из списка игнорируемых устройств.

17.2.2.1. FCP LUN корневой файловой системы

В этом случае потребуется лишь изменить файл /etc/zipl.conf и выполнить zipl. Повторное создание initramfs не требуется.
Для активации FCP LUN на ранней стадии процесса загрузки используется параметр rd.zfcp=, который содержит список из трех значений через запятую: идентификатор шины, шестнадцатеричный номер WWPN из 16 знаков с префиксом 0x и шестнадцатеричный FCP LUN с префиксом 0x. Последнее значение должно включать 16 знаков, поэтому при необходимости справа добавляются нули.
Ниже приведен пример файла zipl.conf, где на базе разделов двух FCP LUN создаются физические тома, которые объединяются в группу vg_devel1, на основе которой, в свою очередь, создается логический том lv_root для корневой файловой системы. Чтобы не усложнять пример, многопутевые варианты не рассматриваются.
[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"
Предположим, надо создать дополнительный физический том на базе третьего FCP LUN с идентификатором шины 0.0.fc00, WWPN 0x5105074308c212e9 и LUN 0x401040a300000000. В этом случае в zipl.conf следует просто добавить выражение rd.zfcp=0.0.fc00,0x5105074308c212e9,0x401040a300000000:
[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"
Выполните zipl для сохранения изменений в /etc/zipl.conf:
# 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 LUN за пределами корневой файловой системы

Если FCP LUN не принадлежит корневой файловой системе, а служит лишь для хранения данных, сохранение постоянства его конфигурации можно настроить в файле /etc/zfcp.conf. Каждая строка в файле определяет отдельный LUN и начинается с идентификатора шины адаптера FCP, затем следует шестнадцатеричный номер WWPN из 16 знаков с префиксом 0x и шестнадцатеричный LUN с префиксом 0x. Номер LUN должен включать 16 знаков, поэтому при необходимости можно справа добавить нули. Записи в /etc/zfcp.conf будут обработаны при добавлении адаптера FCP в систему. Во время загрузки будут добавлены все видимые адаптеры FCP.
Пример фрагмента /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
Изменения в /etc/zfcp.conf вступят в силу после перезагрузки системы или после динамического добавления новых каналов FCP и соответствующего изменения системной конфигурации ввода-вывода (то есть при подключении канала в z/VM). Или же для активации новой записи в /etc/zfcp.conf выполните:
  1. Удалите адаптер FCP из списка игнорируемых устройств:
    # cio_ignore -r номер
    Укажите номер устройства FCP.
    # cio_ignore -r fcfc
  2. Разрешите активацию устройства, изменив его атрибут uevent:
    echo add > /sys/bus/ccw/devices/ID_шины/uevent
    Например:
    echo add > /sys/bus/ccw/devices/0.0.fcfc/uevent