9.1 iSCSI網絡存儲服務

iSCSI網絡存儲服務html

一網絡存儲概述linux

·直接附加存儲windows

一般咱們所熟悉的存儲設別就是硬盤,其經過與計算機主板的I/O接口(如IDE、SCSI)相鏈接,由本機操做系統負責讀寫及管理,這就是最傳統的數據存儲技術,稱爲DAS(Direct Attached Storage,直接附加存儲)安全

·網絡存儲服務器

隨着企業中數據信息的不斷增加,尤爲當成百上千TB的數據須要備份、恢復,以及面臨着擴容、災難恢復等需求時,DAS方式使得數據的管理與維護日益困難。正由於如此,網絡存儲技術應運而生,其最多見的就是NAS和SAN網絡

SAN(Storage Area Network,存儲區域網絡)dom

SAN是經過光纖交換機、光纖路由器等設備將磁盤陣列、磁帶機或獨立的ISCSI設備與服務器鏈接,構成一個高速存儲子網,存儲的數據以數據塊的形式經過ISCSI協議進行傳輸,從而優於普通的IP包傳輸;結構如圖所示ide

NAS(network attachment storage,網絡附加存儲)工具

NAS存儲設備至關於一臺獨立的服務器,設備自己帶有操做系統,也擁有網絡接口,所以不依賴於其餘服務器,在NAS設備中爲客戶機分配存儲空間時,一般採用共享文件夾的方式進行發佈,存儲的數據以文件的形式進行傳輸,採用CIFS或者NFS等協議;結構如圖所示spa

除了購買硬件NAS設備外,經過爲PC服務器安裝FreeNAS系統平臺也能夠做爲高校的NAS存儲設備使用;FreeNAS是一個專爲NAS、iSCSI存儲定製的精簡版UNIX系統,基於FreeBSD系統開發而成,其官網http://www.freenas.org(與此相似的存儲平臺還有OpenFiler)

二構建iSCSI服務器

·iSCSI概述

iSCSI(iscsi= internet Small Computer System Interface )

是由IEETF開發的網絡存儲標準,目的是爲了用IP協議將存儲設備鏈接在一塊兒。經過在IP網上傳送SCSI命令和數據,ISCSI推進了數據在網際之間的傳遞,同時也促進了數據的遠距離管理

ISCSI技術的核心

是在TCP/IP網絡上傳輸SCSI協議,是指用TCP/IP報文、和ISCSI報文封裝SCSI報文,使得SCSI命令和數據能夠在普通以太網絡上進行傳輸

iSCSI協議

定義了在 TCP/IP 網絡發送、接收 block(數據塊)級的存儲數據的規則和方 法。發送端將SCSI命令和數據封裝到 TCP/IP 包中再經過網絡轉發,接收端收到 TCP/IP 包以後,將其還原爲SCSI命令和數據並執行,完成以後將返回的SCSI命令和數據再封裝到 TCP/IP包中再傳送回發送端。而整個過程在用戶看來,使用遠端的存儲設備就像訪問本地的 SCSI設備同樣簡單

iSCSI的工做方式

服務(設備)端 target

客戶(應用)端 initiator

·在RHEL6中搭建ISCSI存儲服務器

ISCSI服務器一般也稱爲Target端,負責定義存儲對象、分配邏輯空間LUN(Logical Unit,邏輯單元)(實驗環境時,開虛擬機前最好添加四塊以上硬盤)

1準備存儲設備

存儲設備指將要分配給某一個客戶機使用的設備文件,在RHEL6系統中,硬盤、分區、邏輯卷、軟RAID等均可以用做ISCSI服務的存儲設備,爲了延續磁盤空間的可擴展性,建議以一個邏輯卷爲單位分配給客戶機使用,對於個別有特殊要求的客戶機,也能夠將一個軟RAID

LVM邏輯卷存儲設備

將新添加的一塊磁盤建立爲物理卷,建立卷組,在卷組中建立一個容量爲10G的邏輯卷

軟RAID磁盤陣列

在Linux系統中作RAID,磁盤陣列的設備能夠是一塊磁盤中的三個以上的分區,也能夠是三塊或以上的磁盤;使用mdadm管理工具(默認已安裝)來建立軟RAID設備,這裏使用三塊硬盤,每塊20G,建立一個RAID5陣列

[root@svr ~]# mdadm --create --auto=yes /dev/md0 --level=5 --raid-devices=4 --spare-devices=1 /dev/sd[b-f]        或簡寫爲

執行完以上命令後會在後臺進行建立,執行如下命令可查看詳細信息和建立進度

其中

--create             //表示要建立raid

--auto=yes /dev/md0 //新創建的軟件磁盤陣列設備爲md0,md序號能夠爲0-9

--level=5             //磁盤陣列的等級,這裏表示建立是的raid5

--raid-devices         //添加做爲磁盤陣列用的磁盤的塊數

--spare-devices         //添加做爲預備(spare)磁盤的塊數

/dev/sd[b-d]         //磁盤陣列所使用的設備,還可寫成/dev/sdb /dev/sdc /dev/sdd

若是磁盤容量比較大,能夠直接查看/proc/mdstat文件來了解RAID建立和運行狀況

若是要本機使用,能夠格式化並掛載(建議設置開機自啓動和自動掛載)

建立/etc/mdadm.conf這個配置文件,便可開機自啓動

修改/etc/fstab文件,設置開機自動掛載

軟RAID的擴展知識

1擴容raid磁盤陣列

顯示磁盤陣列的組成狀況,4個塊設備組成,:
# cat /proc/mdstat

