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