第5章 cephadm を使用した Red Hat Ceph Storage クラスターのアップグレード

ストレージ管理者は、cephadm Orchestrator を使用して Red Hat Ceph Storage 5.0 以降をアップグレードできます。

自動アップグレードプロセスには、Ceph のベストプラクティスに従います。以下は例になります。

  • アップグレードの順序は、Ceph Manager、Ceph Monitor、その他のデーモンとなります。
  • 各デーモンは、Ceph がクラスターが引き続き使用可能であることを示した後にのみ再起動されます。

ストレージクラスターのヘルスステータスは、アップグレード中に HEALTH_WARNING に切り換わる可能性が高くなります。アップグレードが完了したら、ヘルスステータスは HEALTH_OK に戻すはずです。

注記

Ceph-ansible は現在 Red Hat Ceph Storage 5 ではサポートされません。つまり、ストレージクラスターを Red Hat Ceph Storage 5 に移行したら、cephadm および cephadm-ansible を使用して後続の更新を実行する必要があります。

注記

アップグレードに成功したら、メッセージを取得しません。ceph versions および ceph orch ps コマンドを実行して、新しいイメージ ID およびストレージクラスターのバージョンを確認します。

5.1. Red Hat Ceph Storage クラスターのアップグレード

Red Hat Ceph Storage 5.0 クラスターをアップグレードするには、ceph orch upgrade コマンドを使用できます。

前提条件

  • 実行中の Red Hat Ceph Storage クラスター 5.0
  • すべてのノードへの root レベルのアクセス。
  • ストレージクラスターの 2 つ以上の Ceph Manager ノード (アクティブなノード 1 つと スタンバイ 1 つ)。
注記

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

手順

  1. cephadm-ansible パッケージを更新します。

    [root@host01 ~] dnf update cephadm-ansible

  2. ストレージクラスターのブートストラップされたホストで upgrade_ceph_packages パラメーターを true に設定して、プリフライト Playbook を実行します。

    構文

    ansible-playbook -i INVENTORY-FILE cephadm-preflight.yml --extra-vars "ceph_origin=rhcs upgrade_ceph_packages=true"

    [root@host01 ~]# ansible-playbook -i /etc/ansible/hosts cephadm-preflight.yml --extra-vars "ceph_origin=rhcs upgrade_ceph_packages=true"

    このパッケージは、すべてのノードで cephadm をアップグレードします。

    重要

    ストレージクラスターを Red Hat Ceph Storage 4 から Red Hat Ceph Storage 5 に移行すると、その以降、cephadm パッケージが更新されません。

    この問題を回避するには、cephadm バイナリーを手動で削除してから再インストールします。

    [root@host01 /]# rm /usr/sbin/cephadm && dnf install cephadm

  3. cephadm シェルにログインします。

    [root@host01 ~]# cephadm shell

  4. すべてのホストがオンラインになり、ストレージクラスターが健全であることを確認します。

    [ceph: root@host01 /]# ceph -s

  5. サービスのバージョンと利用可能なターゲットコンテナーを確認します。

    構文

    ceph orch upgrade check --image IMAGE_NAME

    [ceph: root@host01 /]# ceph orch upgrade check --image registry.redhat.io/rhceph/rhceph-5-rhel8:latest

  6. ストレージクラスターをアップグレードします。

    構文

    ceph orch upgrade start --image IMAGE_NAME

    [ceph: root@host01 /]# ceph orch upgrade start --image registry.redhat.io/rhceph/rhceph-5-rhel8:latest

    アップグレード中は、進捗バーが ceph status 出力に表示されます。

    [ceph: root@host01 /]# ceph status
    [...]
    progress:
        Upgrade to 16.2.0-115.el8cp (1s)
          [............................]

  7. Ceph クラスターの新しい IMAGE_ID および VERSION を確認します。

    [ceph: root@host01 /]# ceph versions
    [ceph: root@host01 /]# ceph orch ps