iSCSI技術是一種新儲存技術,該技術是将現有SCSI接口與以太網絡(Ethernet)技術結合,使伺服器可與使用IP網絡的儲存裝置互相交換資料。衆多詳細資料找百度百科。真正的iSCSI是一個高性能的硬體産品,本内容隻是通過linux來實作此功能。
iSCSI這個架構主要是講儲存設備與使用主機分為兩部分,分别是:
iSCSI target : 就是儲存設備端,存放磁盤或RAID的裝置,目前也能夠将linux主機仿真成為iSCSI target了,目的在于提供其他主機使用的磁盤。
iSCSI initiator:就是能夠使用target的用戶端,通常是伺服器。也就是說,想要連接配接到iSCSI target的伺服器,也必須要安裝iSCSI initiator的相關功能後才能夠使用iSCSI target提供過的磁盤。
iSCSI服務基礎配置(iSCSItarget)
iSCSI其實就是通過一個網絡接口,将現有的磁盤共享出去。可以共享的磁盤類型:
1、 大型檔案(由dd指令所建立)
2、 單一分區
3、 單一裝置(磁盤、軟體磁盤陣列、lvm)
伺服器安裝的軟體:scsi-target-utils
yum –y installscsi-target-utils
伺服器端建立要共享的磁盤:
[root@student liang]# ddif=/dev/zero of=/home/liang/scsi bs=1M count=500 //使用dd建立一個大檔案
[root@student liang]#fdisk -l #找個不用的硬碟分好區,不用格式化,如sd1
修改配置檔案/etc/tgt/targets.conf
命名格式一般為:iqn.年-月.網絡名稱反轉寫法.共享的target名稱
<targetiqn.2014-03.com.example:scsiserver>
///我的主機名為robo.example.com 。scsiserver是target名稱
backing-store/etc/sdb1 ///根檔案
backing-store /dev/server/scsilv // sda5lvm 磁盤
backing-store/dev/sda6 // sda6 普通磁盤
initiator-address192.168.0.0/24 //限制能夠使用的位址
incominguser scsiuser scsipasswd //建立的使用者和密碼 ,允許用戶端連接配接輸入使用者和密碼
write-cache off //關閉緩存,如果資料重要建議關閉緩存
</target>
啟動iSCSI target 服務
[root@student liang]#/etc/init.d/tgtd restart
停止 SCSI target daemon: [确定]
正在啟動 SCSI target daemon: [确定]
tgtadm: invalid request
Command:
tgtadm –lld iscsi –op new –mode logicalunit –tid 1 –lun 3 -b /home/liang/scsi
exited with code: 22.
啟動出現以上顯示的問題,檢視日志資訊提示/home/liang/scsi這個檔案沒有權限,我們可以設定selinux關閉或者修改selinux規則。
[root@student liang]#chkconfigtgtd on
檢視相關配置資訊
[root@student liang]# tgt-admin –show //檢視顯示是否正确。
防火牆設定
[root@student liang]#iptables –A INPUT –p tcp –s 192.168.0.0/24 –dport 3260 -j –ACCEPT
用戶端配置(iSCSI initiator)
安裝軟體:iscsi-initiator-utils
修改配置檔案/etc/iscsi/iscsid.conf
[root@www ~]# vim/etc/iscsi/iscsid.conf
node.session.auth.username =scsiuser //連接配接時
node.session.auth.password =scsipasswd
discovery.sendtargets.auth.username= scsiuser //檢測時
discovery.sendtargets.auth.password= scsipasswd
用戶端需要啟動的服務有兩個
[root@www ~]# chkconfig iscsid on
[root@www ~]# chkconfig iscsi on
[root@www ~]# iscsiadm -mdiscovery -t sendtargets -p 192.168.0.8:3260 //檢測
192.168.0.8:3260,1iqn.2014-03.com.example:scsiserver
[root@www ~]# iscsiadm -mnode ///找出本機上檢測到的target
192.168.0.8:3260,1 iqn.2014-03.com.example:scsiserver
看到上面就是發現到的磁盤,想怎麼用就怎麼用Ok。
[root@www ~]# iscsiadm -m node -Tiqn.2014-03.com.example:scsiserver –logout
//這個是登出
[root@www ~]# iscsiadm -m node –o[delete|new|update] -T iqn.2014-03.com.example:scsiserver
-o delete 删除後面接的那台target
-o update 更新相關的資訊
-o new 增加一個新的target
測試:
1、将target上共享出來的磁盤分區格式化,挂在到iSCSI initiator上,存儲資料。
2、取消挂載,登出,重新登入,可以直接挂載,資料仍然存在。