使用局域网来模拟一个网络存储源于在实际应用中,linux操作系统中的虚拟机win2008需要的iis7不能使用外部的网络连接作为网站应用程序的根目录,而且目录权限使用起来实在是复杂。
(原文链接 http://ddbiz.com/?p=137)
先说说环境:
服务器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 测试 (后续)
所有评论(0)