25.4. USB储存装置

注意:

cfumass(4)驱动程序是一个在FreeBSD 12.0之后才可用的USB设备模式驱动程序。

如同chpass(1)yppasswd(1)连接到passwd(1),因此NIS在两个指令上皆可运作。

25.4.1. 使用 cfumass 启动脚本配置 USB 大容量存储目标

设置只读 USB 存储目标的最简单方法是使用cfumass rc 脚本。要以这种方式配置,请将要呈现给 USB 主机的文件复制到/var/cfumass目录中,并将此行添加到/etc/rc.conf

cfumass_enable="YES"

要在不重新启动的情况下配置目标,请运行以下命令:

# service cfumass start

与串行和网络功能不同,模板不应设置为 0 或 10 在/boot/loader.conf 中。这是因为在设置模板之前必须设置 LUN。cfumass 启动脚本在启动时自动设置正确的模板编号。

25.4.2. 使用其他方法配置 USB 大容量存储

本章的其余部分提供了不使用 cfumass rc 文件设置目标的详细说明。如果想要提供可写入的 LUN,则这是必需的。

USB大容量存储不需要运行ctld(8)守护进程,尽管如果需要,可以使用它。这与iSCSI不同。因此,有两种方法可以配置目标:ctladm(8)ctld(8)。两者都需要加载cfumass.ko内核模块。模块可以手动加载:

# kldload cfumass

如果cfumass.ko尚未内置到内核中,则可以将/boot/loader.conf设置为在引导时加载模块:

cfumass_load="YES"

可以在没有ctld(8)守护进程的情况下创建LUN

# ctladm create -b block -o file=/data/target0

这将镜像文件/data/target0的内容作为LUN呈现给USB主机。在执行命令之前,该文件必须存在。要在系统启动时配置LUN,请将该命令添加到/etc/rc.local

ctld(8)也可用于管理LUN.创建/etc/ctl.conf,向/etc/rc.conf添加一行以确保ctld(8)在启动时自动启动,然后启动守护进程。

这是一个简单的/etc/ctl.conf配置文件的示例。有关选项的更完整说明,请参阅ctl.conf(5)

target naa.50015178f369f092 {
	lun 0 {
		path /data/target0
		size 4G
	}
}

该示例使用单个LUN创建单个目标。naa.50015178f369f092是一个设备标识符,由 32 个随机十六进制数字组成。path这行定义支持LUN的文件或 zvol 的完整路径。在ctld(8)运行之前,该文件必须存在。第二行是可选的,并指定LUN的大小。

为了确保ctld(8)守护进程在系统启动时启动,将此行添加到/etc/rc.conf

ctld_enable="YES"

使用此命令启动ctld(8)

# service ctld start

ctld(8) Daemon启动后,它会读取/etc/ctl.conf,若这个档案在Daemon启动之后才做修改,要重新加载变更的内容才能立即生效:

# service ctld reload

本文档和其它文档可从这里下载: ftp://ftp.FreeBSD.org/pub/FreeBSD/doc/.

如果对于FreeBSD有问题,请先阅读 文档,如不能解决再联系 <questions@FreeBSD.org>.

关于本文档的问题请发信联系 <doc@FreeBSD.org>.