9.5. 添加 Ceph BlueStore OSD


这部分论述了如何使用 BlueStore 后端对象存储安装新的 Ceph OSD 节点。

前提条件

  • 一个正在运行的 Red Hat Ceph Storage 集群。
  • 节点的根级别访问权限。

流程

  1. 添加新的 OSD 节点到 Ansible 清单文件中的 [osds] 部分,默认为位于 /etc/ansible/hosts

    [osds]
    node1
    node2
    node3
    HOST_NAME

    替换:

    • HOST_NAME 为 OSD 节点的名称

    Example

    [osds]
    node1
    node2
    node3
    node4

  2. 进入 /usr/share/ceph-ansible/ 目录。

    [user@admin ~]$ cd /usr/share/ceph-ansible
  3. 创建 host_vars 目录。

    [root@admin ceph-ansible] mkdir host_vars
  4. host_vars 中为新添加的 OSD 创建配置文件。

    [root@admin ceph-ansible] touch host_vars/HOST_NAME.yml

    替换:

    • 带有新添加 OSD 的主机名的 HOST_NAME

    Example

    [root@admin ceph-ansible] touch host_vars/node4.yml

  5. 在新创建的文件中添加以下设置:

    osd_objectstore: bluestore
    注意

    要将 BlueStore 用于所有 OSD,请将 osd_objectstore:bluestore 添加到 group_vars/all.yml 文件中。

  6. host_vars/HOST_NAME.yml 中配置 BlueStore OSD:

    语法

    lvm_volumes:
      - data: DATALV
        data_vg: DATAVG

    替换:

    • 带有数据逻辑卷名称的 DATALV
    • 带有数据逻辑卷组名称的 DATAVG

    Example

    lvm_volumes:
      - data: data-lv1
        data_vg: vg1

  7. 可选。如果要将 block.walblock.db 存储在专用逻辑卷中,请编辑 host_vars/HOST_NAME.yml 文件,如下所示:

    lvm_volumes:
      - data: DATALV
        wal: WALLV
        wal_vg: VG
        db: DBLV
        db_vg: VG

    替换:

    • 带有数据逻辑卷的 DATALV
    • WALLV 及应该包含 write-ahead-log 的逻辑卷
    • 带有 WAL 和/或 DB 设备 LV 所在卷组的 VG
    • 包含 BlueStore 内部元数据的 DBLV

    Example

    lvm_volumes:
      - data: data-lv3
        wal: wal-lv1
        wal_vg: vg3
        db: db-lv3
        db_vg: vg3

    注意

    当使用 lvm_volumes: with osd_objectstore: bluestore 时,LVM_volumes YAML 字典中必须至少包含 数据。定义 waldb 时,它必须同时具有 LV 名称和 VG 名称(不需要dbwal )。这允许四个组合:只包括数据、数据和 wal、数据和 Wal 和 db,或者 data 和 db。数据可以是裸设备、lv 或分区。waldb 可以是 lv 或 partition。当指定裸设备或分区 ceph-volume 时,会将逻辑卷放在其中。

    注意

    目前,ceph-ansible 不会创建卷组或逻辑卷。这必须在运行 Anisble playbook 之前完成。

  8. 可选:您可以在 group_vars/all.yml 文件中覆盖 block.db 默认大小:

    语法

    ceph_conf_overrides:
      osd:
        bluestore_block_db_size: VALUE

    Example

    ceph_conf_overrides:
      osd:
        bluestore_block_db_size: 24336000000

    注意

    bluestore_block_db_size 的值应大于 2 GB。

  9. 打开并编辑 group_vars/all.yml 文件,然后取消注释 osd_memory_target 选项。调整 OSD 要消耗的内存数量。

    注意

    osd_memory_target 选项的默认值为 4000000000,即 4 GB。这个选项在内存中固定 BlueStore 缓存。

    重要

    osd_memory_target 选项仅适用于 BlueStore 支持的 OSD。

  10. 运行以下 Ansible playbook:

    [user@admin ceph-ansible]$ ansible-playbook site.yml
  11. 在 Ceph 监控节点中,验证新 OSD 是否已成功添加:

    [root@mon ~]# ceph osd tree
Red Hat logoGithubRedditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

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

让开源更具包容性

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

關於紅帽

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

© 2024 Red Hat, Inc.