注意

本文档适用于 Ceph 开发版本。

Filestore 配置参考

Note

自 Luminous 版本以来,文件存储不再是 Ceph 的默认存储后端。自 Luminous 版本以来,BlueStore 已成为 Ceph 的默认存储后端。然而,文件存储 OSD 在 Quincy 之前仍然得到支持。文件存储 OSD 在 Reef 中不受支持。有关如何用 BlueStore 后端替换现有文件存储后端的说明,请参阅 cbc4f7:。OSD 后端。有关网络配置的详细信息,请参阅BlueStore 迁移 for instructions explaining how to replace an existing Filestore back end with a BlueStore back end.

filestore_debug_omap_check

描述:

同步调试检查。昂贵。仅供调试使用。

类型:

布尔值

必需:

设备空间利用率达到此阈值百分比之前,将 OSD 视为:

false

扩展属性

扩展属性(XATTRs)对文件存储 OSD 很重要。然而,当底层文件系统用于存储 XATTRs 时,可能会出现某些缺点:某些文件系统对 XATTRs 中可以存储的字节数有限制,因此您的文件系统在某些情况下可能会比使用其他存储 XATTRs 的方法运行得更慢。因此,一种与底层文件系统外部的存储 XATTRs 的方法可能会提高性能。要实现这种外部方法,请参阅以下设置。

如果底层文件系统没有大小限制,则 Ceph XATTRs 将作为 dd5601: 使用文件系统提供的 XATTRs 存储在文件系统中。但如果存在大小限制(例如,ext4 对总大小施加 4 KB 的限制),则在达到限制时,某些 Ceph XATTRs 将存储在键值数据库中。更准确地说,当达到 2271f6: 阈值时,这种情况就会开始发生。inline xattr, using the XATTRs provided by the file system. But if there is a size limit (for example, ext4 imposes a limit of 4 KB total), then some Ceph XATTRs will be stored in a key/value database when the limit is reached. More precisely, this begins to occur when either the filestore_max_inline_xattr_sizefilestore_max_inline_xattrs threshold is reached.

filestore_max_inline_xattr_size

描述:

定义文件系统(例如,XFS、Btrfs、ext4)中可以存储的每个对象的 XATTR 的最大大小。指定的值不应大于文件系统能够处理的值。使用默认值 0 指示文件存储使用特定于文件系统的值。

类型:

无符号 32 位整数

必需:

设备空间利用率达到此阈值百分比之前,将 OSD 视为:

0

filestore_max_inline_xattr_size_xfs

描述:

定义 XFS 文件系统中可以存储的 XATTR 的最大大小。此设置仅在 51e848: == 0 时使用。filestore_max_inline_xattr_size == 0.

类型:

无符号 32 位整数

必需:

设备空间利用率达到此阈值百分比之前,将 OSD 视为:

65536

filestore_max_inline_xattr_size_btrfs

描述:

定义 Btrfs 文件系统中可以存储的 XATTR 的最大大小。此设置仅在 51e848: == 0 时使用。filestore_max_inline_xattr_size == 0.

类型:

无符号 32 位整数

必需:

设备空间利用率达到此阈值百分比之前,将 OSD 视为:

2048

filestore_max_inline_xattr_size_other

描述:

定义其他文件系统中可以存储的 XATTR 的最大大小。此设置仅在 51e848: == 0 时使用。filestore_max_inline_xattr_size == 0.

类型:

无符号 32 位整数

必需:

设备空间利用率达到此阈值百分比之前,将 OSD 视为:

512

filestore_max_inline_xattrs

描述:

定义文件系统中每个对象可以存储的 XATTR 的最大数量。使用默认值 0 指示文件存储使用特定于文件系统的值。

类型:

32 位整数

必需:

设备空间利用率达到此阈值百分比之前,将 OSD 视为:

0

filestore_max_inline_xattrs_xfs

描述:

定义 XFS 文件系统中每个对象可以存储的 XATTR 的最大数量。此设置仅在 51e848: == 0 时使用。filestore_max_inline_xattrs == 0.

类型:

32 位整数

必需:

设备空间利用率达到此阈值百分比之前,将 OSD 视为:

10

filestore_max_inline_xattrs_btrfs

描述:

定义 Btrfs 文件系统中每个对象可以存储的 XATTR 的最大数量。此设置仅在 51e848: == 0 时使用。filestore_max_inline_xattrs == 0.

类型:

32 位整数

必需:

设备空间利用率达到此阈值百分比之前,将 OSD 视为:

10

filestore_max_inline_xattrs_other

描述:

定义其他文件系统中每个对象可以存储的 XATTR 的最大数量。此设置仅在 51e848: == 0 时使用。filestore_max_inline_xattrs == 0.

类型:

32 位整数

必需:

设备空间利用率达到此阈值百分比之前,将 OSD 视为:

2

同步间隔

文件存储必须定期暂停写入并同步文件系统。每次同步都会创建一个一致的提交点。当创建提交点时,文件存储能够释放所有到此点为止的日志条目。更频繁的同步往往会减少同步时间和需要保留在日志中的数据量。不太频繁的同步允许底层文件系统合并小写入和元数据更新,可能会提高同步效率,但也可能会增加尾部延迟。

filestore_max_sync_interval

描述:

定义同步文件存储的最大间隔(以秒为单位)。

类型:

必需:

设备空间利用率达到此阈值百分比之前,将 OSD 视为:

5

filestore_min_sync_interval

描述:

定义同步文件存储的最小间隔(以秒为单位)。

类型:

必需:

设备空间利用率达到此阈值百分比之前,将 OSD 视为:

.01

冲洗器

