一直都有在CentOS中搭建ISCSI服务做网盘,但自从红帽发布7之后,粉转黑,转投到了大便(Debian)阵营中来,自然而然的也需要在Debian中搭建同样的服务供我在Windows中继续使用ISCSI服务。
关于CentOS中如何搭建ISCSI服务,方式比较简单,这篇文章(《CentOS下如何搭建ISCSI以及Windows如何挂载ISCSI镜像》)也有详细的介绍,有需要的读者可以移步翻阅,而关于Debian如何搭建ISCSI,网上虽然也有相关的教程,但可以直言不讳的用“乱七八糟”来形容,跟着这些教程走,往往是走进一个大坑里(亲身掉坑),这里我还是有必要把教程记录到博客中,供有缘的读者或者自己以后使用。
关于ISCSI,其实Debian中的ISCSI分两个部分,他们分别是“iscsi target”部分(server部分)以及“iscsi initiator”部分(客户端部分)。本篇内容主要讲解如何搭建ISCSI服务,因此也只会讲“iscsi target”部分,不讲“iscsi initator”部分。
首先我们切换到“root”权限,并使用aptget命令快速的安装iscsitarget:
apt-get install -y iscsitarget
接着使用vi编辑“/etc/default/iscsitarget”:
vi /etc/default/iscsitarget
把里面的“ISCSITARGET_ENABLE=false”中的“false”改为“true”并保存退出。
接着使用dd命令,产生一块作为ISCSI存储空间的块:
#这里我假设保存在/home/mydisk/iscsi.block中,并且大小为4000M。 mkdir /home/mydisk dd if=/dev/zero of=/home/mydisk/iscsi.block bs=4M count=1000
使用vi编辑“/etc/iet/ietd.conf”
vi /etc/iet/ietd.conf
这个文件是配置挂载哪些iscsi磁盘(就刚才建的block)以及登陆的用户密码的。里面的配置基本都注释掉,各位读者可以通过取消注释并修改里面参数的方式来修改,这里我就为了方便美观,直接在文件末尾追加相关配置,效果都是一样:
#Target代表客户端显示的目标名称,如果局域网内存在多个Target,则需要名称唯一 #具体的明明规则是,Target 名称 Target ILoveJingHong #这里配置具体的ISCSI Block地址(刚刚dd命令创建的那个) #第一块(磁盘)用Lun0表示,第二块则用Lun1,如此类推 #Path就是地址了 Lun 0 Path=/home/mydisk/iscsi.block,Type=fileio #这里配置能够登陆的用户的用户账号密码 #IncomingUser 账号 密码 #这里的密码需要长一点(推荐使用12位),短密码会导致客户端无法连接 IncomingUser admin admin1234567
最后就是启动我们的ISCSI服务了,使用以下的任意一个语句都可以启动:
systemctl start iscsitarget 或者 /etc/init.d/iscsitarget start
就这样,我们的ISCSI服务已经搭建完成,可以在Windows中进行挂在了,具体的挂在方式参见《CentOS下如何搭建ISCSI以及Windows如何挂载ISCSI镜像》
这里再次提醒一下,密码记得设置长一点,否则ISCSI是无法连接的。