iSCSI Target 編譯安裝過程
1. 解壓: tar zxvf iscsitarget-1.4.18 .t ar.gz
2. cd iscsitarget-1.4.18
3. Linux2.6.32的內核太新了最新的 iSCSI Target 版本 1.4.18 還沒有支持,網上有高手做了相應的補丁,於是打上補丁 patch -p1 <iscsitarget-1.4.18+linux-2.6.32.patch
4. 編譯: make KSRC= /usr/src /linux-2.6.32.2
5. 安裝: make install /usr/src /linux-2.6.32.2
iSCSI Target 配置和常用操作詳解
1. 修改配置文件
vi /etc/ietd.conf
2. 使用IET 管理命令行
2 添加一個新的target
ietadm --op new --tid=[id] --params Name=iqn.foo.example
其中[id] 為數字,必須是沒有使用過的。後面的 Name 需要自己自定義,也需要保證是唯一的。
當然不知道自己本機所有target id 的話,可以使用這個命令查看當前的 target 狀態和得到 target id
2 添加一個新的 lun
Note: 在一個已經存在的 target 上加入一個 lun, 以便共享出來給外界。
ietadm --op new --tid=[id] --lun=[lun] --params Path=/path/exported/file,Type=fileio
[id] 必須是一個已經存在的 tid 號, [lun] 可以自己定義。
後面的path 就是共享的路徑了。
NOTE: 通過這種方式添加的LUN 在重啟服務之後會丟失。
2 停止某個Target 的某個 Connection 的連接
ietadm --op delete --tid=2 --sid=562950876233792 --cid=1 && ietadm --op delete --tid=2
2 停止所有Target 的連接
ietadm --op delete
2 刪除某個Target (已經沒有 Session 連接的)
ietadm --op delete --tid= 1
上面列出了ietadm 常用的命令,關於 ietadm 其余的命令,大家可以使用 ietadm --help 來查看更多的指令。
3. 常用操作命令
查看當前虛擬單元清單
cat /proc/net/iet/volume
tid:2 name:200M.img
lun:1 state:0 iotype:fileio iomode:wt path:/work/janco/VirtualDisk/test.iso
tid:1 name:windows.iso
lun:0 state:0 iotype:fileio iomode:wt path:/work/janco/VirtualDisk/windows.iso
查看當前服務器 ISCSI target 服務以及連接狀態命令
cat /proc/net/iet/sessions
tid:2 name:200M.img
sid:562950876233792 initiator:iqn.1991-05.com.microsoft:admin-pc
cid:1 ip:192.168.1.240 state:active hd:none dd:none
sid:281475899523136 initiator:jacko
cid:1 ip:192.168.1.60 state:active hd:none dd:none
tid:1 name:windows.iso
啟動、停止、重啟iscsi-target 服務
/etc/init.d/iscsi-target start
/etc/init.d/iscsi-target stop
/etc/init.d/iscsi-target restart
iSCSI Initiator編譯安裝過程
1. 解壓:tar -xzvf open-iscsi-2.0-870.tar.gz
2. cd open-iscsi-2.0-870
3. 編譯:make KSRC=/usr/src/linux-headers-$(uname -r)
4. 安裝:make install KSRC=/usr/src/linux-headers-$(uname -r)
iSCSI Initiator配置和常用操作詳解
2 配置可以通過編輯/etc/iscsi/ 目錄下的 iscsid.conf 文件進行,相關操作 iscsid.conf 文件內有詳細的編寫范例和說明。
2 開啟、停止、重啟Initistor 服務
/etc/init.d/open-iscsi start
/etc/init.d/open-iscsi stop
/etc/init.d/open-iscsi restart
2 探測某台機器的Target
iscsiadm -m discovery -t sendtargets -p 192.168.5.35
192.168.5.35:3260,1 iqn.2010-03.com.Datastore:C3560:iSCSI.100G.634879
192.168.5.35:3260,1 iqn.2010-03.com.Datastore:C3560:iSCSI.Q.634879
2 列出所有 Target
iscsiadm -m node
192.168.5.35:3260,1 iqn.2010-03.com.Datastore:C3560:iSCSI.Q.634879
192.168.5.35:3260,1 iqn.2010-03.com.Datastore:C3560:iSCSI.100G.634879
2 連接所有 Target
iscsiadm -m node -L all
2 連接指定 Target
iscsiadm -m node -T iqn.2010-03.com.Datastore: C3560:iSCSI.janco.634879 -p 192.168.5.35 --login
2 帶用戶名和密碼的Target 登陸, 需要編輯/etc/iscsi/node 目錄下對應的文件
例如:vi /etc/iscsi/node/iqn.2010-03.com.Datastore:C3560:iSCSI.100GTest.741F81
修改
node.session.auth.authmethod = None
為
node.session.auth.authmethod = CHAP
node.session.auth.username = janco
node.session.auth.password = youraregoodman
node.se ssion.auth.username_in =
node.session.auth.password_in =
然後再按照上述方法進行連接
注意,如果執行了discovery 後,上述修改將會被還原。
2 使用如下命令可以查看數據結構的樹狀信息
# iscsiadm -m node -o show -T iqn.2010-03.com.Datastore: C3560:iSCSI.janco.634879
node.name = iqn.2010-03.com.Datastore: C3560:iSCSI.janco.634879
node.tpgt = 1
node.startup = automatic
iface.hwaddress = default
iface.iscsi_ifacename = default
iface.net_ifacename = default
iface.transport_name = tcp
node.discovery_address = 192.168. x.x
node.discovery_port = 3260
node.discovery_type = send_targets
node.session.initial_cmdsn = 0
node.session.initial_login_retry_max = 4
node.session.cmds_max = 128
node.session.queue_depth = 32
node.session.auth.authmethod = CHAP
node.session.auth.username = janco
node.session.auth.password = ********
node.session.auth.username_in =
node.session.auth.password_in =
node.session.timeo.replacement_timeout = 120
node.session.err_timeo.abort_timeout = 10
node.session.err_timeo.reset_timeout = 30
node.session.iscsi.InitialR2T = No
node.session.iscsi.ImmediateData = Yes
node.session.iscsi.FirstBurstLength = 262144
node.session.iscsi.MaxBurstLength = 16776192
node.session.iscsi.DefaultTime2Retain = 0
node.session.iscsi.DefaultTime2Wait = 0
node.session.iscsi.MaxConnections = 1
node.session.iscsi.MaxOutstandingR2T = 1
node.session.iscsi.ERL = 0
node.conn[0].address = 192.168. x.x
node.conn[0].port = 3260
node.conn[0].startup = manual
node.conn[0].tcp.window_size = 524288
node.conn[0].tcp.type_of_service = 0
node.conn[0].timeo.logout_timeout = 15
node.conn[0].timeo.login_timeout = 15
node.conn[0].timeo.auth_timeout = 45
node.conn[0].timeo.active_timeout = 5
node.conn[0].timeo.idle_timeout = 60
node.conn[0].timeo.ping_timeout = 5
node.conn[0].timeo.noop_out_interval = 10
node.conn[0].timeo.noop_out_timeout = 15
node.conn[0].iscsi.MaxRecvDataSegmentLength = 131072
node.conn[0].iscsi.HeaderDigest = None,CRC32C
node.conn[0].iscsi.DataDigest = None
node.conn[0].iscsi.IFMarker = No
node.conn[0].iscsi.OFMarker = No
2 查看目前 iSCSI target 連接 狀態
iscsiadm -m session
tcp: [1] 192.168.5.35:3260,1 iqn.2010-03.com.Datastore: C3560:iSCSI.janco.634879
2 通過 ls /dev/sd* 查看確認已經增加了磁盤設備
2 斷開所有 Target 連接
iscsiadm -m node -U all
2 斷開指定 Target 連接
iscsiadm -m node -T iqn.2010-03.com.Datastore: C3560:iSCSI.janco.634879 -p 192.168.5.35 --logout
2 查看目前連接狀態
iscsiadm -m session
iscsiadm: No active sessions. (目前已沒有連接的 iSCSI target)
2 刪除所有 node 信息 ( 需重新 discovery)
iscsiadm -m node --op delete