一、三大主流平台的iSCSI发起器模拟软件

要实现iSCSI读写,除了使用特定的硬设备外,也可通过软件方式,将服务器仿真为iSCSI的发起端或目标端,利用既有的处理器与普通的以太网络卡资源实现iSCSI的连接。

iSCSI即internet SCSI,是IETF制订的一项存储传输协议标准,用于将SCSI数据区块映像成以太网数据封包。iSCSI协议基本上是一种跨过IP网络来传输SCSI数据区块的方法,发起读写请求的来源机器设备称作Initiator(发起方),被请求的目标设备则称作Target。透过这种方式可在IP网络上以区块级模式存取大量数据。

要实现iSCSI读写,除了使用特定硬设备外,也可透过软件方式,将服务器仿真为iSCSI的发起端或目标端,利用既有的处理器与普通的以太网络卡资源实现iSCSI的连接。目前多数的iSCSI Target仿真软件多为需付费的商业软件,而iSCSI initiator则已有许多免费软件可供选用。

Microsoft iSCSI Initiator

微软提供的iSCSI发起器软件,可让Windows客户端将以太网卡仿真成iSCSI发起器,以便对网络上的iSCSI目标设备发起存取需求,建立iSCSI联机。

Microsoft iSCSI Initiator最新的版本为2.04版,可支持Windows 2000/XP/Server 2003等微软作业环境,并分别有支持x64、IA64、x86等处理器平台的版本。下载完成安装后,在Discovery选单输入iSCSI目标设备的IP或iqn地址,即可在Target选单中选择与iSCSI设备建立连接,透过IP网络存取iSCSI存储设备,还支持多路径传输。

Linux-iSCSI

有2.4/2.6两种版本Linux kernel的iSCSI Initiator,在使用时,系统中必须备妥kernel-source、kernel、gcc、perl、Apache等相关档案。下载并完成编译后,先将/etc/iscsi.conf内的iSCSI配置组态,改为符合目前使用的iSCSI目标设备的正确网址、用户名称与密码,接下来以#/etc/init.d/iscsi start启动iSCSI设备,并以fdisk指令分割磁盘,最后用mkdir与 mount指令将磁盘驱动器挂载。

Solaris iSCSI Initiator

Solaris 10已内建了iSCSI Initiator软件,包括SPARC 64、x64与IA-32等处理器平台都能支持。Sun把iSCSI相关驱动程序整合在iSCSI Device Driver and Utilities的更新程序内,目前已更新到5.10版。

使用时,先用svcadm enable svc:/network/iscsi_initiator的指令格式先行启始iSCSI Initiator,接下来的的操作主要依靠iscsiadm指令,先以iscsiadm add discovery-address指令设定目标设备地址,再用iscsiadm modify initiator-node修改与目标设备间的连接设定,然后依序使用devfsadm -c iscsi、format、newfs等指令建立新的磁盘区,最后再用mount指令将磁盘区挂载起来即可。

 

二、实现

(一)局域网模拟网络存储:linux iscsi store windows/linux client

在使用局域网来模拟一个网络存储源于在实际应用中,linux操作系统中的虚拟机win2008需要的iis7不能使用外部的网络连接作为网站应用程序的根目录,而且目录权限使用起来实在是复杂。

先说说环境:

服务器1:

OS : centos 5.4 x64
NET: hostonly
IP  : 172.168.1.1

服务器2: vmware os ,  创建于服务器1中
OS: windows 2008
NET: hostonly
IP: 172.168.1.2

安装服务器2的目的仅仅是为了使用它的iis服务器而已。对于数据的存储,文件的存储,还是希望放在主机服务器1中。
 
iis7的应用中,无法避免的是用户会上传很多文件,这些文件放在虚拟机中的话,对于备份、网络访问都是一个问题。而且随着文件的增多,虚拟机的虚拟文件会越来越大。

增加外部存储对于我们来说是一个不小的负担,不过如果能够虚拟一个外部存储的话,应该是一个不错的选择。

