ISCSI網絡存儲服務
一、理論部分
iSCSI的概念
iSCSI,即internetSCSI,是IETF制訂的一項標準,用於將SCSI數據塊映射爲以太網數據包。從根本上說,它是一種基於IP Storage理論的新型存儲技術,該技術將存儲行業廣泛應用的SCSI接口技術與IP網絡技術相結合,可以在IP網絡上構建SAN。簡單地說,iSCSI就是在IP網絡上運行SCSI協議的一種網絡存儲技術。iSCSI技術最初由Cisco和IBM兩家開發,並且得到了廣大IP存儲技術愛好者的大力支持,這幾年得到迅速的發展壯大。
對於中小企業的存儲網絡來說,iSCSI是個非常好的選擇。首先,從技術實現上來講,iSCSI是基於IP協議的技術標準,它允許網絡在TCP/IP協議上傳輸SCSI命令,實現SCSI和TCP/IP協議的連接,這樣用戶就可以通過TCP/IP網絡來構建SAN,只需要不多的投資,就可以方便、快捷地對信息和數據進行交互式傳輸和管理。但是,在iSCSI出現之前,構建SAN的唯一技術是利用光纖通道,這要花費很大的建設成本,一般中小企業無法承擔。其次,iSCSI技術解決了傳輸效率、存儲容量、兼容性、開放性、安全性等方面的諸多問題,在使用性能上絕對不輸給商業的存儲系統或光纖存儲網絡。
iSCSI的優勢主要表現爲:首先,iSCSI沿用TCP/IP協議,而TCP/IP是在網絡方面最通用、最成熟的協議,且IP網絡的基礎建設非常完善,同時,SCSI技術是被磁盤和磁帶等設備廣泛採用的存儲標準,這兩點使iSCSI的建設費用和維護成本非常低廉;其次,iSCSI支持一般的以太網交換機而不是特殊的光纖通道交換機,從而減少了異構網絡帶來的麻煩;還有,iSCSI是通過IP封包傳輸存儲命令,因此可以在整個Internet上傳輸數據,沒有距離
的限制。
二、操作部分
1) 實驗環境
準備一臺ISCSI服務器CentOS7系統,IP地址192.168.1.100
一臺initiator客戶端CentOS7系統,IP地址192.168.1.200
2) 實驗步驟
1、首先準備作爲LUN發佈的ISCSI的存儲設備(可以是一整塊磁盤,一個分區,邏輯卷或RAID陣列)。這裏我們準備了/dev/sdb和/dev/sdc
cat /proc/partitions
2、安裝target軟件
yum -y install targetd targetcli
3、啓動target服務
systemctl enable target systemctl start target
4、設置firewalld防火牆允許3260服務
firewall-cmd --premanet --add-prt=3260/tcp firewall-cmd --reload
5、執行targetcli工具
targetcli
6、輸入help可以查看targetcli的幫助,ls查看結構
targetcli所支持的命令
7、創建塊(給要發佈的邏輯捲起個名字)
/backstores/block create server0.disk1 /dev/sdb
可以理解爲給/dev/sdb起個名字爲server0.disk1,給/dev/sdc起個名字爲server0.disk2
用ls查看塊
8、創建iqn名字即創建ISCSI對象
/iscsi create iqn.2017-01.com.benet:disk1
查看ISCSI對象
9、設置ACL將ISCSI對象與客戶端IP或主機名綁定(注:後面的名字是initiator的名字,需要在客戶端中設置)
/iscsi/iqn.2017-01.com.benet:disk/tpg1/acls create iqn.2017-01.com.benet:client
10、創建LUN並綁定塊
/iscsi/iqn.2017-01.com.benet:disk1/tpg1/luns create /backstores/block/server0.disk1
(一個ISCSI對象可以創建多個LUN)
執行ls查看
11、可以看到portals選項中默認啓動了0.0.0.0:3260,如果想啓用指定端口可以輸入下命令
/iscsi/iqn.2017-01.com.benet:disk1/tpg1/portals create 192.168.1.100 3260
在initiator端的配置:
1、安裝軟件
yum -y install iscsi-initlator-utils
2、給initiator起個名字輸入以下內容
vim /etc/iscsi/initiatorname.iscsi
3、啓動iscsi服務
systemctl enable iscsi systemctl start iscsi
4、發現存儲
iscsiadm -m discovery -t st -p 192.168.1.100
5、登入存儲(注:-l表示連接ISCSI目標;-u表示斷開和ISCSI目標的連接)
iscsiadm -m node -T iqn.2017-01.com.benet:disk1 -p 192.168.100 -l
1、驗證客戶端ISCSI連接
lsscsi
剩下的操作就和操作本地硬盤一樣了