1 tgt程序架構
tgt是用戶態實現的iscsi target,而iet(iscsi enterprise target)是在內核態實現的target,tgt相比於iet來說,因為其用戶態實現,方便調試,新加入一些功能等,不過性能相比iet來說要稍差一點。
1)安裝tgt
CentOS 自帶了scsi-target-utils 軟件,我們使用該軟件進行target設置。
# yum -y install scsi-target-utils
2 )規划共享的iscsi target文件名
通常的命令格式是:
Iqn.yyyy-mm.<reversed domain name>:identifier
例如:
Iqn.2014-10.dev.iscsi-target:disk
3 )設置tgt的配置文件/etc/tgt/targets.conf
Vim /etc/tgt/targets.conf
<target iqn.2014-12.dev.iscsi-target:iscsidisk>
backing-store /dev/sdd
…
</target>
4 )啟動iscsi target以及查看相關端口與磁盤信息
再來則是啟動、開機啟動,以及查看iscsi target所啟動的端口:
/etc/init.d/tgtd start
Chkconfig tgtd on
Netstat -tlunp | grep tgt
查看我們的target的相關信息,以及提供的LUN數據內容:
Tgt-admin --show
Target 1: iqn.2014-10.dev.iscsi-target:disk System information: Driver: iscsi State: ready I_T nexus information: LUN information: LUN: 0 Type: controller SCSI ID: IET 00010000 SCSI SN: beaf10 Size: 0 MB, Block size: 1 Online: Yes Removable media: No Prevent removal: 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: 214627 MB, Block size: 512 Online: Yes Removable media: No Prevent removal: No Readonly: No Backing store type: rdwr Backing store path: /dev/mapper/dm-3 Backing store flags: Account information: ACL information: ALL
5 )設置防火牆
不論在targets.conf配置文件中你有沒有使用initiator-address,iscsi target就是使用TCP/IP傳輸數據的,所以你還是需要在防火牆內設置可以連接的客戶端才行。也可以將防火牆關閉。
2 IET架構
2)安裝
tar -zxvf iscsitarget-1.4.20.2.tar.gz
make
make install
3)配置
Iscsitarget安裝完畢后,會創建/etc/iet/目錄,此目錄下有Iscsitarget的相關配置文件
[root@localhost iscsitarget-1.4.20.2]# cd /etc/iet/
[root@localhost iet]# vi ietd.conf
打開ietd.conf文件,首先找到類似如下行:
#Target iqn.2001-04.com.example:storage.disk2.sys1.xyz
此選項表示該iSCSI Target的命名,先將前面的“#”號去掉, Target的命名在同一子網內應該是唯一的,標准命名方式為:
iqn.yyyy-mm.[:identifier]
其中:
iqn:表示“iSCSI Qualified Name”,簡稱iqn。
yyyy-mm:表示年份-月份。這里是2001-04。
reversed domain name:表示倒過來的域名,這里是com.example。
identifier:表示識別代碼,這里是storage.disk2.sys1.xyz。
接下來,就是要設定 LUN(Logical Unit Number),找到類似如下行:
#Lun 0 Path=/dev/sdb,Type=fileio,ScsiId=xyz,ScsiSN=xyz
將前面的“#”號去掉,“Lun 0 Path=/dev/sdb”表示塊設備號為0,映射的磁盤為/dev/sdb,
“Type”值fileio是默認的,表示設置設備IO傳輸類型,有fileio、blockio、nullio。邏輯卷推薦用fileio,分區推薦用blockio。
主要用來對一個磁盤進行存儲共享。讀者可以根據自己情況將Path改為需要共享的存儲分區的設備標識。
這里我們新建一個分區來作為iscsitarget存儲的分區
4)啟動
接下來就可以啟動服務了
[root@localhost ~]# /etc/init.d/iscsi-target start
