Redhat linux环境下iSCSI配置攻略

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提供更多的相关信息。

 

你可能感兴趣的:(linux,工作,redhat,session,list,服务器)