5、iSCSI客户端(Initiator)配置

在Linux 2.6内核中提供了iscsi驱动,iSCSI 驱动(driver)使主机拥有了通过IP网络访问存储
   的能力,驱动在主机(Initiator)和服务端(Target)间使用iSCSI协议在TCP/IP网上传输SCSI
   请求和响应,在构建上,iSCSI驱动与TCP/IP栈、网络驱动和网络接口卡(NIC)结合,其等同于
   SCSI或光纤通道卡适配器驱动对主机总线卡(HBA)的作用。驱动采用采用模块的方式,具体模块
   包括iscsi_tcp, libiscsi, libiscsi_tcp。
   
   在具体使用时,Linux用户空间组件初始化iSCSI驱动,具体的文档和例子可在http://open-iscsi.org
   网站上获取。本文即采用open-iscsi提供的iscsi-initiator-utils工具作为iSCSI用户空间组件,此软
   件作为iSCSI连接的发起端,实现主机与存储基于iSCSI协议的访问。
   
   下面具体说明initiator的安装和使用。
   
   1)Initiator安装
      iscsi-initiator-utils已经打包在各个Linux distribution中,可以在安装操作系统是选择安装或者
      操作系统安装完成后,进入到安装介质目录,执行rpm -ivh iscsi-initiator-utils进行安装。如果
      配置好yum repository,则执行yum install iscsi-initiator-utils进行安装。
      
      安装完成后他,通过rpm -qi iscsi-initiator-utils查看软件的介绍:
      Name        : iscsi-initiator-utils        Relocations: (not relocatable)
      Version     : 6.2.0.872                         Vendor: CentOS
      Release     : 10.el5                        Build Date: Fri 22 Jul 2011 01:19:09 PM CST
      Size        : 2589266                          License: GPL
      Signature   : DSA/SHA1, Sat 13 Aug 2011 05:24:56 AM CST, Key ID a8a447dce8562897
      URL         : http://www.open-iscsi.org
      Summary     : iSCSI daemon and utility programs
      Description :
      The iscsi package provides the server daemon for the iSCSI protocol,
      as well as the utility programs used to manage it. iSCSI is a protocol
      for distributed disk access using SCSI commands sent over Internet
      Protocol networks.

2)Initiator守护进程
      open-iscsi包括两个守护进程iscsid和iscsi,其中iscsid是主进程,iscsi进程则主要负责
      根据配置,在系统启动时进行发起端(Initiator)到服务端(target)的登录,建立发起端
      与服务端的会话,使主机在启动后即可使用通过iSCSI提供服务的存储设备。
      
      iscsid进程实现iSCSI协议的控制路径以及相关管理功能。例如守护进程(指iscsid)可配置
      为在系统启动时基于持久化的iSCSI数据库内容,自动重新开始发现(discovery)目标设备。
      
   3)Initiator配置     
      
      1> iSCSI initiator 名称设置
         initiator名称用来唯一标识一个iSCSI Initiator端。保存此名称的配置文件为
         /etc/iscsi/initiatorname.iscsi,命名规则可采用iqn-type格式,利用
         iscsi-iname命令可产出一个名称,将此名称输入到initiatorname.iscsi配置
         文件即可。
      2> iSCSI Initiator配置
         iSCSI Initiator的配置文件为/etc/iscsi/iscsid.conf,在iSCSI initiator 
         的scsid进程启动和执行iscsiadm命令时,将读取这个配置文件的内容,获取
         与SCSI目标进行交互的相关信息,主要的配置内容包括:
         
         CHAP Settings 组
           本组下的各个设置项主要用来指定Initiator与target验证方式及相关信息
         
         设置节点会话的验证模式
         node.session.auth.authmethod = CHAP
         CHAR(Challenge Handshake Authentication Protocol ),默认为不验证(none)
         
         设置会话target验证initiator的CHAR用户名及对应的密码
         node.session.auth.username = scott
         node.session.auth.password = tiger
         
         设置会话initiator验证target的用户名及其对应的密码
         #node.session.auth.username_in = username_in
         #node.session.auth.password_in = password_in
         
         设置initiator发现target的验证模式,默认为不验证(none)
         discovery.sendtargets.auth.authmethod = CHAP
         
         设置发现会话(discovery session)target验证initiator的CHAR用户名及对应的密码
         discovery.sendtargets.auth.username = scott
         discovery.sendtargets.auth.password = tiger