把/dev/sdg增長進陣列/dev/md0:
# mdadm  --add /dev/md0 /dev/sdg

raid5陣列/dev/md0修改成5個塊設備:
# mdadm --grow /dev/md0 -n5

再顯示一下磁盤陣列的組成狀況,如今/dev/md1是6個塊設備組成,完成擴容,還須要7.7分鐘。
# cat /proc/mdstat

等待擴容完成.....

執行下列命令:

驗證:

2模擬RAID5中一塊磁盤損壞,檢驗spare磁盤的功能(raid5中容許一塊磁盤損壞,咱們所設置的那1塊spare磁盤會當即替代損壞的磁盤,進行RAID的重建,保障數據的安全):

[root@svr ~]# mdadm --manage /dev/md0 --fail /dev/sdd

//使用此命令設置磁盤sdd成爲出錯的狀態

來查看一下:mdadm --detail /dev/md0

能夠查看cat /proc/mdstat文件查看RAID5的重建過程

再來看一下重建完後的結果

/mnt/raid5還能夠正常使用

3將出錯的磁盤刪除並加入新的磁盤:

先刪除損壞的磁盤sdd:

[root@svr raid5]# mdadm --manage /dev/md0    --remove /dev/sdd       //將損壞的磁盤sdd從RAID中刪除

再添加一塊新的磁盤做爲spare磁盤:

[root@svr raid5]# mdadm --manage /dev/md0 --add /dev/sdg        //添加新的磁盤sdg

OK,再來查看一下:

執行如下命令

mdadm --detail /dev/md0查看結果

4關閉軟件RAID的方法:

當你再也不須要已經設置的RAID的時候,能夠用如下方法關閉RAID:

1)卸載/dev/md0,而且刪除或註釋掉/etc/fstab文件中的配置:

[root@svr ~]# umount /dev/md0    
[root@svr ~]# vi /etc/fstab    
#/dev/md0         /mnt/raid5        ext4        defaults            0 0

2)註釋掉或刪除/etc/mdadm.conf中的設置:    
[root@svr ~]# vi /etc/mdadm.conf    
#ARRAY /dev/md0 UUID=d58ed27d:00ce5cf5:b26ed1e9:879d0805

3)中止raid設備

# mdadm --stop /dev/md0

4)刪除raid中的全部磁盤

這時候raid中的磁盤就刪除了,重啓後也不會產生md127了.

RAID0和RAID1實同於RAID5

RAID0:並行讀寫數據

RAID1:鏡像磁盤陣列

2安裝scsi-target-utils軟件包

在RHEL6服務器中須要安裝scsi-target-utils軟件包,對應的系統服務爲tgtd,命令行管理工具爲tgtadm;有相關依賴包,建議使用yum安裝

3建立iSCSI對象(Target)

即將準備好的存儲設備(邏輯卷和RAID5)添加到iSCSI中,爲客戶端準備存儲空間(LUN);有兩種方法:一種是使用命令的添加方式(略);一種是直接修改配置文件;

iscsi target配置文件是/etc/tgt/targets.conf(在文件尾部添加以下內容)

Target的命名在同一子網內應該是惟一的,標準命名方式爲:

iqn.yyyy-mm.<reversed domain name>[:identifier]

其中:

iqn:表示"iSCSI Qualified Name",簡稱iqn。

yyyy-mm:表示年份-月份。這裏是2011-08。

reversed domain name:表示倒過來的域名,這裏是com.example。

identifier:表示識別代碼,這裏是disk

backing-store用於指定存儲設備,通常指非實際的物理磁盤,如LVM卷、某個分區、raid磁盤陣列。

initiator-address 地址 用於將target指派給指定的客戶機使用,爲了安全,可自定義設置

4重啓服務並將服務設置爲開機自啓動,而後設置防火牆開啓3260號端口通訊

記得保存防火牆規則

5驗證target信息

至此,iscsi target存儲服務器配置完成,客戶端使用iSCSI Initiator就能夠鏈接iscsi target服務器了

二客戶端使用iSCSI存儲設備

·Linux客戶端使用iSCSI存儲設備

1客戶端安裝iscsi-initiator-utils和lsscsi軟件包

這個沒有依賴關係,能夠用rpm安裝

其中iscsi-initiator-utils是鏈接服務器的客戶端軟件,lsscsi是查看iSCSI設備信息的工具包

2發現並鏈接iSCSI設備

發現設備,如果默認端口3260能夠省略不寫

發現兩個設備(爲了安全考慮,能夠在服務器上設置ACL訪問控制策略,以避免被別人發現)

鏈接設備

--login能夠簡寫爲-l;--out表示斷開鏈接,簡寫-u

3查看網絡存儲設備

4使用磁盤

接下來使用磁盤就跟使用本地磁盤幾乎同樣(fdisk、mkfs、mount操做,與普通設備無異);進行分區格式化,掛載設置開機自啓動等;若iSCSI設備已包含文件系統,則無需再格式化

·windows客戶端使用iSCSI存儲設備

Windows Server2008 自帶iSCSI客戶端程序

1確保客戶機與服務器的通訊

2打開管理工具-iSCSI發起程序

3輸入服務器地址,直接點擊快速鏈接

4鏈接成功後單擊完成,能夠關閉鏈接面板了

5右鍵計算機選擇管理-存儲-磁盤管理,能夠看到新加的磁盤1

6右擊磁盤1選擇聯機,再右擊選擇初始化磁盤,直接點擊肯定

7如今的操做和普通磁盤同樣了,能夠新建簡單卷等

相關文章
相關標籤/搜索