1.5. HCI オーバークラウドのデプロイ
HCI 設定が完了した後に、オーバークラウドをデプロイする必要があります。
Red Hat OpenStack Platform (RHOSP) HCI 環境をデプロイする際には、インスタンス HA を有効にしないでください。Red Hat Ceph Storage を使用したハイパーコンバージド RHOSP デプロイメントでインスタンス HA を使用する場合は、Red Hat の担当者にお問い合わせください。
前提条件
-
その他すべての Red Hat Ceph Storage の設定に、別のベース環境ファイルを 1 つ (または複数) 使用している (例:
/home/stack/templates/storage-config.yaml)。詳細は、Customizing the Storage service および Appendix A. Sample environment file: creating a Ceph Storage cluster を参照してください。 - ベース環境ファイルで、各ロールに割り当てるノード数を定義している。詳細は、Assigning nodes and flavors to roles を参照してください。
-
アンダークラウドのインストール時に、
undercloud.confファイルでgenerate_service_certificate=falseと設定している。設定していない場合は、Enabling SSL/TLS on Overcloud Public Endpoints で説明するように、オーバークラウドのデプロイ時にトラストアンカーを挿入する必要があります。
手順
その他の環境ファイルと共に新しいロールファイルおよび環境ファイルをスタックに追加して、HCI オーバークラウドをデプロイします。
(undercloud)$ openstack overcloud deploy --templates \ -e [your environment files] \ -r /home/stack/templates/roles_data_hci.yaml \ -e /usr/share/openstack-tripleo-heat-templates/environments/ceph-ansible/ceph-ansible.yaml \ -e /usr/share/openstack-tripleo-heat-templates/environments/network-isolation.yaml \ -e /usr/share/openstack-tripleo-heat-templates/environments/network-environment.yaml \ -e /usr/share/openstack-tripleo-heat-templates/environments/net-single-nic-with-vlans.yaml -e /home/stack/templates/storage-config.yaml \ -e /home/stack/templates/storage-container-config.yaml \ -n /home/stack/templates/network_data.yaml \ [-e /home/stack/templates/ceph-backfill-recovery.yaml \ ] --ntp-server pool.ntp.org
デプロイメントコマンドに
/usr/share/openstack-tripleo-heat-templates/environments/ceph-ansible/ceph-ansible.yamlを含めることで、すべてのデフォルト設定でコンテナー化された Red Hat Ceph クラスターをデプロイするベース環境ファイルが追加されます。詳しくは、Deploying an Overcloud with Containerized Red Hat Ceph を参照してください。
デプロイメントで Single Root Input/Output Virtualization (SR-IOV) を使用する場合は、デプロイメントコマンドに以下のオプションを追加します。
デプロイで ML2/OVS メカニズムドライバーを使用する場合は、次のオプションを指定します。
-e /usr/share/openstack-tripleo-heat-templates/environments/services/neutron-sriov.yaml -e /home/stack/templates/network-environment.yaml
デプロイで ML2/OVN メカニズムドライバーを使用する場合は、次のオプションを指定します。
-e /usr/share/openstack-tripleo-heat-templates/environments/services/neutron-ovn-sriov.yaml -e /home/stack/templates/network-environment.yaml
アンサー ファイルを使用して、デプロイメントに追加する環境ファイルを指定することも可能です。詳しくは、director のインストールと使用方法のオーバークラウドデプロイメントへの環境ファイルの追加を参照してください。
1.5.1. ceph-ansible を実行するノードの限定
ceph-ansible を実行するノードを限定することで、デプロイメントの更新時間を短縮することができます。Red Hat OpenStack Platform (RHOSP) で Ceph の設定に config-download が使用されている場合、デプロイメント全体に対して config-download および ceph-ansible を実行する代わりに、--limit オプションを使用してノードの一覧を指定することができます。この機能は、たとえばオーバークラウドをスケールアップする場合や障害の発生したディスクを置き換える場合に役立ちます。このようなシナリオでは、環境に追加する新規ノードでのみデプロイメントを実行することができます。
障害の発生したディスクの置き換え時に --limit を使用するシナリオの例
以下の手順例では、Ceph ストレージノード oc0-cephstorage-0 でディスク障害が発生したため、ベンダーでフォーマット済みの新規ディスクを受け入れます。新しいディスクを OSD として使用することができるように、Ansible を oc0-cephstorage-0 ノード上で実行する必要があります。しかし、その他すべての Ceph Storage ノードで実行する必要はありません。例として記述した環境ファイルおよびノードの名前を、実際の環境に適した名前に置き換えてください。
手順
アンダークラウドノードに
stackユーザーとしてログインし、source コマンドでstackrc認証情報ファイルを読み込みます。# source stackrc
新規ディスクが不足している OSD を起動するのに使用されるように、以下の手順の 1 つを実施します。
--limitオプションを使用してceph-ansibleを実行するノードを指定し、スタックの更新を実行する。$ openstack overcloud deploy --templates \ -r /home/stack/roles_data.yaml \ -n /usr/share/openstack-tripleo-heat-templates/network_data_dashboard.yaml \ -e /usr/share/openstack-tripleo-heat-templates/environments/ceph-ansible/ceph-ansible.yaml \ -e ~/my-ceph-settings.yaml \ -e <other-environment_files> \ --limit oc0-controller-0:oc0-controller-2:oc0-controller-1:oc0-cephstorage-0:undercloud
この例では、Ceph mon の OSD 定義を変更するのに Ansible が必要なため、コントローラーが含まれています。
config-downloadがansible-playbook-command.shスクリプトを生成した場合は、--limitオプションを指定してスクリプトを実行し、指定されたノードをceph-ansibleに渡すこともできます。./ansible-playbook-command.sh --limit oc0-controller-0:oc0-controller-2:oc0-controller-1:oc0-cephstorage-0:undercloud
- Warning
-
必ずアンダークラウドを制限一覧に含める必要があります。含めないと、
--limitを使用する際にceph-ansibleを実行することができません。この注意が必要なのは、アンダークラウドでのみ実行されるexternal_deploy_steps_tasksPlaybook によりceph-ansibleが実行されるためです。