使用SCST通过FC方式进行卷管理之前必须搭建测试环境:以下是搭建测试环境所需硬件及软件。
测试环境列表:
服务器端(target):
服务器型号: NP370D2 光纤卡: 内核版本:
1块,型号QLA 2460 Linux 2.6.24
所需软件包: scst-1.0.1.1(SCST core )
scstadmin-1.0.6 (简化scst配置的工具软件) qla_isp-1.0.2(针对SCST core的FC卡驱动)
客户端(Initiator):
服务器型号: AS500N2 光纤卡:
1块,型号QLA2460
Red Hat 企业版5 (kernel 2.6.18)
内核版本:
所需软件包: qlafc-linux-8.02.23-3 (FC卡驱动)
standalone_sansurfer5.0.1b57_linux(FC卡管理软
件)
环境搭建详细过程: 一.Target端配置 以下是target端的配置方法:
(1)首先配置target 端,给内核打补丁:
Type: patch -p0 scst_exec_req_fifo-2.6.X.patch patch -p0 io_context-2.6.X.patch
内核必须关闭HIGHMEM(通过make menuconfig中配置),否则scst_user
模块是无法加载上去的 (2)编译和安装SCST模块 进入到scst-1.0.1.1目录中 Type: make
make install
(3)加载SCST模块(scst.ko)
Type: cd /lib/modules/2.6.18-92.e15/extra
modprobe scst
(4)加载所需要的device handlers模块
测试实验中加载scst_vdisk.ko模块,所以可以用如下的命令进行加载: Type: cd /lib/modules/2.6.18-92.e15/extra/Devicehandlers
modprobe scst_vdisk
(5)编译和安装qla_isp-1.0.1。 进入到qla_isp-1.0.1目录中
Type: make
make install . 加载qla_isp模块(isp_scst.ko和isp_mod.ko)
Type: cd /lib/modules/2.6.18-92.e15/extra
modprobe isp_scst.ko
(6) 编译和安装scstadmin-1.0.6 进入到scstadmin-1.0.6目录中
Type: make
make install
下面就可以通过scstadmin配置scst,进行虚拟磁盘映射:
(1) Target Driver配置
Enable target mode for driver at specified WWN or host.
Type: scstadmin -enable localhost
(2)Device配置
向相应的handler添加设备
Type: scstadmin -adddev disk01 -handler vdisk -path /dev/sda -blocksize 512
用cat /proc/scsi_tgt/vdisk/vdisk 查看新加入的设备
(3)Group配置 可以创建一个新的组,也可以使用默认的组Default
Type: scstadmin -addgroup HOST01 ls –l /proc/scsi_tgt/groups/
(4)向Group中添加设备
Type: scstadmin -assigndev disk01 -group Default -lun 0
注意事项:每个group中的Lun号必须从0开始。 可以查看添加进组的设备:
Type: cat /etc/sc st.conf
此处也可以输入scstadmin –help查看命令用法 (5)向配置文件写入配置,刷新配置文件 Type:scstadmin –writeconfig /etc/scst.config
以下是Initiator端的配置方法
(1) 首先安装FC卡驱动程序qlafc-linux-8.02.23-3
进入到qlafc-linux-8.02.23-3-install目录中
Type: ./qlinstall
(2) FC管理工具安装:
standalone_sansurfer5.0.1b57_linux解压缩
Type: chmod 755 standalone_sansurfer5.0.1b57_linux_install.bin . /standalone_sansurfer5.0.1b57_linux_install.bin
(3) 默认的安装路径是: /opt/QLogic_Corporation/SANsurfer, 进入该路
径,找到SANsurfer,运行。此处必须在linux图形界面下运行,如果没有安装X窗口管理器必须安装X窗口管理器后运行。
点击collect。 运行qlafc-linux-8.02.23-3-install\\LinuxTools中的
ql-dynamic-tgt-lun-disc.sh脚本自动搜寻target端映射过来的卷。 (4)在终端输入fdisk –l 应该可以看到target端挂载的device。 至此,整个FC-scst平台的搭建过程就结束了。
说明: (1)scst通过/proc文件系统,从内核态向用户态输出交互信息。 可以通过查看c目录下的文件了解详细信息。 Help文件,提供了scst配置命令。换句话说,我们可以不使用scstadmin配置工具,直接使用help里列出的命令配置scst,不过比较繁琐 scsi-tgt文件,可以设置 scst设备到dev handlers。使用lsscsi命令查看H:C:I:L命名的HANDLER_NAME(host:channel:id:lun)。 Sessions文件,列出了当前已链接的发起端initiators。 Sgv文件 提供了一些关于远端命令的统计。主要是统计这些命令的block size和 sgv-pool的命中率。 Threads文件,允许读取和设置scst的线程数。 Version文件,显示scst的版本信息 Trace-level文件,可以读取并且设置SCST的跟踪调试级别。Help文件中有开起此debug的命令。 每一个dev handler都有自己的子目录。大多数dev handler在自己的子目录下只有两个文件(dev handler可以理解为scst core的插件,对各种设备的支持)。这两个文件为trace_level和type 。trace-level 与
/proc/scsi_tgt下的trace_level 相似。Type文件显示了这个handler的scsi类型号和一些文本描述。
----------------------------------------------
Access and devices visibility management (LUN masking)
LUN masking允许一个initiator端或者一组initiators看到不同的lun和不同的访问权限。
SCST支持两种访问控制模式
target-oriented。在这种模式,你确定每一个target设备和它的lun,这些设备会被所有的 initiators连接到。这是一种常规存取控制模式。比如IET仅仅支