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的主机,选择联机之后就可以自动连接到磁盘了。