设置发现会话(discovery session)initiator验证target的CHAR用户名及对应的密码
         #discovery.sendtargets.auth.username_in = username_in
         #discovery.sendtargets.auth.password_in = password_in

通过上述配置项,可以看到iSCSI的主要验证方式是CHAR,并且验证是双方向的,在本例
         中,因为在目标端设置的验证帐号,所以只设定了target验证initiator所需要的用户名
         和密码。

超时(Timeouts)设置组:
            本组设置initiator与target端交互的时间限制。
         
         重试(retry)设置组:
            本组设置iscsid重试登录节点的次数。
            
         会话和设备排队深度(session and device queue depth)设置组:
            设置session排队命令的数量,设置设备队列深度
         
         iSCSI设置(iSCSI settings)组:
            启用或禁止R2T(Ready to Transmit)流控,启用后,initiator在发送任何数据前必
            须等待 一个R2T命令,默认为禁止(no)。
            node.session.iscsi.InitialR2T = Yes|no
             
            启用或禁止立即数据(immediate data ),禁止后,initiator不随着SCSI 命令PDU发
            送未请求的数据。默认为启用(Yes)
            node.session.iscsi.ImmediateData = Yes|No         
          
   3)initiator相关命令介绍
      open-iscsi initiator-utils提供的管理命令为iscsiadm
      此命令包括discovery、node、session几种模式,分别处理不同的情况。在服务器能够使用
      Target提供的存储空间前,必须在服务器上通过Initiator软件执行以下步骤:
      发现目标设备-->登录目标设备-->与目标设备建立会话,下面分别说明通过各个命令进行说明。
      
      (1)发现目标设备(Target),使用iscsiadm discovery模式,命令格式如下:
            iscsiadm -m discovery [ -P printlevel ] 
                                  [ -t type -p ip:port [ -l ] ] | 
                                  [ [ -p ip:port ] [ -l | -D ] ]
            命令示例:
            iscsiadm -m discovery -t sendtargets -p 192.168.1.211:3260
            返回信息:192.168.1.211:3260,1 iqn.2012-01.cn.nayun:test-01
                      192.168.1.211:3260,1 iqn.2012-01.cn.nayun:test-02
            
            此命令查询目标门户(Portal)为192.168.1.211:3260上的目标,查找成功后,返回相应
            的target ID,同时在 /var/lib/iscsi/send_targets 和 /var/lib/iscsi/nodes目录下记
            录相应的门户和节点信息。/var/lib/iscsi目录下的内容采用dbm数据库方式存储,所有版
            本的linux以及大多的unix都随系统带有一个基本的,但是却很高效的数据存储程序集合,
            被成为dbm数据库。适合于相对比较静态的索引化数据。其实就是一个索引化的文件存储系统。
            这些信息称之为initiator discoverydb,可以通过iscsiadm相关操作进行管理。
            使用iscsiadm -m node命令,可以查看到发现的节点记录。 
            
            备注:iSCSI node是一个在网络上可用的SCSI设备标识符,在open-iscsi中利用术语node表示
                  目标(target)上的门户(portal)。一个target可以有多个portal,portal 由IP地址
                  和端口构成。 
            
        (2)在完成目标发现后,即可以登录到相应的节点,使用目标设备提供的存储空间。
            node相关命令如下:
            iscsiadm -m node [ -P printlevel ] [ [ -T  targetname -p ip:port  ] [ -l | -u | -R | -s] ] 
                             [ [ -o operation ]  [ -n name ] [ -v value ] [ -p ip:port ] ]
            命令示例:
            iscsiadm -m node -T iqn.2012-01.cn.nayun:test-01 -l 
            执行成功,返回如下信息: 
            Logging in to [iface: default, target: iqn.2012-01.cn.nayun:test-01, portal: 192.168.1.211,3260]
            Login to [iface: default, target: iqn.2012-01.cn.nayun:test-01, portal: 192.168.1.211,3260] successful.
            执行失败,返回如下信息:
            iscsiadm: Could not login to [iface: default, target: iqn.2012-01.cn.nayun:test-02, portal: 192.168.1.211,3260].
            iscsiadm: initiator reported error (24 - iSCSI login failed due to authorization failure)
            iscsiadm: Could not log into all portals
            出现上述提示,需要检查target与initiator的验证配置是否对应。
            
            登录成功后。在/sys/devices/platform目录下将自动生成一个hostX目录,其中X是一个编号,每次有可能不同,在
            此目录下包含相关的session和connection信息。
            
            在服务端(target)可以查看登录情况,使用如下命令:
            tgt-admin --show
            显示如下信息:
            Target 1: iqn.2012-01.cn.nayun:test-01
            System information:
                Driver: iscsi
                State: ready
            I_T nexus information:
                I_T nexus: 1
                    Initiator: iqn.2012-01.cn.nayun:initiator-212
                    Connection: 0
                        IP Address: 192.168.1.212
            LUN information:
                LUN: 0
                    Type: controller
                    SCSI ID: IET     00010000
                    SCSI SN: beaf10
                    Size: 0 MB, Block size: 1
                    Online: Yes
                    Removable media: No
                    Readonly: No
                    Backing store type: null
                    Backing store path: None
                    Backing store flags: 
                LUN: 1
                    Type: disk
                    SCSI ID: IET     00010001
                    SCSI SN: beaf11
                    Size: 537 MB, Block size: 512
                    Online: Yes
                    Removable media: No
                    Readonly: No
                    Backing store type: rdwr
                    Backing store path: /dev/sdb
                    Backing store flags: 
            Account information:
            ACL information:
                192.168.1.0/24
                192.168.1.210

