FreeBSD iSCSI启动器的安装和配置

时间:2020-01-09 10:38:35  来源:igfitidea点击:

问题描述:如何在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