20.2. FCP 接続の LUN (論理 ユニット) の追加
FCP LUN の追加方法の例を以下に示します。
注記
z/VM 下で実行している場合は、FCP アダプターが z/VM ゲストの仮想マシンに接続されていることを確認してください。実稼働環境でのマルチパス設定には、2 つの異なる物理アダプター (CHPID) 上に少なくとも 2 つの FCP デバイスを配置することになります。以下に例を示します。
CP ATTACH FC00 TO * CP ATTACH FCD0 TO *
CP ATTACH FC00 TO *
CP ATTACH FCD0 TO *
20.2.1. FCP LUN の動的なアクティベート
LUN をアクティベートするには以下の手順に従います。
- cio_ignore ユーティリティーを使用して、無視するデバイスの一覧から FCP アダプターを削除し、Linux から見えるようにします。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow cio_ignore -r device_number
# cio_ignore -r device_number
device_number は、FCP アダプターのデバイス番号に置き換えます。以下に例を示します。 - 以下のコマンドを使用して FCP アダプターデバイスをオンラインにします。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow chccwdev -e fc00
# chccwdev -e fc00
- zfcp デバイスドライバーの自動ポートスキャンで必要な WWPN が検出されたこと確認します。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow ls -l /sys/bus/ccw/drivers/zfcp/0.0.fc00/
# 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
- LUN へのアクセスに使用するポート (WWPN) に FCP LUN を追加して FCP LUN をアクティベートします。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow echo 0x4020400100000000 > /sys/bus/ccw/drivers/zfcp/0.0.fc00/0x50050763050b073d/unit_add
# echo 0x4020400100000000 > /sys/bus/ccw/drivers/zfcp/0.0.fc00/0x50050763050b073d/unit_add
- 割り当て済みの SCSI デバイス名を見つけます。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow lszfcp -DV
# 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
20.2.2. FCP LUN の永続的なアクティベート
上記では、実行中のシステムで FCP LUN を動的にアクティベートする手順を説明しています。しかし、そのような変更は永続的ではなく再起動後には維持されません。Linux システムにおいて FCP 設定の変更を永続化する方法は、FCP LUN がルートファイルシステムに属しているかどうかによって異なります。root ファイルシステムに必要なものは、ブートプロセスの初期段階で
initramfs
でアクティベートして、root ファイルシステムをマウントできるようにする必要があります。cio_ignore コマンドは、永続的なデバイス設定に対して透過的に処理されるため、無視リストからデバイスを手動で解放する必要はありません。
20.2.2.1. ルートファイルシステムの一部である FCP LUN
ルートファイルシステムの一部である FCP LUN を追加するために必要な唯一のファイルは、
/etc/zipl.conf
の後に zipl ブートローダーツールを実行します。initramfs
を再作成する必要はありません。
Red Hat Enterprise Linux には、起動プロセスの早い段階で FCP LUN をアクティブにするパラメーターである
rd.zfcp=
があります。この値は、デバイスバス ID を含むコンマ区切りのリスト、0x
で始まる 16 桁の 16 進数の WWPN、および 0x
で始まり 16 桁の 16 桁の数字の右側にゼロを入れた FCP LUN です。
次の
zipl.conf
の例は、LVM ボリュームグループ vg_devel1
用に 2 つの FCP LUN のパーティションにある物理ボリュームを使用するシステム用で、root ファイルシステム用の論理ボリューム 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"
[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"
デバイスバス ID が 0.0.fc00、WWPN 0x5105074308c212e9、および FCP LUN 0x401040a300000000 の 3 番目の FCP LUN のパーティションに別の物理ボリュームを追加するには、
rd.zfcp=0.0.fc00,0x5105074308c212e9,0x401040a300000000
を zipl.conf
のブートカーネルのパラメーター行に追加します。以下に例を示します。
[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"
[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"
警告
/etc/zipl.conf
のカーネルコマンドラインの長さが 896 バイトを超えないようにしてください。これを超えてしまうとブートローダーを保存できず、インストールに失敗します。
zipl を実行して、次回の IPL に
/etc/zipl.conf
の変更を適用します。
zipl -V
# 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.
20.2.2.2. ルートファイルシステムの一部ではない FCP LUN
データディスクなど、root ファイルシステムの一部ではない FCP LUN は、
/etc/zfcp.conf
ファイルで永続的に設定されます。このファイルの各行には FCP LUN が含まれています。各行には、FCP アダプターのデバイスバス ID、0x
で始まる 16 桁の 16 桁の数字の WWPN、および 0x
で始まり 16 桁の 16 桁の数字の右側にゼロが付く FCP LUN が、スペースまたはタブで区切られます。FCP アダプターがシステムに追加されると、/etc/zfcp.conf
内のエントリーが udev によってアクティベートされ、設定されます。起動時に、システムに表示される FCP アダプターがすべて追加され、udev がトリガーされます。
/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
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
の変更は、システムの再起動後か、システムの I/O 設定を変更して新規の FCP チャネルを動的に追加(たとえば、チャネルが z/VM の下に接続)された後にのみ有効になります。または、/etc/zfcp.conf
で、アクティブでなかった FCP アダプター用に、以下のコマンドを実行して、新しいエントリーをアクティベートできます。
- cio_ignore ユーティリティーを使用して、無視するデバイスの一覧から FCP アダプターを削除し、Linux から見えるようにします。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow cio_ignore -r device_number
# cio_ignore -r device_number
device_number は、FCP アダプターのデバイス番号に置き換えます。以下に例を示します。Copy to Clipboard Copied! Toggle word wrap Toggle overflow cio_ignore -r fcfc
# cio_ignore -r fcfc
- 次に変更をアクティベートする uevent を開始します。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow echo add > /sys/bus/ccw/devices/device-bus-ID/uevent
# echo add > /sys/bus/ccw/devices/device-bus-ID/uevent
以下に例を示します。Copy to Clipboard Copied! Toggle word wrap Toggle overflow echo add > /sys/bus/ccw/devices/0.0.fcfc/uevent
# echo add > /sys/bus/ccw/devices/0.0.fcfc/uevent