iSCSI 在Linux下的模擬實驗


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


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM