1.7. OSD 内存目标


BlueStore 将 OSD 堆内存使用量保留在指定目标大小下,并使用 osd_memory_target 配置选项。

选项 osd_memory_target 根据系统中可用的 RAM 来设置 OSD 内存。当 TCMalloc 配置为内存分配器,BlueStore 中的 bluestore_cache_autotune 选项设为 true 时,则使用此选项。

当块设备速度较慢时(例如,传统的硬盘驱动器),Ceph OSD 内存缓存更为重要,因为缓存命中的好处要高于固态硬盘的情况。但是,这需要考虑 OSD 与其他服务共处的情况,比如在超融合基础架构 (HCI) 或其他应用程序中。

1.7.1. 设置 OSD 内存目标

使用 osd_memory_target 选项,为存储集群中的所有 OSD 或特定 OSD 设置最大内存阈值。带有 osd_memory_target 选项被设置为 16 的 OSD 最多可使用 16 GB 内存。

注意

单个 OSD 的配置选项会优先于对所有 OSD 的设置。

先决条件

  • 一个正在运行的 Red Hat Ceph Storage 集群。
  • 对存储集群中所有主机的根级别访问权限。

流程

  • 为存储集群中的所有 OSD 设置 osd_memory_target

    语法

    ceph config set osd osd_memory_target VALUE

    VALUE 是要分配给存储集群中每个 OSD 的内存数量。

  • 为存储集群中的特定 OSD 设置 osd_memory_target

    语法

    ceph config set osd.id osd_memory_target VALUE

    .id 是 OSD 的 ID,VALUE 是要分配给指定 OSD 的内存数量。例如,将 ID 为 8 的 OSD 配置为使用最多 16 GBytes 内存:

    示例

    [ceph: root@host01 /]# ceph config set osd.8 osd_memory_target 16G

  • 要设置单个 OSD 使用一个最大内存量,并将其余 OSD 配置为使用其他数量,请首先指定单个 OSD:

    示例

    [ceph: root@host01 /]# ceph config set osd osd_memory_target 16G
    [ceph: root@host01 /]# ceph config set osd.8 osd_memory_target 8G

其他资源

Red Hat logoGithubRedditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

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

让开源更具包容性

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

關於紅帽

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

© 2024 Red Hat, Inc.