iscsi配置共享存儲(chǔ)高級(jí)應(yīng)用
本文系統(tǒng)Centos6.0
本文主要是iscsi存儲(chǔ)配置及安全驗(yàn)證方面的應(yīng)用;
關(guān)于iscsi方面的介紹大家去查詢很多資料;這里就不廢話了;直接進(jìn)入主題
iscsi target
一個(gè)可以被用于存儲(chǔ)數(shù)據(jù)的iscsi磁盤(pán)陣列或者具有iscsi功能的設(shè)備都可以被稱為iscsi target
利用iscsi target軟件,可以將服務(wù)器的存儲(chǔ)空間分配給客戶機(jī)使用,客戶機(jī)就可以像使用本地硬盤(pán)一樣使用iscsi磁盤(pán)
相關(guān)軟件;比如linux平臺(tái)的iscsi enterprise target
Iscsi initiator
Iscsi initiator是一個(gè)安裝在計(jì)算機(jī)上的一個(gè)軟件或是一個(gè)硬件設(shè)備,它負(fù)責(zé)處理同iscsi存儲(chǔ)設(shè)備進(jìn)行通信。
相關(guān)軟件;linux平臺(tái)的iscsi initiator。Windows平臺(tái)也有,比如win7自帶的Iscsi發(fā)起程序;下面會(huì)分別介紹;
關(guān)于Iscsi存儲(chǔ)數(shù)據(jù)過(guò)程;會(huì)先進(jìn)行封裝iscsi協(xié)議加tcp/ip協(xié)議頭進(jìn)行傳輸

一、下面就是簡(jiǎn)單展示案例拓?fù)淞耍?/p>

Linux iscsi target : ServerA : 192.168.182.132
linux iscsi initiator : Client A:192.168.182.133
Windows7 :Client B:192.168.182.134#p#
1、Server A 安裝target程序:
1
2
3
4wget http://nchc.dl.sourceforge.net/project/iscsitarget/iscsitarget/1.4.20.2/iscsitarget-1.4.20.2.tar.gz
cd iscsitarget-1.4.20.2
make
make install
然后你就可以使用service 進(jìn)行管理

事先提醒:本Server端有三塊硬盤(pán),sda,sdb,sdc;sdb為2G;sdc為3G;

接下來(lái)配置主配置文件:(先實(shí)驗(yàn)將sdb共享,讓linux client和windows client發(fā)現(xiàn) )
1
2
3[root@centos iet]# vim ietd.conf
Target iqn.2013-07-17.com.lansgg:storage.disk2.sdb
Lun 0 Path=/dev/sdb,Type=fileio,ScsiId=xyz,ScsiSN=xyz
注釋:
1
2
3
4
5
6
7
8Target iqn.2013-07.com.lansgg:storage.disk2.sdb
Iqn.yyyy-mm.
Iqn:表示iscsi squalfled name 簡(jiǎn)稱iqn
Yyyy-mmm:表示年份-月份。
Reversed domain name:表示倒過(guò)來(lái)的域名。
Identifier:標(biāo)識(shí)識(shí)別代碼。這里是storage.disk2.sdb
Lun 0 path=/dev/sdb.Type=fileio,scsild=xyz,SisiSN=xyz
Lun 0 Path=/dev/sdb 表示塊設(shè)備號(hào)為0,映射的磁盤(pán)為/dev/sdb,type 值fileio是默認(rèn)的可以用于磁盤(pán)、file和lvm,這里設(shè)定的的是fileio,主要用來(lái)對(duì)一個(gè)磁盤(pán)進(jìn)行存儲(chǔ)共享。


接下來(lái)在Windows client進(jìn)行操作:: (客戶端過(guò)程大概就是:發(fā)現(xiàn)>>連接)#p#
我的windows os 是win7,使用其自帶的iscsi initiator程序;

雙擊后;點(diǎn)擊“發(fā)現(xiàn)”選項(xiàng)卡

切換到“目標(biāo)”選項(xiàng)卡后;你會(huì)發(fā)現(xiàn)我們共享出來(lái)的sdb

點(diǎn)擊確定后;狀態(tài)更換為“已連接”狀態(tài)
現(xiàn)在你去右鍵電腦管理,發(fā)現(xiàn)一塊2G的硬盤(pán)

進(jìn)行格式化;
你會(huì)發(fā)現(xiàn)一個(gè)2G的盤(pán);我這里將他格式化為FAT32的一個(gè)分區(qū);在里面寫(xiě)了一個(gè)test的文件,內(nèi)容是test;

