16.5. 使用 ceph_config 模块设置配置选项


作为存储管理员,您可以使用 ceph_config 模块设置或获取 Red Hat Ceph Storage 配置选项。

先决条件

  • 一个正在运行的 Red Hat Ceph Storage 集群。
  • 具有 sudo 的 Ansible 用户,对存储集群中的所有节点进行免密码 SSH 访问。
  • 在 Ansible 管理节点上安装 cephadm-ansible 软件包。
  • Ansible 清单文件包含集群和 admin 主机。

流程

  1. 登录 Ansible 管理节点。
  2. 进入 Ansible 管理节点上的 /usr/share/cephadm-ansible 目录:

    示例

    [ceph-admin@admin ~]$ cd /usr/share/cephadm-ansible

  3. 使用配置更改创建 playbook:

    语法

    sudo vi PLAYBOOK_FILENAME.yml
    
    ---
    - name: PLAY_NAME
      hosts: ADMIN_HOST
      become: USE_ELEVATED_PRIVILEGES
      gather_facts: GATHER_FACTS_ABOUT_REMOTE_HOSTS
      tasks:
        - name: NAME_OF_TASK
          ceph_config:
            action: GET_OR_SET
            who: DAEMON_TO_SET_CONFIGURATION_TO
            option: CEPH_CONFIGURATION_OPTION
            value: VALUE_OF_PARAMETER_TO_SET
    
        - name: NAME_OF_TASK
          ceph_config:
            action: GET_OR_SET
            who: DAEMON_TO_SET_CONFIGURATION_TO
            option: CEPH_CONFIGURATION_OPTION
          register: REGISTER_NAME
    
        - name: NAME_OF_TASK
          debug:
            msg: "MESSAGE_TO_DISPLAY {{ REGISTER_NAME.stdout }}"

    示例

    [ceph-admin@admin cephadm-ansible]$ sudo vi change_configuration.yml
    
    ---
    - name: set pool delete
      hosts: host01
      become: true
      gather_facts: false
      tasks:
        - name: set the allow pool delete option
          ceph_config:
            action: set
            who: mon
            option: mon_allow_pool_delete
            value: true
    
        - name: get the allow pool delete setting
          ceph_config:
            action: get
            who: mon
            option: mon_allow_pool_delete
          register: verify_mon_allow_pool_delete
    
        - name: print current mon_allow_pool_delete setting
          debug:
            msg: "the value of 'mon_allow_pool_delete' is {{ verify_mon_allow_pool_delete.stdout }}"

    在本例中,playbook 首先将 mon_allow_pool_delete 选项设置为 false。然后,playbook 获取当前的 mon_allow_pool_delete 设置,并在 Ansible 输出中显示值。

  4. 运行 playbook:

    语法

    ansible-playbook -i INVENTORY_FILE _PLAYBOOK_FILENAME.yml

    示例

    [ceph-admin@admin cephadm-ansible]$ ansible-playbook -i hosts change_configuration.yml

验证

  • 检查 playbook 任务的输出。

    示例

    TASK [print current mon_allow_pool_delete setting] *************************************************************
    Wednesday 29 June 2022  13:51:41 -0400 (0:00:05.523)       0:00:17.953 ********
    ok: [host01] =>
      msg: the value of 'mon_allow_pool_delete' is true

其它资源

Red Hat logoGithubRedditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

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

让开源更具包容性

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

關於紅帽

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

© 2024 Red Hat, Inc.