基於RHEL6的iSCSI網絡存儲應用


網絡存儲概述

1、DAS(Direct Attached Storage直接附加存儲)

通過與計算機主板的I/O接口直接相連

2、NAS(Network Attachment Storage網絡附加存儲)

存儲的數據以文件的形式通過NFS或CIFS共享協議進行傳輸

爲客戶機分配存儲空間時通常採用共享文件夾的方式進行發佈

採用普通以太網,對速率、冗餘無特別要求

通過購買硬件NAS設備或安裝FreeNAS平臺可搭建NAS存儲設備

3、SAN(Storage Area Network存儲區域網絡)

存儲的數據以數據塊的形式通過iSCSI協議進行傳輸

SAN區域應採用獨立的物理連接

多采用高速光纖通道,對速率、冗餘性要求高

高可用性、可擴展性、易恢復性

4、iSCSI協議

1)iSCSI協議簡介

iSCSI協議是當前最流行的網絡存儲協議,可以解決SCSI協議在連接的設備數目和連接距離方面的限制。用戶可以像使用本地的硬盤一樣訪問網絡上任何位置的存儲資源,也可以將原有的舊的分散的存儲資源整合成一個大的存儲池

2)iSCSI Cake與網絡鄰居共享有什麼不同?

網絡鄰居是文件級共享,iSCSI是裸設備級共享。網絡鄰居映射的盤不支持數據庫和運行某些遊戲,iSCSI支持所有磁盤操作和應用程序,而且iSCSI的性能要高於網絡鄰居。

3)配置iSCSI服務

iSCSI由服務端和客戶端兩部分組成,客戶端也稱爲啓動器

①iSCSI服務端也稱爲Target端,負責定義存儲對象、分配邏輯空間,需要安裝scsi-target-utils軟件包

②iSCSI客戶端也稱爲Initiator端,負責連接iSCSI設備,在iSCSI設備中創建文件系統和存取數據,需要安裝iscsi-initiator軟件包

 

實驗環境

爲服務器添加3塊2G的SCSI硬盤,組成一個RAID5磁盤陣列,並分配給客戶機使用

服務器:192.168.4.254

客戶機:192.168.4.22

 

一、配置iSCSI服務器

安裝scsi-target-utils軟件包以搭建iSCSI服務器,服務名爲tgtd,管理命令爲tgtadm

yum -y install scsi-target-utils

1、準備存儲設備

使用mdadm工具創建軟RAID陣列設備,此處使用三塊磁盤組建RAID 5陣列

fdisk –l

mdadm -Cv /dev/md0 -a yes -n3 -l5 /dev/sd[bcd]

mdadm -Q /dev/md0

將陣列配置保存爲/etc/mdadm.conf,以便重建或恢復時使用

mdadm -D /dev/md0 | grep UUID

vi /etc/mdadm.conf

Snip20181020_3.png

1) 準備給iSCSI服務器的存儲設備不需要格式化,因爲其並不在服務器中使用,而是由客戶機使用並進行格式化、掛載等操作

2)mdadm命令各選項含義:

-C,--create       創建新的RAID設備

-v                  輸出詳細信息

-a yes             若對應的設備文件不存在則自動創建

-n,--raid-devices=  陣列所使用的磁盤數量

-l,--level=        RAID級別

-Q,--query         查詢設備的RAID信息

-D,--detail        查詢RAID設備的詳細信息

-S,--stop          解散、停止/刪除RAID陣列

 

2、創建iSCSI對象

service tgtd start

netstat -ntpl | grep "tgt" (默認端口爲:3260)

tgtadm -L iscsi -o new -m target -t 1 -T iqn.2012-4.com.benet.y2:raid

tgtadm -L iscsi -o show -m target

Snip20181020_4.png

1)iscsi對象命名規範: iqn.YYYY-mm.反向域名:識別標記

例:iqn.2012-4.com.benet.y2:raid

2)tgtadm命令各選項含義:

-L、--lld        指定驅動類型,如-L iscsi表示iSCSI存儲

