FreeBSD iSCSI启动器的安装和配置
问题描述:如何在FreeBSD服务器下安装和配置iSCSI启动器服务?
解决方法:FreeBSD 7.x完全支持iSCSI。
较旧的版本(例如FreeBSD 6.3)需要iSCSI的反向移植。
以下说明仅在FreeBSD 7.0下有效。
FreeBSD iscsi_initiator驱动程序
iscsi_initiator实现Internet SCSI(iSCSI)网络协议标准的内核端,用户登陆伙伴iscontrol,并允许通过cam访问远程虚拟SCSI设备。
编译驱动
请注意,FreeBSD 7.x默认情况下已编译了该驱动程序。
如果驱动程序位于/boot/kernel/iscsi_initiator.ko,则可以跳过此步骤。
要将驱动程序编译到内核中,
# cd /usr/src/sys/i386/conf # cp GENERIC ISCSIKERNEL # vi ISCSIKERNEL
将以下行放入内核配置文件:
device iscsi_initiator
保存并关闭文件。
构建内核,执行以下命令:
# cd /usr/src # make buildkernel KERNCONF=ISCSIKERNEL
安装新内核:
# make installkernel KERNCONF=ISCSIKERNEL
现在重新启动系统:
# reboot
在FreeBSD下安装iSCSI Initiator驱动程序
您需要FreeBSD内核驱动程序用于iSCSI协议。
您需要使用名为/boot/kernel/iscsi_initiator.ko的驱动程序。
您可以通过以root用户身份执行以下命令来加载此驱动程序:
# kldload -v iscsi_initiator.ko
输出:
Loaded iscsi_initiator.ko, id=6
或者,要在引导时将驱动程序作为模块加载,请将以下行放在/boot/loader.conf中:
# vi /boot/loader.conf
# Beginning of the iSCSI block added by Hyman iscsi_initiator_load="YES" # End of the block added by Hyman
保存并关闭文件。
FreeBSD iscontrol命令登录/协商/控制iSCSI启动器会话
现在,您需要使用iscontrol命令。
首先,执行发现会话并退出:
# iscontrol -d targetaddress=iSCSI-SERVER-IP-ADDRESS initiatorname=nxl # iscontrol -v -d targetaddress=192.168.1.100 initiatorname=nxl
请记下可用目标名称/目标地址的列表。
知道目标名称后,编辑/etc/iscsi.conf文件:
# vi /etc/iscsi.conf
追加配置指令如下:
officeiscsi { authmethod = CHAP chapIName = YOUR-ISCSI-USERNAME chapSecret = YOUR-ISCSI-PASSWORD initiatorname = nxl TargetName = iqn.XYZZZZZZZZZZZZZ # whatever "iscontrol -v -d " gives you TargetAddress = 192.168.1.100:3260,1 # your iscsi server IP }
保存并关闭文件。
其中:
officeiscsi {
:启动iSCSI的配置。- authmethod:将身份验证方法设置为第一章
chapIName
:您的用户名chapSecret
:您的密码initiatorname
:如果未指定,默认为iqn.2005-01.il.ac.huji.cs:<hostname>- TargetName:是通过目标管理员或从发现会话获得的,不与目标地址混淆的目标的名称。
- TargetAddress的形式为domainname [:port] [,portal-group-tag]引用RFC:域名可以指定为DNS主机名,点分十进制IPv4地址或带括号的IPv6地址如[RFC2732]中所指定。
- }:配置结束
开始iSCSI会话
以下命令将从/etc/iscsi.conf中读取选项,使用在昵称为myiscsi的块中找到的目标地址,登录并协商指定的任何选项,然后启动iscsi-session。
# iscontrol -c /etc/iscsi.conf -n officeiscsi
一旦运行iscontrol命令,它应该在/dev目录中创建一个新设备。
要查看设备名称,请运行dmesg命令:
# dmesg
格式化iSCSI卷
现在运行sysinstall命令以格式化刚发现的iSCSI设备名称在/dev位置:
# sysinstall
选择"自定义">" 3分区">选择iSCSI设备名称,例如da1。
格式化后,只需挂载设备,执行:
# mkdir /iscsi # mount /dev/da1s1 /iscsi
您可能还需要更新/etc/fstab文件:
/dev/ad1s1 /iscsi ufs rw 3 3