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
--auto=yes /dev/md0 //新創建的軟件磁盤陣列設備爲md0,md序號能夠爲0-9
--level=5
--raid-devices
--spare-devices
/dev/sd[b-d]
若是磁盤容量比較大,能夠直接查看/proc/mdstat文件來了解RAID建立和運行狀況
若是要本機使用,能夠格式化並掛載(建議設置開機自啓動和自動掛載)
建立/etc/mdadm.conf這個配置文件,便可開機自啓動
修改/etc/fstab文件,設置開機自動掛載
軟RAID的擴展知識
1擴容raid磁盤陣列
顯示磁盤陣列的組成狀況,4個塊設備組成,:
# cat /proc/mdstat
把/dev/sdg增長進陣列/dev/md0:
# mdadm
把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
再添加一塊新的磁盤做爲spare磁盤:
[root@svr raid5]# mdadm --manage /dev/md0 --add /dev/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
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如今的操做和普通磁盤同樣了,能夠新建簡單卷等