付録E 既存の Ceph クラスターの Ansible へのインポート

Ansible が Ansible なしでデプロイされたクラスターを使用するように設定することができます。たとえば、Red Hat Ceph Storage 1.3 クラスターを手動でバージョン 2 にアップグレードした場合は、以下の手順により Ansible を使用するように設定してください。

  1. バージョン 1.3 からバージョン 2 に手動でアップグレードした後、管理ノードに Ansible をインストールおよび設定します。
  2. Ansible 管理ノードに、クラスター内の全 Ceph ノードにパスワードレスの ssh アクセスがあることを確認します。詳細は、「Ansible のパスワードなし SSH の有効化」 を参照してください。
  3. root で、/etc/ansible/ ディレクトリーに Ansible の group_vars ディレクトリーへのシンボリックリンクを作成します。

    # ln -s /usr/share/ceph-ansible/group_vars /etc/ansible/group_vars
  4. rootall.yml.sample ファイルから all.yml ファイルを作成し、編集用に開きます。

    # cd /etc/ansible/group_vars
    # cp all.yml.sample all.yml
    # vim all.yml
  5. group_vars/all.ymlgenerate_fsid 設定を false に設定します。
  6. ceph fsid を実行して、現在のクラスター fsid を取得します。
  7. 取得した fsidgroup_vars/all.yml に設定します。
  8. Ceph ホストが含まれるように、/etc/ansible/hosts の Ansible インベントリーを変更します。[mons] セクションの下にモニター、[osds] セクションの下に OSD、および [rgws] セクションのゲートウェイを追加して、それらのロールを Ansible に特定します。
  9. ceph_conf_overrides セクションが、all.yml ファイルの [global] セクション、[osd] セクション、[mon] セクション、および [client] セクションに使用される元の ceph.conf オプションで更新されていることを確認します。

    osd ジャーナルpublic_networkcluster_network などのオプションはすでに all.yml に含まれているため、ceph_conf_overrides には追加しないでください。all.yml に含まれず、元の ceph.conf にあるオプションのみを ceph_conf_overrides に追加する必要があります。

  10. /usr/share/ceph-ansible/ ディレクトリーから Playbook を実行します。

    # cd /usr/share/ceph-ansible/
    # ansible-playbook infrastructure-playbooks/take-over-existing-cluster.yml -u <username> -i hosts