如何挂载 ZFS 池?

btz*_*tzs 42 mount zfs

很抱歉向 Ubuntu 提问,但我希望这里有人对此有一些经验。

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

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

sudo zpool import data
Run Code Online (Sandbox Code Playgroud)

我的 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
Run Code Online (Sandbox Code Playgroud)

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

Bru*_*ira 33

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

在此处输入图片说明

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

sudo zfs set mountpoint=/foo_mount data
Run Code Online (Sandbox Code Playgroud)

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

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

sudo chown -R user:user /foo_mount
Run Code Online (Sandbox Code Playgroud)

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


小智 15

我也有类似的问题,也的确canmounton,但池+数据集并没有在启动安装,也不要去在线等当

在游泳池之后zpool import,我的解决方案zpool online是:

  1. zfs mount poolname

  2. zfs mount poolname/datasetname

是的,zfs而不是zpool使用 poolname 和 poolname/datasetname。

希望这有助于某人。