9.3. Red Hat Ceph Storage 5 へのアップグレード
次のノードを、Red Hat Ceph Storage バージョン 4 からバージョン 5 にアップグレードします。
- Red Hat Ceph Storage ノード
- ハイパーコンバージドインフラストラクチャー (HCI) ノード。Compute サービスと Ceph OSD サービスの組み合わせが含まれています。
このアップグレード手順の所要時間と影響については、アップグレードの所要時間と影響 を参照してください。
Red Hat Ceph Storage 5 は Prometheus v4.10 を使用します。Prometheus v4.10 には、Red Hat Ceph Storage ダッシュボードを有効にすると、ダッシュボードに 2 つのデータソースが設定されるという既知の問題があります。この既知の問題の詳細は、BZ#2054852 を参照してください。
Red Hat Ceph Storage 6 は Prometheus v4.12 を使用します。Prometheus v4.12 には、この既知の問題はありません。Red Hat は、Red Hat OpenStack Platform (RHOSP) 16.2 から 17.1 へのアップグレードが完了した後、Red Hat Ceph Storage 5 から Red Hat Ceph Storage 6 にアップグレードすることを推奨します。Red Hat Ceph Storage バージョン 5 からバージョン 6 にアップグレードするには、ご使用の環境に応じて次のいずれかの手順を実行します。
-
director でデプロイされた Red Hat Ceph Storage 環境:
cephadmクライアントの更新 - 外部 Red Hat Ceph Storage クラスター環境: Red Hat Ceph Storage コンテナーイメージの更新
手順
-
アンダークラウドホストに
stackユーザーとしてログインします。 stackrcアンダークラウド認証情報ファイルを入手します。$ source ~/stackrccephタグを使用して、Red Hat Ceph Storage の外部アップグレードプロセスを実行します。$ openstack overcloud external-upgrade run \ --skip-tags "ceph_ansible_remote_tmp" \ --stack <stack> \ --tags ceph,facts 2>&1-
<stack>は、スタックの名前に置き換えます。 -
DCN がデプロイされたサイトでこのコマンドを実行する場合は、
--skip-tagsパラメーターに指定されたコンマ区切りの値リストに、skip-tagcleanup_cephansibleの値を追加します。
-
ceph versionsコマンドを実行して、すべての Red Hat Ceph Storage デーモンがバージョン 5 にアップグレードされたことを確認します。このコマンドは、コントローラーノードでデフォルトでホストされるceph monitorコンテナーで使用できます。重要前の手順のコマンドは、
ceph-ansiblerolling_update.yamlPlaybook を実行して、クラスターをバージョン 4 から 5 に更新します。この手順を続行する前に、すべてのデーモンが更新されていることを確認することが重要です。次の例は、このコマンドの使用方法と出力を示しています。例に示されているように、デプロイメント内のすべてのデーモンには、パッケージバージョン
16.2.*とキーワードpacificが表示されます。$ sudo podman exec ceph-mon-$(hostname -f) ceph versions { "mon": { "ceph version 16.2.10-248.el8cp (0edb63afd9bd3edb333364f2e0031b77e62f4896) pacific (stable)": 3 }, "mgr": { "ceph version 16.2.10-248.el8cp (0edb63afd9bd3edb333364f2e0031b77e62f4896) pacific (stable)": 3 }, "osd": { "ceph version 16.2.10-248.el8cp (0edb63afd9bd3edb333364f2e0031b77e62f4896) pacific (stable)": 180 }, "mds": {}, "rgw": { "ceph version 16.2.10-248.el8cp (0edb63afd9bd3edb333364f2e0031b77e62f4896) pacific (stable)": 3 }, "overall": { "ceph version 16.2.10-248.el8cp (0edb63afd9bd3edb333364f2e0031b77e62f4896) pacific (stable)": 189 } }注記Red Hat Ceph Storage をホストしている任意のサーバー上で
sudo podman ps | grep cephコマンドを実行すると、バージョン 5 のコンテナーが返されるはずです。ceph-adminユーザーを作成し、適切なキーリングを配布します。ANSIBLE_LOG_PATH=/home/stack/cephadm_enable_user_key.log \ ANSIBLE_HOST_KEY_CHECKING=false \ ansible-playbook -i /home/stack/overcloud-deploy/<stack>/config-download/<stack>/tripleo-ansible-inventory.yaml \ -b -e ansible_python_interpreter=/usr/libexec/platform-python /usr/share/ansible/tripleo-playbooks/ceph-admin-user-playbook.yml \ -e tripleo_admin_user=ceph-admin \ -e distribute_private_key=true \ --limit Undercloud,ceph_mon,ceph_mgr,ceph_rgw,ceph_mds,ceph_nfs,ceph_grafana,ceph_osdRed Hat Ceph Storage ノード上のパッケージを更新します。
$ openstack overcloud upgrade run \ --stack <stack> \ --skip-tags ceph_ansible_remote_tmp \ --tags setup_packages --limit Undercloud,ceph_mon,ceph_mgr,ceph_rgw,ceph_mds,ceph_nfs,ceph_grafana,ceph_osd \ --playbook /home/stack/overcloud-deploy/<stack>/config-download/<stack>/upgrade_steps_playbook.yaml 2>&1DCN がデプロイされたサイトでこのコマンドを実行する場合は、
--skip-tagsパラメーターに指定されたコンマ区切りの値リストに、skip-tagcleanup_cephansibleの値を追加します。注記デフォルトでは、コンポーザブルロール機能を使用して他の場所でホストしていない限り、Ceph Monitor サービス (CephMon) はコントローラーノード上で実行します。このコマンドには
ceph_monタグが含まれており、Ceph Monitor サービスをホストしているノード (デフォルトではコントローラーノード) 上のパッケージも更新されます。
cephadmを使用するように Red Hat Ceph Storage ノードを設定します。$ openstack overcloud external-upgrade run \ --skip-tags ceph_ansible_remote_tmp \ --stack <stack> \ --tags cephadm_adopt 2>&1DCN がデプロイされたサイトでこのコマンドを実行する場合は、
--skip-tagsパラメーターに指定されたコンマ区切りの値リストに、skip-tagcleanup_cephansibleの値を追加します。注記cephadmの導入により、RGW サービスと Alertmanager サービスでダウンタイムが発生する可能性があります。これらの問題の詳細は、Red Hat Ceph Storage 5 サービスの再起動 を参照し てください。
ceph -sコマンドを実行して、すべてのプロセスが Red Hat Ceph Storage オーケストレーターによって管理されていることを確認します。このコマンドは、コントローラーノードでデフォルトでホストされるceph monitorコンテナーで使用できます。重要前の手順のコマンドは、
ceph-ansiblecephadm-adopt.yamlPlaybook を実行して、クラスターの今後の管理をceph-ansibleからcephadmおよび Red Hat Ceph Storage オーケストレーターに移行します。この手順を続行する前に、すべてのプロセスがオーケストレータによって管理されていることを確認することが重要です。次の例は、このコマンドの使用方法と出力を示しています。この例で示されているように、
cephadmによって管理されていないデーモンは 63 個あります。これは、ceph-ansiblecephadm-adopt.ymlPlaybook の実行に問題があったことを示しています。アップグレードを続行する前に、Red Hat Ceph Storage サポートに連絡してこれらのエラーのトラブルシューティングを行ってください。導入プロセスが正常に完了すると、cephadmによって管理されていない迷子のデーモンに関する警告は表示されなくなります。$ sudo cephadm shell -- ceph -s cluster: id: f5a40da5-6d88-4315-9bb3-6b16df51d765 health: HEALTH_WARN 63 stray daemon(s) not managed by cephadmovercloud_upgrade_prepare.shファイルを変更して、ceph-ansibleファイルをcephadmheat 環境ファイルに置き換えます。重要openstack overcloud upgrade prepareおよびopenstack overcloud deployなどの openstack デプロイメントコマンドに、ceph-ansible環境またはデプロイメントファイル(例:environments/ceph-ansible/ceph-ansible.yamlまたはdeployment/ceph-ansible/ceph-grafana.yaml)を追加しないでください。ceph-ansible環境およびデプロイメントファイルをcephadmファイルに置き換える方法の詳細は、Red Hat Ceph Storage 5 へのアップグレードの意味 を参照してください。#!/bin/bash openstack overcloud upgrade prepare --yes \ --timeout 460 \ --templates /usr/share/openstack-tripleo-heat-templates \ --ntp-server 192.168.24.1 \ --stack <stack> \ -r /home/stack/roles_data.yaml \ -e /home/stack/templates/internal.yaml \ … -e <cephadm-file> \ -e ~/containers-prepare-parameter.yamlここでは、以下のようになります。
- <cephadm-file>
-
以前のバージョンの RHOSP で RGW をデプロイしている場合、または RGW をデプロイする場合は、
environments/cephadm/cephadm.yamlを使用します。 -
RBD をデプロイする予定の場合は、
environments/cephadm/cephadm-rbd-only.yamlを使用します。
-
以前のバージョンの RHOSP で RGW をデプロイしている場合、または RGW をデプロイする場合は、
オーバークラウドのアップグレード準備用のコマンドを実行した際に以下の環境ファイルを追加した場合は、
overcloud_upgrade_prepare.shファイルを変更してこの環境ファイルを削除します。-e /usr/share/openstack-tripleo-heat-templates/environments/ceph-ansible/manila-cephfsganesha-config.yaml- ファイルを保存します。
upgrade prepare コマンドを実行します。
$ source stackrc $ chmod 755 /home/stack/overcloud_upgrade_prepare.sh sh /home/stack/overcloud_upgrade_prepare.shデプロイメントに HCI ノードが含まれている場合は、コントローラーノードの
cephadmコンテナーに一時的なhci.confファイルを作成します。コントローラーノードにログインします。
$ ssh cloud-admin@<controller_ip>-
<controller_ip>をコントローラーノードの IP アドレスに置き換えます。
-
コントローラーノードから
cephadmシェルを取得します。例
[cloud-admin@controller-0 ~]$ sudo cephadm shellcephadmシェルで、一時的なhci.confファイルを作成します。例
[ceph: root@edpm-controller-0 /]# cat <<EOF > hci.conf [osd] osd_memory_target_autotune = true osd_numa_auto_affinity = true [mgr] mgr/cephadm/autotune_memory_target_ratio = 0.2 EOF …設定を適用します。
例
[ceph: root@edpm-controller-0 /]# ceph config assimilate-conf -i hci.confHCI デプロイメントの設定の調整の詳細は、ハイパーコンバージドインフラストラクチャーをデプロイする の HCI の Ceph 設定オーバーライド を参照してください。
すべての HCI ノードのオペレーティングシステムを、RHEL 9 にアップグレードする必要があります。コンピュートノードと HCI ノードのアップグレードの詳細は、コンピュートノードを RHEL 9.2 にアップグレードする を参照してください。
Red Hat Ceph Storage Rados Gateway (RGW)がオブジェクトストレージに使用 される場合は、RHCS 4.x へのアップグレード後に RHCS 4.x へのアップグレード後に Ceph config overrides が設定された Ceph 設定のオーバーライドの手順を完了して、Red Hat Ceph Storage 4 の設定が Red Hat Ceph Storage 5 に完全に反映されていることを確認します。
Red Hat Ceph Storage Dashboard がインストールされている場合は、After FFU 16.2 to 17.1, Ceph Grafana dashboard failed to start due to incorrect dashboard configuration の手順を完了して、正しく設定されていることを確認します。