構成オプションの設定

ストレージ管理者は、IBM Storage Ceph設定オプションceph_configモジュール。

前提条件

  • ランニングIBM Storage Ceph集まる。

  • ストレージ・クラスター内のすべてのノードへの sudo およびパスワードなしの SSH アクセス権限を持つ Ansible ユーザー。

  • Ansible 管理ノードへの cephadm-ansible パッケージのインストール。

  • Ansible インベントリー・ファイルには、クラスター・ホストと管理ホストが含まれています。

手順

  1. Ansible 管理ノードにログインします。

  2. Ansible 管理ノード上の /usr/share/cephadm-ansible ディレクトリーにナビゲートします。

    [ansible@admin ~]$ cd /usr/share/cephadm-ansible
  3. 構成変更を含むプレイブックを作成します。

    構文

    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 }}"

    [ansible@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 }}"

    この例では、プレイブックはまず mon_allow_pool_delete オプションを falseに設定します。 その後、プレイブックは現在の mon_allow_pool_delete 設定を取得し、その値を Ansible 出力に表示します。

  4. プレイブックを実行します。

    構文

    ansible-playbook -i INVENTORY_FILE PLAYBOOK_FILENAME.yml

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

検証

  • プレイブック・タスクの出力を確認します。

    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