在I_T nexus information部分显示了连接信息。
         
         (3)登录目标节点成功后,即建立了initiator与target之间的会话(session),同时target提供的存储设备
              也挂载到主机中,在/dev目录下生成一个新的设备文件类似于sdb、sdc等。查看session命令格式如下:
              iscsiadm -m session [ -P printlevel  [ -r sessionid | sysfsdir [ -R ] [ -u | -s ] ]    
              
              命令示例:  
              iscsiadm -m session -P 3
              返回如下信息:
              iSCSI Transport Class version 2.0-871
              version 2.0-872
              Target: iqn.2012-01.cn.nayun:test-01
              Current Portal: 192.168.1.211:3260,1
              Persistent Portal: 192.168.1.211:3260,1
                **********
                Interface:
                **********
                Iface Name: default
                Iface Transport: tcp
                Iface Initiatorname: iqn.2012-01.cn.nayun:initiator-212
                Iface IPaddress: 192.168.1.212
                Iface HWaddress: <empty>
                Iface Netdev: <empty>
                SID: 10
                iSCSI Connection State: LOGGED IN
                iSCSI Session State: LOGGED_IN
                Internal iscsid Session State: NO CHANGE
                ************************
                Negotiated iSCSI params:
                ************************
                HeaderDigest: None
                DataDigest: None
                MaxRecvDataSegmentLength: 262144
                MaxXmitDataSegmentLength: 8192
                FirstBurstLength: 65536
                MaxBurstLength: 262144
                ImmediateData: Yes
                InitialR2T: Yes
                MaxOutstandingR2T: 1
                ************************
                Attached SCSI devices:
                ************************
                Host Number: 11 State: running
                scsi11 Channel 00 Id 0 Lun: 0
                scsi11 Channel 00 Id 0 Lun: 1
                        Attached scsi disk sdc          State: running

备注:ISCSI会话用来标识到某个具体SCSI I_T连接的所有TCP连接。同一个会话里可能有一个或多个连接。
              当initiator通过默认端口或指定端口与target建立连接时,登录过程就开始了,initiator和target互相
              认证并建立安全协议。在登录阶段,ISCS Iinitiator和target会协商建立多种连接属性。
              
          (4)使用target提供的存储盘
              登录到target后,即可使用fdisk等工具像使用本地磁盘一样对磁盘进行分区,并mount到相关目录下进行
              文件的存取。
          (5)注销登录
              使用一下命令注销登录:      
              iscsiadm -m node -T iqn.2012-01.cn.nayun:test-01 -p 192.168.1.211 -u
              Logging out of session [sid: 1, target: iqn.2012-01.cn.nayun:test-01, portal: 192.168.1.211,3260]
              Logout of [sid: 1, target: iqn.2012-01.cn.nayun:test-01, portal: 192.168.1.211,3260] successful.

(6)其他操作
              删除一个目标(/var/lib/iscsi/nodes目录下)
              iscsiadm -m node -o delete -name iqn.2012-01.cn.nayun:test-01
              删除一个目标(/var/lib/iscsi/send_targets目录下)
              iscsiadm --mode discovery -o delete -p 192.168.1.211:3260
              查看某个sendtargets portal记录 
              iscsiadm -m discoverydb -p 192.168.1.211:3260 -t st -o show 
               # BEGIN RECORD 2.0-872
               discovery.startup = manual
               discovery.type = sendtargets
               discovery.sendtargets.address = 192.168.1.211
               discovery.sendtargets.port = 3260
               discovery.sendtargets.auth.authmethod = CHAP
               discovery.sendtargets.auth.username = scott
               discovery.sendtargets.auth.password = ********
               discovery.sendtargets.auth.username_in = <empty>
               discovery.sendtargets.auth.password_in = <empty>
               discovery.sendtargets.timeo.login_timeout = 15
               discovery.sendtargets.use_discoveryd = No
               discovery.sendtargets.discoveryd_poll_inval = 30
               discovery.sendtargets.reopen_max = 5
               discovery.sendtargets.timeo.auth_timeout = 45
               discovery.sendtargets.timeo.active_timeout = 30
               discovery.sendtargets.iscsi.MaxRecvDataSegmentLength = 32768

5、iSCSI客户端(Initiator)配置

在Linux 2.6内核中提供了iscsi驱动,iSCSI 驱动(driver)使主机拥有了通过IP网络访问存储
   的能力,驱动在主机(Initiator)和服务端(Target)间使用iSCSI协议在TCP/IP网上传输SCSI
   请求和响应,在构建上,iSCSI驱动与TCP/IP栈、网络驱动和网络接口卡(NIC)结合,其等同于
   SCSI或光纤通道卡适配器驱动对主机总线卡(HBA)的作用。驱动采用采用模块的方式,具体模块
   包括iscsi_tcp, libiscsi, libiscsi_tcp。
   
   在具体使用时,Linux用户空间组件初始化iSCSI驱动,具体的文档和例子可在http://open-iscsi.org
   网站上获取。本文即采用open-iscsi提供的iscsi-initiator-utils工具作为iSCSI用户空间组件,此软
   件作为iSCSI连接的发起端,实现主机与存储基于iSCSI协议的访问。
   
   下面具体说明initiator的安装和使用。
   
   1)Initiator安装
      iscsi-initiator-utils已经打包在各个Linux distribution中,可以在安装操作系统是选择安装或者
      操作系统安装完成后,进入到安装介质目录,执行rpm -ivh iscsi-initiator-utils进行安装。如果
      配置好yum repository,则执行yum install iscsi-initiator-utils进行安装。
      
      安装完成后他,通过rpm -qi iscsi-initiator-utils查看软件的介绍:
      Name        : iscsi-initiator-utils        Relocations: (not relocatable)
      Version     : 6.2.0.872                         Vendor: CentOS
      Release     : 10.el5                        Build Date: Fri 22 Jul 2011 01:19:09 PM CST
      Size        : 2589266                          License: GPL
      Signature   : DSA/SHA1, Sat 13 Aug 2011 05:24:56 AM CST, Key ID a8a447dce8562897
      URL         : http://www.open-iscsi.org
      Summary     : iSCSI daemon and utility programs
      Description :
      The iscsi package provides the server daemon for the iSCSI protocol,
      as well as the utility programs used to manage it. iSCSI is a protocol
      for distributed disk access using SCSI commands sent over Internet
      Protocol networks.
      
      安装的文件包括:
      /etc/iscsi
      /etc/iscsi/iscsid.conf       --initiator配置文件
      /etc/rc.d/init.d/iscsi       
      /etc/rc.d/init.d/iscsid
      /sbin/brcm_iscsiuio
      /sbin/iscsi-iname
      /sbin/iscsiadm               --initiator管理工具
      /sbin/iscsid
      /sbin/iscsistart
      /usr/include/fw_context.h
      /usr/include/iscsi_list.h
      /usr/include/libiscsi.h
      /usr/lib/libfwparam.a
      /usr/lib/libiscsi.so
      /usr/lib/libiscsi.so.0
      /usr/lib/python2.4/site-packages/libiscsimodule.so
      /usr/share/doc/iscsi-initiator-utils-6.2.0.872
      /usr/share/doc/iscsi-initiator-utils-6.2.0.872/README
      /usr/share/man/man8/brcm_iscsiuio.8.gz
      /usr/share/man/man8/iscsi-iname.8.gz
      /usr/share/man/man8/iscsiadm.8.gz
      /usr/share/man/man8/iscsid.8.gz
      /usr/share/man/man8/iscsistart.8.gz
      /var/lib/iscsi
      /var/lib/iscsi/ifaces
      /var/lib/iscsi/isns
      /var/lib/iscsi/nodes
      /var/lib/iscsi/send_targets
      /var/lib/iscsi/slp
      /var/lib/iscsi/static
      /var/lock/iscsi

