http://kbase.redhat.com/faq/docs/DOC-12024
http://storage.it168.com/g/2007-08-29/200708291048097.shtml
安装准备
首先我们针对企业版Linux (ES或AS) 3 Update 6版本。基本上这个版本的Linux安装盘片一共4片,我们看到其中第二片上应该会有如下的说明字样:
iscsi-initiator-utils-3.6.3-3.i386.rpm
linux-iscsi 3.4.x: 版本: 2.4.21
linux-iscsi 3.6.x: 版本: 2.4.21
这里一定要注意:linux-iscsi Initiator版本高于3.x的不能兼容2.4.x及更早的版本。
企业版Linux (ES或AS) 4 Update 2版本的安装盘也是4片,其中iSCSI Initiator在第四张盘片上。
iscsi-initiator-utils-4.0.3.0-2.i386.rpm
linux-iscsi:
4.0.2 – 版本: 2.6.10
4.0.1 – 版本: 2.6.0
注意:linux-iscsi Initiator版本低于4.x不能兼容2.6.x及更高的版本,且linux-iscsi 5.x以及更高版本已经成功通过UIT测试。
安装Redhat iSCSI发起方
首先我们来安装iSCSI Initiator,不管你的环境中运行的是企业版Linux 3还是4,你只要在Red Hat Media中找到RPM,然后用下面的rpm – ivh命令安装就可以。
# rpm –ivh iscsi-initiator-utils-4.0.3.0-2.i386.rpm
但是需要注意的事,这个命令是针对企业版Linux ES 4 Update 2的,你使用的版本可能有所不同。
此外,在Redhat 企业版Linux(ES或AS)4 Update 2或更高版本下,还有一个手动安装这个包的方法,那就是使用“系统设置”菜单中的“添加/删除程序”菜单项。在“网络服务器”组建的列表中会列出iscsi-initiator-utils选项。这一选项在初次安装Redhat 的时候也可以进行选择,所以这项操作在初次安装时也可以进行。
安装完成后,我们查看/etc路径,应该会出现一个名叫iscsi.conf的文件。如果这个文件不存在,那就很有可能是安装时出了问题。这个时候,我们还可以尝试通过下面的命令生成这个文件:
DiscoveryAddress=<IP Address>
这就需要指定到你的UIT阵列的Group IP Address
SendAsyncText=yes
Initiator能从客户端接收到Vendor Specific的同步事件
Continuous=yes
为了能指定全部依然打开的会话
配置iscsi.conf文件
在iscsi.conf文件内有很多其他的参数可以设置,你可以仔细查看iscsi.conf文件来获得那些变量和相关用途的信息。这些值一旦在新创建的/etc/iscsi.conf 文件进行了设置,就将启动iscsi服务,当然也可以在需要的时候使用命令行的方式来设置:
# service iscsi start
为了验证iscsi服务在启动时将会生效,可以使用下面给出的chkconfig命令:
# chkconfig –list iscsi
iscsi 0:off 1:off 2:off 3:off 4:off 5:off 6:off
在默认状态下,新添加的iscsi Initiator在启动后并不能自动工作,所以需要把每一个管理级别都设置为“关闭”的状态。要想在启动后生效,使用下面的chkconfig命令就可以了:
# chkconfig –add iscsi
# chkconfig iscsi on
上面的两个命令首先检查是否有必要的脚本来启动和停止这项服务,然后把服务指定到正确的管理级别上。
然后检查这些更改是否生效:
# chkconfig –list iscsi
iscsi 0:off 1:off 2:on 3:on 4:on 5:on 6:off
为了证明你能看到你的iscsi设备,你可以使用如下的命令:
# iscsi-ls
SFNet iSCSI Driver Version … 3.6.3 (27-Jun-2005 )
TARGET NAME : iqn.2001-05.com.UIT:6-8a0900-148270001-987006efd6c43836-pat-rhel3-vol2
TARGET ALIAS : pat-rhel3-vol2
HOST NO : 1
BUS NO : 0
TARGET ID : 5
TARGET ADDRESS : 172.19.50.13:3260
SESSION STATUS : ESTABLISHED AT Thu Dec 1 15:51:50 2005
NO. OF PORTALS : 1
PORTAL ADDRESS 1 : 172.19.50.10:3260,0
SESSION ID : ISID 00023d000001 TSIH 06
要想查看更加详细的设备信息,你可以在刚才的命令中加入-l参数:
# iscsi-ls –s
SFNet iSCSI Driver Version … 3.6.3 (27-Jun-2005 )
TARGET NAME : iqn.2001-05.com.UIT:6-8a0900-148270001-987006efd6c43836-pat-rhel3-vol2
TARGET ALIAS : pat-rhel3-vol2
HOST NO : 1
BUS NO : 0
TARGET ID : 5
TARGET ADDRESS : 172.19.50.13:3260
SESSION STATUS : ESTABLISHED AT Thu Dec 1 15:51:49 2005
NO. OF PORTALS : 1
PORTAL ADDRESS 1 : 172.19.50.10:3260,0
SESSION ID : ISID 00023d000001 TSIH 06
DEVICE DETAILS :
————–
LUN ID : 0
Vendor: EQLOGIC Model: 100E-00 Rev: 2.1
Type: Direct-Access ANSI SCSI revision: 05
page83 type3: 0690a018007082143638c4d6ef067098
page80: 3036393041303138303037303832313433363338433444364546303637303938
Device: /dev/sdc
************************************************************************
上面是加了-l的iscsi-ls命令输出的信息,这时我们可以看出有问题的就是/dev/sdc设备
固定设备命名
用Redhat 软件服务器端的设备没有固定的命名方式,但是有不少办法可以在不同版本的Redhat 上实现固定命名:
Redhat 企业版Linux (ES或AS) 3可通过Devlabel命令实现固定设备命名 (看devlabel的man帮助),下面的方法只能在内核是2.4系列的Redhat 上工作:
用 devlabel 建立名称的符号链接
简单的add命令建立链接的方法如下:
# devlabel add –d <device such as /dev/sdb> -s <link to create to this device>
比如:
# devlabel add –d /dev/sdc –s /dev/iscsi/vollink
# ls –l /dev/iscsi/vollink
lrwxrwxrwx 1 root root 8 Dec 1 16:31 newvol -> /dev/sdc
对于Redhat 企业版Linux (ES或AS) 4,可通过如下方法实现固定设备命名。但需要注意下面的方法只能在内核是2.6系列的Redhat 上工作:
在设备节点文件创建之后,建立设备到设备文件的链接。udev用规则文件(看 man udev)来确定如何建立不同设备的设备名称和设备文件名之间的链接。
这是最好的一种解决方案,没有比这个更直接的方法了。
关于那些用iSCSI 服务端固定设备名称的iSCSI设备,Redhat 可能会利用udev提供更多的相关信息。