7.4. コマンドラインインターフェイスを使用したストレージクラスターのアップグレード


ストレージクラスターの実行中に、Red Hat Ceph Storage 3.3 から Red Hat Ceph Storage 4 にアップグレードできます。これらのバージョンの重要な違いは、Red Hat Ceph Storage4 がデフォルトで msgr2 プロトコルを使用することです。これはポート 3300 を使用します。開いていない場合、クラスターは HEALTH_WARN エラーを発行します。

ストレージクラスターのアップグレード時に考慮すべき制約を以下に示します。

  • Red Hat Ceph Storage 4 では、デフォルトで msgr2 プロトコルが使用されます。Ceph Monitor ノードでポート 3300 が開いていることを確認します。
  • ceph-monitor デーモンを Red Hat Ceph Storage 3 から Red Hat Ceph Storage 4 にアップグレードしたら、Red Hat Ceph Storage 3 の ceph-osd デーモンは、Red Hat Ceph Storage 4 にアップグレードするまで、新しい OSD を作成 できません
  • アップグレードの進行中はプールを 作成しないでください

前提条件

  • Ceph Monitor ノード、OSD ノード、および Object Gateway ノードへのルートレベルのアクセス。

手順

  1. Red Hat Ceph Storage 3 の実行中に、クラスターがすべての PG の完全スクラブを 1 つ以上完了していることを確認します。これを実行しないと、モニターデーモンは起動時にクォーラムへの参加を拒否し、機能しなくなる可能性があります。クラスターがすべての PG の完全スクラブを 1 つ以上完了していることを確認するには、以下を実行します。

    # ceph osd dump | grep ^flags
    Copy to Clipboard

    Red Hat Ceph Storage 3 から Red Hat Ceph Storage 4 へのアップグレードを続行するには、OSD マップに recovery_deletes フラグおよび purged_snapdirs フラグが含まれている必要があります。

  2. クラスターが正常な状態でクリーンな状態であることを確認します。

    ceph health
    HEALTH_OK
    Copy to Clipboard
  3. ceph-mon および ceph-manager を実行しているノードの場合は、以下のコマンドを実行します。

    # subscription-manager repos --enable=rhel-7-server-rhceph-4-mon-rpms
    Copy to Clipboard

    Red Hat Ceph Storage 4 パッケージを有効にしたら、それぞれの ceph-mon ノードおよび ceph- manager ノードで以下のコマンドを実行します。

    # firewall-cmd --add-port=3300/tcp
    # firewall-cmd --add-port=3300/tcp --permanent
    # yum update -y
    # systemctl restart ceph-mon@<mon-hostname>
    # systemctl restart ceph-mgr@<mgr-hostname>
    Copy to Clipboard

    <mon-hostname> および <mgr-hostname> をターゲットホストのホスト名に置き換えます。

  4. OSD をアップグレードする前に、Ceph Monitor ノードで noout フラグおよび nodeep-scrub フラグを設定して、アップグレード中に OSD がリバランスされないようにします。

    # ceph osd set noout
    # ceph osd det nodeep-scrub
    Copy to Clipboard
  5. 各 OSD ノードで、以下を実行します。

    # subscription-manager repos --enable=rhel-7-server-rhceph-4-osd-rpms
    Copy to Clipboard

    Red Hat Ceph Storage 4 パッケージを有効にしたら、OSD ノードを更新します。

    # yum update -y
    Copy to Clipboard

    ノードで実行している各 OSD デーモンについて、以下のコマンドを実行します。

    # systemctl restart ceph-osd@<osd-num>
    Copy to Clipboard

    <osd-num> を、再起動する osd 番号に置き換えてください。次の OSD ノードに進む前に、ノード上の全 OSD が再起動したことを確認します。

  6. ceph-disk を使用してデプロイされたストレージクラスターに OSD がある場合には、ceph-volume にデーモンを起動するように指示します。

    # ceph-volume simple scan
    # ceph-volume simple activate --all
    Copy to Clipboard
  7. Nautilus の機能のみを有効にします。

    # ceph osd require-osd-release nautilus
    Copy to Clipboard
    重要

    このステップの実行に失敗すると、msgr2 が有効になってから OSD が通信できなくなります。

  8. すべての OSD ノードをアップグレードしたら、Ceph Monitor ノードで noout フラグおよび nodeep-scrub フラグの設定を解除します。

    # ceph osd unset noout
    # ceph osd unset nodeep-scrub
    Copy to Clipboard
  9. 既存の CRUSH バケットを、最新のバケットタイプ straw2 に切り替えます。

    # ceph osd getcrushmap -o backup-crushmap
    # ceph osd crush set-all-straw-buckets-to-straw2
    Copy to Clipboard
  10. Red Hat Ceph Storage 3 から Red Hat Ceph Storage 4 にアップグレードした後、すべてのデーモンが更新されたら、以下のステップを実行します。

    1. Specify v2 プロトコル msgr2 を有効にします。

      ceph mon enable-msgr2
      Copy to Clipboard

      これにより、古いデフォルトポート 6789 にバインドされるすべての Ceph Monitor が新しいポート 3300 にバインドされるように指示します。

    2. monitor のステータスを確認します。

      ceph mon dump
      Copy to Clipboard
      注記

      nautilus OSD を実行しても、v2 アドレスに自動的にバインドされません。再起動する必要があります。

  11. Red Hat Ceph Storage 3 から Red Hat Ceph Storage 4 にアップグレードされたホストごとに、ceph.conf ファイルを更新して、モニターポートを指定しないか、v2 と v1 の両方のアドレスとポートを参照します。
  12. ceph.conf ファイルの設定オプションをストレージクラスターの設定データベースにインポートします。

    [root@mon ~]# ceph config assimilate-conf -i /etc/ceph/ceph.conf
    Copy to Clipboard

    1. ストレージクラスターの設定データベースを確認してください。

      [root@mon ~]# ceph config dump
      Copy to Clipboard

    2. オプション: Red Hat Ceph Storage 4 にアップグレードした後、ホストごとに最小限の ceph.conf ファイルを作成します。

      [root@mon ~]# ceph config generate-minimal-conf > /etc/ceph/ceph.conf.new
      [root@mon ~]# mv /etc/ceph/ceph.conf.new /etc/ceph/ceph.conf
      Copy to Clipboard

  13. Ceph Object Gateway ノードで、以下を実行します。

    # subscription-manager repos --enable=rhel-7-server-rhceph-4-tools-rpms
    Copy to Clipboard

    Red Hat Ceph Storage 4 パッケージを有効にしたら、ノードを更新して、ceph-rgw デーモンを再起動します。

    # yum update -y
    # systemctl restart ceph-rgw@<rgw-target>
    Copy to Clipboard

    <rgw-target> を、再起動する rgw ターゲットに置き換えてください。

  14. 管理ノードの場合には、以下のコマンドを実行します。

    # subscription-manager repos --enable=rhel-7-server-rhceph-4-tools-rpms
    # yum update -y
    Copy to Clipboard
  15. クラスターが正常な状態でクリーンな状態であることを確認します。

    # ceph health
    HEALTH_OK
    Copy to Clipboard
  16. 必要に応じて、クライアントノードで、Ceph クライアント側ライブラリーに依存するアプリケーションを再起動します。

    注記

    QEMU または KVM インスタンスを実行している OpenStack Nova コンピュートノードをアップグレードする場合や、専用の QEMU または KVM クライアントを使用する場合には、インスタンスを再起動しても機能しないため、QEMU または KVM インスタンスを停止して起動してください。

トップに戻る
Red Hat logoGithubredditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

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

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

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

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

会社概要

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

Theme

© 2025 Red Hat