2)Initiator守护进程
      open-iscsi包括两个守护进程iscsid和iscsi,其中iscsid是主进程,iscsi进程则主要负责
      根据配置,在系统启动时进行发起端(Initiator)到服务端(target)的登录,建立发起端
      与服务端的会话,使主机在启动后即可使用通过iSCSI提供服务的存储设备。
      
      iscsid进程实现iSCSI协议的控制路径以及相关管理功能。例如守护进程(指iscsid)可配置
      为在系统启动时基于持久化的iSCSI数据库内容,自动重新开始发现(discovery)目标设备。
      
   3)Initiator配置     
      
      1> iSCSI initiator 名称设置
         initiator名称用来唯一标识一个iSCSI Initiator端。保存此名称的配置文件为
         /etc/iscsi/initiatorname.iscsi,命名规则可采用iqn-type格式,利用
         iscsi-iname命令可产出一个名称,将此名称输入到initiatorname.iscsi配置
         文件即可。
      2> iSCSI Initiator配置
         iSCSI Initiator的配置文件为/etc/iscsi/iscsid.conf,在iSCSI initiator 
         的scsid进程启动和执行iscsiadm命令时,将读取这个配置文件的内容,获取
         与SCSI目标进行交互的相关信息,主要的配置内容包括:
         
         CHAP Settings 组
           本组下的各个设置项主要用来指定Initiator与target验证方式及相关信息
         
         设置节点会话的验证模式
         node.session.auth.authmethod = CHAP
         CHAR(Challenge Handshake Authentication Protocol ),默认为不验证(none)
         
         设置会话target验证initiator的CHAR用户名及对应的密码
         node.session.auth.username = scott
         node.session.auth.password = tiger
         
         设置会话initiator验证target的用户名及其对应的密码
         #node.session.auth.username_in = username_in
         #node.session.auth.password_in = password_in
         
         设置initiator发现target的验证模式,默认为不验证(none)
         discovery.sendtargets.auth.authmethod = CHAP
         
         设置发现会话(discovery session)target验证initiator的CHAR用户名及对应的密码
         discovery.sendtargets.auth.username = scott
         discovery.sendtargets.auth.password = tiger

