28.4.USB 虚拟存储设备
最后更新于
这有帮助吗?
最后更新于
这有帮助吗?
注意
驱动程序是一个 USB 设备模式驱动程序,首次在 FreeBSD 12.0 中提供。
大容量存储目标由模板 0 和 10 提供。必须加载 和 内核模块。 接口连接到 CTL 子系统,该子系统与用于 iSCSI 或光纤通道目标的子系统相同。在主机端,USB 大容量存储发起者只能访问单个 LUN,LUN 0。
最简单的设置只读 USB 存储目标的方法是使用 cfumass rc 脚本。要通过这种方式配置,请将要提供给 USB 主机计算机的文件复制到 /var/cfumass
目录,并在 /etc/rc.conf 中添加以下行:
要在不重启的情况下配置目标,运行以下命令:
与串口和网络功能不同,模板不应设置为 0 或 10,因为在设置模板之前,LUN 必须先设置。cfumass 启动脚本会在启动时自动设置正确的模板编号。
本章其余部分详细描述了如何在不使用 cfumass rc 文件的情况下设置目标。如果例如想提供可写的 LUN,这是必要的。
USB 存储设备模式不需要运行 守护进程,尽管如果需要,可以使用它。这与 iSCSI 不同。因此,配置目标有两种方式:使用 或 。两者都需要加载 cfumass.ko 内核模块。可以手动加载模块:
如果 cfumass.ko 没有被编译到内核中,可以通过在 /boot/loader.conf 中设置来使其在启动时加载:
可以通过以下命令创建一个 LUN 而不需要 守护进程:
这将 /data/target0 的内容作为 LUN 提供给 USB 主机。该文件必须在执行命令之前存在。要在系统启动时配置 LUN,请将命令添加到 /etc/rc.local。
也可以用来管理 LUN。创建 /etc/ctl.conf 文件,向 /etc/rc.conf 中添加一行以确保 在启动时自动启动,然后启动该守护进程。
这是一个简单的 /etc/ctl.conf 配置文件的示例。有关选项的完整描述,请参考 。
此示例创建了一个带有单个 LUN 的目标。naa.50015178f369f092
是一个由 32 个随机十六进制数字组成的设备标识符。path
行定义了支持 LUN 的文件或 zvol 的完整路径。该文件必须在启动 之前存在。第二行是可选的,指定了 LUN 的大小。
要确保 守护进程在启动时启动,请在 /etc/rc.conf 中添加以下行:
要立即启动 守护进程,运行以下命令:
当 守护进程启动时,它会读取 /etc/ctl.conf 文件。如果此文件在守护进程启动后被编辑,请重新加载更改以立即生效: