用FreeBSD10搭建基于ZFS的iSCSI服务(2)

这是最简单的配置,只有一个target和一个portal group。没有使用用户认证。作为测试已经足够了。

然后就可以启动这个target了:

chmod 600 /etc/ctl.conf

service ctld start

注意那个chmod的步骤是必须的,否则服务无法启动,因为一个全局可读的配置文件是不安全的。

启动完可以看一下日志,以确定没有出错。

tail /var/log/messages

iSCSI initiator

一般不拿FreeBSD做客户端,只是有时会需要在服务端测试一下target的配置,所以可能还是会用到FreeBSD下的Initiator的,所以记录了一下配置方法附后供参考。本节以实际的桌面环境配置为例。

我的桌面是Linux Mint 16,以下供参考。不过不同的Linux发行版应该都差不多。Mac貌似需要商业软件支持,没法介绍。微软有为Windows免费提供相关的Initiator软件(高版本Windows已内置),配置方法附后。

首先需要安装软件:

sudo apt-get install open-iscsi open-iscsi-utils

然后启动服务:

sudo service open-iscsi start

然后搜索一下target :

sudo iscsiadm -m discovery -t sendtargets -p 192.168.x.x

在结果中可以看到之前配置好的target。

登录连接target:

sudo iscsiadm -m node -T iqn.2014-05.com.example:target0 -p 192.168.x.x -l

现在打开系统首选项-磁盘(或你的发行版上的相关工具,或者你习惯用命令行也行),即可看到一个新增的磁盘(在我的电脑上,它的设备名叫/dev/sdc),磁盘名叫做FREEBSD CTLDISK,处于未格式化状态。用EXT4格式化,再mount即可像本地盘一样直接使用了。

至此一个基本的基于ZFS的iSCSI服务就算搭建完成。

更复杂的应用

前面说的target配置是全开放的,整个网段内所有客户端都可以自由连接,为了安全起见,需要加入用户认证。

最简单的方法就是在target配置里加入用户名密码:

target iqn.2014-05.com.example:target0 {
        portal-group san
        chap user password1234
        lun 0 {
                path /dev/zvol/tank/testtarget
                blocksize 4096
                size 4G
        }
}

注意,其中密码默认需要不少于12位。但是如果有多个用户需要使用的话,这样就不方便了,这时就需要使用auth-group:

auth-group ag0 {
        chap user1 password1234
        chap user2 password1234
}

target iqn.2014-05.com.example:target0 {
        auth-group ag0
        portal-group san
        lun 0 {
                path /dev/zvol/tank/testtarget
                blocksize 4096
                size 4G
        }
}

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/df9a03059a2feb2cfd81a8703dcbdfd6.html