页面

2011年8月11日

Debian上的iSCSI target配置

前言

其实我一直有个想法,在自己家的局域网里建一个文件服务器/Fire Server,把所有的相片、视频和音乐都放在这个文件服务器上,从而无需考虑每台PC之间同步等问题。而iSCSI就是实现这个目的的方法之一。(维基百科上的iSCSI介绍

虽然iSCSI看上去好像很完美,不过我最后还是放弃了这个方法,文章尾部我有写原因,写本文的目的也只是把配置的过程记录下来而已。

测试环境

  • OS:
    • Debian 6.0.2 i686(iSCSI target)
    • Archlinux i686(iSCSI initiator)
    • Windows 7 Home Premium sp1 x86(iSCSI initiator)
  • iscsitarget 1.4.20.2-1
  • open-iscsi 2.0.871.3-1
  • IP地址
    • iSCSI target:10.0.0.32/24
    • iSCSI initiator:10.0.0.0/24

名词解释

  • iSCSI target:iSCSI的server,也就是提供存储空间的服务器端,本文使用 /dev/sdb 作为例子(Ext4文件系统)。
  • iSCSI initiator:iSCSI的client。

在Debian上安装iSCSI target

安装必须的软件包

# aptitude install iscsitarget iscsitarget-dkms

加载内核模块

# modprobe iscsi_trgt

编辑 /etc/default/iscsitarget 文件,改为下面内容,注意红色的部分。

ISCSITARGET_ENABLE=true

编辑 /etc/iet/ietd.conf 文件,增加下面的内容。

Target iqn.2001-04.local.kaysiness:storage.disk2.sys1.xyz
    Lun 0 Path=/dev/sdb,Type=fileio,ScsiId=xyz,ScsiSN=xyz
    MaxConnections 1

编辑 /etc/iet/initiators.allow 文件,增加下面的内容,红色部分为允许访问的网段,改为自己需要的。

iqn.2001-04.local.kaysiness:storage.disk2.sys1.xyz 10.0.0.0/24

启动iSCSI target

# /etc/init.d/iscsitarget start

连接到iSCSI target(iSCSI initiator)

Archlinux

安装必须的软件包

# yaourt -S open-iscsi

加载内核模块

# modprobe crc32c

编辑 /etc/conf.d/open-iscsi 文件,在SERVER栏填上你的iSCSI target的IP地址,例如我的是10.0.0.32。

SERVER="10.0.0.32"

启动open-iscsi

# /etc/rc.d/open-iscsi start

连接到iSCSI target

# iscsiadm -m discovery -t st -p 10.0.0.32 -P 1
# iscsiadm -m node -T iqn.2001-04.local.kaysiness:storage.disk2.sys1.xyz -l
# fdisk -l

这时将会多出一个/dev/sdb的磁盘(每台PC得出的结果都有可能不相同),之后需要做的事情就是挂载它。

# mount /dev/sdb1 /media/iscsi

Windows

比较悲剧,因为Windows不能直接读取Ext4文件系统的内容,即使找到Debian上的iSCSI target也不能做任何操作,要想使用的话只有两种方法:

  1. 将iSCSI target的文件系统从Ext4换成NTFS
  2. 使用CIFS/smb来共享Ext4文件系统上的内容

第一种方法虽然可行,但稳定性大打折扣。例如多个不同的iscsi client访问文件时,网上的说法是要么出现读取错误,要么根本就看不到其他iscsi client创建的文件(想想为什么用Windows自带的远程桌面时,每次远程登陆都需要注销当前用户),所以不推荐第一种方法。

第二种方法,既然都使用到CIFS/smb这些网络传输协议了,那还用iSCSI干嘛(-_-#),何不直接用CIFS/smb共享出去算了。

对于我这种既有Windows也有Linux的情况下,基本上可以放弃iSCSI了。

全文完

没有评论:

发表评论