4.6.2. OSD ノードのアップグレード

システム管理者は、Red Hat Ceph Storage クラスターノードおよび Red Hat Enterprise Linux オペレーティングシステム上の Ceph OSD ソフトウェアを、同時に新しいメジャーリリースに手動でアップグレードできます。

重要

Ceph クラスターの OSD ノードごとにこの手順を実行しますが、通常は 1 度に 1 つの OSD ノードに対してのみ実行します。最大 1 つの障害ドメインに相当する OSD ノードを並行して実行できます。たとえば、ラックごとのレプリケーションが使用されている場合は、ラックの OSD ノード全体を並行してアップグレードできます。データアクセスの問題を防ぐには、次の OSD に進むに、現在の OSD ノードの OSD が通常の動作に戻り、すべてのクラスター PG が active+clean 状態であるようにしてください。

前提条件

  • 実行中の Red Hat Ceph Storage クラスター。
  • 各ノード で Red Hat Enterprise Linux 7.9 を使用している。
  • ノードが Red Hat Ceph Storage バージョン 4.2z2 以降を使用している。
  • Red Hat Enterprise Linux 8.4 以降のインストールソースへのアクセス
  • FileStore OSD は BlueStore に移行される必要があります。

手順

  1. BlueStore に移行されていない FileStore OSD がある場合は、filestore-to-bluestore Playbook を実行します。OSD を FileStore から BlueStore に変換する方法については、「BlueStore」を参照してください。
  2. OSD の noout フラグを設定して、移行中に OSD がダウンとマークされないようにします。

    構文

    ceph osd set noout

  3. クラスター上で不要な負荷を回避するには、OSD nobackfill フラグ、norecover フラグ、norrebalance フラグ、noscrub フラグ、および nodeep-scrub フラグを設定し、ノードが移行のためにダウンした場合にデータの再起動を回避します。

    構文

    ceph osd set nobackfill
    ceph osd set norecover
    ceph osd set norebalance
    ceph osd set noscrub
    ceph osd set nodeep-scrub

  4. ノード上のすべての OSD プロセスを正常にシャットダウンします。

    構文

    systemctl stop ceph-osd.target

  5. Red Hat Ceph Storage 4 を使用している場合は、Red Hat Ceph Storage 4 リポジトリーを無効にします。

    1. tools リポジトリーを無効にします。

      構文

      subscription-manager repos --disable=rhel-7-server-rhceph-4-tools-rpms

    2. osd リポジトリーを無効にします。

      構文

      # subscription-manager repos --disable=rhel-7-server-rhceph-4-osd-rpms

  6. leapp ユーティリティーをインストールします。『Red Hat Enterprise Linux 7 から Red Hat Enterprise Linux 8 へのアップグレード』を参照してください。
  7. leapp のアップグレード前のチェックを行います。「コマンドラインからのアップグレード可能性の評価」を参照してください。
  8. /etc/ssh/sshd_configPermitRootLogin yes を設定します。
  9. OpenSSH SSH デーモンを再起動します。

    構文

    systemctl restart sshd.service

  10. Linux カーネルから iSCSI モジュールを削除します。

    構文

    modprobe -r iscsi

  11. Red Hat Enterprise Linux 7 から Red Hat Enterprise Linux 8 へのアップグレードの実行」に従ってアップグレードを実行します。

    1. tools リポジトリーを有効にします。

      # subscription-manager repos --enable=rhceph-4-tools-for-rhel-8-x86_64-rpms
  12. ceph.conf ファイルを復元します。
  13. nooutnobackfillnorecovernorebalancenoscrub、および nodeep-scrub フラグの設定を解除します。

    構文

    ceph osd unset noout
    ceph osd unset nobackfill
    ceph osd unset norecover
    ceph osd unset norebalance
    ceph osd unset noscrub
    ceph osd unset nodeep-scrub

  14. OSD がup および in になっていること、ならびに、active+clean 状態にあることを確認します。

    構文

    ceph -s

    services: サービス下の osd: 行で、すべての OSD が up および in であることを確認します。

    # ceph-s
    osd: 3 osds: 3 up (since 8s), 3 in (since 3M)

  15. この手順は、すべての OSD ノードですべてアップグレードされるまで繰り返します。

関連情報