5.5. Ceph クライアントロールのインストール
ceph-ansible
ユーティリティーは、Ceph 設定ファイルと管理キーリングをノードにコピーする ceph-client
ロールを提供します。さらに、このロールを使用してカスタムプールおよびクライアントを作成することができます。
前提条件
-
稼働中の Ceph ストレージクラスター (
active + clean
の状態が望ましい)。 - 要件 に記載されているタスクを実行します。
- パスワードなしの SSH アクセスを有効にします。
手順
Ansible 管理ノードで以下のタスクを実行します。
新しいセクション
[clients]
を/etc/ansible/hosts
ファイルに追加します。[clients] CLIENT_NODE_NAME
CLIENT_NODE_NAME は、
ceph-client
ロールをインストールするノードのホスト名に置き換えます。/usr/share/ceph-ansible
ディレクトリーに移動します。[root@admin ~]# cd /usr/share/ceph-ansible
clients.yml
という名前のclients.yml.sample
ファイルの新しいコピーを作成します。[root@admin ceph-ansible ~]# cp group_vars/clients.yml.sample group_vars/clients.yml
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 }}" }
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
コマンドは、新しいクライアントキーを生成することができます。
必要に応じて、プールおよびクライアントを作成するように
ceph-client
に指示します。clients.yml
を更新します。-
user_config
設定のコメントを解除して、true
に設定します。 -
pools
セクションおよびkeys
セクションのコメントを解除し、必要に応じて更新します。cephx
機能を使用して、カスタムプールとクライアント名をまとめて定義できます。
-
osd_pool_default_pg_num
設定をall.yml
ファイルのceph_conf_overrides
セクションに追加します。ceph_conf_overrides: global: osd_pool_default_pg_num: NUMBER
NUMBER は、デフォルトの配置グループ数に置き換えます。
ansible
ユーザーとして、Ansible Playbook を実行します。ベアメタル デプロイメント:
[ansible@admin ceph-ansible]$ ansible-playbook site.yml --limit clients -i hosts
コンテナー デプロイメント:
[ansible@admin ceph-ansible]$ ansible-playbook site-container.yml --limit clients -i hosts
関連情報
-
詳細は、
limit
オプションの理解 を参照してください。