Zfs

以非 root 身份執行 ZFS

  • August 11, 2020

我在 VM 中執行 Debian 10(使用 KVM),我想以非 root 使用者身份使用 ZFS。這就是我所做的。

我將此行添加到我的 sources.list 文件

deb http://deb.debian.org/debian buster-backports main contrib non-free

這是我完整的 sources.list 文件

deb http://deb.debian.org/debian buster main contrib non-free
deb-src http://deb.debian.org/debian buster main contrib non-free

deb http://deb.debian.org/debian-security/ buster/updates main contrib non-free
deb-src http://deb.debian.org/debian-security/ buster/updates main contrib non-free

deb http://deb.debian.org/debian buster-updates main contrib non-free
deb-src http://deb.debian.org/debian buster-updates main contrib non-free

deb http://deb.debian.org/debian buster-backports main contrib non-free

我安裝了 ZFS

sudo apt install zfs-dkms zfsutils-linux -y

然後在安裝過程中出現以下錯誤

Failed to start Mount ZFS filesystems

我通過執行解決了我的問題

sudo /sbin/modprobe zfs
sudo apt upgrade -y

我將以下行添加到/etc/modules

zfs

有 2 個磁碟連接到我的虛擬機:

  • /dev/sdb
  • /dev/vda

我創建了一個池

sudo zpool create -f mypool mirror /dev/vda /dev/sdb

看我的zpool list

$ sudo zpool list
NAME     SIZE  ALLOC   FREE  EXPANDSZ   FRAG    CAP  DEDUP  HEALTH  ALTROOT
mypool  9.94G   291K  9.94G         -     0%     0%  1.00x  ONLINE  -

和我的zpool status

$ sudo zpool status
 pool: mypool
state: ONLINE
 scan: none requested
config:

   NAME        STATE     READ WRITE CKSUM
   mypool      ONLINE       0     0     0
     mirror-0  ONLINE       0     0     0
       vda     ONLINE       0     0     0
       sdb     ONLINE       0     0     0

errors: No known data errors

然後我嘗試委派 ZFS 權限。所以我添加了一個新使用者:

sudo adduser zfsuser

我更改了權限/mypool/

sudo chown zfsuser:zfsuser /mypool -R
sudo chmod u+rwx /mypool -R
sudo chmod go-rwx /mypool -R

然後我給了權限

sudo zfs allow -u zfsuser create,destroy,mount mypool

這是結果zfs allow mypool

$ sudo zfs allow mypool
---- Permissions on mypool -------------------------------------------
Local+Descendent permissions:
   user zfsuser create,destroy,mount

但是當我登錄為zfsuser

su zfsuser

即使我在上一個命令中授予權限,使用者也無法掛載

$ /sbin/zfs create mypool/test
filesystem successfully created, but it may only be mounted by root

我錯過了什麼?我應該編輯我的 fstab 文件以允許 zfsuser 掛載嗎?我該怎麼做?

謝謝

請參閱“Linux #10648 下無法以非 root 身份掛載的可能解決方法”

zfs create並且zfs clone現在無法工作。

引用自:https://serverfault.com/questions/994287