1、基礎知識
1.1 存儲相關
直接存儲(DAS):例如本機上的磁盤,就是屬於直接存儲設備。
存儲區域網絡(SAN):來自網絡內的其他存儲設備提供的磁盤。Iscsi就是屬於該方式。
網絡文件系統(NAS):直接提供文件系統,可以立即使用。
1.2 ISCSI相關基礎
iscsi target:存儲設備端,服務器端的設備,為其他服務器提供“磁盤”。
Iscsi initiator:使用target提供“磁盤”的客戶端。
2、ISCSI服務器端安裝配置
2.1、實驗環境
[root@test2 ~]# cat /etc/redhat-release
CentOS release 6.5 (Final)
192.168.110.167作為target,initiator為192.168.110.166
2.2、target安裝與配置
(1)安裝軟件包:
#scsi-target-utils
#perl-Config-General-2.44-1.el6.noarch.rpm
[root@test ~]# rpm -qa |grep scsi-target-utils
scsi-target-utils-1.0.24-18.el6.x86_64
[root@test ~]# rpm -qa |grep perl-Config-General
perl-Config-General-2.52-1.el6.noarch
[root@test ~]#
(2) 主要配置文件及命令:
/etc/tgt/target.conf 主要配置文件
/usr/sbin/tgt-admin 在線查詢、刪除target等功能命令
/usr/sbin/tgtd 主要提供iSCSI target服務的主程序
iSCSI是對應透明的,以下幾種方式可以作為“磁盤”分享出去給initiator使用:
(1)大型文件[dd]命令生成(2)磁盤陣列、磁盤或者磁盤分區等真實磁盤 (3)使用LVM中的邏輯卷
(3)啟動服務
[root@test ~]# service tgtd restart
[root@test ~]# chkconfig tgtd on
(4)使用fdisk創建一個500M分區/dev/sdc1,或者在文件系統上創建一個鏡像文件。
[root@test ~]# fdisk -l
Disk /dev/sdb: 21.5 GB, 21474836480 bytes
255 heads, 63 sectors/track, 2610 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x00000000
[root@test ~]# fdisk /dev/sdb 分一個500M的分區
[root@test ~]# partprobe
編輯/etc/tgt/target.conf,並設置iSCSI Qualified Name(IQN)
<target iqn.2018-09.com.example:server.target1>
backing-store /dev/sdc1
write-cache on #開啟寫緩存
initiator-address 192.168.110.167#客戶端訪問控制
</target>
保存並推出,重啟服務后生效。
注意開啟服務:
[root@test ~]# service tgtd restart
查看target信息:tgt-admin --show

(5)相關參數解釋
SCSI的target名稱的命名方式:
iqn.yyyy-mm.<reversed domain name>[:identifier]
其含義:
iqn表示“iSCSI Qualified Name”,簡稱iqn。
yyyy-mm表示“年-月”。
reversed domain name表示倒過來的域名。
identifier是識別名稱。
幾個常用的參數含義如下:
backing-store:虛擬設備,與之對應的是direct-store(實際設備),設定的時候,如果把整塊磁盤全部拿來使用可以使用配置direct-store,
反之使用backing-store,這里使用backing-store,計划在今后的生產環境中使用LVM邏輯卷,那么這里的配置還是應該使用backing-store。
initiator-address:用戶端地址,可以用來限制initiator的來源IP。
incominguser:用戶名與密碼,可以設定initiator使用賬戶密碼才可以使用對應target
3、iSCSI客戶端配置
3.1安裝客戶端軟件包
[root@test2 ~]# yum install iscsi-initiator-utils* - y
[root@test2 ~]# rpm -qa |grep iscsi-initiator
iscsi-initiator-utils-devel-6.2.0.873-27.el6_9.x86_64
iscsi-initiator-utils-6.2.0.873-27.el6_9.x86_64
[root@test2 ~]#
3.2啟動服務並添加開機啟動
# [root@test2 ~]# /etc/init.d/iscsi start
#[root@test2 ~]#chkconfig iscsi on
3.3 發現iSCSI server的共享分區
[root@test2 ~]#
iscsiadm --mode discoverydb --type sendtargets --portal 192.168.110.166 --discover
192.168.110.166:3260,1
iqn.2018-09.com.example:server.target1
登錄到iSCSI server共享的分區:
[root@test2 ~]# iscsiadm --mode node --targetname
iqn.2018-09.com.example:server.target1 --portal 192.168.110.166:3260 --login
Logging in to [iface: default, target:
iqn.2018-09.com.example:server.target1, portal: 192.168.110.166,3260] (multiple)
Login to [iface: default, target:
iqn.2018-09.com.example:server.target1, portal: 192.168.110.166,3260] successful.
使用fdisk -l查看多出來的分區/dev/sdb
[root@test2 ~]# fdisk -l
Disk /dev/sdb: 534 MB, 534610944 bytes
17 heads, 60 sectors/track, 1023 cylinders
Units = cylinders of 1020 * 512 = 522240 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x00000000
3.4 格式化分區,掛載到本地
若要實現開機自動啟動,在fstab中添加記錄,定要添加
_netdevc 參數。
如果提示沒有分區表,fdisk /dev/sdb x--w,再創建分區。mkfs.ext4 /dev/sdb1
永久掛載:vim /etc/fstab
UUID掛載
/dev/sdb1 /mnt/iscsi ext4 defaults,_netdev 0 0

查看UUID:
[root@test2 ~]# blkid
/dev/mapper/vg_test2-lv_root: UUID="c62019fc-8335-46bf-98b7-65a0a9f5d561" TYPE="ext4"
/dev/sda1: UUID="b689f648-44ce-404e-aa9f-22816e5222cc" TYPE="ext4"
/dev/sda2: UUID="3xXzPi-VHr2-OhgM-beof-zBiF-wZcA-zNDEUY" TYPE="LVM2_member"
/dev/mapper/vg_test2-lv_swap: UUID="ae4f90ff-65a0-4815-9202-c584e0b78e19" TYPE="swap"
/dev/mapper/vg_test2-lv_home: UUID="16ed060a-0747-4145-8114-0739dbf5cf03" TYPE="ext4"
3.5
[root@test2 ~]# man iscsiadm
EXAMPLES
Discover targets at a given IP address:
iscsiadm --mode discoverydb --type sendtargets --portal 192.168.1.10 --discover
Login, must use a node record id found by the discovery:
iscsiadm --mode node --targetname
iqn.2001-05.com.doe:test --portal 192.168.1.1:3260 --login
Logout:
iscsiadm --mode node --targetname
iqn.2001-05.com.doe:test --portal 192.168.1.1:3260 --logout
List node records:
iscsiadm --mode node
Display all data for a given node record:
iscsiadm --mode node --targetname
iqn.2001-05.com.doe:test --portal 192.168.1.1:3260
FILES
/etc/iscsi/iscsid.conf
The configuration file read by iscsid and iscsiadm on startup.
/etc/iscsi/initiatorname.iscsi
The file containing the iSCSI InitiatorName and InitiatorAlias read by iscsid and iscsiadm on startup.