当前位置: 首页>>技术教程>>正文


如何挂载 ZFS 池?

,

问题描述

很抱歉问了一个关于 Ubuntu 的问题,但我希望这里有人对此有一些经验。

我必须在 Ubuntu 上挂载我用 freenas8 创建的 zfs 池。我按照 here 的描述进行了尝试。

我能够毫无错误地运行该命令:

sudo zpool import data

我的 zpool 的状态是这样的:

user@server:~$ sudo zpool status
  pool: data
 state: ONLINE
status: The pool is formatted using an older on-disk format.  The pool can
        still be used, but some features are unavailable.
action: Upgrade the pool using 'zpool upgrade'.  Once this is done, the
        pool will no longer be accessible on older software versions.
 scan: none requested
config:

        NAME        STATE     READ WRITE CKSUM
        data        ONLINE       0     0     0
          sda2      ONLINE       0     0     0
          sdb2      ONLINE       0     0     0

errors: No known data errors

所以对我来说看起来不错。但是,我不知道如何访问游泳池。在我看来,我必须安装它,但我不知道如何安装。

最佳办法

如果您运行命令 sudo zfs get all 它应该列出当前 zfs 池和文件系统的所有属性。如果设置正确,这些属性之一应该是 mountpoint=。

Zfs 将自动挂载池,除非您使用旧版挂载,否则 mountpoint 会告诉 zfs 默认情况下应将池挂载到系统中的哪个位置。如果未设置,您可以使用

sudo zfs set mountpoint=/foo_mount data

这将使 zfs 将您的数据池安装到您选择的指定 foo_mount 点。

完成后,由于 root 拥有挂载点,您可以更改挂载的所有者

sudo chown -R user:user /foo_mount

这将使用户用户和组用户拥有挂载点及其内部的所有内容,调整命令以将正确的用户:组权限分配给挂载点。

次佳办法

我遇到了类似的问题,实际上,canmounton,但是池+数据集没有在启动时挂载,也没有在上线时挂载,等等。

zpool importzpool online 池之后,我的解决方案是:

  1. zfs mount poolname

  2. zfs mount poolname/datasetname

是的,zfs 而不是 zpool 与池名,然后是池名/数据集名。

希望这对某人有所帮助。

参考资料

本文由Ubuntu问答整理, 博文地址: https://ubuntuqa.com/article/12658.html,未经允许,请勿转载。