一,iSCSI安裝包的查找:
1.首先用yum檢視一下關于iscsi的安裝包:指令yum search <keyword>
輸入yum search scsi
找到iscsi-initiator-utils 和scsi-target-utils 。它們分别對應Initiator和Target的安裝包
2 Target的安裝
yum -y install scsi-target-utils
3啟動服務,并添加到開機自啟動:
etc/init.d/tgtd start
chkconfig tgtd on
4 指令行編輯 (重新開機失效)
#tgtadm --lld iscsi --op new --mode target --tid 2 -T iqn.2222.test:storage.disk2 添加一個iqn,設定其tid為2
#tgtadm --lld iscsi --op new --mode logicalunit --tid 2 --lun 1 -b /dev/md50
指定裝置/dev/md50到方才的iqn中
#tgtadm --lld iscsi --op bind --mode target --tid 2 -I ALL
給權限,讓這個iqn接管所有連接配接懇求
另外的解釋和指令
添加一個新的target
ietadm --op new --tid=[id] --params Name=iqn.foo.example
其中[id] 為數字,必須是沒有使用過的。後面的 Name 需要自己自定義,也需要保證是唯一的。
當然不知道自己本機所有target id 的話,可以使用這個指令檢視目前的 target 狀态和得到 target id
² 添加一個新的 lun
Note: 在一個已經存在的 target 上加入一個 lun, 以便共享出來給外界。
ietadm --op new --tid=[id] --lun=[lun] --params Path=/path/exported/file,Type=fileio
[id] 必須是一個已經存在的 tid 号, [lun] 可以自己定義。
後面的path 就是共享的路徑了。
NOTE: 通過這種方式添加的LUN 在重新開機服務之後會丢失。
² 停止某個Target 的某個 Connection 的連接配接
ietadm --op delete --tid=2 --sid=562950876233792 --cid=1 && ietadm --op delete --tid=2
² 停止所有Target 的連接配接
ietadm --op delete
² 删除某個Target (已經沒有 Session 連接配接的)
ietadm --op delete --tid= 1
上面列出了ietadm 常用的指令,關于 ietadm 其餘的指令,大家可以使用 ietadm --help 來檢視更多的指令
5編輯配置
編輯配置檔案/etc/tgt/targets.conf,并設定下iSCSI Qualified Name (IQN).
如果你是自己分區或者lvm,設定成自己的分區和lv即可。
<target iqn.2012-02.com.example:server.target1>
backing-store /dev/sda5 #share 1
backing-store /var/lib/tgtd/virtualization/virtimage2.img #share 2
write-cache off
</target>
重新開機服務,使修改後的配置生效。
[[email protected] ~]# /etc/init.d/tgtd restart
确定iscsi server是否成功。如果現實如下說明配置iscsi server已經OK。
[[email protected] ~]# tgt-admin --show
二。Initiator的安裝
1、安裝Initiator
yum -y install iscsi-initiator-utils
2. 啟動服務并添加到開機啟動
# /etc/init.d/iscsid start
# chkconfig iscsid on
3.發現iscsi server 的共享分區
輸入:
# iscsiadm --mode discovery --type sendtargets --portal 192.168.1.8
得到回複
192.168.1.8:3260,1 iqn.2011-09.com.nfschina:nfs-storage24
4. 列出所有的Target
iscsiadm -m node
5 登陸到iscsi server的共享分區
連接配接所有的共享分區:iscsiadm -m node -L all
連接配接指定的Target:
輸入iscsiadm -m node -T iqn.2011-09.com.nfschina:nfs-storage24 -p 192.168.1.8 --login
回複:Logging in to [iface: default, target: iqn.2011-09.com.nfschina:nfs-storage24, portal: 192.168.1.8,3260] (multiple)
Login to [iface: default, target: iqn.2011-09.com.nfschina:nfs-storage24, portal: 192.168.1.8,3260] successful.
6.檢視 資料結構的樹狀資訊
iscsiadm -m node -o show -T iqn.2011-09.com.nfschina:nfs-storage24
7 檢視所有iSCSI的連接配接狀态
iscsiadm -m session
8 檢視去人已經增加的磁盤裝置
ls /dev/sd*
9 斷開所有Target 連接配接
iscsiadm -m node -U all
10 斷開指定Target的連接配接
iscsiadm -m node -T iqn.2011-09.com.nfschina:nfs-storage24 -p 192.168.1.8 --logout
11 檢視目前的連接配接狀态
iscsiadm -m session
12 删除所有node資訊
iscsiadm -m node --op delete
13 重新discovery
三。 其他說明:
1 早版本的Target用的指令為 ietadm ,然後據說它有bug,後面的版本都用tgtdadm指令
2 錯誤tgtadm: can't send the request to the tgt daemon, Transport endpoint is not connected
這是因為沒有啟動tgtd服務 需要啟動服務 service tgtd restart
參看http://bbs.linuxtone.org/thread-17115-1-1.html