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