2.4.2. Ceph Ansible ノード (ceph05) の設定


Ceph Ansible ノード (ceph05) にログインし、以下のように設定します。これらのステップを実行するには、ceph01 ノード、ceph02 ノード、および ceph03 ノードが実行されている必要があります。

  1. Ansible ユーザーのホームディレクトリーに、ceph-ansible playbook で作成された一時的な値を保存するディレクトリーを作成します。

    # USER_NAME=ansibleadmin
    # sudo su - $USER_NAME
    [ansibleadmin@ceph05 ~]$ mkdir ~/ceph-ansible-keys
  2. ansible ユーザーのパスワードなし ssh を有効にします。ceph05 で ssh-keygen を実行し (パスフレーズを空のままにする)、ssh-copy-id を繰り返し実行して公開鍵を ceph01、ceph02、および ceph03 システムの Ansible ユーザーにコピーします。

    # USER_NAME=ansibleadmin
    # sudo su - $USER_NAME
    [ansibleadmin@ceph05 ~]$ ssh-keygen
    [ansibleadmin@ceph05 ~]$ ssh-copy-id $USER_NAME@ceph01
    [ansibleadmin@ceph05 ~]$ ssh-copy-id $USER_NAME@ceph02
    [ansibleadmin@ceph05 ~]$ ssh-copy-id $USER_NAME@ceph03
    [ansibleadmin@ceph05 ~]$ exit
    #
  3. ceph-ansible パッケージをインストールします。

    # yum install ceph-ansible
  4. これら 2 つのディレクトリー間にシンボリックを作成します。

    # ln -s /usr/share/ceph-ansible/group_vars \
        /etc/ansible/group_vars
  5. 変更する Ceph サンプル yml ファイルのコピーを作成します。

    # cd /usr/share/ceph-ansible
    # cp group_vars/all.yml.sample group_vars/all.yml
    # cp group_vars/osds.yml.sample group_vars/osds.yml
    # cp site.yml.sample site.yml
  6. コピーした group_vars/all.yml ファイルを編集します。詳細は、「表 3.1」の一般的な Ansible の設定について参照してください。以下は例になります。

    ceph_origin: repository
    ceph_repository: rhcs
    ceph_repository_type: cdn
    ceph_rhcs_version: 3
    monitor_interface: eth0
    public_network: 192.168.122.0/24

    ネットワークデバイスとアドレス範囲が異なる場合があることに注意してください。

  7. コピーした group_vars/osds.yml ファイルを編集します。詳細は、「表 3.2」の OSD Ansible の設定について参照してください。以下の例では、各 OSD ノードの 2 番目のディスクデバイス (/dev/sdb) がデータおよびジャーナルストレージの両方に使用されます。

    osd_scenario: collocated
    devices:
      - /dev/sdb
    dmcrypt: true
    osd_auto_discovery: false
  8. /etc/ansible/hosts インベントリーファイルを編集して、Ceph ノードを Ceph モニター、OSD およびマネージャーノードとして特定します。この例では、ストレージデバイスも各ノードで特定されます。

    [mons]
    ceph01
    ceph02
    ceph03
    
    [osds]
    ceph01 devices="[ '/dev/sdb' ]"
    ceph02 devices="[ '/dev/sdb' ]"
    ceph03 devices="[ '/dev/sdb' ]"
    
    [mgrs]
    ceph01 devices="[ '/dev/sdb' ]"
    ceph02 devices="[ '/dev/sdb' ]"
    ceph03 devices="[ '/dev/sdb' ]"
  9. この行を /etc/ansible/ansible.cfg ファイルに追加して、各 Ansible Playbook からの出力を Ansible ユーザーのホームディレクトリーに保存します。

    retry_files_save_path = ~/
  10. Ansible が、Ansible ユーザーとして設定したすべての Ceph ノードに到達できることを確認します。

    # USER_NAME=ansibleadmin
    # sudo su - $USER_NAME
    [ansibleadmin@ceph05 ~]$ ansible all -m ping
    ceph01 | SUCCESS => {
        "changed": false,
        "ping": "pong"
    }
    ceph02 | SUCCESS => {
        "changed": false,
        "ping": "pong"
    }
    ceph03 | SUCCESS => {
        "changed": false,
        "ping": "pong"
    }
    [ansibleadmin@ceph05 ~]$
  11. ceph-ansible Playbook を (Ansible ユーザーとして) 実行します。

    [ansibleadmin@ceph05 ~]$ cd /usr/share/ceph-ansible/
    [ansibleadmin@ceph05 ~]$ ansible-playbook site.yml

    この時点で、Ansible Playbook は Ceph ノードをチェックして、それらを要求するサービス用に設定します。正常に実行されないものがある場合は、必要な修正を行い、コマンドを再実行します。

  12. 3 つの Ceph ノード(ceph01、ceph02、または ceph03)のいずれかにログインし、Ceph クラスターの正常性を確認します。

    # ceph health
    HEALTH_OK
  13. 同じノードで、rados を使用してモニタリングが機能していることを確認します。

    # ceph osd pool create test 8
    # echo 'Hello World!' > hello-world.txt
    # rados --pool test put hello-world hello-world.txt
    # rados --pool test get hello-world fetch.txt
    # cat fetch.txt
    Hello World!
Red Hat logoGithubredditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

会社概要

Red Hat は、企業がコアとなるデータセンターからネットワークエッジに至るまで、各種プラットフォームや環境全体で作業を簡素化できるように、強化されたソリューションを提供しています。

多様性を受け入れるオープンソースの強化

Red Hat では、コード、ドキュメント、Web プロパティーにおける配慮に欠ける用語の置き換えに取り組んでいます。このような変更は、段階的に実施される予定です。詳細情報: Red Hat ブログ.

Red Hat ドキュメントについて

Legal Notice

Theme

© 2026 Red Hat
トップに戻る