Red Hat Training
A Red Hat training course is available for Red Hat Enterprise Linux
17.2. 新增連接了 FCP 的邏輯單元(LUN)
以下為如何新增 FCP LUN 的範例。
注意
若在 z/VM 下執行的話,請確認 FCP 介面卡已連至 z/VM 客座端虛擬機器上。若要在生產環境下進行 multipath,在不同的兩個實體介面卡(CHPID)上,必須含有至少兩個 FCP 裝置。例如:
CP ATTACH FC00 TO *
CP ATTACH FCD0 TO *
17.2.1. 動態式地啟動一個 FCP LUN
請依照下列步驟來啟動 LUN:
- 請使用
cio_ignore
工具程式來將 FCP adapter 由忽略裝置清單中移除,並使其能讓 Linux 偵測到:# cio_ignore -r device_number
請將 device_number 取代為 FCP adapter 的裝置號碼。例如: - 若要啟用 FCP 介面卡裝置,請使用下列指令:
# chccwdev -e fc00
- 驗證必要的 WWPN 能被 zfcp 裝置驅動程式的自動連接埠掃描偵測到:
# 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 新增至您將會用來存取 LUN 的連接埠(WWPN),以將它啟用:
# 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
17.2.2. 永續性地啟動 FCP LUN
上述指南詳述了如何動態式地在一部執行中的系統上啟用 FCP LUN。然而,此類型的變更並非永續性的變更,並且無法在重新開機後維持其狀態。要使 FCP 配置的變更能夠在您的系統上保有永續性,取決於該 FCP LUN 是否屬於 root 檔案系統。root 檔案系統所需的這些 FCP,需要在開機程序非常早期的步驟中,由
initramfs
啟用,以便掛載 root 檔案系統。cio_ignore
指令會自動被處理為永續性裝置配置,並且您無須手動式地將裝置由忽略清單中移除。
17.2.2.1. 屬於 Root 檔案系統一部分的 FCP LUN
要新增屬於 root 檔案系統一部分的 FCP LUN,您唯一需要修改的檔案為
/etc/zipl.conf
。接著請執行 zipl 開機載入程式工具。您無須重新建立 initramfs
。
Red Hat Enterprise Linux 提供了用來在開機程序起始步驟中啟用 FCP LUN 的參數:
rd.zfcp=
。這個值是個以逗號區隔開的清單,其中包含了裝置 bus ID、WWPN 為 16 碼的十六進位數字,並以 0x
作為起始,以及以 0x
為起始的 FCP LUN,並且右方填補上零以達到 16 個十六進位數字。
以下為一部系統的
zipl.conf
範例,它在兩個 FCP LUN 的分割區上使用了實體卷冊來作為一個 LVM 卷冊群組 vg_devel1
,它包含了 root 檔案系統的 lv_root
邏輯卷冊。為了讓您輕易理解,此範例中所顯示的是無 multipath 的配置。
[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 的分割區上新增另一個裝置 bus ID 為 0.0.fc00、WWPN 為 0x5105074308c212e9,並且 FCP LUN 為 0x401040a300000000 的實體卷冊,請將
rd.zfcp=0.0.fc00,0x5105074308c212e9,0x401040a300000000
附加至 zipl.conf
中,boot kernel 的參數行即可,例如:
[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 來為下個 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.
17.2.2.2. 不屬於 Root 檔案系統一部分的 FCP LUN
不屬於 root 檔案系統一部分的 FCP LUN(例如資料磁碟),將永續性地配至於
/etc/zfcp.conf
檔案中。它一行包含了一個 FCP LUN。每行皆包含了 FCP 介面卡的裝置 bus ID、WWPN 為 16 碼的十六進位數字並以 0x
作為起始,以及以 0x
為起始的 FCP LUN,右方填補上零以達到 16 個十六進位數字,並以空格或 tab 區隔開。當 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 adapter 由忽略裝置清單中移除,並使其能讓 Linux 偵測到:# cio_ignore -r device_number
請將 device_number 取代為 FCP adapter 的裝置號碼。例如:# 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