1.2. Red Hat Ceph Storage クラスターのアップグレード
Red Hat Ceph Storage クラスターをアップグレードするには、ceph orch upgrade コマンドを使用できます。
前提条件
- 実行中の Red Hat Ceph Storage クラスターの最新バージョン。
- すべてのノードへの root レベルのアクセス。
-
ストレージクラスター内のすべてのノードへの sudo アクセスおよびパスワードなしの
sshアクセスのある Ansible ユーザー。 - ストレージクラスターの 2 つ以上の Ceph Manager ノード (アクティブなノード 1 つとスタンバイ 1 つ)。
Red Hat Ceph Storage 5 には、ストレージクラスターのデーモンのいずれかが Red Hat Ceph Storage の複数のバージョンを実行していることを検出した場合に、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 mute DAEMON_OLD_VERSION --sticky
アップグレードが完了したら、健全性の警告のミュートを解除します。
ceph health unmute DAEMON_OLD_VERSION
ceph health unmute DAEMON_OLD_VERSION
手順
Ansible 管理ノードで Ceph Ansible リポジトリーを有効にします。
Red Hat Enterprise Linux 9
subscription-manager repos --enable=rhceph-7-tools-for-rhel-9-x86_64-rpms
subscription-manager repos --enable=rhceph-7-tools-for-rhel-9-x86_64-rpmsCopy to Clipboard Copied! Toggle word wrap Toggle overflow cephadmおよびcephadm-ansibleパッケージを更新します。例
dnf update cephadm dnf update cephadm-ansible
[root@admin ~]# dnf update cephadm [root@admin ~]# dnf update cephadm-ansibleCopy to Clipboard Copied! Toggle word wrap Toggle overflow /usr/share/cephadm-ansibleディレクトリーに移動します。例
cd /usr/share/cephadm-ansible
[root@admin ~]# cd /usr/share/cephadm-ansibleCopy to Clipboard Copied! Toggle word wrap Toggle overflow ストレージクラスターのブートストラップされたホストで
upgrade_ceph_packagesパラメーターをtrueに設定して、プリフライト Playbook を実行します。構文
ansible-playbook -i INVENTORY_FILE cephadm-preflight.yml --extra-vars "ceph_origin=rhcs upgrade_ceph_packages=true"
ansible-playbook -i INVENTORY_FILE cephadm-preflight.yml --extra-vars "ceph_origin=rhcs upgrade_ceph_packages=true"Copy to Clipboard Copied! Toggle word wrap Toggle overflow 例
ansible-playbook -i /etc/ansible/hosts 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"Copy to Clipboard Copied! Toggle word wrap Toggle overflow このパッケージは、すべてのノードで
cephadmをアップグレードします。cephadmシェルにログインします。例
cephadm shell
[root@host01 ~]# cephadm shellCopy to Clipboard Copied! Toggle word wrap Toggle overflow すべてのホストがオンラインになり、ストレージクラスターが健全であることを確認します。
例
[ceph: root@host01 /]# ceph -s
[ceph: root@host01 /]# ceph -sCopy to Clipboard Copied! Toggle word wrap Toggle overflow 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: root@host01 /]# ceph osd set noout [ceph: root@host01 /]# ceph osd set noscrub [ceph: root@host01 /]# ceph osd set nodeep-scrubCopy to Clipboard Copied! Toggle word wrap Toggle overflow サービスのバージョンと利用可能なターゲットコンテナーを確認します。
構文
ceph orch upgrade check IMAGE_NAME
ceph orch upgrade check IMAGE_NAMECopy to Clipboard Copied! Toggle word wrap Toggle overflow 例
[ceph: root@host01 /]# ceph orch upgrade check registry.redhat.io/rhceph/rhceph-7-rhel9:latest
[ceph: root@host01 /]# ceph orch upgrade check registry.redhat.io/rhceph/rhceph-7-rhel9:latestCopy to Clipboard Copied! Toggle word wrap Toggle overflow 注記イメージ名は、Red Hat Enterprise Linux 8 と Red Hat Enterprise Linux 9 の両方に適用されます。
ストレージクラスターをアップグレードします。
構文
ceph orch upgrade start IMAGE_NAME
ceph orch upgrade start IMAGE_NAMECopy to Clipboard Copied! Toggle word wrap Toggle overflow 例
[ceph: root@host01 /]# ceph orch upgrade start registry.redhat.io/rhceph/rhceph-7-rhel9:latest
[ceph: root@host01 /]# ceph orch upgrade start registry.redhat.io/rhceph/rhceph-7-rhel9:latestCopy to Clipboard Copied! Toggle word wrap Toggle overflow 注記段階的アップグレードを実行するには、Performing a staggered upgrade を参照してください。
アップグレード中は、進捗バーが
ceph status出力に表示されます。例
[ceph: root@host01 /]# ceph status [...] progress: Upgrade to 18.2.0-128.el9cp (1s) [............................][ceph: root@host01 /]# ceph status [...] progress: Upgrade to 18.2.0-128.el9cp (1s) [............................]Copy to Clipboard Copied! Toggle word wrap Toggle overflow Ceph クラスターの新しい IMAGE_ID および VERSION を確認します。
例
[ceph: root@host01 /]# ceph versions [ceph: root@host01 /]# ceph orch ps
[ceph: root@host01 /]# ceph versions [ceph: root@host01 /]# ceph orch psCopy to Clipboard Copied! Toggle word wrap Toggle overflow 注記cephadm-ansiblePlaybook を使用していない場合は、Ceph クラスターをアップグレードした後、クライアントノードのceph-commonパッケージとクライアントライブラリーをアップグレードする必要があります。例
[root@client01 ~] dnf update ceph-common
[root@client01 ~] dnf update ceph-commonCopy to Clipboard Copied! Toggle word wrap Toggle overflow 最新バージョンを使用していることを確認します。
例
[root@client01 ~] ceph --version
[root@client01 ~] ceph --versionCopy to Clipboard Copied! Toggle word wrap Toggle overflow アップグレードが完了したら、
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
[ceph: root@host01 /]# ceph osd unset noout [ceph: root@host01 /]# ceph osd unset noscrub [ceph: root@host01 /]# ceph osd unset nodeep-scrubCopy to Clipboard Copied! Toggle word wrap Toggle overflow