2.10. 临时固定策略


临时固定是一个子树的静态分区,可以使用扩展属性来设置策略。策略可以自动将临时固定到目录。当将临时固定设置为某个目录时,它会自动分配到一个特定等级,因为在所有 Ceph MDS 等级间统一分布。确定分配哪些等级由一致的哈希和目录的索引节点编号完成。当目录的内节点从文件系统缓存中丢弃时,临时固定不会保留。当 Ceph 元数据服务器(MDS)出现故障时,临时固定将记录在日志中,因此 Ceph MDS 备用服务器不会丢失此信息。使用临时固定的策略有两种:

注意

必须为临时固定策略安装 attrjq 软件包。

分布式
此策略强制所有目录的即时子对象都必须临时固定。例如,使用分布式策略将用户的主目录分散到整个 Ceph 文件系统集群中。通过设置 ceph.dir.pin.distributed 扩展属性来启用此策略。

语法

setfattr -n ceph.dir.pin.distributed -v 1 DIRECTORY_PATH

示例

[root@host01 mount]# setfattr -n ceph.dir.pin.distributed -v 1 dir1/

随机
此策略强制实施一个机会,任何子子目录都可能会被临时固定。您可以自定义可临时固定的目录百分比。通过设置 ceph.dir.pin.random 并设置百分比来启用此策略。红帽建议将此百分比设置为小于 1% 的值(0.01)。太多子树分区可能会导致性能下降。您可以通过设置 mds_export_ephemeral_random_max Ceph MDS 配置选项来设置最大百分比。已启用 mds_export_ephemeral_distributedmds_export_ephemeral_random 参数。

语法

setfattr -n ceph.dir.pin.random -v PERCENTAGE_IN_DECIMAL DIRECTORY_PATH

示例

[root@host01 mount]# setfattr -n ceph.dir.pin.random -v  0.01 dir1/

启用固定后,您可以通过运行以下命令来 验证

语法

getfattr -n ceph.dir.pin.random DIRECTORY_PATH
getfattr -n ceph.dir.pin.distributed DIRECTORY_PATH

示例

[root@host01 mount]# getfattr -n ceph.dir.pin.distributed dir1/
# file: dir1/
ceph.dir.pin.distributed="1"

[root@host01 mount]# getfattr -n ceph.dir.pin.random dir1/
# file: dir1/
ceph.dir.pin.random="0.01"

示例

[ceph: root@host01 /]# ceph tell mds.a get subtrees | jq '.[] | [.dir.path, .auth_first, .export_pin]'

如果目录已被固定,则 export_pin 的值为 0 (如果它固定到排名 0 ),1 (如果它固定到排名 1),以此类推。如果目录没有固定,则值为 -1

要删除 分区策略,请删除扩展属性或将值设为 0。

语法

 setfattr -n ceph.dir.pin.distributed -v 0 DIRECTORY_PATH

示例

[root@host01 mount]# setfattr -n ceph.dir.pin.distributed -v 0 dir1/

您可以通过 运行以下命令来验证。Syntax

getfattr -n ceph.dir.pin.distributed DIRECTORY_PATH

示例

[root@host01 mount]# getfattr -n ceph.dir.pin.distributed dir1/

对于导出固定,请删除扩展属性,或者将扩展属性设置为 -1

语法

setfattr -n ceph.dir.pin -v -1 DIRECTORY_PATH

示例

[root@host01 mount]# setfattr -n ceph.dir.pin -v -1 dir1/

其它资源

  • 有关手动设置固定的详细信息,请参阅 Red Hat Ceph Storage 文件系统指南中的手动固定目录树 部分。
Red Hat logoGithubRedditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

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

让开源更具包容性

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

關於紅帽

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

© 2024 Red Hat, Inc.