设置发现会话(discovery session)initiator验证target的CHAR用户名及对应的密码
         #discovery.sendtargets.auth.username_in = username_in
         #discovery.sendtargets.auth.password_in = password_in

通过上述配置项,可以看到iSCSI的主要验证方式是CHAR,并且验证是双方向的,在本例
         中,因为在目标端设置的验证帐号,所以只设定了target验证initiator所需要的用户名
         和密码。

超时(Timeouts)设置组:
            本组设置initiator与target端交互的时间限制。
         
         重试(retry)设置组:
            本组设置iscsid重试登录节点的次数。
            
         会话和设备排队深度(session and device queue depth)设置组:
            设置session排队命令的数量,设置设备队列深度
         
         iSCSI设置(iSCSI settings)组:
            启用或禁止R2T(Ready to Transmit)流控,启用后,initiator在发送任何数据前必
            须等待 一个R2T命令,默认为禁止(no)。
            node.session.iscsi.InitialR2T = Yes|no
             
            启用或禁止立即数据(immediate data ),禁止后,initiator不随着SCSI 命令PDU发
            送未请求的数据。默认为启用(Yes)
            node.session.iscsi.ImmediateData = Yes|No         
          
   3)initiator相关命令介绍
      open-iscsi initiator-utils提供的管理命令为iscsiadm
      此命令包括discovery、node、session几种模式,分别处理不同的情况。在服务器能够使用
      Target提供的存储空间前,必须在服务器上通过Initiator软件执行以下步骤:
      发现目标设备-->登录目标设备-->与目标设备建立会话,下面分别说明通过各个命令进行说明。
      
      (1)发现目标设备(Target),使用iscsiadm discovery模式,命令格式如下:
            iscsiadm -m discovery [ -P printlevel ] 
                                  [ -t type -p ip:port [ -l ] ] | 
                                  [ [ -p ip:port ] [ -l | -D ] ]
            命令示例:
            iscsiadm -m discovery -t sendtargets -p 192.168.1.211:3260
            返回信息:192.168.1.211:3260,1 iqn.2012-01.cn.nayun:test-01
                      192.168.1.211:3260,1 iqn.2012-01.cn.nayun:test-02
            
            此命令查询目标门户(Portal)为192.168.1.211:3260上的目标,查找成功后,返回相应
            的target ID,同时在 /var/lib/iscsi/send_targets 和 /var/lib/iscsi/nodes目录下记
            录相应的门户和节点信息。/var/lib/iscsi目录下的内容采用dbm数据库方式存储,所有版
            本的linux以及大多的unix都随系统带有一个基本的,但是却很高效的数据存储程序集合,
            被成为dbm数据库。适合于相对比较静态的索引化数据。其实就是一个索引化的文件存储系统。
            这些信息称之为initiator discoverydb,可以通过iscsiadm相关操作进行管理。
            使用iscsiadm -m node命令,可以查看到发现的节点记录。 
            
            备注:iSCSI node是一个在网络上可用的SCSI设备标识符,在open-iscsi中利用术语node表示
                  目标(target)上的门户(portal)。一个target可以有多个portal,portal 由IP地址
                  和端口构成。 
            
        (2)在完成目标发现后,即可以登录到相应的节点,使用目标设备提供的存储空间。
            node相关命令如下:
            iscsiadm -m node [ -P printlevel ] [ [ -T  targetname -p ip:port  ] [ -l | -u | -R | -s] ] 
                             [ [ -o operation ]  [ -n name ] [ -v value ] [ -p ip:port ] ]
            命令示例:
            iscsiadm -m node -T iqn.2012-01.cn.nayun:test-01 -l 
            执行成功,返回如下信息: 
            Logging in to [iface: default, target: iqn.2012-01.cn.nayun:test-01, portal: 192.168.1.211,3260]
            Login to [iface: default, target: iqn.2012-01.cn.nayun:test-01, portal: 192.168.1.211,3260] successful.
            执行失败,返回如下信息:
            iscsiadm: Could not login to [iface: default, target: iqn.2012-01.cn.nayun:test-02, portal: 192.168.1.211,3260].
            iscsiadm: initiator reported error (24 - iSCSI login failed due to authorization failure)
            iscsiadm: Could not log into all portals
            出现上述提示,需要检查target与initiator的验证配置是否对应。
            
            登录成功后。在/sys/devices/platform目录下将自动生成一个hostX目录,其中X是一个编号,每次有可能不同,在
            此目录下包含相关的session和connection信息。
            
            在服务端(target)可以查看登录情况,使用如下命令:
            tgt-admin --show
            显示如下信息:
            Target 1: iqn.2012-01.cn.nayun:test-01
            System information:
                Driver: iscsi
                State: ready
            I_T nexus information:
                I_T nexus: 1
                    Initiator: iqn.2012-01.cn.nayun:initiator-212
                    Connection: 0
                        IP Address: 192.168.1.212
            LUN information:
                LUN: 0
                    Type: controller
                    SCSI ID: IET     00010000
                    SCSI SN: beaf10
                    Size: 0 MB, Block size: 1
                    Online: Yes
                    Removable media: No
                    Readonly: No
                    Backing store type: null
                    Backing store path: None
                    Backing store flags: 
                LUN: 1
                    Type: disk
                    SCSI ID: IET     00010001
                    SCSI SN: beaf11
                    Size: 537 MB, Block size: 512
                    Online: Yes
                    Removable media: No
                    Readonly: No
                    Backing store type: rdwr
                    Backing store path: /dev/sdb
                    Backing store flags: 
            Account information:
            ACL information:
                192.168.1.0/24
                192.168.1.210