2.  让内核支持ntfs

     #yum install fuse

     # modprobe -l | grep fuse
 
     /lib/modules/2.6.18-194.26.1.el5/kernel/fs/fuse/fuse.ko

     安装ntfs-3g
     下载 ntfs-3g
     cd ntfs-3g-2010.10.2
     ./configure 
     make && make install

或者    

     用于格式化和加载ntfs分区应用:
 
     wget http://downloads.sourceforge.net/project/linux-ntfs/NTFS%20Tools%20and%20Library/2.0.0/ntfsprogs-2.0.0.tar.bz2?r=http%3A%2F%2Fsourceforge.net%2Fprojects%2Flinux-ntfs%2Ffiles%2FNTFS%2520Tools%2520and%2520Library%2F2.0.0%2F&ts=1293850763&use_mirror=ncu
 

     tar xjvf ntfsprogs-2.0.0.tar.bz2
     cd ntfsprogs
     ./configure --enable-fuse-module
     make
     make install

3. 分区和格式化
 
    /dev/sdc 是用来模拟网络存储设备的一块sata 盘

    fdisk /dev/sdc
    L = 7 (NTFS格式)

    mkfs.ntfs-3g -q /dev/sdc1

4. 创建虚拟网络设备

     yum install scsi-target-untils

     此会安装 tgt 

     service tgtd start
     #创建设备
     tgtadm --lld iscsi --mode target --op new --targetname iqn.om.com.internal
     #增加虚拟卷
     tgtadm --lld iscsi --mode logicalunit --op new --tid=1 --lun=1 -b /dev/sdc1
     #创建允许访问的initiator
     tgtadm --lld iscsi --mode target --op bind --tid=1  --initiator-address=17.168.1.2 (允许windows环境下加载)

5. windows 下加载iscsi

     5.1 windows 2003
 
           w2003 需要下载一个设备驱动 Microsoft iSCSI Initiator ,可以在microsoft上找到
 
     5.2 windows 2008 已经内建

      打开 Microsoft iSCSI Initiator, 在 discovery 中添加虚拟设备的地址
             discovery 选项建立与iscsi 设备的连接, 在target中可以看到连接的内容:
          使用Logon 登录到网络设备上。成功连接网络设备后,我们可以在设备管理器中看到系统新发现的一个磁盘设备:

                  这里的 (G:)就是我们的iscsi设备。当然在使用新设备前,可能还需要对这个设备指定一个盘符,如此处的 G:到此iscsi设备已经可以使用了。

6. 测试
 
   6.1 文件测试
    windows 2003 下的文件测试,我使用了一个2.8G的文件复制,从系统中复制到iscsi设备,用时5分钟,虽然不算快,但是已经可以满足我们的需要了。


    6.2 iis 测试

(二)Openfiler 2.3-实验模拟iSCSI存储

Openfiler是由Linux编译而来的网络存储管理系统(属于redhat系,所以安装过程很熟悉),基于浏览器来进行配置。可以提供基于文件的存储方式NAS和基于块的存储方式SAN,以及FTP、SMB、NFS等服务。

由于很多项目如windows的cluster,Vmware Esx的HA等群集服务都需要单独的存储设备来实现,对于初学者来说很难有机会来实际操作到,Openfiler即是一种折中的方案,虽然性能不比专业存储,然而用来练手却正好。

官方网站: http://www.openfiler.com (里面有提供下载,但很慢很慢..而且容易断)

所以推荐下载地址: http://download.huihoo.com/openfiler/20081010-123.html

我安装完后的WEB界面:

详细配置过程推荐以下2篇BLOG

http://dbabc.net/archives/2010/04/07/openfiler-install.shtml

http://rickyfang.blog.51cto.com/1213/172296

因为是图形化操作,所以毫无难度,关键点在于如何创建PV及VG,并把PV加入到VG,同时转换ISCSI格式。同时,需要设置Network的ACCESS权限。

本日志由 flyinweb 于 2011-05-03 10:46:37 发表,目前已经被浏览 1384 次,评论 0 次;

作者添加了以下标签: internet SCSIiSCSI

引用通告:http://www.517sou.net/Article/594/Trackback.ashx

评论订阅:http://www.517sou.net/Article/594/Feeds.ashx

评论列表

    暂时没有评论
(必填)
(必填,不会被公开)