4.7. 使用 Ceph 文件系统配额


作为存储管理员,您可以查看、设置和删除文件系统中任何目录的配额。您可以在 目录中对字节数或文件数施加配额限制。

4.7.1. 先决条件

  • 确保已安装了 attr 软件包。

4.7.2. Ceph 文件系统配额

Ceph 文件系统 (CephFS) 配额允许您限制存储在目录结构中的字节数或文件数。

限制

  • CephFS 配额依赖于客户端挂载文件系统,从而在达到配置的限制时停止写入数据。但是,仅使用配额并不能阻止对立的、不受信任的客户端填充文件系统。
  • 当向文件系统写入数据的进程达到配置的限制后,在数据量达到配额限制和进程停止写入数据之间相隔短暂的时间。时间段通常以秒为单位测量。但是,在该时间内,进程会继续写入数据。进程写入的额外数据量取决于进程停止前经过的时间量。
  • 在以前的版本中,配额只支持用户空间 FUSE 客户端。对于 Linux 内核版本 4.17 或更高版本,CephFS 内核客户端支持针对 Ceph 模拟或更新集群的配额。Red Hat Enterprise Linux 8 和 Red Hat Ceph Storage 4 分别满足了这些版本要求。用户空间 FUSE 客户端可用于较旧、较新的操作系统和集群版本。FUSE 客户端由 ceph-fuse 软件包提供。
  • 在使用基于路径的访问限制时,请确保在限制客户端的目录或嵌套在它下的目录上配置配额。如果客户端的访问权限受限于基于 MDS 能力的特定路径,并且配额是在客户端无法访问的上级目录中配置的,则客户端不会强制实施配额。例如,如果客户端无法访问 /home/ 目录,且在 /home/ 上配置了配额,客户端就无法强制设置目录 /home/user/ 目录的配额。
  • 已删除或更改的快照文件数据不会计算配额数。

4.7.3. 查看配额

使用 getfattr 命令和 ceph.quota 扩展属性来查看目录的配额设置。

注意

如果属性出现在目录索引节点中,则该目录具有配置的配额。如果索引节点中未显示这些属性,则该目录没有设置配额,尽管其父目录可能已配置了配额。如果扩展属性的值为 0,则不设置配额。

先决条件

  • 确保已安装了 attr 软件包。

流程

  1. 查看 CephFS 配额:

    1. 使用字节限制配额:

      语法

      getfattr -n ceph.quota.max_bytes DIRECTORY

      示例

      [root@fs ~]# getfattr -n ceph.quota.max_bytes /cephfs/

    2. 使用 file-limit 配额:

      语法

      getfattr -n ceph.quota.max_files DIRECTORY

      示例

      [root@fs ~]# getfattr -n ceph.quota.max_files /cephfs/

其它资源

  • 如需更多信息,请参阅 getfattr(1) 手册页。

4.7.4. 设置配额

本节介绍如何使用 setfattr 命令和 ceph.quota 扩展属性为目录设置配额。

先决条件

  • 确保已安装了 attr 软件包。

流程

  1. 设置 CephFS 配额的步骤:

    1. 使用字节限制配额:

      语法

      setfattr -n ceph.quota.max_bytes -v 100000000 /some/dir

      示例

      [root@fs ~]# setfattr -n ceph.quota.max_bytes -v 100000000 /cephfs/

      在本例中,100000000 字节等于 100 MB。

    2. 使用 file-limit 配额:

      语法

      setfattr -n ceph.quota.max_files -v 10000 /some/dir

      示例

      [root@fs ~]# setfattr -n ceph.quota.max_files -v 10000 /cephfs/

      在本例中,10000 等于 10,000 个文件。

其它资源

  • 如需更多信息,请参阅 setfattr(1) 手册页。

4.7.5. 删除配额

本节介绍如何使用 setfattr 命令和 ceph.quota 扩展属性从目录中移除配额。

先决条件

  • 确保已安装了 attr 软件包。

流程

  1. 移除 CephFS 配额:

    1. 使用字节限制配额:

      语法

      setfattr -n ceph.quota.max_bytes -v 0 DIRECTORY

      示例

      [root@fs ~]# setfattr -n ceph.quota.max_bytes -v 0 /cephfs/

    2. 使用 file-limit 配额:

      语法

      setfattr -n ceph.quota.max_files -v 0 DIRECTORY

      示例

      [root@fs ~]# setfattr -n ceph.quota.max_files -v 0 /cephfs/

其它资源

  • 如需更多信息,请参阅 setfattr(1) 手册页。

4.7.6. 其它资源

  • 如需更多信息,请参阅 getfattr(1) 手册页。
  • 如需更多信息,请参阅 setfattr(1) 手册页。
Red Hat logoGithubRedditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

© 2024 Red Hat, Inc.