-o、--op         指定操作類型,如-o new、-o delete、-o show

-m、--mode        指定管理目標,如-m target表示iSCSI對象、logicalunit表示LUN

-t、--tid        指定對象ID號,如-t 1表示第一個對象

-T、--targetname  指定iSCSI對象的名稱

 

3、爲客戶機分配存儲空間(LUN)

tgtadm -L iscsi -o new -m logicalunit -t 1 -l 1 -b /dev/md0

tgtadm -L iscsi -o bind -m target -t 1 -I 192.168.4.22

圓角矩形標註: 此處的1表示iscsi對象ID號tgtadm -L iscsi -o show -m target

Snip20181020_5.png

tgtdam命令分配LUN時各選項含義:

-l、--lun                指定LUN的ID號,如-l 1

-b、--backing-store       指定塊設備位置,如-b /dev/md0

-I、--initiator-address  指定客戶機地址,如-I 192.168.4.22

-m  logicalunit          表示管理目標爲LUN

-o bind                  表示綁定客戶機地址

 

4、保存target和LUN信息,以便重啓tgtd服務後仍然有效

vi /etc/tgt/targets.conf

圓角矩形標註: 分配存儲空間給指定的客戶機使用Snip20181020_6.png

chkconfig --level 35 tgtd on

注:iSCSI服務器必須先於客戶機啓動

 

二、配置iSCSI客戶機

安裝iscsi-initiator-utils軟件包以連接iSCSI設備存取數據,服務名爲iscsi,管理命令爲iscsiadm,將lsscsi軟件包也一併安裝,方便查看iSCSI設備

yum -y install iscsi-initiator-utils lsscsi

1、連接iSCSI設備

查找iSCSI設備

service iscsi start

iscsiadm  -m discovery -t sendtargets -p 192.168.4.254

連接到指定的iSCSI存儲設備

iscsiadm -m node -T  iqn.2012-4.com.benet.y2:raid  --login

圓角矩形標註: 看到Login to ...successful表示連接成功Snip20181020_7.png

查看SCSI設備列表

lsscsi

圓角矩形標註: iSCSI網絡存儲設備/dev/sdbSnip20181020_8.png

連接成功後會自動創建配置文件並保存到/var/lib/iscsi/nodes/目錄下的子目錄中

Snip20181020_9.png

iscsiadm命令各選項含義:

-m discovery             表示發現/查找

-t sendtargets           表示發佈的target,可縮寫爲-t st

-p ip:port               用來指定服務器的ip地址及tgtd服務監聽的端口

-m node                  表示管理目錄爲節點

-T                       用來指定要連接的iSCSI存儲對象

-l,--login               表示連接/登陸

--logout                 表示斷開/登出

 

2、使用iSCSI設備

查看iscsi共享磁盤標識並進行分區

fdisk -l

fdisk /dev/sdb

partprobe /dev/sdb            -----更新信息

fdisk -l /dev/sdb

mkfs -t ext4 /dev/sdb1       -----創建文件系統

mkdir /opt/data              -----掛載文件系統

mount /dev/sdb1 /opt/data/

df -hT

3、保存iSCSI連接配置

chkconfig  --level 35 iscsi on  ----設置iscsi服務自啓動狀態

blkid /dev/sdb1       -----使用blkid 命令查看設備文件的UUID

vi /etc/fstab

Snip20181020_10.png

重啓客戶機後將自動連接iSCSI設備,並掛載指定的網絡存儲文件系統。

 

注:①由於iSCSI設備的特殊性,掛載時應啓用_netdev參數

②有時會因設備連接變動、引導順序等影響,導致iSCSI設備文件異常,因此通過設備文件的UUID來定位設備

③如果iSCSI服務器端與客戶端可相互ping通,但當iSCSI客戶端discover scsi-targets時,報錯“No route to host”,此時關閉iSCSI服務器端iptables防火牆或開放3260端口即可

④在Windows環境下也可通過某些軟件來實現iSCSI網絡存儲


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