銀河麒麟服務器配置iSCSI網絡存儲

一、簡介

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系統的拓撲結構如下:wKiom1l5Q-OB42-eAABsWCThmk8236.png


二、配置環境

操作系統:KylinV4serverX86

iSCSI Target:192.168.47.131/ tgt  1:1.0.63-1kord1

操作系統:KylinV4DesktopX86

iSCSI Initiator:192.168.47.128/ open-iscsi 2.0.873+git0.3b4b4500-14kord3

防火牆已關閉:Firewall is not running.

SELINUX=disabled

三、準備工作

iSCSI可分享的設備類型有很多,包括鏡像文件(*.img)、分區(partition)、物理硬盤、raid設備、邏輯卷等,我們給出配置示例的是鏡像和分區。

3.1 模擬鏡像

在iSCSITarget的/srv目錄下創建一個200M大小的鏡像文件。

# mkdir /srv/iscsi

# dd if=/dev/zero of=/srv/iscsi/disk1.img bs=1M count=200

# ll -lh /srv/iscsi/disk1.img

wKiom1l5RO_CsTjEAABuXeTTZ_0346.png


3.2 建立分區

創建一個1G大小的分區/dev/sdb1。

# fdisk /dev/sdb

wKiom1l5RQnSE6GdAAArABr-Ebs520.png


四、配置iSCSI Target

4.1 安裝tgt

Kylin使用tgt軟件做爲iscsitarget端,我們使用該軟件進行target設置。

# apt-get install tgt

4.2 配置tgt

tgt的主配置文件爲/etc/tgt/targets.conf,下面我們來設置該文件。

在該文件最後新增以下設置:

說明: 複製代碼

<target iqn.2014-07.dev.iscsi-target:iscsidisk>

   backing-store /srv/iscsi/disk1.img

   backing-store /dev/sdb1   

</target>

說明: 複製代碼

說明:

iqn = iSCSI Qualified Name

iSCSI target的名稱規則如下:

iqn.2014-07.dev.iscsi-target:iscsidisk

iqn.年份-月份.域名反寫.設備識別

每個在同一個target上的backing-store 稱爲邏輯單元號(Logical Unit Number,LUN),這個實驗中有2個LUN。

其他高級設置如initiator-address、incominguser,大家自行查資料。

·  iscsi target 配置文檔與管理程序 

·  

·  /etc/tgt/targets.conf   主配置文檔,設置要分享的磁盤 

·  /usr/sbin/tgt-admin     線上查詢、刪除target 等功能的管理工具; 

·  /usr/sbin/tgt-setup-lun 建立target 以及設置分享的磁盤與可使用的用戶端等工具軟體。 

·  /usr/sbin/tgtadm        手動直接管理的管理員工具(可使用配置文檔取代) 

·  /usr/sbin/tgtd          主要提供iSCSI target 服務的主程式; 

