第5章 段階的なアップグレード
ストレージ管理者は、Red Hat Ceph Storage コンポーネントを一度にすべてではなく段階的にアップグレードできます。Red Hat Ceph Storage 5.2 以降、ceph orch upgrade コマンドでオプションを指定して、1 つの upgrade コマンドでアップグレードするデーモンを制限することが可能になりました
段階的アップグレードをサポートしていないバージョンからアップグレードする場合は、最初に Ceph Manager (ceph-mgr) デーモンを手動でアップグレードする必要があります。以前のリリースからの段階的なアップグレードの実行に関する詳細は、以前のリリースからの段階的なアップグレードの実行 を参照してください。
Ceph iSCSI ゲートウェイは、Red Hat Ceph Storage 6 から削除されます。したがって、Red Hat Ceph Storage 5 から Red Hat Ceph Storage 6 にアップグレードする前に、iSCSI LUN を管理する必要があります。
Red Hat Ceph Storage クラスターを RHCS 5 から RHCS 6 にアップグレードすると、iSCSI を介してエクスポートされた RBD イメージが保持されるため、データが失われることはありません。ただし、アップグレードによってすべての iSCSI ターゲットがなくなるため、データに一時的にアクセスできなくなります。データを復元するには、rbd device map コマンドを使用してそのような RBD イメージをマップするか、rbd export コマンドを使用してそれらをファイルにエクスポートします。
5.1. 段階的なアップグレードのオプション リンクのコピーリンクがクリップボードにコピーされました!
Red Hat Ceph Storage 5.2 以降、ceph orch upgrade コマンドは、クラスターコンポーネントを段階的にアップグレードするためのいくつかのオプションをサポートしています。段階的なアップグレードのオプションは、以下の通りです。
-
--daemon_types:
--daemon_typesオプションは、デーモンタイプのコンマ区切りのリストを取り、それらのタイプのデーモンのみをアップグレードします。このオプションの有効なデーモンタイプには、mgr、mon、crash、osd、mds、rgw、rbd-mirror、cephfs-mirror、およびnfsが含まれます。 -
--services:
--servicesオプションは--daemon-typesと相互に排他的であり、一度に 1 つのタイプのサービスのみを取り、それらのサービスに属するデーモンのみをアップグレードします。たとえば、OSD サービスと RGW サービスを同時に提供することはできません。 -
--hosts:
--hostsオプションを--daemon_types、--servicesと組み合わせるか、単独で使用することができます。--hostsオプションパラメーターは、オーケストレーター CLI 配置仕様のコマンドラインオプションと同じ形式に従います。 -
--limit:
--limitオプションはゼロより大きい整数を取り、cephadmがアップグレードするデーモンの数に数値制限を提供します。--limitオプションを--daemon_types、--services、または--hostsと組み合わせることができます。たとえば、制限を3に設定してhost01上のタイプosdのデーモンをアップグレードするように指定した場合、cephadmは host01 上の最大 3 つの OSD デーモンをアップグレードします。
5.1.1. 段階的なアップグレードの実行 リンクのコピーリンクがクリップボードにコピーされました!
ストレージ管理者は、ceph orch upgrade オプションを使用して、1 つの upgrade コマンドでアップグレードされるデーモンを制限できます。
Cephadm は、段階的なアップグレードシナリオに引き続き存在するデーモンのアップグレードの順序を厳密に適用します。現在のアップグレードの順序は次のとおりです。
- Ceph Manager ノード
- Ceph Monitor ノード
- Ceph-crash デーモン
- Ceph OSD ノード
- Ceph Metadata Server (MDS) ノード
- Ceph Object Gateway (RGW) ノード
- Ceph RBD-mirror ノード
- CephFS ミラーノード
- Ceph NFS ノード
デーモンを順不同でアップグレードするパラメーターを指定すると、upgrade コマンドはブロックし、続行する前にどのデーモンをアップグレードする必要があるかを通知します。
例
[ceph: root@host01 /]# ceph orch upgrade start --image registry.redhat.io/rhceph/rhceph-6-rhel9:latest --hosts host02 Error EINVAL: Cannot start upgrade. Daemons with types earlier in upgrade order than daemons on given host need upgrading. Please first upgrade mon.ceph-host01
[ceph: root@host01 /]# ceph orch upgrade start --image registry.redhat.io/rhceph/rhceph-6-rhel9:latest --hosts host02
Error EINVAL: Cannot start upgrade. Daemons with types earlier in upgrade order than daemons on given host need upgrading.
Please first upgrade mon.ceph-host01
規定されているインスタンスの再起動の順番はありません。Red Hat では、プライマリーイメージで、プールを参照するインスタンスを再起動して、その後にミラーリングされたプールを参照するインスタンスを再起動することを推奨します。
前提条件
- クラスターで Red Hat Ceph Storage 5.2 以降が実行している。
- すべてのノードへの root レベルのアクセス。
- ストレージクラスターの 2 つ以上の Ceph Manager ノード (アクティブなノード 1 つとスタンバイ 1 つ)。
手順
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-6-rhel9:latest
[ceph: root@host01 /]# ceph orch upgrade check registry.redhat.io/rhceph/rhceph-6-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 IMAGE_NAME --daemon-types DAEMON_TYPE1,DAEMON_TYPE2 --hosts HOST1,HOST2
ceph orch upgrade start --image IMAGE_NAME --daemon-types DAEMON_TYPE1,DAEMON_TYPE2 --hosts HOST1,HOST2Copy to Clipboard Copied! Toggle word wrap Toggle overflow 例
[ceph: root@host01 /]# ceph orch upgrade start --image registry.redhat.io/rhceph/rhceph-6-rhel9:latest --daemon-types mgr,mon --hosts host02,host03
[ceph: root@host01 /]# ceph orch upgrade start --image registry.redhat.io/rhceph/rhceph-6-rhel9:latest --daemon-types mgr,mon --hosts host02,host03Copy to Clipboard Copied! Toggle word wrap Toggle overflow 特定のサービスを指定し、アップグレードするデーモンの数を制限するには、以下を実行します。
構文
ceph orch upgrade start --image IMAGE_NAME --services SERVICE1,SERVICE2 --limit LIMIT_NUMBER
ceph orch upgrade start --image IMAGE_NAME --services SERVICE1,SERVICE2 --limit LIMIT_NUMBERCopy to Clipboard Copied! Toggle word wrap Toggle overflow 例
[ceph: root@host01 /]# ceph orch upgrade start --image registry.redhat.io/rhceph/rhceph-6-rhel9:latest --services rgw.example1,rgw1.example2 --limit 2
[ceph: root@host01 /]# ceph orch upgrade start --image registry.redhat.io/rhceph/rhceph-6-rhel9:latest --services rgw.example1,rgw1.example2 --limit 2Copy to Clipboard Copied! Toggle word wrap Toggle overflow 注記段階的なアップグレードのシナリオでは、制限パラメーターを使用する場合、Prometheus および
node-exporterを含むモニタリングスタックデーモンは、Ceph Manager デーモンのアップグレード後に更新されます。制限パラメーターの結果として、Ceph Manager のアップグレードが完了するまでに時間がかかります。モニタリングスタックデーモンのバージョンは、Ceph リリース間で変更されない場合があり、その場合、それらは再デプロイされるだけになります。注記制限パラメーターを含む upgrade コマンドは、アップグレードを開始する前にオプションを検証します。これには、新しいコンテナーイメージのプルが必要になる場合があります。その結果、制限パラメーターを指定すると、
upgrade startコマンドが戻るまでに時間がかかる場合があります。
引き続きアップグレードが必要なデーモンを確認するには、
ceph orch upgrade checkまたはceph versionsコマンドを実行します。例
[ceph: root@host01 /]# ceph orch upgrade check --image registry.redhat.io/rhceph/rhceph-6-rhel9:latest
[ceph: root@host01 /]# ceph orch upgrade check --image registry.redhat.io/rhceph/rhceph-6-rhel9:latestCopy to Clipboard Copied! Toggle word wrap Toggle overflow 段階的なアップグレードを完了するには、残りのすべてのサービスのアップグレードを確認します。
構文
ceph orch upgrade start --image IMAGE_NAME
ceph orch upgrade start --image IMAGE_NAMECopy to Clipboard Copied! Toggle word wrap Toggle overflow 例
[ceph: root@host01 /]# ceph orch upgrade start --image registry.redhat.io/rhceph/rhceph-6-rhel9:latest
[ceph: root@host01 /]# ceph orch upgrade start --image registry.redhat.io/rhceph/rhceph-6-rhel9:latestCopy 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 アップグレードが完了したら、
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
5.1.2. 以前のリリースからの段階的なアップグレードの実行 リンクのコピーリンクがクリップボードにコピーされました!
Red Hat Ceph Storage 5.2 以降では、必要な引数を指定すると、ストレージクラスター上で段階的なアップグレードを実行できます。段階的アップグレードをサポートしていないバージョンからアップグレードする場合は、最初に Ceph Manager (ceph-mgr) デーモンを手動でアップグレードする必要があります。Ceph Manager デーモンをアップグレードしたら、制限パラメーターを渡して段階的なアップグレードを完了できます。
この手順を試みる前に、少なくとも 2 つの実行中の Ceph Manager デーモンがあることを確認してください。
前提条件
- クラスターで Red Hat Ceph Storage 5.0 以降が実行している。
- ストレージクラスターの 2 つ以上の Ceph Manager ノード (アクティブなノード 1 つとスタンバイ 1 つ)。
手順
Cephadm シェルにログインします。
例
cephadm shell
[root@host01 ~]# cephadm shellCopy to Clipboard Copied! Toggle word wrap Toggle overflow どの Ceph Manager がアクティブで、どれがスタンバイかを判別します。
例
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 各スタンバイ Ceph Manager デーモンを手動でアップグレードします。
構文
ceph orch daemon redeploy mgr.ceph-HOST.MANAGER_ID --image IMAGE_ID
ceph orch daemon redeploy mgr.ceph-HOST.MANAGER_ID --image IMAGE_IDCopy to Clipboard Copied! Toggle word wrap Toggle overflow 例
[ceph: root@host01 /]# ceph orch daemon redeploy mgr.ceph-host02.pzgrhz --image registry.redhat.io/rhceph/rhceph-6-rhel9:latest
[ceph: root@host01 /]# ceph orch daemon redeploy mgr.ceph-host02.pzgrhz --image registry.redhat.io/rhceph/rhceph-6-rhel9:latestCopy to Clipboard Copied! Toggle word wrap Toggle overflow アップグレードされたスタンバイ Ceph Manager にフェイルオーバーします。
例
[ceph: root@host01 /]# ceph mgr fail
[ceph: root@host01 /]# ceph mgr failCopy to Clipboard Copied! Toggle word wrap Toggle overflow スタンバイ Ceph Manager が現在アクティブであることを確認します。
例
Copy to Clipboard Copied! Toggle word wrap Toggle overflow アクティブな Ceph Manager が新しいバージョンにアップグレードされていることを確認します。
構文
ceph tell mgr.ceph-HOST.MANAGER_ID version
ceph tell mgr.ceph-HOST.MANAGER_ID versionCopy to Clipboard Copied! Toggle word wrap Toggle overflow 例
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - ステップ 2 から 6 を繰り返して、残りの Ceph Manager を新しいバージョンにアップグレードします。
すべての Ceph Manager が新しいバージョンにアップグレードされていることを確認します。
例
[ceph: root@host01 /]# ceph mgr versions { "ceph version 16.2.8-12.el8cp (600e227816517e2da53d85f2fab3cd40a7483372) pacific (stable)": 2 }[ceph: root@host01 /]# ceph mgr versions { "ceph version 16.2.8-12.el8cp (600e227816517e2da53d85f2fab3cd40a7483372) pacific (stable)": 2 }Copy to Clipboard Copied! Toggle word wrap Toggle overflow - すべての Ceph Manager をアップグレードしたら、制限パラメーターを指定して、残りの段階的アップグレードを完了できます。