F.2. 使用 zFCP 驱动程序

在安装的初始阶段,你会被要求输入 SCSI/FCP 信息。当这些信息被输入后,一个包括你的 SCSI 配置的 /etc/zfcp.conf 文件被建立了。并且一行 alias scsi_hostadapter zFCP 被加到 /etc/modprobe.conf 中。它加载了所需的 zFCP 模块。

# cat /etc/zfcp.conf
0.0.010a 0x01 0x5005076300c18154 0x00 0x5719000000000000

# cat /etc/modprobe.conf
alias eth0 qeth
options dasd_mod dasd=201,4b2e
alias scsi_hostadapter zfcp

假如 SCSI 设备的信息没有在安装的初始阶段被提供,你可以按照以下的例子来手工加载 SCSI 设备:

# cd /lib/modules/2.6.7-1.451.2.3/kernel/drivers/s390/scsi
# modprobe zfcp

# lsmod
Module                  Size  Used by
zfcp                  221460  0 [permanent]
autofs4                39944  0
qeth                  166288  0
qdio                   60240  3 zfcp,qeth
ccwgroup               25344  1 qeth
ipt_REJECT             23552  1
ipt_state              18944  5
ip_conntrack           57904  1 ipt_state
iptable_filter         19712  1
ip_tables              37888  3 ipt_REJECT,ipt_state,iptable_filter
sd_mod                 39688  0
scsi_mod              182904  2 zfcp,sd_mod
dm_mod                 86408  0
ext3                  179056  2
jbd                    92720  1 ext3
dasd_fba_mod           25344  0
dasd_eckd_mod          77056  4
dasd_mod               85328  6 dasd_fba_mod,dasd_eckd_mod

# cd /sys/bus/ccw/drivers/zfcp/0.0.010a

# echo 1 > online
# cat online
1

# echo 0x5005076300c18154 > /sys/bus/ccw/drivers/zfcp/0.0.010a/port_add
# ls
0x5005076300c18154  failed            lic_version    s_id
availability        fc_link_speed     nameserver     status
card_version        fc_service_class  online         wwnn
cmb_enable          fc_topology       port_add       wwpn
cutype              hardware_version  port_remove
detach_state        host2             scsi_host_no
devtype             in_recovery       serial_number

# cd /sys/bus/ccw/drivers/zfcp/0.0.010a/0x5005076300c18154
# echo 0x5719000000000000 > unit_add
# ls
0x5719000000000000  d_id    in_recovery  status    unit_remove
detach_state        failed  scsi_id      unit_add  wwnn

# cat /sys/bus/ccw/drivers/zfcp/0.0.010a/scsi_host_no
0x0
# cat /sys/bus/ccw/drivers/zfcp/0.0.010a/0x5005076300c18154/scsi_id
0x1
# cat \
/sys/bus/ccw/drivers/zfcp/0.0.010a/0x5005076300c18154/0x5719000000000000/scsi_lun
0x0

# cat /sys/bus/scsi/devices/0\:0\:1\:0/hba_id
0.0.010a
# cat /sys/bus/scsi/devices/0\:0\:1\:0/wwpn
0x5005076300c18154
# cat /sys/bus/scsi/devices/0\:0\:1\:0/fcp_lun
0x5719000000000000

# cat /sys/bus/scsi/devices/0\:0\:1\:0/block/dev
8:0
# cat /sys/bus/scsi/devices/0\:0\:1\:0/block/sda1/dev
8:1

# cat /proc/scsi/scsi
Attached devices:
Host: scsi2 Channel: 00 Id: 01 Lun: 00
  Vendor: IBM      Model: 2105F20          Rev: .123
  Type:   Direct-Access                    ANSI SCSI revision: 03

# fdisk /dev/sda1

# mke2fs -j /dev/sda1

# mount /dev/sda1 /mnt
# df
Filesystem           1K-blocks      Used Available Use% Mounted on
/dev/dasda1            2344224   1427948    797196  65% /
none                    511652         0    511652   0% /dev/shm
/dev/dasdb1            2365444     32828   2212456   2% /opt
/dev/sda1              3844088     32828   3615988   1% /mnt

