1.2. Red Hat Ceph Storage クラスターのアップグレード
Red Hat Ceph Storage 5.0 クラスターをアップグレードするには、ceph orch upgrade
コマンドを使用できます。
前提条件
- Red Hat Ceph Storage クラスター 5 が実行している。
-
Ansible-core
が AppStream にバンドルされている Red Hat Enterprise Linux 9.0 以降。 - すべてのノードへの root レベルのアクセス。
-
ストレージクラスター内のすべてのノードへの sudo アクセスおよびパスワードなしの
ssh
アクセスのある Ansible ユーザー。 - ストレージクラスターの 2 つ以上の Ceph Manager ノード (アクティブなノード 1 つとスタンバイ 1 つ)。
最新バージョンの Red Hat Ceph Storage 6.1 にアップグレードする前に、最新バージョンの Red Hat Ceph Storage 5.3.z5 にアップグレードしてください。
Red Hat Ceph Storage 5 には、ストレージクラスターのデーモンのいずれかが RHCS の複数のバージョンを実行していることを検出した場合に、DAEMON_OLD_VERSION 警告を返すヘルスチェック関数も含まれています。この警告は、デーモンが mon_warn_older_version_delay
オプションで設定された時間値を超えて Red Hat Ceph Storage の複数のバージョンを実行し続けるとトリガーされます。デフォルトでは、mon_warn_older_version_delay
オプションは 1 週間に設定されます。この設定により、ほとんどのアップグレードは、警告を誤って表示することなく続行できます。アップグレードプロセスが長期間一時停止していた場合は、健全性の警告をミュートできます。
ceph health mute DAEMON_OLD_VERSION --sticky
アップグレードが完了したら、健全性の警告のミュートを解除します。
ceph health unmute DAEMON_OLD_VERSION
手順
Ansible 管理ノードで Ceph Ansible リポジトリーを有効にします。
Red Hat Enterprise Linux 9
subscription-manager repos --enable=rhceph-6-tools-for-rhel-9-x86_64-rpms
cephadm
およびcephadm-ansible
パッケージを更新します。例
[root@admin ~]# dnf update cephadm [root@admin ~]# dnf update cephadm-ansible
/usr/share/cephadm-ansible
ディレクトリーに移動します。例
[root@admin ~]# cd /usr/share/cephadm-ansible
ストレージクラスターのブートストラップされたホストで
upgrade_ceph_packages
パラメーターをtrue
に設定して、プリフライト Playbook を実行します。構文
ansible-playbook -i INVENTORY_FILE cephadm-preflight.yml --extra-vars "ceph_origin=rhcs upgrade_ceph_packages=true"
例
[ceph-admin@admin cephadm-ansible]$ ansible-playbook -i /etc/ansible/hosts cephadm-preflight.yml --extra-vars "ceph_origin=rhcs upgrade_ceph_packages=true"
このパッケージは、すべてのノードで
cephadm
をアップグレードします。cephadm
シェルにログインします。例
[root@host01 ~]# cephadm shell
すべてのホストがオンラインになり、ストレージクラスターが健全であることを確認します。
例
[ceph: root@host01 /]# ceph -s
OSD の
noout
、noscrub
、およびnodeep-scrub
フラグを設定して、アップグレード中に OSD がマークアウトされないようにし、クラスターへの不要な負荷を回避します。例
[ceph: root@host01 /]# ceph osd set noout [ceph: root@host01 /]# ceph osd set noscrub [ceph: root@host01 /]# ceph osd set nodeep-scrub
サービスのバージョンと利用可能なターゲットコンテナーを確認します。
構文
ceph orch upgrade check IMAGE_NAME
例
[ceph: root@host01 /]# ceph orch upgrade check registry.redhat.io/rhceph/rhceph-6-rhel9:latest
注記イメージ名は、Red Hat Enterprise Linux 8 と Red Hat Enterprise Linux 9 の両方に適用されます。
ストレージクラスターをアップグレードします。
構文
ceph orch upgrade start IMAGE_NAME
例
[ceph: root@host01 /]# ceph orch upgrade start registry.redhat.io/rhceph/rhceph-6-rhel9:latest
注記段階的アップグレードを実行するには、Performing a staggered upgrade を参照してください。
アップグレード中は、進捗バーが
ceph status
出力に表示されます。例
[ceph: root@host01 /]# ceph status [...] progress: Upgrade to 17.2.6-70.el9cp (1s) [............................]
Ceph クラスターの新しい IMAGE_ID および VERSION を確認します。
例
[ceph: root@host01 /]# ceph versions [ceph: root@host01 /]# ceph orch ps
注記cephadm-ansible
Playbook を使用していない場合は、Ceph クラスターをアップグレードした後、クライアントノードのceph-common
パッケージとクライアントライブラリーをアップグレードする必要があります。例
[root@client01 ~] dnf update ceph-common
最新バージョンを使用していることを確認します。
例
[root@client01 ~] ceph --version
アップグレードが完了したら、
noout
、noscrub
、およびnodeep-scrub
フラグの設定を解除します。例
[ceph: root@host01 /]# ceph osd unset noout [ceph: root@host01 /]# ceph osd unset noscrub [ceph: root@host01 /]# ceph osd unset nodeep-scrub