付録E 既存の Ceph クラスターの Ansible へのインポート
Ansible が Ansible なしでデプロイされたクラスターを使用するように設定することができます。たとえば、Red Hat Ceph Storage 1.3 クラスターを手動でバージョン 2 にアップグレードした場合は、以下の手順により Ansible を使用するように設定してください。
- バージョン 1.3 からバージョン 2 に手動でアップグレードした後、管理ノードに Ansible をインストールおよび設定します。
-
Ansible 管理ノードに、クラスター内の全 Ceph ノードにパスワードレスの
ssh
アクセスがあることを確認します。詳細は、「Ansible のパスワードなし SSH の有効化」 を参照してください。 root
で、/etc/ansible/
ディレクトリーに Ansible のgroup_vars
ディレクトリーへのシンボリックリンクを作成します。# ln -s /usr/share/ceph-ansible/group_vars /etc/ansible/group_vars
root
でall.yml.sample
ファイルからall.yml
ファイルを作成し、編集用に開きます。# cd /etc/ansible/group_vars # cp all.yml.sample all.yml # vim all.yml
-
group_vars/all.yml
でgenerate_fsid
設定をfalse
に設定します。 -
ceph fsid
を実行して、現在のクラスターfsid
を取得します。 -
取得した
fsid
をgroup_vars/all.yml
に設定します。 -
Ceph ホストが含まれるように、
/etc/ansible/hosts
の Ansible インベントリーを変更します。[mons]
セクションの下にモニター、[osds]
セクションの下に OSD、および[rgws]
セクションのゲートウェイを追加して、それらのロールを Ansible に特定します。 ceph_conf_overrides
セクションが、all.yml
ファイルの[global]
セクション、[osd]
セクション、[mon]
セクション、および[client]
セクションに使用される元のceph.conf
オプションで更新されていることを確認します。osd ジャーナル
、public_network
、cluster_network
などのオプションはすでにall.yml
に含まれているため、ceph_conf_overrides
には追加しないでください。all.yml
に含まれず、元のceph.conf
にあるオプションのみをceph_conf_overrides
に追加する必要があります。/usr/share/ceph-ansible/
ディレクトリーから Playbook を実行します。# cd /usr/share/ceph-ansible/ # ansible-playbook infrastructure-playbooks/take-over-existing-cluster.yml -u <username> -i hosts