# cd /boot
# mv initrd-2.6.7-1.451.2.3.img initrd-2.6.7-1.451.2.3.img.orig
# mkinitrd -v --with=scsi_mod --with=zfcp --with=sd_mod
initrd-2.6.7-1.451.2.3.img 2.6.7-1.451.2.3
Looking for deps of module ide-disk
Looking for deps of module dasd_mod
Looking for deps of module dasd_eckd_mod         dasd_mod
Looking for deps of module dasd_mod
Looking for deps of module dasd_fba_mod  dasd_mod
Looking for deps of module dasd_mod
Looking for deps of module ext3  jbd
Looking for deps of module jbd
Looking for deps of module scsi_mod
Looking for deps of module zfcp  qdio scsi_mod
Looking for deps of module qdio
Looking for deps of module scsi_mod
Looking for deps of module sd_mod        scsi_mod
Looking for deps of module scsi_mod
Using modules:  ./kernel/drivers/s390/block/dasd_mod.ko
./kernel/drivers/s390/block/dasd_eckd_mod.ko
./kernel/drivers/s390/block/dasd_fba_mod.ko ./kernel/fs/jbd/jbd.ko
./kernel/fs/ext3/ext3.ko ./kernel/drivers/scsi/scsi_mod.ko
./kernel/drivers/s390/cio/qdio.ko ./kernel/drivers/s390/scsi/zfcp.ko
./kernel/drivers/scsi/sd_mod.ko
Using loopback device /dev/loop0
/sbin/nash -> /tmp/initrd.cT1534/bin/nash
/sbin/insmod.static -> /tmp/initrd.cT1534/bin/insmod
`/lib/modules/2.6.7-1.451.2.3/./kernel/drivers/s390/block/dasd_mod.ko'-> 
`/tmp/initrd.cT1534/lib/dasd_mod.ko'
`/lib/modules/2.6.7-1.451.2.3/./kernel/drivers/s390/block/dasd_eckd_mod.ko' ->
`/tmp/initrd.cT1534/lib/dasd_eckd_mod.ko'
`/lib/modules/2.6.7-1.451.2.3/./kernel/drivers/s390/block/dasd_fba_mod.ko' ->
`/tmp/initrd.cT1534/lib/dasd_fba_mod.ko'
`/lib/modules/2.6.7-1.451.2.3/./kernel/fs/jbd/jbd.ko' ->
`/tmp/initrd.cT1534/lib/jbd.ko'
`/lib/modules/2.6.7-1.451.2.3/./kernel/fs/ext3/ext3.ko' ->
`/tmp/initrd.cT1534/lib/ext3.ko'
`/lib/modules/2.6.7-1.451.2.3/./kernel/drivers/scsi/scsi_mod.ko' ->
`/tmp/initrd.cT1534/lib/scsi_mod.ko'
`/lib/modules/2.6.7-1.451.2.3/./kernel/drivers/s390/cio/qdio.ko' ->
`/tmp/initrd.cT1534/lib/qdio.ko'
`/lib/modules/2.6.7-1.451.2.3/./kernel/drivers/s390/scsi/zfcp.ko' ->
`/tmp/initrd.cT1534/lib/zfcp.ko'
`/lib/modules/2.6.7-1.451.2.3/./kernel/drivers/scsi/sd_mod.ko' ->
`/tmp/initrd.cT1534/lib/sd_mod.ko'
Loading module dasd_mod with options dasd=201,4b2e
Loading module dasd_eckd_mod
Loading module dasd_fba_mod
Loading module jbd
Loading module ext3
Loading module scsi_mod
Loading module qdio
Loading module zfcp
Loading module sd_mod

# zipl -V
Using config file '/etc/zipl.conf'
Target device information
  Device..........................: 5e:00
  Partition.......................: 5e:01
  Device name.....................: dasda
  DASD device number..............: 0201
  Type............................: disk partition
  Disk layout.....................: ECKD/compatible disk layout
  Geometry - heads................: 15
  Geometry - sectors..............: 12
  Geometry - cylinders............: 3308
  Geometry - start................: 24
  File system block size..........: 4096
  Physical block size.............: 4096
  Device size in physical blocks..: 595416
Building bootmap '/boot//bootmap'
Building menu 'rh-automatic-menu'
Adding #1: IPL section 'linux' (default)
  kernel image......: /boot/vmlinuz-2.6.7-1.451.2.3 at 0x10000
  kernel parmline...: 'root=LABEL=/' at 0x1000
  initial ramdisk...: /boot/initrd-2.6.7-1.451.2.3.img at 0x800000
Preparing boot device: dasda (0201).
Preparing boot menu
  Interactive prompt......: disabled
  Menu timeout............: disabled
  Default configuration...: 'linux'
Syncing disks...
Done.