其他分享
首页 > 其他分享> > Ceph Mimic版本设置CephFS配额

Ceph Mimic版本设置CephFS配额

作者:互联网

CephFS 允许在系统中的任何目录上设置配额。配额可以限制字节数或目录层次结构中该点下存储的文件数。

限制

  1. 配额是合作的和非对抗性的。CephFS 配额依赖于挂载文件系统的客户端的合作,以在达到限制时停止写入程序。无法阻止已修改或对抗性客户端写入所需的尽可能多的数据。不应依赖配额来防止在客户端完全不受信任的环境中填充系统。

  2. 配额不精确。达到配额限制后,正在写入文件系统的进程将在短时间内停止。他们将不可避免地被允许写入超过配置限制的一些数据量。他们能够超过配额多远主要取决于时间量,而不是数据量。一般来说,写入器将在超过配置限制的 10 秒内停止。

  3. 配额在内核客户端 4.17 及更高版本中实现。 用户空间客户端(libcephfs、ceph-fuse)支持配额。Linux 内核客户端 >= 4.17 支持 CephFS 配额,但仅限于模拟+集群。内核客户端(甚至是最新版本)将无法处理旧集群上的配额,即使它们可能能够设置配额扩展属性。

  4. 与基于路径的挂载限制一起使用时,必须仔细配置配额。客户端需要访问配置了配额的目录 inode 才能强制执行。如果客户端基于 MDS 能力限制了对特定路径的访问(例如,/home/user),并且在他们无权访问的祖先目录(例如,/home)上配置了配额,则客户端不会强制执行它。当使用基于路径的访问限制时,请务必在客户端也被限制的目录(例如,/home/user)或嵌套在它下面的东西上配置配额。

配置

像 CephFS 中的大多数其他东西一样,配额是使用虚拟扩展属性配置的:

  • ceph.quota.max_files– 文件限制

  • ceph.quota.max_bytes– 字节限制

如果属性出现在目录 inode 上,则表示在那里配置了配额。如果它们不存在,则不会在该目录上设置配额(尽管仍可能在父目录上配置配额)。

设置配额:

setfattr -n ceph.quota.max_bytes -v 100000000 /some/dir     # 100 MB
setfattr -n ceph.quota.max_files -v 10000 /some/dir         # 10,000 files

查看配额设置:

getfattr -n ceph.quota.max_bytes /some/dir
getfattr -n ceph.quota.max_files /some/dir

请注意,如果扩展属性的值是0,则表示未设置配额。

要删除配额:

setfattr -n ceph.quota.max_bytes -v 0 /some/dir
setfattr -n ceph.quota.max_files -v 0 /some/dir

标签:ceph,max,quota,Ceph,Mimic,配额,CephFS,dir,客户端
来源: https://www.cnblogs.com/varden/p/16275111.html