如何将 ZFS 挂载点从旧版更改为由 ZFS 处理

如何将 ZFS 挂载点从旧版更改为由 ZFS 处理

目前在 ArchLinux 上使用 ZFS。我有两个最初使用旧安装点设置的数据集:

# zfs get mountpoint tank/data/home
NAME            PROPERTY    VALUE       SOURCE
tank/data/home  mountpoint  legacy      local
# zfs get mountpoint tank/data/home/kevdog
NAME                   PROPERTY    VALUE       SOURCE
tank/data/home/kevdog  mountpoint  legacy      local

我在 /etc/fstab 中有这些挂载点的相应条目

我想将这些挂载更改为由 zfs 而不是 mount 处理

我以 root 身份登录,然后执行以下操作:

umount /home/kevdog
umount /home
zfs set mountpoint=/home tank/data/home
zfs set mountpoint=/home/kevdog tank/data/home/kevdog

我继续注释掉这些安装的相应 fstab 条目

此时我重新启动系统,但遇到了问题,数据集tank/data/home/kevdog安装在/home/kevdog,但目录完全是空的。撤消我上面描述的操作(设置这些数据集管理的旧版)后,/home/kevdog 目录不再是空的。

只是想知道为什么这个过程不起作用。我是否必须再次导出/导入池才能使其工作?我是不是忘记做别的事了?

答案1

(…)但是目录完全是空的。

此时您必须检查数据集是否已安装。系统是否警告您非空挂载点

我是否必须再次导出/导入池才能使其工作?

可能你的描述对我来说不太清楚。


以下是我将旧版迁移到 ZFS 挂载点的方法,甚至/是 和/boot

  1. 在支持 ZFS 的另一个磁盘/系统上启动
  2. 出口遗产水池
  3. 再次导入,无需安装
  4. 设置挂载点,从父挂载点开始
  5. 删除fstab条目
  6. 出口池
  7. 重启

我的个人笔记与 Proxmox 安装有关。

相关内容