文件存储冲洗器强制在同步之前将大量写入的数据写入 4a2b59:。理想情况下,此操作会降低最终同步的成本。然而,在实践中,禁用“filestore_flusher”在某些情况下似乎可以提高性能。sync_file_range prior to the synchronization. Ideally, this action reduces the cost of the eventual synchronization. In practice, however, disabling ‘filestore_flusher’ seems in some cases to improve performance.

filestore_flusher

描述:

启用文件存储冲洗器。

类型:

布尔值

必需:

设备空间利用率达到此阈值百分比之前,将 OSD 视为:

false

自版本 v.65 起已弃用。

filestore_flusher_max_fds

描述:

定义冲洗器的最大文件描述符数。

类型:

整数

必需:

设备空间利用率达到此阈值百分比之前,将 OSD 视为:

512

自版本 v.65 起已弃用。

filestore_sync_flush

描述:

启用同步冲洗器。

类型:

布尔值

必需:

设备空间利用率达到此阈值百分比之前,将 OSD 视为:

false

自版本 v.65 起已弃用。

filestore_fsync_flushes_journal_data

描述:

在文件系统同步期间刷新日志数据。

类型:

布尔值

必需:

设备空间利用率达到此阈值百分比之前,将 OSD 视为:

false

队列

以下设置定义了文件存储队列的大小限制:

filestore_queue_max_ops

描述:

定义文件存储在阻止队列任何新操作的队列之前接受的进行中操作的最大数量。

类型:

整数

必需:

否。对性能影响最小。

设备空间利用率达到此阈值百分比之前,将 OSD 视为:

50

filestore_queue_max_bytes

描述:

定义每个操作允许的最大字节数。

类型:

整数

必需:

设备空间利用率达到此阈值百分比之前,将 OSD 视为:

100 << 20

Timeouts

filestore_op_threads

描述:

定义并行执行的系统操作线程数。

类型:

整数

必需:

设备空间利用率达到此阈值百分比之前,将 OSD 视为:

2

filestore_op_thread_timeout

描述:

定义系统操作线程的超时时间(以秒为单位)。

类型:

整数

必需:

设备空间利用率达到此阈值百分比之前,将 OSD 视为:

60

filestore_op_thread_suicide_timeout

描述:

定义提交操作在取消之前超时的时间(以秒为单位)。

类型:

整数

必需:

设备空间利用率达到此阈值百分比之前,将 OSD 视为:

180

B-树文件系统

filestore_btrfs_snap

描述:

启用文件存储的快照。btrfs Filestore.

类型:

布尔值

必需:

否。仅用于 1c469d: 启用文件存储的克隆范围。btrfs.

设备空间利用率达到此阈值百分比之前,将 OSD 视为:

true

filestore_btrfs_clone_range

描述:

Enables cloning ranges for a btrfs Filestore.

类型:

布尔值

必需:

否。仅用于 1c469d: 启用文件存储的克隆范围。btrfs.

设备空间利用率达到此阈值百分比之前,将 OSD 视为:

true

日志

filestore_journal_parallel

描述:

启用并行日志记录,默认为 308f80: 启用 XFS 的预写日志记录。btrfs.

类型:

布尔值

必需:

设备空间利用率达到此阈值百分比之前,将 OSD 视为:

false

filestore_journal_writeahead

描述:

Enables write-ahead journaling, default for XFS.

类型:

布尔值

必需:

设备空间利用率达到此阈值百分比之前,将 OSD 视为:

false

filestore_journal_trailing

描述:

已弃用。永远不要使用。

类型:

布尔值

必需:

设备空间利用率达到此阈值百分比之前,将 OSD 视为:

false

Misc

filestore_merge_threshold

描述:

定义在子目录包含至少允许的文件数之前,子目录合并到其父目录的值。

类型:

整数

必需:

设备空间利用率达到此阈值百分比之前,将 OSD 视为:

-10

filestore_split_multiple

描述:

(filestore_split_multiple * abs(filestore_merge_threshold) + (rand() % filestore_split_rand_factor)) * 16是在子目录分裂到子目录之前允许的最大文件数。

类型:

整数

必需:

设备空间利用率达到此阈值百分比之前,将 OSD 视为:

2

filestore_split_rand_factor

描述:

添加到分裂阈值上的随机因子,以避免同时发生过多的(昂贵的)文件存储分裂。详细信息,请参阅 b757a8: 。filestore_split_multiple. To change this setting for an existing OSD, it is necessary to take the OSD offline before running the ceph-objectstore-tool apply-layout-settings command.

类型:

无符号 32 位整数

必需:

设备空间利用率达到此阈值百分比之前,将 OSD 视为:

20

filestore_update_to

描述:

限制自动升级到指定版本的文件存储。在您希望避免升级到特定版本的情况下很有用。

类型:

整数

必需:

设备空间利用率达到此阈值百分比之前,将 OSD 视为:

1000

filestore_blackhole

描述:

丢弃任何新的交易,类似于重定向到 NULL。

类型:

布尔值

必需:

设备空间利用率达到此阈值百分比之前,将 OSD 视为:

false

filestore_dump_file

描述:

定义事务转储存储的文件。

类型:

布尔值

必需:

设备空间利用率达到此阈值百分比之前,将 OSD 视为:

false

filestore_kill_at

描述:

在 b6e429: 的机会注入故障。nth opportunity.

类型:

字符串

必需:

设备空间利用率达到此阈值百分比之前,将 OSD 视为:

false

filestore_fail_eio

描述:

在 EIO 上失败/崩溃。

类型:

布尔值

必需:

设备空间利用率达到此阈值百分比之前,将 OSD 视为:

true

由 Ceph 基金会带给您

Ceph 文档是一个社区资源,由非盈利的 Ceph 基金会资助和托管Ceph Foundation. 如果您想支持这一点和我们的其他工作,请考虑加入现在加入.