为什么我增加 ZFS 共享的配额时可用空间没有增加?

为什么我增加 ZFS 共享的配额时可用空间没有增加?

我对 ZFS 不太熟悉,需要增加 FreeNAS 上 ZFS 共享的大小。当我这样做时,zpool list我看到我们有 2 个 ZFS 池:

NAME           SIZE  ALLOC   FREE  EXPANDSZ   FRAG    CAP  DEDUP  HEALTH  ALTROOT
Volume1       1.98T  1.00T  1003G         -    26%    50%  1.00x  ONLINE  /mnt
Volume2       1.98T   140G  1.85T         -     2%     6%  1.00x  ONLINE  /mnt

我想要增加大小的共享是Volume1名为的目录releases(应该从 100G 增加到 150G)

[root@axxfile] ~# zfs list | grep releases
Volume1/releases                                           100G   280K   100G  /mnt/Volume1/releases

[root@axxfile] ~# zfs get quota Volume1/releases
NAME              PROPERTY  VALUE  SOURCE
Volume1/releases  quota     100G   local

为了增加尺寸,我做了以下操作:zfs set quota=150 Volume1/releases结果是:

[root@axxfile] ~# zfs list | grep releases
Volume1/releases                                           100G   280K   100G  /mnt/Volume1/releases

[root@axxfile] ~# zfs get quota Volume1/releases
NAME              PROPERTY  VALUE  SOURCE
Volume1/releases  quota     150G   local

由于某种原因,配额从 100G 增加到 150G,但“可用空间”仍然是 100G。在向 Google 寻求解决方案后,我发现我增加了 ZFS 共享,但操作系统不知道这一点,所以我需要用类似

[root@axxfile] ~# growfs -M /mnt/Volume1/releases/ Volume1/releases
growfs: illegal option -- M
usage: growfs [-Ny] [-s size] special | filesystem

如您所见,由于不是有效属性,因此此方法无效-M。我尝试继续谷歌搜索,但无法找到解决方案。也许有人可以帮助我解释我做错了什么或我错过了哪个步骤?

也许值得一提的是,我们使用的是旧版 FreeNAS(9.3)。计划在不久的将来进行更新,但目前我们还无法做到。

============== 更新 1 ============ @迈克尔·汉普顿

我注意到 refquota 仍然是 100G,我猜这就是问题所在?

[root@axxfile] ~# zfs get quota,reservation,refquota,refreservation Volume1/releases
NAME              PROPERTY        VALUE      SOURCE
Volume1/releases  quota           150G       local
Volume1/releases  reservation     none       local
Volume1/releases  refquota        100G       local
Volume1/releases  refreservation  none       local

[root@axxfile] ~# zfs get -r reservation,refreservation -t filesystem,volume Volume1
cannot open '-t': dataset does not exist
cannot open 'filesystem,volume': invalid dataset name
NAME                                              PROPERTY        VALUE      SOURCE
Volume1                                           reservation     none       local
Volume1                                           refreservation  none       local
Volume1/VM                                        reservation     none       local
Volume1/VM                                        refreservation  none       local
Volume1/ab                                        reservation     none       local
Volume1/ab                                        refreservation  none       local
Volume1/backup                                    reservation     none       default
Volume1/backup                                    refreservation  none       default
Volume1/backup/cloneimages                        reservation     none       local
Volume1/backup/cloneimages                        refreservation  none       local
Volume1/backup/sicherungen                        reservation     none       local
Volume1/backup/sicherungen                        refreservation  none       local
Volume1/backup/switch                             reservation     none       default
Volume1/backup/switch                             refreservation  none       default
Volume1/jails                                     reservation     none       default
Volume1/jails                                     refreservation  none       default
Volume1/mailserver                                reservation     none       local
Volume1/mailserver                                refreservation  none       local
Volume1/releases                                  reservation     none       local
Volume1/releases                                  refreservation  none       local

答案1

回复后,@Michael Hampton我注意到还refquota为共享(数据集)设置了。在我更改了之后,refquota问题zfs set refquota=150G Volume1/releases就解决了。

quota这很好地解释了和之间的区别refquota

配额限制数据集及其所有子数据集和快照的总体大小,而 refquota 仅适用于该数据集内直接引用的数据。

如果您将数据集委托给其他用户(并允许在该用户下创建其他数据集),或者想要限制给定数据集的总体大小,配额将非常有用。例如,多用户文件服务器的 /home 目录可以限制为 10TB,这将确保所有用户主数据集和所述数据集的快照的总和不能超过 10TB。

如果您的用户倾向于超载特定数据集,那么 Refquota 会很有帮助。在上面的例子中,每个用户的主目录可能被限制为 100GB 配额和 50GB refquota。这意味着他们的主目录可以包含 50GB 的数据,但实时数据集和所有快照的总和不能超过 100GB。

来源:配额和重新配额之间的区别

相关内容