Linux搭建共享存儲,Window訪問共享存儲

今天給大家介紹如何在Linux上面搭建IP SAN iscsi存儲系統,應且在服務器客戶端訪問共享存儲

首先介紹一下iscsi,iscsi用於將scsi數據塊映射爲以太網數據包,基於tcp/ip協議來傳輸數據包,分爲iscsi target和iscsi initiator,前者是共享存儲的主機,可以是一個可以容納很多個磁盤的PC,後者是用來訪問target的客戶端主機,initiator用於建立連接並且實現scsi通訊。

下面說下我的主機網絡環境:

iscsi target主機:210.72.3.230( Centos 6.5)在新建虛擬機的時候我在上面加了一塊硬盤sdb

iscsi initiator主機:192.168.10.43(win 7 )

iscsi initiator主機:210.72.3.247(window server 2008)

內網192的主機和兩個外網的主機是相互連着的


1安裝iscsi target

http://iscsitarget.sourceforge.net 下載

這裏的版本是1.4.20.2

tar zvxf iscsitarget-1.4.20.2.tar.gz

cd iscsitarget-1.4.20.2

make

make install

這裏可能會報錯

1/lib/modules/2.6……/build,no such file or……

意思是iscsi沒有連接到內核模塊,或者是內核模塊不存在,在當前目錄下輸入下面命令

yum -y install kernel-devel

cd  /lib/modules/2.6……/

ln -s /usr/src/kernels/2.6……/     build

接着再make,可能又會報錯,patch is not install

yum -y install patch

接着再make,可能又會報錯,perl沒有安裝

yum -y install perl

make

make install

記得安裝make和gcc


2配置iscsi target

vi /etc/iet/ietd.conf

定位到有Target字眼的地方,將前面的註釋#刪除,這個是iscsi target的名稱,在同一子網裏面是唯一的,我這裏修改了年份和月份

接着定位到有Lun字眼的地方

將Lun前面的註釋#刪除掉,修改磁盤的名字,我這裏因爲添加的磁盤是sdb,所以修改爲sdb

fdisk -l命令可以看到我的沒有掛載的磁盤sdb

保存退出之後輸入service iscsi-target start啓動夫婦,發覺啓動失敗提示fatal module iscsi-trgt not found

這是由於iscsi模塊文件沒有放在正確目錄導致的,解決辦法如下

mkdir /lib/modules/`uname -r`\kernel\scsi(uname -r內核版本)

find /-name "iscsi-trgt.ko"

然後cd進入iscsi-trgt.lo的目錄

cp iscsi.trgt.ko /lib/modules/`uname -r`/kernel/iscsi

depmod -aq(重新編譯內核)

再啓動服務service iscsi-target start


3Windows上面配置iscsi initiator

在Windows系統上面(192.168.10.43)的搜索裏面查iscsi,打開,會提示是否開啓iscsi服務,選擇「是」

在發現選項卡上面點擊「發現門戶」,輸入iscsi-target的主機IP,端口默認,點擊確定

點擊目標選項卡,點擊連接

打開windows的「計算機管理」,打開「磁盤管理」,就可以看到新添加的共享存儲,第一次使用要對其進行格式化還有添加mbr才能進行分區,就是在下面找到共享存儲的名字,右鍵單擊名字,選擇添加MBR引導,在磁盤格式化,然後進行分區,就把磁盤掛載上來使用了

在windows server 2008服務器上面也類似操作,但是要在磁盤名字那裏右鍵單擊,選擇聯機

注意,如果第一次在一臺Windows主機上面格式化並且進行了分區的話,在別的Windows上面就不用執行這些操作了,如這臺Windows server 2008的主機,選擇聯機之後就可以自動連接到磁盤了。