btrfs 是否支持每个用户配额?

btrfs 是否支持每个用户配额?

如果我将 /home/... 文件夹移动到 btrfs 分区,我还能启用每个用户配额吗?也就是说,每个用户应该能够使用有限的存储空间。

答案1

btrfs 是否支持每个用户配额?

不,不是的。

如果我将 /home/... 文件夹移动到 btrfs 分区,我还能启用每个用户配额吗?也就是说,每个用户应该能够使用有限的存储空间。

是的,诀窍是为每个家庭使用一个子卷。

Btrfs 支持子卷配额自 Linux 内核 3.6 以来

注意Ubuntu Precise 有 3.2,Quantal 有 3.5,Raring 有 3.8,请注意,你可以安装愤怒硬件支持堆栈在 Precise 上,拥有更新的内核。

有关启用配额的说明,请参阅 Btrfs FAQ,“我们如何在 BTRFS 中实现配额?“。之后创建的子卷btrfs quota enable自动支持配额。之前创建的子卷btrfs quota enable需要手动干预才能支持配额。

  1. 挂载 btrfs 文件系统
  2. 启用配额:btrfs quota enable mountpoint
  3. (如果文件系统已包含子卷,请启用其配额支持:)
    • 使用 列出子卷 ID btrfs subvolume list。后面的数字ID(在每行的开头)是子卷的 ID。
    • 创建一个 qgroup btrfs qgroup create 0/subvolume-id path-to-subvolume(不要忘记subvolume-id用正确的 id 替换)
    • 重新扫描子卷,因为配额设置已被更改:btrfs quota rescan
  4. 创建您需要的新子卷:btrfs subvolume create mountpoint/subvolume-name
  5. 限制子卷的使用:btrfs qgroup limit 100G path-to-subvolume
  6. 利润。

最后,设置/etc/fstab在启动时自动挂载子卷:

UUID=文件系统的 uuid /home/mountpoint btrfs 默认值,subvolid=子卷 id 0 0

或者,您可以使用LABEL=label/dev/sdxn引用 btrfs 文件系统。

要应用更改fstab而不重新启动:mount -a

答案2

不,Btrfs 不支持用户配额,它支持目录配额。因此,您可以为每个用户目录添加配额,但如果您与多个用户/组共享目录,则无法为每个用户单独设置/计算空间。

因此,您无法限制用户 X 只能放入 1MB 的文件/home/shared,而另一个用户 Y 只能放入 10MB 的文件。但您可以为和/home/shared设置不同的限制。/home/userX/home/userY

这不是用户配额,而是子卷配额。您可以将多个子卷置于单一限制内(例如,用户拥有/home/userX//backups/userX/然后两者都可以处于单一限制之下。

相关内容