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


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

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

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

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

Red Hat Ceph Storage 5 から Red Hat Ceph Storage 7 への直接のアップグレードはサポートされていません。

警告

Ceph Object Gateway ストレージクラスター (シングルサイトまたはマルチサイト) 上の Red Hat Ceph Storage 5.2 へのアップグレードはサポートされていますが、ストレージクラスターをアップグレードする前に、ceph config set mgr mgr/cephadm/no_five_one_rgw true --force オプションを設定する必要があります。

詳細は、ナレッジベースの記事 Support Restrictions for upgrades for RADOS Gateway (RGW) on Red Hat Red Hat Ceph Storage 5.2 および Red Hat Ceph Storage 5.2 リリースノートの Known issues セクションを参照してください。

注記

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

重要

Red Hat Enterprise Linux 9 以降では、cephadm-ansible Playbook はサポートされません。

注記

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

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

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

前提条件

  • Red Hat Ceph Storage クラスター 5 が実行されている。
  • Red Hat Enterprise Linux 8.4 EUS 以降。
  • すべてのノードへの root レベルのアクセス。
  • ストレージクラスター内のすべてのノードへの sudo アクセスおよびパスワードなしの ssh アクセスのある Ansible ユーザー。
  • ストレージクラスターの 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 および cephadm-ansible パッケージを更新します。

    例:

    [root@admin ~]# dnf update cephadm
    [root@admin ~]# dnf update cephadm-ansible

  2. /usr/share/cephadm-ansible ディレクトリーに移動します。

    例:

    [root@admin ~]# cd /usr/share/cephadm-ansible

  3. バケットが作成されているか、num_shards = 0 である場合は、Red Hat Ceph Storage 5.3 へのアップグレードを計画する前に、バケットを手動でリシャーディングします。

    構文

    radosgw-admin bucket reshard --num-shards 11 --bucket BUCKET_NAME

    例:

    [ceph: root@host01 /]# radosgw-admin bucket reshard --num-shards 11 --bucket mybucket

  4. ストレージクラスターのブートストラップされたホストで 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 cephdm-ansible]$ ansible-playbook -i /etc/ansible/hosts cephadm-preflight.yml --extra-vars "ceph_origin=rhcs upgrade_ceph_packages=true"

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

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

    例:

    [root@host01 ~]# cephadm shell

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

    例:

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

  7. OSD の nooutnoscrub、および 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

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

    構文

    ceph orch upgrade check IMAGE_NAME

    例:

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

    注記

    イメージ名は、Red Hat Enterprise Linux 8 と Red Hat Enterprise Linux 9 の両方に適用されます。

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

    構文

    ceph orch upgrade start IMAGE_NAME

    例:

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

    注記

    段階的アップグレードを実行するには、Performing a staggered upgrade を参照してください。

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

    例:

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

  10. 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

  11. アップグレードが完了したら、nooutnoscrub、および nodeep-scrub フラグの設定を解除します。

    例:

    [ceph: root@host01 /]# ceph osd unset noout
    [ceph: root@host01 /]# ceph osd unset noscrub
    [ceph: root@host01 /]# ceph osd unset nodeep-scrub

Red Hat logoGithubRedditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

Red Hat ドキュメントについて

Red Hat をお使いのお客様が、信頼できるコンテンツが含まれている製品やサービスを活用することで、イノベーションを行い、目標を達成できるようにします。

多様性を受け入れるオープンソースの強化

Red Hat では、コード、ドキュメント、Web プロパティーにおける配慮に欠ける用語の置き換えに取り組んでいます。このような変更は、段階的に実施される予定です。詳細情報: Red Hat ブログ.

会社概要

Red Hat は、企業がコアとなるデータセンターからネットワークエッジに至るまで、各種プラットフォームや環境全体で作業を簡素化できるように、強化されたソリューションを提供しています。

© 2024 Red Hat, Inc.