启用btrfs配额如何影响系统?


9

我经常使用btrfs快照,而我感兴趣的事情之一是给定快照占用了多少空间,或者更具体地说,是btrfs快照占用了多少独占数据,以便知道是否删除快照,我将释放多少空间。

我知道找出此信息的唯一方法是通过启用btrfs配额

# btrfs quota enable /

并运行

# btrfs qgroup show /

这是非常有效的。问题是-除此以外,我实际上没有使用btrfs配额,这意味着我可以选择始终启用btrfs配额,或者在运行“ btrfs qgroup show /”命令之前临时启用它们,然后立即禁用它们。另外,我最后听说btrfs配额仍处于试验阶段(我错了吗?)。

基本上我想知道的是:

  1. 保持启用btrfs配额是否会影响系统稳定性?
  2. 保持启用btrfs配额是否会影响系统性能?

我意识到“为了安全”的答案是仅在需要时启用配额,但实际上我正在制作一个脚本,该脚本运行“ btrfs qgroup show /”并以更易读的形式打印输出,并添加代码始终启用和禁用配额会大大降低脚本的速度,并增加复杂性,因此我宁愿始终启用配额,但是我不知道它是否有缺点。


我无法真正回答这些影响,但是有两条评论:(1)上次我使用Btrfs配额(可能在Linux 3.15左右?)存在导致其计算负使用率的错误,以及(2)启用了配额始终比一遍又一遍地打开和关闭它们更好(更快,更稳定)。
Celada

注意:目前,btrfs仍不认为是生产级文件系统。因此,我不会在此类文件系统上存储任何重要信息。
mdpc

Answers:


4

我在个人NAS上运行use btrfs。这是一个3.7T文件系统,具有一千多个快照。我使用快照将备份同步到外部驱动器。就我的用例而言,启用配额会对系统稳定性和性能产生不利影响。在进行配额计算时,BTRFS事务可能会停滞数小时。这会导致任何与该文件系统相关的进程都在不间断的磁盘睡眠中挂起。在配额计算完成之前,甚至lsdf将挂起并变得不可杀死。

我认为如果我使用更少的快照,我将不会遇到此问题。对于某些人的工作负载,配额似乎确实可以忍受良好的性能,但不是我的。


恕我直言:永远不会在PROD上打开配额。请注意自动执行此操作的工具,例如btrfs-du
Markus Strauss
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.