接下來(lái)在linux client進(jìn)行操作
1[root@centos ~]# yum install iscsi-initiator* -y
你會(huì)發(fā)現(xiàn)啟動(dòng) service iscsid start 是無(wú)效的;這也是當(dāng)時(shí)讓我很郁悶的一件事情;
我們就直接進(jìn)行discovery吧,他會(huì)自動(dòng)啟動(dòng)程序

自動(dòng)啟動(dòng)了iscsid;接下來(lái)我們進(jìn)行啟動(dòng)iscsi

Ps:每次成功執(zhí)行一次targets發(fā)現(xiàn)后,iscsi initiator就會(huì)將查詢記錄寫(xiě)到/var/lb/iscsi/send_targets對(duì)應(yīng)的目錄下。因此,只需成功一次discovery即可;
里面會(huì)記錄一下信息,可以去cat下

里面記錄了很多的信息;
通過(guò)iscsiadm 指令與iscsi targets建立關(guān)聯(lián)
iscsiadm是用來(lái)管理(更新、刪除、插入、查詢)iscsi配置數(shù)據(jù)庫(kù)文件的命令行工具,用戶能夠用他對(duì)iscsi nodes、sessions、connections和discovery records進(jìn)行一系列的操作;#p#
1、登錄 iscsi target; 也就是上面說(shuō)的“連接”;因?yàn)樯厦嬉呀?jīng)discovery過(guò)了
1[root@centos ~]# iscsiadm -m node -T iqn.2013-07.com.lansgg:storage.disk2.sdb -p192.168.182.131 -l

Ps:這里的“-T”后面跟target名稱,“ip-address”是target主機(jī)的ip地址,“port”是target主機(jī)的端口號(hào),默認(rèn)是3260 -l 代表 --login
現(xiàn)在我們進(jìn)行fdisk查看

注意后面的System標(biāo)識(shí)為FAT32;因?yàn)楸颈P(pán)已經(jīng)在windows進(jìn)行了格式化,并且創(chuàng)建了test文件;見(jiàn)上面。
現(xiàn)在來(lái)看看這個(gè)test文件:

成功看到~
2、如何我們不想使用想斷開(kāi)呢?
1[root@centos ~]# iscsiadm -m node -T iqn.2013-07.com.lansgg:storage.disk2.sdb -p192.168.182.131 -u

現(xiàn)在你fdisk就看不到sdb了;
3、查看iscsi session和設(shè)備信息
1
2
3[root@centos ~]# iscsiadm -m session
###就會(huì)提示如下#####
tcp: [5] 192.168.182.131:3260,1 iqn.2013-07.com.lansgg:storage.disk2.sdb
如果一個(gè)target下新增了一個(gè)卷,在服務(wù)器上使用iscsiadm -m session -R 命令可以刷新當(dāng)前連接的session以看到新增的卷;
1[root@centos ~]# iscsiadm -m session -R
4、查看有那些target記錄在了數(shù)據(jù)庫(kù)中;
1[root@centos ~]# iscsiadm -m node
5、查看target存儲(chǔ)端相關(guān)配置信息;
1[root@centos ~]# iscsiadm -m node -T iqn.2013-07.com.lansgg:storage.disk2.sdb -p192.168.182.131
二、基于安全驗(yàn)證的共享存儲(chǔ)配置;
其實(shí),在上面已經(jīng)發(fā)現(xiàn)了,我們將硬盤(pán)共享出去后,誰(shuí)都可以發(fā)現(xiàn),連接,使用,這就不能保證自己的數(shù)據(jù)安全,不方便管理,上面的文件內(nèi)容可能不只你自己的;
現(xiàn)在我們進(jìn)行基于安全驗(yàn)證的配置;
比如:sdb硬盤(pán)共享出去給Windows主機(jī)使用,sdc給linux主機(jī)使用;
(只允許客戶端主機(jī)A連接target共享出來(lái)的磁盤(pán)分區(qū)一,而客戶端主機(jī)B只允許連接target共享出來(lái)的磁盤(pán)分區(qū)二)
在安全控制上有兩個(gè)手段,一個(gè)就是我們指定某個(gè)ip使用某個(gè)共享區(qū)域;另一個(gè)就是賬戶、密碼驗(yàn)證;
方式一:指定授權(quán)ip訪問(wèn)共享磁盤(pán)
sdb; iqn.2013-07.com.lansgg:storage.disk2.sdb (windows使用) ip:192.168.182.135
sdc ; iqn.2013-07.com.lansgg:storage.disk2.sdc (linux使用) ip:192.168.182.133
1
2
3
4[root@centos iet]# vim /etc/iet/initiators.allow
#ALL ALL #將默認(rèn)的注釋掉
iqn.2013-07.com.lansgg:storage.disk2.sdb 192.168.182.135
iqn.2013-07.com.lansgg:storage.disk2.sdc 192.168.182.133
重啟server端iscsi-target服務(wù),你會(huì)發(fā)現(xiàn)sdb歸135所有使用權(quán),sdc歸133所有使用權(quán)
在client端重啟iscsi進(jìn)行觸發(fā)即可;
方式二:client主機(jī)以密碼認(rèn)證獲取iscsi target資源;
配置server端
1
2
3
4
5
6
7
8[root@centos iet]# vim /etc/iet/ietd.conf
IncomingUser discoveryuser discoverysecret
##第一個(gè)“IncomingUser”是個(gè)全局參數(shù),用來(lái)指定discovery查詢認(rèn)證所使用的帳號(hào)和密碼
Target iqn.2013-07.com.lansgg:storage.disk2.sdb
IncomingUser lansgg lansggsecret
Lun 0 Path=/dev/sdb,Type=fileio,ScsiId=xyz,ScsiSN=xyz
##第二個(gè)IncomingUser是login認(rèn)證;
關(guān)于sdc的認(rèn)證是一樣的配置
Ps:ip驗(yàn)證和密碼驗(yàn)證不能共存;
這里用windows來(lái)驗(yàn)證下;
首先進(jìn)行discovery