在I_T nexus information部分显示了连接信息。
         
         (3)登录目标节点成功后,即建立了initiator与target之间的会话(session),同时target提供的存储设备
              也挂载到主机中,在/dev目录下生成一个新的设备文件类似于sdb、sdc等。查看session命令格式如下:
              iscsiadm -m session [ -P printlevel  [ -r sessionid | sysfsdir [ -R ] [ -u | -s ] ]    
              
              命令示例:  
              iscsiadm -m session -P 3
              返回如下信息:
              iSCSI Transport Class version 2.0-871
              version 2.0-872
              Target: iqn.2012-01.cn.nayun:test-01
              Current Portal: 192.168.1.211:3260,1
              Persistent Portal: 192.168.1.211:3260,1
                **********
                Interface:
                **********
                Iface Name: default
                Iface Transport: tcp
                Iface Initiatorname: iqn.2012-01.cn.nayun:initiator-212
                Iface IPaddress: 192.168.1.212
                Iface HWaddress: <empty>
                Iface Netdev: <empty>
                SID: 10
                iSCSI Connection State: LOGGED IN
                iSCSI Session State: LOGGED_IN
                Internal iscsid Session State: NO CHANGE
                ************************
                Negotiated iSCSI params:
                ************************
                HeaderDigest: None
                DataDigest: None
                MaxRecvDataSegmentLength: 262144
                MaxXmitDataSegmentLength: 8192
                FirstBurstLength: 65536
                MaxBurstLength: 262144
                ImmediateData: Yes
                InitialR2T: Yes
                MaxOutstandingR2T: 1
                ************************
                Attached SCSI devices:
                ************************
                Host Number: 11 State: running
                scsi11 Channel 00 Id 0 Lun: 0
                scsi11 Channel 00 Id 0 Lun: 1
                        Attached scsi disk sdc          State: running

备注:ISCSI会话用来标识到某个具体SCSI I_T连接的所有TCP连接。同一个会话里可能有一个或多个连接。
              当initiator通过默认端口或指定端口与target建立连接时,登录过程就开始了,initiator和target互相
              认证并建立安全协议。在登录阶段,ISCS Iinitiator和target会协商建立多种连接属性。
              
          (4)使用target提供的存储盘
              登录到target后,即可使用fdisk等工具像使用本地磁盘一样对磁盘进行分区,并mount到相关目录下进行
              文件的存取。
          (5)注销登录
              使用一下命令注销登录:      
              iscsiadm -m node -T iqn.2012-01.cn.nayun:test-01 -p 192.168.1.211 -u
              Logging out of session [sid: 1, target: iqn.2012-01.cn.nayun:test-01, portal: 192.168.1.211,3260]
              Logout of [sid: 1, target: iqn.2012-01.cn.nayun:test-01, portal: 192.168.1.211,3260] successful.

(6)其他操作
              删除一个目标(/var/lib/iscsi/nodes目录下)
              iscsiadm -m node -o delete -name iqn.2012-01.cn.nayun:test-01
              删除一个目标(/var/lib/iscsi/send_targets目录下)
              iscsiadm --mode discovery -o delete -p 192.168.1.211:3260
              查看某个sendtargets portal记录 
              iscsiadm -m discoverydb -p 192.168.1.211:3260 -t st -o show 
               # BEGIN RECORD 2.0-872
               discovery.startup = manual
               discovery.type = sendtargets
               discovery.sendtargets.address = 192.168.1.211
               discovery.sendtargets.port = 3260
               discovery.sendtargets.auth.authmethod = CHAP
               discovery.sendtargets.auth.username = scott
               discovery.sendtargets.auth.password = ********
               discovery.sendtargets.auth.username_in = <empty>
               discovery.sendtargets.auth.password_in = <empty>
               discovery.sendtargets.timeo.login_timeout = 15
               discovery.sendtargets.use_discoveryd = No
               discovery.sendtargets.discoveryd_poll_inval = 30
               discovery.sendtargets.reopen_max = 5
               discovery.sendtargets.timeo.auth_timeout = 45
               discovery.sendtargets.timeo.active_timeout = 30
               discovery.sendtargets.iscsi.MaxRecvDataSegmentLength = 32768

iSCSI 在Linux下的模拟实验的更多相关文章

  1. linux下如何模拟按键输入和模拟鼠标【转】

    转自:http://www.cnblogs.com/leaven/archive/2010/11/30/1891947.html 查看/dev/input/eventX是什么类型的事件, cat /p ...

  2. Linux下的ssh实验环境搭建与管理

    实验环境[size=10.5000pt]1:网桥模式[size=10.5000pt]2:安装好vmtoos[size=10.5000pt]3:安装好yum[size=10.5000pt]4:安装好ss ...

  3. Linux下多线程模拟停车场停车

    #include<stdio.h> #include<string.h> #include<unistd.h> #include<stdlib.h> # ...

  4. Linux 下curl模拟Http 的get or post请求

    一.get请求 curl "http://www.baidu.com"  如果这里的URL指向的是一个文件或者一幅图都可以直接下载到本地 curl -i "http:// ...

  5. Jmeter在linux下的安装

    Apache Jmeter简介   Apache JMeter 是Apache组织的开放源代码项目,是一个100%纯Java桌面应用,用于压力测试和性能测量.它最初被设计用于Web应用测试但后来扩展到 ...

  6. Linux下搭建iSCSI共享存储的方法 Linux-IO Target 方式CentOS7-1810下实现

    iSCSI(internet SCSI)技术由IBM公司研究开发,是一个供硬件设备使用的.可以在IP协议的上层运行的SCSI指令集,这种指令集合可以实现在IP网络上运行SCSI协议,使其能够在诸如高速 ...

  7. Linux下搭建iSCSI共享存储的方法 TGT 方式 CentOS6.9系统下

    iSCSI(internet SCSI)技术由IBM公司研究开发,是一个供硬件设备使用的.可以在IP协议的上层运行的SCSI指令集,这种指令集合可以实现在IP网络上运行SCSI协议,使其能够在诸如高速 ...

  8. Linux下搭建iSCSI共享存储的方法 Linux-IO Target 方式 Debian9.5下实现

    iSCSI(internet SCSI)技术由IBM公司研究开发,是一个供硬件设备使用的.可以在IP协议的上层运行的SCSI指令集,这种指令集合可以实现在IP网络上运行SCSI协议,使其能够在诸如高速 ...

  9. Linux下搭建iSCSI共享存储的方法 TGT 方式 Debian9.5系统下

    iSCSI(internet SCSI)技术由IBM公司研究开发,是一个供硬件设备使用的.可以在IP协议的上层运行的SCSI指令集,这种指令集合可以实现在IP网络上运行SCSI协议,使其能够在诸如高速 ...

随机推荐

  1. Setting IE11 with Group Policy Preferences

    一.Setting Home Page with Group Policy Preferences 1.Open the Group Policy Management Console and cre ...

  2. luarocks错误 require ‘luasql.mysql' 报module 'luasql.mysql' not found:

    错误: require 'luasql.mysql'stdin:1: module 'luasql.mysql' not found: no field package.preload['luasql ...

  3. 直播未来属于RTMP还是HTTP

    直播未来属于RTMP还是HTTP? - Tinywan - 博客园 https://www.cnblogs.com/tinywan/p/6122065.html 直播未来属于RTMP还是HTTP? H ...

  4. 2015-03-18——mongodb的简单配置

    参考网址:http://www.cnblogs.com/mecity/archive/2011/06/11/2078527.html#3060056 mongod 数据库启动程序 mongo 数据库操 ...

  5. nodejs使用——以elasticsearch-exporter为例

    安装nodejs: yum install nodejs 运行node命令查看是否安装成功: 可以看到成功进入命令行,安装成功. node命令前面要加点,使用 .help 查看有哪些命令: 使用.ex ...

  6. Django框架错误处理

    错误处理 在一些网站开发中.经常会需要捕获一些错误,然后将这些错误返回比较优美的界面,或者是将这个错误的请求做一些日志保存.那么我们本节就来讲讲如何实现. 常用的错误码: 404:服务器没有指定的ur ...

  7. python爬取当当网的书籍信息并保存到csv文件

    python爬取当当网的书籍信息并保存到csv文件 依赖的库: requests #用来获取页面内容 BeautifulSoup #opython3不能安装BeautifulSoup,但可以安装Bea ...

  8. begoo——路由设置

    路由本质是URL与要为该URL调用的视图函数之间的映射表,其实就是你定义的使用那个URL调用那段代码的关系对应表. 首先看一下最简单的路由: package routers import ( &quo ...

  9. Python函数加工厂-装饰器

    引言: 函数和装饰器好比程序界的加工厂: 1.函数一般可用来加工一种或者多种数据类型的数据:字符串.数字.列表.字典等 举一个简单例子:已知半径求面积 def s(r): s = 3.14 * r * ...

  10. Java并发(4):ThreadLocal

    一.对ThreadLocal的理解 ThreadLocal是java.lang包中的一个类,很多地方叫做线程本地变量,也有些地方叫做线程本地存储,其实意思差不多.可能很多朋友都知道ThreadLoca ...