我将整个 zfs 根 (zroot) 数据集从笔记本电脑备份到工作站。备份数据集获取了笔记本电脑中的所有挂载点。
tank/backup 91.4G 8.50T 192K /tank/backup
tank/backup/dell 91.4G 8.50T 192K none
tank/backup/dell/ROOT 28.3G 8.50T 192K none
tank/backup/dell/ROOT/manjaro 28.3G 8.50T 192K none
tank/backup/dell/ROOT/manjaro/boot 119M 8.50T 11.1M /boot
tank/backup/dell/ROOT/manjaro/paccache 5.88G 8.50T 5.88G /var/cache/pacman
tank/backup/dell/ROOT/manjaro/root 17.7G 8.50T 8.67G /
tank/backup/dell/ROOT/manjaro/tmp 53.5M 8.50T 53.5M /tmp
tank/backup/dell/ROOT/manjaro/var 4.58G 8.50T 192K none
tank/backup/dell/ROOT/manjaro/var/cache 6.88M 8.50T 6.88M /var/cache
tank/backup/dell/ROOT/manjaro/var/lib 4.57G 8.50T 192K none
tank/backup/dell/ROOT/manjaro/var/lib/docker 4.57G 8.50T 148M /var/lib/docker
...
显然我不想挂载tank/backup/dell/ROOT/manjaro/var/lib/docker
在/var/lib/docker
等等。我想重写所有挂载的/
路径或类似的东西。tank/backup/dell
/mnt/backup/dell
我知道这对于整个 zpool 来说是可能的zpool import -R /mnt
。是否有类似的功能可以重写数据集挂载点?
我当然不是第一个这样做的人。有没有关于如何在像这样的远程主机上访问完整系统快照的最佳实践解决方案?
答案1
唯一的方法是使用 3 行 shell 脚本循环明确更改所有文件系统的挂载点zfs set mountpoint=...