·  /usr/sbin/tgtimg        建置預計分享的映像檔裝置的工具(以映像檔模擬磁盤

 

4.3 重啓iSCSI target

# systemctl restart tgt

# ss -tulnp|grep tgt

查看tgt服務是否已正常啓動

wKiom1l5RR-i__ZFAAAw77miHiQ859.png


4.4 檢查iSCSI target運行狀態

# systemctl status tgtwKiom1l5RergjTbcAAFJwky7810041.png


4.5查看iSCSI target

# tgt-admin --show

wKiom1l5RgfRChJvAADEjlT6XeY832.png


 

LUN0 是控制器,可以看到各個LUN的大小和磁盤路徑。

注意:initiator端連接後才能show出此效果。第六行可以看到客戶端的initiator

4.6將iSCSI Target服務配置爲開機自啓動

查看是否開機自啓動:

systemctl is-enabled tgt

如果顯示enabled,則表示tgt服務開機會自啓動。

wKioL1l5RqLwlX_pAAAQOc0lIsE342.png


否則,配置開機自啓動:

systemctl enable tgt

再次檢查systemctl is-enabled tgt

wKiom1l5RrugVHWJAABCLH3ZIOo727.png


至此,iSCSI Target 設定完畢。

 

五、在客戶端配置iSCSI Initiator

5.1 安裝initiator

# apt-get install open-iscsi

5.2檢查客戶端運行狀態,如果未運行則開啓

# systemctl status open-iscsi

# systemctl restart open-iscsi

wKiom1l5RsyyWVUaAADILxTuFR8973.png


5.3 發現Target

iSCSI客戶端連接Target,首先要發現Target

# iscsiadm -m discovery -t sendtargets -p 192.168.47.131

wKioL1l5RvPzineUAAApkyoVhO0275.png


說明:

-m discovery  //偵測target

-t sendtargets  //通過iscsi協議

-p IP:port  //指定target的IP和port,不寫port的話,默認爲3260

5.4 顯示已發現target

查看目前系統上面所有的target

# iscsiadm -m node

wKioL1l5RwrCm3cIAAAa2dddl-M227.png


5.5 連接target

登錄target

# iscsiadm -m node -p 192.168.47.131 --login

wKiom1l5RxvieRYVAABPNDicD0s608.png


如果怕指定IP什麼太煩,直接連接所有Target

# iscsiadm -m node --login all

5.6 查看磁盤情況

# ls /dev/sd*

wKiom1l5RzeyGbIcAAAaa5PE5fs825.png


可以看到,initiator 上面多了/dev/sdb和/dev/sdc,與target上的LUN一致。這時你就可以像使用本地磁盤一樣使用這些iSCSI設備了,下面我們來測試。

5.7查看iSCSI session信息

 用iscsiadm -m session查看iSCSI session和設備信息。

wKioL1l5R2-ixWOoAAAoKWgssTE236.png


5.8 設置開機自動登錄到iscsi-target

重啓後沒有自動登錄,想要自動登錄target,需要在initiator端修改配置文件/etc/iscsi/nodes/iqn.2014-07.dev.iscsi-target:iscsidisk/192.168.47.131,3260,1/default

配置內容

對應語句

在開機後是否自動登錄Target。

node.startup = automatic   表示自動登錄(默認是automatic),

node.startup = manual     表示需手動登錄。

將node.startup= manual修改爲node.startup = automatic,重啓後自動登錄生效。

5.9將/dev/sdb格式化爲ext4並掛載到本地使用

# fdisk /dev/sdb

根據提示創建主分區/dev/sdb1

n,p,回車,回車,w,q

格式化成ext4格式:

mkfs.ext4 /dev/sdb1

創建掛載點:

mkdir /mnt/iscsi01

掛載到本地:

mount /dev/sdb1 /mnt/iscsi01

開機自動掛載,修改/etc/fstab文件,增加一行。

/dev/sdb1 /mnt/iscsi01 ext4 defaults 0 0

但是因爲文件系統掛載時iscsi磁盤還沒有準備好,因此係統會啓不來!

修改/etc/fstab文件,將掛載方式的defaults修改爲_netdev,即可成功自動掛載!

/dev/sdb1  /mnt/iscsi01  ext4   _netdev       0   0

如果怕系統重啓後,磁盤設備的名稱可能會發生飄移,從而引起文件系統不能掛載上來或者不能正確掛載,使用UUID的方式進行掛載可以解決這個問題。

查看UUID:

blkid

wKioL1l5R6CQN-y4AACMvdkWHfg796.png


修改/etc/fstab,增加或修改/dev/sdb1的掛載配置如最後一行:

UUID=dec7bc24-4133-475a-bc3b-2b849a57267f       /mnt/iscsi01    ext4   _netdev 0       0

wKioL1l5R7Oxs8FUAADDCI53JcU976.png-wh_50


保存退出,系統重啓後可見/dev/sdb1已自動掛載到/mnt/iscsi01

wKiom1l5R83DE6UCAAB2M7pYYyw840.png


--------------------------

銀河麒麟操作系統是天津麒麟信息技術有限公司自主研發的類Linux操作系統,目前有桌面版和服務器版以及一些特種行業的定製版本。銀河麒麟社區版可在http://www.ubuntukylin.com/downloads/自由下載使用。


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章