5.5. Ceph クライアントロールのインストール

ceph-ansible ユーティリティーは、Ceph 設定ファイルと管理キーリングをノードにコピーする ceph-client ロールを提供します。さらに、このロールを使用してカスタムプールおよびクライアントを作成することができます。

前提条件

手順

Ansible 管理ノードで以下のタスクを実行します。

  1. 新しいセクション [clients]/etc/ansible/hosts ファイルに追加します。

    [clients]
    CLIENT_NODE_NAME

    CLIENT_NODE_NAME は、ceph-client ロールをインストールするノードのホスト名に置き換えます。

  2. /usr/share/ceph-ansible ディレクトリーに移動します。

    [root@admin ~]# cd /usr/share/ceph-ansible
  3. clients.yml という名前の clients.yml.sample ファイルの新しいコピーを作成します。

    [root@admin ceph-ansible ~]# cp group_vars/clients.yml.sample group_vars/clients.yml
  4. group_vars/clients.yml ファイルを開き、以下の行をコメント解除します。

    keys:
      - { name: client.test, caps: { mon: "allow r", osd: "allow class-read object_prefix rbd_children, allow rwx pool=test" },  mode: "{{ ceph_keyring_permissions }}" }
    1. client.test を実際のクライアント名に置き換え、クライアントキーをクライアント定義の行に追加します。以下に例を示します。

      key: "ADD-KEYRING-HERE=="

      これで、行全体の例は次のようになります。

      - { name: client.test, key: "AQAin8tUMICVFBAALRHNrV0Z4MXupRw4v9JQ6Q==", caps: { mon: "allow r", osd: "allow class-read object_prefix rbd_children, allow rwx pool=test" },  mode: "{{ ceph_keyring_permissions }}" }
      注記

      ceph-authtool --gen-print-key コマンドは、新しいクライアントキーを生成することができます。

  5. 必要に応じて、プールおよびクライアントを作成するように ceph-client に指示します。

    1. clients.yml を更新します。

      • user_config 設定のコメントを解除して、true に設定します。
      • pools セクションおよび keys セクションのコメントを解除し、必要に応じて更新します。cephx 機能を使用して、カスタムプールとクライアント名をまとめて定義できます。
    2. osd_pool_default_pg_num 設定を all.yml ファイルの ceph_conf_overrides セクションに追加します。

      ceph_conf_overrides:
         global:
            osd_pool_default_pg_num: NUMBER

      NUMBER は、デフォルトの配置グループ数に置き換えます。

  6. ansible ユーザーとして、Ansible Playbook を実行します。

    1. ベアメタル デプロイメント:

      [ansible@admin ceph-ansible]$ ansible-playbook site.yml --limit clients -i hosts
    2. コンテナー デプロイメント:

      [ansible@admin ceph-ansible]$ ansible-playbook site-container.yml --limit clients -i hosts

関連情報