FreeBSD 中的 ZFS 支持

在 FreeBSD 中安装 OpenZFS
OpenZFS 已经以预打包形式分发:
zfs-2.0-release 分支,从 FreeBSD 13.0-CURRENT 开始内置在 FreeBSD 基本系统中
master 分支,从 FreeBSD 12.1 开始在 FreeBSD Ports 中提供,路径为
sysutils/openzfs和sysutils/openzfs-kmod
接下来的文档将说明如何使用 OpenZFS,无论是通过 Ports/pkg 安装,还是从源码手动构建用于开发。
ZFS 工具将安装在 /usr/local/sbin/,请确保相应地调整你的路径。
要在启动时加载模块,请在 /boot/loader.conf 中加入 openzfs_load="YES",如果是迁移已有 ZFS 系统,请删除 zfs_load="YES"。
注意
FreeBSD 引导加载程序不支持从启用加密的根存储池中启动(即使加密本身未启用),因此不要尝试在启动存储池上使用加密。
在 FreeBSD 上开发 OpenZFS
构建 FreeBSD 上的 OpenZFS 需要以下依赖:
FreeBSD 源码,位于
/usr/src或通过环境变量SYSDIR来指定的其他路径。如果尚未安装源码,可通过 git 来安装:FreeBSD 12 源码:
FreeBSD-CURRENT 源码:
构建所需软件包:
可选构建软件包:
测试与检查软件包:
你可以替换为首选的 Python 版本。运行测试的用户必须拥有 NOPASSWD 的 sudo 权限。
构建与安装方法:
要在 FreeBSD 启动时加载 OpenZFS 内核模块,请编辑 /boot/loader.conf:
将以下行:
替换为:
FreeBSD 自带的 ZFS 二进制文件安装在 /sbin,通过 Ports/pkg 或手动源码安装的 OpenZFS 二进制文件安装在 /usr/local/sbin。要使用 OpenZFS 二进制文件,请将 /usr/local/sbin 放在 /sbin 之前,否则系统将使用原生的 ZFS 二进制文件。
例如,将 ~/.profile、~/.bashrc、~/.cshrc 中的 PATH 从:
修改为:
在快速开发环境中,使用 UFS 进行安装而非 ZFS 可能更方便,这样可以在无需重启的情况下卸载或加载 ZFS 模块:
虽非必需,但在 FreeBSD 构建中使用选项 WITHOUT_ZFS 可以避免构建和安装基本系统中内置的 ZFS 工具及 kmod——参见 src.conf(5)。
某些测试需要在 /dev/fd 挂载 fdescfs,可临时执行:
或者在 /etc/fstab 中添加条目:
最后更新于