Linux下搭建iSCSI共享存储详细步骤(服务器模拟IPSAN存储)
一、簡介
? ? ?iSCSI(internet SCSI)技術由IBM公司研究開發,是一個供硬件設備使用的、可以在IP協議的上層運行的SCSI指令集,這種指令集合可以實現在IP網絡上運行SCSI協議,使其能夠在諸如高速千兆以太網上進行路由選擇。iSCSI技術是一種新儲存技術,該技術是將現有SCSI接口與以太網絡(Ethernet)技術結合,使服務器可與使用IP網絡的儲存裝置互相交換資料。
? ? ?iSCSI是一種基于TCP/IP?的協議,用來建立和管理IP存儲設備、主機和客戶機等之間的相互連接,并創建存儲區域網絡(SAN)。SAN?使得SCSI?協議應用于高速數據傳輸網絡成為可能,這種傳輸以數據塊級別(block-level)在多個數據存儲網絡間進行。SCSI?結構基于C/S模式,其通常應用環境是:設備互相靠近,并且這些設備由SCSI?總線連接。
? ? ?iSCSI?的主要功能是在TCP/IP?網絡上的主機系統(啟動器?initiator)和存儲設備(目標器?target)之間進行大量數據的封裝和可靠傳輸過程。
完整的iSCSI系統的拓撲結構如下:
?
? ? 從本質上說,iSCSI?啟動器是一個客戶端設備,它連接到服務器(在本例中是?iSCSI?目標)提供的某一服務,并發起對該服務的請求。iSCSI?啟動器軟件需要安裝在每個?Oracle?RAC?節點(rac1?和?rac2)上。? iSCSI?啟動器可以用軟件實現,也可以用硬件實現。軟件?iSCSI?啟動器可用于大部分主要操作系統平臺。對于本文,我們將使用?iscsi-initiator-utils RPM?中提供的免費?Linux Open-iSCSI?軟件驅動程序。iSCSI?軟件啟動器通常與標準網絡接口卡?(NIC)(大多數情況下是千兆位以太網卡)配合使用。硬件啟動器是一個?iSCSI HBA(或?TCP?卸載引擎?(TOE)?卡),它本質上只是一個專用以太網卡,其上的?SCSI ASIC?可以從系統?CPU?內卸載所有工作(TCP?和?SCSI?命令)。iSCSI HBA?可以從許多供應商處購買,包括?Adaptec、Alacritech、Intel?和?QLogic。
? ? ? iSCSI?目標是?iSCSI?網絡的"服務器"組件。它通常是一個存儲設備,包含您所需的信息并響應來自(一個或多個)啟動器的請求。對于本文,節點rac1?將是?iSCSI?目標。
?
二、實驗環境:
1、操作系統關閉防火墻或打開防火墻上的3260端口和禁用SELinux
2、iSCSI共享存儲拓撲圖:
?
3、iSCSI可分享的設備類型有很多,包括鏡像文件(*.img)、分區(partition)、物理硬盤、raid設備、邏輯卷等,下面我只用物理磁盤分區來進行相關測試,其他類型大家可以自己測試。
?
三、實驗步驟
(一)配置iscsi target:
方案1:命令行配置,立即有效,重啟無效
1、在target上添加一塊磁盤分區:sdb1
2、安裝程序包、啟動服務
[root@rac1 ~]#?yum install -y scsi-target-utils
[root@rac1 ~]#?service tgtd start
3、創建target
[root@rac1 ~]#?tgtadm --lld iscsi --mode target --op new --tid 1 --targetname iqn.2017-04.com.comsys:iscsi.fcdisk
4、創建lun
[root@rac1 ~]#?tgtadm --lld iscsi --mode logicalunit --op new --tid 1 --lun 1 --backing-store ?/dev/sdb1
[root@rac1 ~]#?tgtadm --lld iscsi --mode logicalunit --op delete --tid 1 --lun 1?#刪除lun的方法
5、授權
為 Target 分配了 LUN 后,需要配置訪問控制才可以使用。可以設置所有用戶都能訪問,也可以設置基于IP/IP段或用戶名驗證的訪問權限。
?添加兩個 IP 的訪問權限:?
???[root@rac1 ~]#??# tgtadm ?--lld iscsi --mode target --op bind --tid 1 --initiator-address 192.168.1.10?
????[root@rac1 ~]#?# tgtadm --lld iscsi --mode target --op bind --tid 1 --initiator-address 192.168.2.10?
?再添加一個 IP 段的訪問權限:?
???[root@rac1 ~]?# tgtadm --lld iscsi --mode target --op bind --tid 1 --initiator-address 192.168.3.0/24?
?添加所有 IP 的訪問權限:
[root@rac1 ~]?# tgtadm --lld iscsi --mode target --op bind --tid 1 --initiator-address ?ALL
?
????注意:訪問控制是 Target 的一個特性,只能給 Target 添加訪問控制,而對單獨的 LUN 則無法添加訪問控制。?
6、查看已經定義的信息
[root@rac1 ~]#?tgtadm --lld iscsi --mode target --op show
?
方案2:在配置文件中定義,重啟有效
1、安裝tgt
?[root@rac1 ~]#?yum install scsi-target-utils -y
2、配置tgt
tgt的主配置文件為/etc/tgt/targets.conf,下面我們來設置該文件。
在該文件最后新增以下設置:
<target iqn.2011-10.com.example.cluster1:iscsi>???????
backing-store? /dev/sdb1?? ??????????????#指定要發布的設備已劃分的分區???
initiator-address? ALL ?????????#對于客戶端的訪問控制,允許所有用戶訪問
</target>
說明:
iqn(iSCSI?Qualified?Name)名稱規則如下:
格式是:“iqn”+“年月”+“.”+“域名的顛倒”+“:”+“設備的具體名稱”,之所以顛倒域名是為了避免可能的沖突。??????
舉例:?iqn.2008-07.com.h3c.rd:test?
每個在同一個target上的backing-store?稱為邏輯單元號(Logical Unit Number,LUN),這個實驗中有1個LUN。
其他高級設置如, 大家自己進行配置。
incominguser?? user1? pass12????????? #允許user1訪問密碼pass12?????????????????
write-cache ????off???????????????????? #關閉寫緩存
#direct-store /dev/sdc?????? ?????????????#整塊磁盤?
?
3、啟動iSCSI target
[root@rac1 ~]#?/etc/init.d/tgtd start?????????????????? #啟動target服務
[root@rac1 ~]#?chkconfig tgtd on??????????????????? #開機自動啟動
4、查看iSCSI target
[root@rac1 ~]#?tgtadm --lld iscsi --mode target --op show
?
?
LUN0?是控制器,可以看到各個LUN的大小和磁盤路徑。
至此,iSCSI Target?設定完畢。
轉載于:https://www.cnblogs.com/pipci/p/7833656.html
總結
以上是生活随笔為你收集整理的Linux下搭建iSCSI共享存储详细步骤(服务器模拟IPSAN存储)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: HALCON示例程序vessel.hde
- 下一篇: Linux下载Java包,Linux环境