然后進(jìn)行l(wèi)ogin操作

最后查看連接成功:

然后在linux客戶端驗(yàn)證:
1
2
3
4
5
6
7
8
9vim /etc/iscsi/iscsid.conf
#以下三個(gè)是針對(duì)discovery的
Discovery.sendtargets.auth.authmethod=chap #表示discovery時(shí)啟用chap驗(yàn)證
Discovery.sendtargets.auth.username=discoveryuser #驗(yàn)證用戶名稱,可以是任意字符,但必須與target端的incominguser配置的名稱一致。
Discovery.sendtargets.auth.password=discoverysecret #驗(yàn)證密碼,必須與target對(duì)應(yīng)的incominguser選擇設(shè)置的密碼一致;
#以下三個(gè)是針對(duì)login的
Node.session.auth.authmethod=chap #表示在login時(shí)啟用chap驗(yàn)證。
Node.session.auth.username=lansgg #驗(yàn)證用戶名稱,可以是任意字符,但必須與target端的incominguser配置的名字一致。
Node.session.auth.password=lansggsecret #驗(yàn)證密碼,必須與target端對(duì)應(yīng)的incominguser選項(xiàng)配置的密碼一致。
繼續(xù)安裝上面linux client進(jìn)行discovery、login即可;然后格式化就可以使用了;
友情提示:
管理共享磁盤(pán):
》Linux 上的ext文件系統(tǒng)的一個(gè)特性,對(duì)某個(gè)分區(qū)mount、umount很多次后會(huì)或者隔一個(gè)固定的時(shí)間后,系統(tǒng)會(huì)對(duì)該分區(qū)進(jìn)行檢測(cè),這就會(huì)導(dǎo)致硬盤(pán)反映速度很慢,影響業(yè)務(wù),本操作的目地就是去掉文件系統(tǒng)自動(dòng)檢查的屬性;
Tune2fs 修改文件系統(tǒng)的屬性,去掉自動(dòng)檢查的屬性:
1Tune2fs -c -1 -i 0 /dev/sdb5 # /dev/sdb5為掛載的共享磁盤(pán)
2》設(shè)定文件系統(tǒng)的自動(dòng)掛載
使用uid標(biāo)識(shí)進(jìn)行掛載
1
2
3Tune2fs -l /dev/sdb5
Vim /etc/fstab
UUID=uuid /data ext3 _netdev 0 0
磁盤(pán)設(shè)備的名稱可能會(huì)發(fā)生變化,從而引起文件系統(tǒng)不能掛載上來(lái)或者不能正確掛載,使用
_netdev 是針對(duì)iscsi設(shè)備的特殊mount選項(xiàng),此掛載選擇指示將在網(wǎng)絡(luò)啟動(dòng)后掛載改卷,在關(guān)閉網(wǎng)絡(luò)前卸載改卷。