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. 14.wamp自定义网站根目录

    1.首先打开Apache 中的配置文件httpd.conf crtl+f 搜索  documentroot  ,在找到的目录中将目录修改自己的网站的目录,注意\ 与/ 2.在向下移动,找到<Di ...

  2. 页面的日志服务 web页面渲染 服务 ; 服务耦合带来的问题

    情景: 虽然对web服务做了3节点的负载均衡,但是由于埋点数据的落盘的代码也在相同服务器上,导致当flume处理日志的吞吐量达到瓶颈时,3节点的请求积压,挤占服务器资源,导致接口数据处理迟缓,页面加载 ...

  3. 容灾 RPO RTO

    w https://en.wikipedia.org/wiki/Recovery_point_objective A recovery point objective, or “RPO”, is de ...

  4. 洛谷 P2300 合并神犇

    洛谷 听说这题可以\(n^2\)水过去,不过这里介绍一种\(O(n)\)的做法. \(f[i]\)为第\(1-i\)位合并的次数. \(pre[i]\)为第\(1-i\)位最末尾的数. \(j\)为满 ...

  5. 细数Python中的数据类型以及他们的方法

    一.数据类型的种类及主要功能 1.数字类型 数字类型主要是用来计算,它分为整数类型int和浮点类型float 2.布尔类型 布尔类型主要是用于判断,它分为真True和False两种 3.字符串类型 字 ...

  6. Spring-Spring IoC容器

    IoC容器 Spring容器是Spring框架的核心.容器将创建对象,把它们连接在一起,配置它们,并管理它们的整个生命周期从创建到销毁.Spring容器使用依赖注入(DI)来管理组成一个应用程序的组件 ...

  7. Xcode 错误问题以及解决方法(后期遇到还会添加)

    1,/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhon ...

  8. WCF RIA SERVICE相关技术

    WCF RIA SERVICE实体属性拷贝 private void DoSubmit() { ((IEditableObject)this.RepairContract).EndEdit(); va ...

  9. POJ - 3662 Telephone Lines (Dijkstra+二分)

    题意:一张带权无向图中,有K条边可以免费修建.现在要修建一条从点1到点N的路,费用是除掉免费的K条边外,权值最大的那条边的值,求最小花费. 分析:假设存在一个临界值X,小于X的边全部免费,那么此时由大 ...

  10. Lambda加自定义比较器实现两个列表的合并

    一次项目有这样的需求,本地存储了json数据,可以转化为对应的List列表,现在需要更新,从服务器那里获取最新的数据更改.总的来说就是本地有个List表,如果数据需要更新,则会向服务器发送请求来获取需 ...