在我最近设置的机器上,我使用 Linux Mint (LMDE 6) 下的 ZFS 创建存储池并使用 ZFS 文件系统。具体存储设置是四个 1 TB 硬盘,排列成 RAID-Z2 拓扑。操作系统本身安装在单独的 SSD 驱动器上的 ext4 分区中,而分区由安装程序完成。我已将 \home 目录移动到 ZFS 池,方法是
- 将其内容复制到名为 zpool\home 的数据集
- 删除根文件系统上的原始 \home 目录
- 在根文件系统上为数据集创建挂载点
zfs set mountpoint="\home" zpool\home
将 \home 目录移动到 zpool 没有任何问题。
现在我正在构建文件系统,例如创建数据集、设置压缩、快照等。说到挂载点,我很清楚任何数据集及其子集都可以挂载到 Linux 文件系统中的任何位置。我的问题是,尝试将数据集挂载到新 \home 目录中的位置时是否会出现任何问题。例如:
zfs create zpool\very-important-documents
zfs set mountpoint="\home\user\very-important-documents" zpool\very-important-documents
将数据集的挂载点设置为数据集内的目录中的位置是否被认为是不好的做法?如果是,可能出现哪些具体问题?直接在根文件系统中设置挂载点会更好吗?
ZFS 是一个功能强大的文件系统,有很多值得探索的地方。是的,您可以将 ZFS 文件系统挂载到任何有效的挂载点。
我个人会保持 /home 非常简单。
考虑一种更安全的实验方法:
您无需重构实际的主目录,而是考虑创建一个单独的测试数据集树,您可以在其中自由地进行实验:
这为您提供了一个安全的游乐场:
在您学习期间,您的生产数据(如 /home)可以保持简单、可靠的配置。最糟糕的情况是破坏并重新创建您的沙盒数据集。
对于您的实际主目录设置,请遵循基本设置:
这为您提供了所有核心 ZFS 优势(快照、压缩、配额),而不会危及您的日常工作环境。