20.2. FCP 接続の LUN (論理 ユニット) の追加
FCP LUN の追加方法の例を以下に示します。
注記
z/VM 下で実行している場合は、FCP アダプターが z/VM ゲストの仮想マシンに接続されていることを確認してください。実稼働環境でのマルチパス設定には、2 つの異なる物理アダプター (CHPID) 上に少なくとも 2 つの FCP デバイスを配置することになります。以下に例を示します。
CP ATTACH FC00 TO * CP ATTACH FCD0 TO *
20.2.1. FCP LUN の動的なアクティベート
LUN をアクティベートするには以下の手順に従います。
- cio_ignore ユーティリティーを使用して、無視するデバイスの一覧から FCP アダプターを削除し、Linux から見えるようにします。
#
cio_ignore -r device_numberdevice_number は、FCP アダプターのデバイス番号に置き換えます。以下に例を示します。 - 以下のコマンドを使用して FCP アダプターデバイスをオンラインにします。
#
chccwdev -e fc00 - zfcp デバイスドライバーの自動ポートスキャンで必要な 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 - LUN へのアクセスに使用するポート (WWPN) に FCP LUN を追加して FCP LUN をアクティベートします。
#
echo 0x4020400100000000 > /sys/bus/ccw/drivers/zfcp/0.0.fc00/0x50050763050b073d/unit_add - 割り当て済みの SCSI デバイス名を見つけます。
#
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"
デバイスバス 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"
警告
/etc/zipl.conf
のカーネルコマンドラインの長さが 896 バイトを超えないようにしてください。これを超えてしまうとブートローダーを保存できず、インストールに失敗します。
zipl を実行して、次回の IPL に
/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.
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
/etc/zfcp.conf
の変更は、システムの再起動後か、システムの I/O 設定を変更して新規の FCP チャネルを動的に追加(たとえば、チャネルが z/VM の下に接続)された後にのみ有効になります。または、/etc/zfcp.conf
で、アクティブでなかった FCP アダプター用に、以下のコマンドを実行して、新しいエントリーをアクティベートできます。
- cio_ignore ユーティリティーを使用して、無視するデバイスの一覧から FCP アダプターを削除し、Linux から見えるようにします。
#
cio_ignore -r device_numberdevice_number は、FCP アダプターのデバイス番号に置き換えます。以下に例を示します。#
cio_ignore -r fcfc - 次に変更をアクティベートする uevent を開始します。
#
echo add > /sys/bus/ccw/devices/device-bus-ID/uevent以下に例を示します。#
echo add > /sys/bus/ccw/devices/0.0.fcfc/uevent