4.5. ceph_config モジュールを使用した設定オプションの設定

ストレージ管理者は、ceph_config モジュールを使用して Red Hat Ceph Storage 設定オプションを設定または取得できます。

前提条件

  • 稼働中の Red Hat Ceph Storage クラスターがある。
  • ストレージクラスター内のすべてのノードへの sudo アクセスおよびパスワードなしの SSH アクセスのある Ansible ユーザー。
  • Ansible 管理ノードへの cephadm-ansible パッケージのインストール。
  • Ansible インベントリーファイルには、クラスターと管理ホストが含まれている。

手順

  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

関連情報