アップグレードガイド
Red Hat Ceph Storage Cluster のアップグレード
概要
第1章 RHCS 4 から RHCS 5 への Red Hat Ceph Storage クラスターのアップグレード リンクのコピーリンクがクリップボードにコピーされました!
ストレージ管理者は、Red Hat Ceph Storage クラスターを Red Hat Ceph Storage 4 から Red Hat Ceph Storage 5 にアップグレードできます。アップグレードプロセスには、以下のタスクが含まれます。
- ストレージクラスターが Red Hat Enterprise Linux 7 を実行している場合は、ストレージクラスターのホスト OS バージョンを Red Hat Enterprise Linux 7 から Red Hat Enterprise Linux 8 にアップグレードします。
- ノードがまだ Red Hat Enterprise Linux 7 を実行している場合には、Ceph Ansible 管理ノードでホストの OS バージョンを Red Hat Enterprise Linux 7 から Red Hat Enterprise Linux 8 にアップグレードします。
- Ansible Playbook を使用して Red Hat Ceph Storage 4 ストレージクラスターを Red Hat Ceph Storage 5 にアップグレードします。
Red Hat Enterprise Linux 7.9 上の Red Hat Ceph Storage 4.3 から Red Hat Enterprise Linux 9 上の Red Hat Ceph Storage 5.2 にアップグレードする場合は、最初にホスト OS を Red Hat Enterprise Linux 7.9 から Red Hat Enterprise Linux 8.x にアップグレードし、Red Hat Ceph Storage をアップグレードしてから、Red Hat Enterprise Linux 9.x にアップグレードします。
Red Hat CephStorage 4 クラスターがすでに Red Hat Enterprise Linux 8 を実行している場合は、Upgrading a Red Hat Ceph Storage running Red Hat Enterprise Linux 8 from RHCS4 to RHCS 5 を参照してください。
leapp は、暗号化された OSD または暗号化されたパーティションを持つ OSD のアップグレードをサポートしていません。OSD が暗号化され、ホスト OS をアップグレードする場合は、OS をアップグレードする前に ceph-ansible の dmcrypt を無効にします。leapp の使用に関する詳細は、Upgrading from Red Hat Enterprise Linux 7 to Red Hat Enterprise Linux 8 および Upgrading from Red Hat Enterprise Linux 8 to Red Hat Enterprise Linux 9 を参照してください。
Ceph-ansible は現在 Red Hat Ceph Storage 5 ではサポートされません。つまり、ストレージクラスターを Red Hat Ceph Storage 5 に移行したら、cephadm および cephadm-ansible を使用して後続の更新を実行する必要があります。
Red Hat Ceph Storage 4 から Red Hat Ceph Storage 5 にアップグレードする場合には、bluestore_fsck_quick_fix_on_mount パラメーターを true に設定したり、ceph-bluestore-tool --path PATH_TO_OSD --command quick-fix|repair コマンドを実行したりしないでください。OMAP キーが不適切にフォーマットされデータ破損が発生する可能性があるためです。
Ceph Object Gateway ストレージクラスター (シングルサイトまたはマルチサイト) 上の Red Hat Ceph Storage 5.0 から Red Hat Ceph Storage 5.2 へのアップグレードはサポートされていますが、ストレージクラスターをアップグレードする前に、ceph config set mgr mgr/cephadm/no_five_one_rgw true --force オプションを設定する必要があります。
Ceph Object Gateway ストレージクラスター (シングルサイトまたはマルチサイト) 上の Red Hat Ceph Storage 5.1 から Red Hat Ceph Storage 5.2 へのアップグレードは、既知の問題によりサポートされていません。詳細は、ナレッジベースの記事 Support Restrictions for upgrades for RADOS Gateway (RGW) on Red Hat Red Hat Ceph Storage 5.2 を参照してください。
Red Hat Ceph Storage 5.0z4 へのアップグレードを計画している場合は、ナレッジベースの記事 How to upgrade from Red Hat Ceph Storage 4.2z4 to 5.0z4 に従ってアップグレード手順を実行してください。
Red Hat Ceph Storage では、オプション bluefs_buffered_io はデフォルトで True に設定されます。このオプションは、場合によって BlueFS でバッファー読み取りができるようにし、カーネルページキャッシュが RocksDB ブロック読み取りのような読み取りの二次キャッシュとして機能できるようにします。たとえば、 OMAP の反復時にすべてのブロックを保持ほど、RocksDB のブロックキャッシュが十分にない場合には、ディスクの代わりにページキャッシュから読み出すことが可能な場合があります。これにより、osd_memory_target が小さすぎてブロックキャッシュのすべてのエントリーを保持できない場合に、パフォーマンスが劇的に向上します。現在、bluefs_buffered_io を有効にし、システムレベルの swap を無効にすると、パフォーマンスの低下を防ぐことができます。
bluefs_buffered_io の現在の設定の表示の詳細については、Red Hat Ceph Storage Administration Guide の Viewing the bluefs_buffered_io setting セクションを参照してください。
クラスターを Red Hat Ceph Storage 4 から Red Hat Ceph Storage 5 にアップグレードする時に、すべてのクライアントノードで ceph-common パッケージをアップグレードする必要があります。ceph-common パッケージをアップグレードするには、他のデーモンのアップグレード後にすべてのクライアントで yum update ceph-common コマンドを実行します。
Red Hat Ceph Storage 5 は、コンテナー化されたデーモンのみをサポートします。コンテナーされていないストレージクラスターはサポートされません。コンテナー化されていないストレージクラスターを Red Hat Ceph Storage 4 から Red Hat Ceph Storage 5 にアップグレードする場合、アップグレードプロセスには、コンテナー化されたデプロイメントへの変換が含まれます。
1.1. 前提条件 リンクのコピーリンクがクリップボードにコピーされました!
- Red Hat Ceph Storage 4 クラスターが実行されている。
- 有効なカスタマーサブスクリプション。
- Ansible 管理ノードへの root レベルのアクセス。
- ストレージクラスター内のすべてのノードへの root レベルのアクセス。
- Ansible アプリケーションで使用する Ansible ユーザーアカウント。
- Red Hat Ceph Storage ツールおよび Ansible リポジトリーが有効になっている。
Red Hat Ceph Storage クラスターノードおよび Red Hat Enterprise Linux オペレーティングシステム上の Ceph File System (CephFS) Metadata Server (MDS) ソフトウェアを、同時に新しいメジャーリリースに手動でアップグレードできます。基盤となる XFS ファイルシステムが ftype=1 でフォーマットされているか、d_type をサポートしている。xfs_info /var コマンドを実行し、ftype が 1 になっていることを確認します。ftype の値が 1 でない場合は、新しいディスクをアタッチするか、ボリュームを作成します。この新しいデバイスの上に、新しい XFS ファイルシステムを作成し、/var/lib/containers にマウントします。
Red Hat Enterprise Linux 8 以降、mkfs.xfs はデフォルトで ftype=1 を有効にします。
1.2. RHCS と podman バージョン間の互換性に関する考慮事項 リンクのコピーリンクがクリップボードにコピーされました!
Podman および Red Hat Ceph Storage には、ライフサイクル終了の異なる戦略があり、互換性のあるバージョンを見つけるのが難しい場合があります。
Ceph アップグレードプロセスの一環として Red Hat Enterprise Linux 7 から Red Hat Enterprise Linux 8 にアップグレードする予定がある場合は、podman のバージョンが Red Hat Ceph Storage 5 と互換性があることを確認してください。
Red Hat は、Red Hat Ceph Storage 5 に対応する Red Hat Enterprise Linux バージョンに同梱されている podman バージョンを使用することを推奨しています。詳細は、ナレッジベースの記事 Red Hat Ceph Storage: Supported configurations を参照してください。その他のサポートについては、Red Hat Ceph Storage Troubleshooting Guide の Contacting Red Hat support for service セクションを参照してください。
Red Hat Ceph Storage 5.0 は、バージョン 2.2.1 を除き、podman バージョン 2.0.0 以降と互換性があります。バージョン 2.2.1 は、Red Hat Ceph Storage 5.0 と互換性がありません。
以下の表は、Red Hat Ceph Storage 6 と podman のバージョン間の互換性を示しています。
| Ceph | Podman | ||||
|---|---|---|---|---|---|
| 1.9 | 2.0 | 2.1 | 2.2 | 3.0 | |
| 5.0 (Pacific) | false | true | true | false | true |
1.3. アップグレードの準備 リンクのコピーリンクがクリップボードにコピーされました!
ストレージ管理者は、Ceph Storage クラスターを Red Hat Ceph Storage 5 にアップグレードできます。ただし、ストレージクラスターの一部のコンポーネントは、アップグレードを行う前に特定のソフトウェアバージョンを実行している必要があります。以下は、Red Hat Ceph Storage 5 にアップグレードする前にストレージクラスターにインストールする必要のある最小のソフトウェアバージョンを示しています。
- Red Hat Ceph Storage 4.3 以降
- Ansible 2.9
- Ceph-ansible には、最新バージョンの Red Hat Ceph Storage が同梱されている
- Red Hat Enterprise Linux 8.4 EUS 以降
- FileStore OSD が BlueStore に移行されている必要がある。OSD を FileStore から BlueStore に変換する方法については、BlueStore を参照してください。
Red Hat Ceph Storage 4.3 よりも前のバージョンから直接アップグレードする方法はありません。Red Hat Ceph Storage 3 からアップグレードする場合は、まず Red Hat Ceph Storage 4.3 以降にアップグレードしてから Red Hat Ceph Storage 5 にアップグレードする必要があります。
Red Hat Ceph Storage 5 の最新バージョンにのみアップグレードできます。たとえば、バージョン 5.1 が利用可能な場合、4 から 5.0 にアップグレードすることはできません。5.1 に直接アップグレードする必要があります。
Red Hat Enterprise Linux-8.7 (またはそれ以降) への Red Hat Ceph Storage-4.3.z1 の新規デプロイメント、または Red Hat Enterprise Linux-8.7 (またはそれ以降) のホスト OS を使用した Red Hat Ceph Storage-4.3.z1 から 5.X へのアップグレードは、TASK [ceph-mgr : wait for all mgr to be up] で失敗します。Red Hat Enterprise Linux 8.7 でリリースされた podman は、SELinux のラベル再設定に関する動作が変更されました。このため、起動順序によっては、一部の Ceph コンテナーが必要なファイルにアクセスできず、起動に失敗することがあります。
回避策については、ナレッジベースの RHCS 4.3 installation fails while executing the command `ceph mgr dump` を参照してください。
ストレージクラスターを Red Hat Ceph Storage 5 にアップグレードするには、クラスターで Red Hat Ceph Storage 4.3 以降を実行することを推奨しています。ナレッジベースの記事 What are the Red Hat Ceph Storage Releases? を参照してください。この記事には、Ceph パッケージと ceph-ansible の最新バージョンへのダウンロードリンクが含まれています。
アップグレードプロセスでは、Ansible Playbook を使用して、Red Hat Ceph Storage 4 ストレージクラスターを Red Hat Ceph Storage 5 にアップグレードします。Red Hat Ceph Storage 4 ストレージクラスターがコンテナー化されていないクラスターである場合、アップグレードプロセスには、クラスターをコンテナー化バージョンに変換するステップが含まれます。Red Hat Ceph Storage 5 は、コンテナー化されていないクラスターでは実行されません。
ミラーリングまたはマルチサイト設定がある場合は、一度に 1 つのクラスターをアップグレードします。別のクラスターをアップグレードする前に、アップグレードした各クラスターが適切に実行されていることを確認します。
leapp は、暗号化された OSD または暗号化されたパーティションを持つ OSD のアップグレードをサポートしていません。OSD が暗号化され、ホスト OS をアップグレードする場合は、OS をアップグレードする前に ceph-ansible の dmcrypt を無効にします。leapp の使用方法は、Upgrading from Red Hat Enterprise Linux 7 to Red Hat Enterprise Linux 8 を参照してください。
この手順の最初 3 つのステップは、ストレージクラスターが最新バージョンの RRed Hat Ceph Storage 4 をまだ実行していない場合に のみ 実行してください。Red Hat Ceph Storage 4 の最新バージョンは 4.3 以降である必要があります。
前提条件
- Red Hat Ceph Storage 4 クラスターが実行されている。
- ストレージクラスター内すべてのノードへの sudo レベルのアクセス。
- 有効なカスタマーサブスクリプション。
- Ansible 管理ノードへの root レベルのアクセス。
- Ansible アプリケーションで使用する Ansible ユーザーアカウント。
- Red Hat Ceph Storage ツールおよび Ansible リポジトリーが有効になっている。
手順
Ansible 管理ノードで Ceph および Ansible リポジトリーを有効にします。
例:
subscription-manager repos --enable=rhceph-4-tools-for-rhel-8-x86_64-rpms --enable=ansible-2.9-for-rhel-8-x86_64-rpms
[root@admin ceph-ansible]# subscription-manager repos --enable=rhceph-4-tools-for-rhel-8-x86_64-rpms --enable=ansible-2.9-for-rhel-8-x86_64-rpmsCopy to Clipboard Copied! Toggle word wrap Toggle overflow Ansible を更新します。
例:
dnf update ansible ceph-ansible
[root@admin ceph-ansible]# dnf update ansible ceph-ansibleCopy to Clipboard Copied! Toggle word wrap Toggle overflow アップグレードするストレージクラスターに、
exclusive-lock機能を使用する Ceph Block Device イメージが含まれる場合は、すべての Ceph Block Device ユーザーにクライアントの拒否リストを作成するパーミッションがあるようにしてください。構文
ceph auth caps client.ID mon 'profile rbd' osd 'profile rbd pool=POOL_NAME_1, profile rbd pool=POOL_NAME_2'
ceph auth caps client.ID mon 'profile rbd' osd 'profile rbd pool=POOL_NAME_1, profile rbd pool=POOL_NAME_2'Copy to Clipboard Copied! Toggle word wrap Toggle overflow ストレージクラスターが Cockpit を使用して最初にインストールされている場合は、
/usr/share/ceph-ansibleディレクトリーに、Cockpit が作成したインベントリーファイルへのシンボリックリンクを/usr/share/ansible-runner-service/inventory/hostsに作成します。/usr/share/ceph-ansibleディレクトリーに移動します。cd /usr/share/ceph-ansible
# cd /usr/share/ceph-ansibleCopy to Clipboard Copied! Toggle word wrap Toggle overflow シンボリックリンクを作成します。
ln -s /usr/share/ansible-runner-service/inventory/hosts hosts
# ln -s /usr/share/ansible-runner-service/inventory/hosts hostsCopy to Clipboard Copied! Toggle word wrap Toggle overflow
ceph-ansibleを使用してクラスターをアップグレードするには、hostsインベントリーファイルのシンボリックリンクをetc/ansible/hostsディレクトリーに作成します。ln -s /etc/ansible/hosts hosts
# ln -s /etc/ansible/hosts hostsCopy to Clipboard Copied! Toggle word wrap Toggle overflow ストレージクラスターが元々 Cockpit を使用してインストールされた場合は、コックピットで生成された SSH キーを Ansible ユーザーの
~/.sshディレクトリーにコピーします。鍵をコピーします。
構文
cp /usr/share/ansible-runner-service/env/ssh_key.pub /home/ANSIBLE_USERNAME/.ssh/id_rsa.pub cp /usr/share/ansible-runner-service/env/ssh_key /home/ANSIBLE_USERNAME/.ssh/id_rsa
cp /usr/share/ansible-runner-service/env/ssh_key.pub /home/ANSIBLE_USERNAME/.ssh/id_rsa.pub cp /usr/share/ansible-runner-service/env/ssh_key /home/ANSIBLE_USERNAME/.ssh/id_rsaCopy to Clipboard Copied! Toggle word wrap Toggle overflow ANSIBLE_USERNAME を Ansible のユーザー名に置き換えます。通常のデフォルトのユーザー名は
adminです。例:
cp /usr/share/ansible-runner-service/env/ssh_key.pub /home/admin/.ssh/id_rsa.pub cp /usr/share/ansible-runner-service/env/ssh_key /home/admin/.ssh/id_rsa
# cp /usr/share/ansible-runner-service/env/ssh_key.pub /home/admin/.ssh/id_rsa.pub # cp /usr/share/ansible-runner-service/env/ssh_key /home/admin/.ssh/id_rsaCopy to Clipboard Copied! Toggle word wrap Toggle overflow キーファイルに適切な所有者、グループ、およびパーミッションを設定します。
構文
chown ANSIBLE_USERNAME:ANSIBLE_USERNAME /home/ANSIBLE_USERNAME/.ssh/id_rsa.pub chown ANSIBLE_USERNAME:ANSIBLE_USERNAME /home/ANSIBLE_USERNAME/.ssh/id_rsa chmod 644 /home/ANSIBLE_USERNAME/.ssh/id_rsa.pub chmod 600 /home/ANSIBLE_USERNAME/.ssh/id_rsa
# chown ANSIBLE_USERNAME:ANSIBLE_USERNAME /home/ANSIBLE_USERNAME/.ssh/id_rsa.pub # chown ANSIBLE_USERNAME:ANSIBLE_USERNAME /home/ANSIBLE_USERNAME/.ssh/id_rsa # chmod 644 /home/ANSIBLE_USERNAME/.ssh/id_rsa.pub # chmod 600 /home/ANSIBLE_USERNAME/.ssh/id_rsaCopy to Clipboard Copied! Toggle word wrap Toggle overflow ANSIBLE_USERNAME を、Ansible のユーザー名に置き換えます。通常のデフォルトのユーザー名は
adminです。例:
chown admin:admin /home/admin/.ssh/id_rsa.pub chown admin:admin /home/admin/.ssh/id_rsa chmod 644 /home/admin/.ssh/id_rsa.pub chmod 600 /home/admin/.ssh/id_rsa
# chown admin:admin /home/admin/.ssh/id_rsa.pub # chown admin:admin /home/admin/.ssh/id_rsa # chmod 644 /home/admin/.ssh/id_rsa.pub # chmod 600 /home/admin/.ssh/id_rsaCopy to Clipboard Copied! Toggle word wrap Toggle overflow
1.4. ホスト OS アップグレード前のファイルのバックアップ リンクのコピーリンクがクリップボードにコピーされました!
ホスト OS をアップグレードする場合のみ、本セクションの手順を実行します。ホスト OS をアップグレードしない場合は、本セクションを省略します。
Playbook を実行すると ceph.conf ファイルがオーバーライドされるため、アップグレード手順を実行する前に、ストレージクラスター用にカスタマイズしたファイルのバックアップコピーを作成する必要があります。これにはキーリングファイルや設定用の yml ファイルが含まれます。
前提条件
- Red Hat Ceph Storage 4 クラスターが実行されている。
- 有効なカスタマーサブスクリプション。
- Ansible 管理ノードへの root レベルのアクセス。
- Ansible アプリケーションで使用する Ansible ユーザーアカウント。
- Red Hat Ceph Storage Tools および Ansible リポジトリーが有効になっている。
手順
-
/etc/cephフォルダーと/var/lib/cephフォルダーのバックアップコピーを作成します。 -
ceph.client.admin.keyringファイルのバックアップコピーを作成します。 -
各ノードから
ceph.confファイルのバックアップコピーを作成します。 -
各ノードの
/etc/ganesha/フォルダーのバックアップコピーを作成します。 -
ストレージクラスターで RBD ミラーリングが定義されている場合には、
/etc/cephフォルダーおよびgroup_vars/rbdmirrors.ymlファイルのバックアップコピーを作成します。
1.5. コンテナー化されたデプロイメントへの変換 リンクのコピーリンクがクリップボードにコピーされました!
この手順は、コンテナー化されていないクラスターに必要です。ストレージクラスターがコンテナー化されていないクラスターである場合、この手順により、クラスターがコンテナー化されたバージョンに変換されます。
Red Hat Ceph Storage 5 はコンテナーベースのデプロイメントだけをサポートします。RHCS 5.x にアップグレードする前に、クラスターをコンテナー化する必要があります。
Red Hat Ceph Storage 4 ストレージクラスターがすでにコンテナー化されている場合は、本セクションを飛ばして次に進んでください。
この手順により、デーモンが停止され、再起動されます。この手順の実行中に Playbook の実行が停止された場合は、再起動する前に必ずクラスターの状態を分析してください。
前提条件
- コンテナー化されていない Red Hat Ceph Storage 4 クラスターが実行されている。
- ストレージクラスター内のすべてのノードへの root レベルのアクセス。
- 有効なカスタマーサブスクリプション。
- Ansible 管理ノードへの root レベルのアクセス。
- Ansible アプリケーションで使用する Ansible ユーザーアカウント。
手順
-
マルチサイト設定を実行している場合は、
rgw_multisite: falseをall.ymlに設定します。 group_vars/all.ymlに、設定パラメーターに以下のデフォルト値があることを確認します。ceph_docker_image_tag: "latest" ceph_docker_registry: "registry.redhat.io" ceph_docker_image: rhceph/rhceph-4-rhel8 containerized_deployment: true
ceph_docker_image_tag: "latest" ceph_docker_registry: "registry.redhat.io" ceph_docker_image: rhceph/rhceph-4-rhel8 containerized_deployment: trueCopy to Clipboard Copied! Toggle word wrap Toggle overflow 注記この値は、ローカルレジストリーとカスタムイメージ名を使用する場合によって異なります。
任意手順: ベアメタルストレージクラスターのコマンドラインインターフェイスを使用して設定された双方向 RBD ミラーリングの場合、クラスターは RBD ミラーリングを移行しません。このような設定では、コンテナー化されていないストレージクラスターをコンテナー化されたデプロイメントに移行する前に、以下の手順を実行します。
Ceph クライアントノードでユーザーを作成します。
構文
ceph auth get client.PRIMARY_CLUSTER_NAME -o /etc/ceph/ceph.PRIMARY_CLUSTER_NAME.keyring
ceph auth get client.PRIMARY_CLUSTER_NAME -o /etc/ceph/ceph.PRIMARY_CLUSTER_NAME.keyringCopy to Clipboard Copied! Toggle word wrap Toggle overflow 例
ceph auth get client.rbd-mirror.site-a -o /etc/ceph/ceph.client.rbd-mirror.site-a.keyring
[root@rbd-client-site-a ~]# ceph auth get client.rbd-mirror.site-a -o /etc/ceph/ceph.client.rbd-mirror.site-a.keyringCopy to Clipboard Copied! Toggle word wrap Toggle overflow /etc/cephディレクトリーのauthファイルでユーザー名を変更します。例
Copy to Clipboard Copied! Toggle word wrap Toggle overflow authファイルをインポートして、関連するパーミッションを追加します。構文
ceph auth import -i PATH_TO_KEYRING
ceph auth import -i PATH_TO_KEYRINGCopy to Clipboard Copied! Toggle word wrap Toggle overflow 例
ceph auth import -i /etc/ceph/ceph.client.rbd-mirror.rbd-client-site-a.keyring
[root@rbd-client-site-a ~]# ceph auth import -i /etc/ceph/ceph.client.rbd-mirror.rbd-client-site-a.keyringCopy to Clipboard Copied! Toggle word wrap Toggle overflow RBD ミラーノードのサービス名を確認します。
例
Copy to Clipboard Copied! Toggle word wrap Toggle overflow rbd-mirror ノードを
/etc/ansible/hostsファイルに追加します。例:
[rbdmirrors] ceph.client.rbd-mirror.rbd-client-site-a
[rbdmirrors] ceph.client.rbd-mirror.rbd-client-site-aCopy to Clipboard Copied! Toggle word wrap Toggle overflow
コンテナー化されていないデーモンを使用している場合は、それらをコンテナー化された形式に変換します。
構文
ansible-playbook -vvvv -i INVENTORY_FILE infrastructure-playbooks/switch-from-non-containerized-to-containerized-ceph-daemons.yml
ansible-playbook -vvvv -i INVENTORY_FILE infrastructure-playbooks/switch-from-non-containerized-to-containerized-ceph-daemons.ymlCopy to Clipboard Copied! Toggle word wrap Toggle overflow -vvvvオプションは、変換プロセスの詳細ログを収集します。例:
ansible-playbook -vvvv -i hosts infrastructure-playbooks/switch-from-non-containerized-to-containerized-ceph-daemons.yml
[ceph-admin@admin ceph-ansible]$ ansible-playbook -vvvv -i hosts infrastructure-playbooks/switch-from-non-containerized-to-containerized-ceph-daemons.ymlCopy to Clipboard Copied! Toggle word wrap Toggle overflow Playbook が正常に完了したら、
all.ymlファイルのrgw_multisite: trueの値を編集し、containerized_deploymentの値がtrueとなるようにします。注記ceph-iscsi、libtcmu、およびtcmu-runnerパッケージを管理ノードから必ず削除してください。
1.6. ホストオペレーティングシステムの更新 リンクのコピーリンクがクリップボードにコピーされました!
Red Hat Ceph Storage 5 は、Red Hat Enterprise Linux 8.4 EUS、8.5、8.6、9.0、および 9.1 でサポートされます。
この手順により、ストレージクラスターのノードに Red Hat Ceph Storage 5 および RedHat Enterprise Linux 8 をインストールできます。ストレージクラスターで Red Hat Enterprise Linux 8 をすでに実行している場合は、この手順を省略してください。
最新バージョンの Red Hat Enterprise Linux および Red Hat Ceph Storage を実行するには、クラスター内のすべてのノードを手動でアップグレードする必要があります。
前提条件
- Red Hat Ceph Storage 4 ストレージクラスターが実行されている。
- ストレージクラスター内すべてのノードへの sudo レベルのアクセス。
- 有効なカスタマーサブスクリプション。
- Ansible 管理ノードへの root レベルのアクセス。
- Ansible アプリケーションで使用する Ansible ユーザーアカウント。
- Red Hat Ceph Storage ツールおよび Ansible リポジトリーが有効になっている。
手順
docker-to-podmanPlaybook を使用して、docker を podman に変換します。例:
ansible-playbook -vvvv -i hosts infrastructure-playbooks/ docker-to-podman.yml
[ceph-admin@admin ceph-ansible]$ ansible-playbook -vvvv -i hosts infrastructure-playbooks/ docker-to-podman.ymlCopy to Clipboard Copied! Toggle word wrap Toggle overflow
1.6.1. Ceph Monitor ノードとそのオペレーティングシステムを手動でアップグレード リンクのコピーリンクがクリップボードにコピーされました!
システム管理者は、Red Hat Ceph Storage クラスターノードおよび Red Hat Enterprise Linux オペレーティングシステム上の Ceph Monitor ソフトウェアを、同時に新しいメジャーリリースに手動でアップグレードできます。
一度に 1 つのモニターノードのみで手順を実施します。クラスターアクセスの問題を防ぐには、次のノードに進む前に、現在のアップグレードされた Monitor ノードが通常の操作に戻っていることを確認してください。
前提条件
- Red Hat Ceph Storage クラスターが実行されている。
- 各ノード で Red Hat Enterprise Linux 7.9 が実行されている。
- ノードは Red Hat Ceph Storage バージョン 4.3 以降を使用している。
- インストールソースへのアクセスが、Red Hat Enterprise Linux 8.4 EUS 以降で利用できる。
Red Hat Enterprise Linux 7.9 上の Red Hat Ceph Storage 4.3 から Red Hat Enterprise Linux 9 上の Red Hat Ceph Storage 5 にアップグレードする場合は、最初にホスト OS を Red Hat Enterprise Linux 7.9 から Red Hat Enterprise Linux 8.x にアップグレードし、Red Hat Ceph Storage をアップグレードしてから、Red Hat Enterprise Linux 9.x にアップグレードしてください。
手順
monitor サービスを停止します。
構文
systemctl stop ceph-mon@MONITOR_ID
systemctl stop ceph-mon@MONITOR_IDCopy to Clipboard Copied! Toggle word wrap Toggle overflow MONITOR_ID を、Monitor ノードの ID 番号に置き換えます。
Red Hat Ceph Storage 4 を使用している場合は、Red Hat Ceph Storage 4 リポジトリーを無効にします。
tools リポジトリーを無効にします。
subscription-manager repos --disable=rhel-7-server-rhceph-4-tools-rpms
# subscription-manager repos --disable=rhel-7-server-rhceph-4-tools-rpmsCopy to Clipboard Copied! Toggle word wrap Toggle overflow mon リポジトリーを無効にします。
subscription-manager repos --disable=rhel-7-server-rhceph-4-mon-rpms
# subscription-manager repos --disable=rhel-7-server-rhceph-4-mon-rpmsCopy to Clipboard Copied! Toggle word wrap Toggle overflow
jumppユーティリティーを使用してストレージクラスターをアップグレードすると、Ceph パッケージの多くが削除されます。アップグレードする前に、Ceph パッケージを書き留めます。例:
Copy to Clipboard Copied! Toggle word wrap Toggle overflow leappユーティリティーをインストールします。- Red Hat Enterprise Linux 8 の場合は、Upgrading from Red Hat Enterprise Linux 7 to Red Hat Enterprise Linux 8 を参照してください。
- Red Hat Enterprise Linux 9 の場合は、Upgrading from Red Hat Enterprise Linux 8 to Red Hat Enterprise Linux 9 を参照してください。
-
leappのアップグレード前のチェックを行います。Assessing upgradability from the command line を参照してください。 Red Hat Enterprise Linux 8.6 にアップグレードした後に、Ceph-Ansible パッケージをインストールし、Ansible Playbook を実行します。
Ceph-Ansible をインストールすると、すべての Ceph パッケージがインストールされます。
dnf install ceph-ansible
[root@admin ~]# dnf install ceph-ansibleCopy to Clipboard Copied! Toggle word wrap Toggle overflow ansibleユーザーとして、アップグレードされたすべてのノードで Ansible Playbook を実行します。ベアメタルデプロイメント
ansible-playbook -vvvv -i INVENTORY site.yml --limit osds|rgws|clients|mdss|nfss|iscsigw -i hosts
[user@admin ceph-ansible]$ ansible-playbook -vvvv -i INVENTORY site.yml --limit osds|rgws|clients|mdss|nfss|iscsigw -i hostsCopy to Clipboard Copied! Toggle word wrap Toggle overflow コンテナーデプロイメント
ansible-playbook -vvvv -i INVENTORY site-container.yml --limit osds|rgws|clients|mdss|nfss|iscsigw -i hosts
[ansible@admin ceph-ansible]$ ansible-playbook -vvvv -i INVENTORY site-container.yml --limit osds|rgws|clients|mdss|nfss|iscsigw -i hostsCopy to Clipboard Copied! Toggle word wrap Toggle overflow
Red Hat Enterprise Linux 9.x にアップグレードした後、
podman-auth.jsonファイルを他のノードから/etc/ceph/`のアップグレードされたノードにコピーし、各サービスを再起動します。systemctl restart _SERVICE NAME_
# systemctl restart _SERVICE NAME_Copy to Clipboard Copied! Toggle word wrap Toggle overflow -
/etc/ssh/sshd_configにPermitRootLogin yesを設定します。 OpenSSH SSH デーモンを再起動します。
systemctl restart sshd.service
# systemctl restart sshd.serviceCopy to Clipboard Copied! Toggle word wrap Toggle overflow Linux カーネルから iSCSI モジュールを削除します。
modprobe -r iscsi
# modprobe -r iscsiCopy to Clipboard Copied! Toggle word wrap Toggle overflow - ノードを再起動します。
Red Hat Ceph Storage 5 向けのリポジトリーを有効にします。
tools リポジトリーを有効にします。
Red Hat Enterprise Linux 8
subscription-manager repos --enable=rhceph-5-tools-for-rhel-8-x86_64-rpms
subscription-manager repos --enable=rhceph-5-tools-for-rhel-8-x86_64-rpmsCopy to Clipboard Copied! Toggle word wrap Toggle overflow Red Hat Enterprise Linux 9
subscription-manager repos --enable=rhceph-5-tools-for-rhel-9-x86_64-rpms
subscription-manager repos --enable=rhceph-5-tools-for-rhel-9-x86_64-rpmsCopy to Clipboard Copied! Toggle word wrap Toggle overflow
-
アップグレードされていない、またはそれらのファイルをすでに復元しているノードから、
ceph-client-admin.keyringファイルおよびceph.confファイルを復元します。 Ceph Monitor サービスを再起動します。
例:
systemctl restart ceph-mon@host01.service systemctl status ceph-mon@host01.service
[root@host01 ~]# systemctl restart ceph-mon@host01.service [root@host01 ~]# systemctl status ceph-mon@host01.serviceCopy to Clipboard Copied! Toggle word wrap Toggle overflow モニターおよびマネージャーサービスがバックアップされ、モニターがクォーラムであることを確認します。
構文
ceph -s
ceph -sCopy to Clipboard Copied! Toggle word wrap Toggle overflow services: の mon: 行で、ノードが クォーラム外 ではなく クォーラム にリストされていることを確認します。
例:
ceph -s mon: 3 daemons, quorum node0,node1,node2 (age 2h) mgr: node0(active, since 2h), standbys: node1, node2
# ceph -s mon: 3 daemons, quorum node0,node1,node2 (age 2h) mgr: node0(active, since 2h), standbys: node1, node2Copy to Clipboard Copied! Toggle word wrap Toggle overflow - すべてのアップグレードが完了するまで、すべての監視ノードで上記の手順を繰り返します。
1.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 Enterprise Linux 7.9 上の Red Hat Ceph Storage 4.3 から Red Hat Enterprise Linux 9 上の Red Hat Ceph Storage 5.2 にアップグレードする場合は、最初にホスト OS を Red Hat Enterprise Linux 7.9 から Red Hat Enterprise Linux 8.x にアップグレードし、Red Hat Ceph Storage をアップグレードしてから、Red Hat Enterprise Linux 9.x にアップグレードします。
前提条件
- Red Hat Ceph Storage クラスターが実行されている。
- 各ノード で Red Hat Enterprise Linux 7.9 が実行されている。
- ノードは Red Hat Ceph Storage バージョン 4.3 以降を使用している。
- Red Hat Enterprise Linux 8.4 EUS 以降のインストールソースへアクセスできる。
- FileStore OSD が BlueStore に移行されている必要がある。
手順
-
BlueStore に移行されていない FileStore OSD がある場合は、
filestore-to-bluestorePlaybook を実行します。OSD を FileStore から BlueStore に変換する方法については、BlueStore を参照してください。 OSD の
nooutフラグを設定して、移行中に OSD がダウンとマークされないようにします。構文
ceph osd set noout
ceph osd set nooutCopy to Clipboard Copied! Toggle word wrap Toggle overflow クラスター上で不要な負荷を回避するには、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
ceph osd set nobackfill ceph osd set norecover ceph osd set norebalance ceph osd set noscrub ceph osd set nodeep-scrubCopy to Clipboard Copied! Toggle word wrap Toggle overflow ノード上のすべての OSD プロセスを正常にシャットダウンします。
構文
systemctl stop ceph-osd.target
systemctl stop ceph-osd.targetCopy to Clipboard Copied! Toggle word wrap Toggle overflow Red Hat Ceph Storage 4 を使用している場合は、Red Hat Ceph Storage 4 リポジトリーを無効にします。
tools リポジトリーを無効にします。
構文
subscription-manager repos --disable=rhel-7-server-rhceph-4-tools-rpms
subscription-manager repos --disable=rhel-7-server-rhceph-4-tools-rpmsCopy to Clipboard Copied! Toggle word wrap Toggle overflow osd リポジトリーを無効にします。
構文
subscription-manager repos --disable=rhel-7-server-rhceph-4-osd-rpms
subscription-manager repos --disable=rhel-7-server-rhceph-4-osd-rpmsCopy to Clipboard Copied! Toggle word wrap Toggle overflow
-
leappユーティリティーをインストールします。Upgrading from Red Hat Enterprise Linux 7 to Red Hat Enterprise Linux 8 を参照してください。 -
leappのアップグレード前のチェックを行います。Assessing upgradability from the command line を参照してください。 -
/etc/ssh/sshd_configにPermitRootLogin yesを設定します。 OpenSSH SSH デーモンを再起動します。
構文
systemctl restart sshd.service
systemctl restart sshd.serviceCopy to Clipboard Copied! Toggle word wrap Toggle overflow Linux カーネルから iSCSI モジュールを削除します。
構文
modprobe -r iscsi
modprobe -r iscsiCopy to Clipboard Copied! Toggle word wrap Toggle overflow Performing the upgrade from Red Hat Enterprise Linux 7 to Red Hat Enterprise Linux 8 および Performing the upgrade from Red Hat Enterprise Linux 8 to Red Hat Enterprise Linux 9 に従って、アップグレードを実行します。
tools リポジトリーを有効にします。
Red Hat Enterprise Linux 8
subscription-manager repos --enable=rhceph-5-tools-for-rhel-8-x86_64-rpms
subscription-manager repos --enable=rhceph-5-tools-for-rhel-8-x86_64-rpmsCopy to Clipboard Copied! Toggle word wrap Toggle overflow Red Hat Enterprise Linux 9
subscription-manager repos --enable=rhceph-5-tools-for-rhel-9-x86_64-rpms
subscription-manager repos --enable=rhceph-5-tools-for-rhel-9-x86_64-rpmsCopy to Clipboard Copied! Toggle word wrap Toggle overflow
-
ceph.confファイルを復元します。 noout、nobackfill、norecover、norebalance、noscrub、およびnodeep-scrubフラグの設定を解除します。構文
Copy to Clipboard Copied! Toggle word wrap Toggle overflow OSD が
upおよびinになっていること、ならびに、active+clean状態にあることを確認します。構文
ceph -s
ceph -sCopy to Clipboard Copied! Toggle word wrap Toggle overflow services: サービス下の osd: 行で、すべての OSD が
upおよびinであることを確認します。例:
ceph -s osd: 3 osds: 3 up (since 8s), 3 in (since 3M)
# ceph -s osd: 3 osds: 3 up (since 8s), 3 in (since 3M)Copy to Clipboard Copied! Toggle word wrap Toggle overflow - この手順は、すべての OSD ノードですべてアップグレードされるまで繰り返します。
1.6.3. Ceph Object Gateway ノードのアップグレード リンクのコピーリンクがクリップボードにコピーされました!
システム管理者は、Red Hat Ceph Storage クラスターノードおよび Red Hat Enterprise Linux オペレーティングシステム上の Ceph Object Gateway (RGW) ソフトウェアを、同時に新しいメジャーリリースに手動でアップグレードできます。
Ceph クラスターの RGW ノードごとにこの手順を実行しますが、1 度に 1 つの RGW ノードに対してのみ実行します。クライアントアクセスの問題を防ぐには、次のノードのアップグレードに進む前に、現在のアップグレードされた RGW が通常の操作に戻っていることを確認してください。
アップグレード時に、radosgw-admin ツールと Ceph Object Gateway ストレージクラスターが同じバージョンであることを確認します。ストレージクラスターをアップグレードする場合、radosgw-admin ツールを同時にアップグレードすることが非常に重要です。一致しないバージョンの使用はサポートされていません。
前提条件
- Red Hat Ceph Storage クラスターが実行されている。
- 各ノード で Red Hat Enterprise Linux 7.9 が実行されている。
- ノードは Red Hat Ceph Storage バージョン 4.3 以降を使用している。
- Red Hat Enterprise Linux 8.4 EUS、8.5、8.6、9.0、および 9.1 のインストールソースにアクセスできる。
手順
Ceph Object Gateway サービスを停止します。
構文
systemctl stop ceph-radosgw.target
# systemctl stop ceph-radosgw.targetCopy to Clipboard Copied! Toggle word wrap Toggle overflow Red Hat Ceph Storage 4 ツールリポジトリーを無効にします。
subscription-manager repos --disable=rhel-7-server-rhceph-4-tools-rpms
# subscription-manager repos --disable=rhel-7-server-rhceph-4-tools-rpmsCopy to Clipboard Copied! Toggle word wrap Toggle overflow leappユーティリティーをインストールします。- Red Hat Enterprise Linux 8 の場合は、Upgrading from Red Hat Enterprise Linux 7 to Red Hat Enterprise Linux 8 を参照してください。
- Red Hat Enterprise Linux 9 の場合は、Upgrading from Red Hat Enterprise Linux 8 to Red Hat Enterprise Linux 9 を参照してください。
leappのアップグレード前のチェックを行います。- Red Hat Enterprise Linux 8 の場合は、Assessing upgradability from the command line を参照してください。
- Red Hat Enterprise Linux 9 の場合は、Assessing upgradability from the command line を参照してください。
-
/etc/ssh/sshd_configにPermitRootLogin yesを設定します。 バケットが作成されているか、
num_shards = 0である場合は、Red Hat Ceph Storage 5.3 へのアップグレードを計画する前に、バケットを手動でリシャーディングします。警告bucket_index_max_shardsが0の場合に以前のリリースから Red Hat Ceph Storage 5.3 にアップグレードすると、Ceph Object Gateway バケットのメタデータが失われ、バケットにアクセスしようとしたときにバケットが使用できなくなる可能性があります。そのため、bucket_index_max_shardsが11シャードに設定されていることを確認してください。そうでない場合は、ゾーングループレベルでこの設定を変更します。構文
radosgw-admin bucket reshard --num-shards 11 --bucket BUCKET_NAME
radosgw-admin bucket reshard --num-shards 11 --bucket BUCKET_NAMECopy to Clipboard Copied! Toggle word wrap Toggle overflow 例:
[ceph: root@host01 /]# radosgw-admin bucket reshard --num-shards 11 --bucket mybucket
[ceph: root@host01 /]# radosgw-admin bucket reshard --num-shards 11 --bucket mybucketCopy to Clipboard Copied! Toggle word wrap Toggle overflow OpenSSH SSH デーモンを再起動します。
systemctl restart sshd.service
# systemctl restart sshd.serviceCopy to Clipboard Copied! Toggle word wrap Toggle overflow Linux カーネルから iSCSI モジュールを削除します。
modprobe -r iscsi
# modprobe -r iscsiCopy to Clipboard Copied! Toggle word wrap Toggle overflow - Performing the upgrade from Red Hat Enterprise Linux 7 to Red Hat Enterprise Linux 8 に従ってアップグレードを実行します。
tools リポジトリーを有効にします。
Red Hat Enterprise Linux 8
subscription-manager repos --enable=rhceph-5-tools-for-rhel-8-x86_64-rpms
subscription-manager repos --enable=rhceph-5-tools-for-rhel-8-x86_64-rpmsCopy to Clipboard Copied! Toggle word wrap Toggle overflow Red Hat Enterprise Linux 9
subscription-manager repos --enable=rhceph-5-tools-for-rhel-9-x86_64-rpms
subscription-manager repos --enable=rhceph-5-tools-for-rhel-9-x86_64-rpmsCopy to Clipboard Copied! Toggle word wrap Toggle overflow -
ceph-client-admin.keyringおよびceph.confファイルを復元します。 デーモンが有効であることを確認します。
構文
ceph -s
ceph -sCopy to Clipboard Copied! Toggle word wrap Toggle overflow services: の rgw: 行を表示して、RGW デーモンがアクティブであることを確認します。
例:
rgw: 1 daemon active (node4.rgw0)
rgw: 1 daemon active (node4.rgw0)Copy to Clipboard Copied! Toggle word wrap Toggle overflow - すべてがアップグレードされるまで、すべての Ceph ObjectGateway ノードで上記の手順を繰り返します。
1.6.4. CephFS Metadata Server ノードのアップグレード リンクのコピーリンクがクリップボードにコピーされました!
ストレージ管理者として、Red Hat Ceph Storage クラスターノードおよび Red Hat Enterprise Linux オペレーティングシステム上の Ceph File System (CephFS) Metadata Server (MDS) ソフトウェアを、同時に新しいメジャーリリースに手動でアップグレードできます。
ストレージクラスターをアップグレードする前に、アクティブな MDS ランクの数を減らし、ファイルシステムごとに 1 つにします。これにより、複数の MDS 間でバージョンの競合が発生しなくなります。また、アップグレードを行う前に、すべてのスタンバイノードをオフラインにしてください。
これは、MDS クラスターにはバージョニングやファイルシステムフラグが組み込まれていないためです。これらの機能がないと、複数の MDS が異なるバージョンの MDS ソフトウェアを使用して通信することになり、アサーションやその他の不具合が発生する可能性があります。
前提条件
- Red Hat Ceph Storage クラスターが実行されている。
- 各ノード で Red Hat Enterprise Linux 7.9 が実行されている。
- ノードは Red Hat Ceph Storage バージョン 4.3 以降を使用している。
- Red Hat Enterprise Linux 8.4 EUS、8.5、8.6、9.0、および 9.1 のインストールソースにアクセスできる。
- ストレージクラスター内のすべてのノードへの root レベルのアクセス。
手順
アクティブな MDS ランクを 1 にします。
構文
ceph fs set FILE_SYSTEM_NAME max_mds 1
ceph fs set FILE_SYSTEM_NAME max_mds 1Copy to Clipboard Copied! Toggle word wrap Toggle overflow 例:
ceph fs set fs1 max_mds 1
[root@mds ~]# ceph fs set fs1 max_mds 1Copy to Clipboard Copied! Toggle word wrap Toggle overflow クラスターがすべての MDS ランクを停止するのを待ちます。すべての MDS が停止したら、ランク 0 だけがアクティブになるはずです。残りはスタンバイモードにしておきます。ファイルシステムの状態を確認します。
ceph status
[root@mds ~]# ceph statusCopy to Clipboard Copied! Toggle word wrap Toggle overflow systemctlを使用して、スタンバイしているすべての MDS をオフラインにします。systemctl stop ceph-mds.target
[root@mds ~]# systemctl stop ceph-mds.targetCopy to Clipboard Copied! Toggle word wrap Toggle overflow MDS が 1 つだけオンラインになっており、ファイルシステムのランクが 0 であることを確認します。
[ceph: root@host01 /]# ceph status
[ceph: root@host01 /]# ceph statusCopy to Clipboard Copied! Toggle word wrap Toggle overflow Red Hat Ceph Storage 4 ツールリポジトリーを無効にします。
subscription-manager repos --disable=rhel-7-server-rhceph-4-tools-rpms
[root@mds ~]# subscription-manager repos --disable=rhel-7-server-rhceph-4-tools-rpmsCopy to Clipboard Copied! Toggle word wrap Toggle overflow leappユーティリティーをインストールします。- Red Hat Enterprise Linux 8 の場合は、Upgrading from Red Hat Enterprise Linux 7 to Red Hat Enterprise Linux 8 を参照してください。
- Red Hat Enterprise Linux 9 の場合は、Upgrading from Red Hat Enterprise Linux 8 to Red Hat Enterprise Linux 9 を参照してください。
leappのアップグレード前のチェックを行います。- Red Hat Enterprise Linux 8 の場合は、Assessing upgradability from the command line を参照してください。
- Red Hat Enterprise Linux 9 の場合は、Assessing upgradability from the command line を参照してください。
-
etc/ssh/sshd_configを編集し、PermitRootLoginをyesに設定します。 OpenSSH SSH デーモンを再起動します。
systemctl restart sshd.service
[root@mds ~]# systemctl restart sshd.serviceCopy to Clipboard Copied! Toggle word wrap Toggle overflow Linux カーネルから iSCSI モジュールを削除します。
modprobe -r iscsi
[root@mds ~]# modprobe -r iscsiCopy to Clipboard Copied! Toggle word wrap Toggle overflow アップグレードを実行します。
- Red Hat Enterprise Linux 8 の場合は、Performing the upgrade from Red Hat Enterprise Linux 7 to Red Hat Enterprise Linux 8 を参照してください。
- Red Hat Enterprise Linux 9 の場合は、Performing the upgrade from Red Hat Enterprise Linux 8 to Red Hat Enterprise Linux 9 を参照してください。
tools リポジトリーを有効にします。
Red Hat Enterprise Linux 8
subscription-manager repos --enable=rhceph-5-tools-for-rhel-8-x86_64-rpms
subscription-manager repos --enable=rhceph-5-tools-for-rhel-8-x86_64-rpmsCopy to Clipboard Copied! Toggle word wrap Toggle overflow Red Hat Enterprise Linux 9
subscription-manager repos --enable=rhceph-5-tools-for-rhel-9-x86_64-rpms
subscription-manager repos --enable=rhceph-5-tools-for-rhel-9-x86_64-rpmsCopy to Clipboard Copied! Toggle word wrap Toggle overflow -
ceph-client-admin.keyringおよびceph.confファイルを復元します。 デーモンが有効であることを確認します。
ceph -s
[root@mds ~]# ceph -sCopy to Clipboard Copied! Toggle word wrap Toggle overflow - スタンバイ中のデーモンについても同じプロセスを実行します。
スタンバイ中のすべての MDS の再起動が完了したら、クラスターの
max_mdsの値を以前の値に戻します。構文
ceph fs set FILE_SYSTEM_NAME max_mds ORIGINAL_VALUE
ceph fs set FILE_SYSTEM_NAME max_mds ORIGINAL_VALUECopy to Clipboard Copied! Toggle word wrap Toggle overflow 例
ceph fs set fs1 max_mds 5
[root@mds ~]# ceph fs set fs1 max_mds 5Copy to Clipboard Copied! Toggle word wrap Toggle overflow
1.6.5. Ceph Dashboard ノードとそのオペレーティングシステムを手動でアップグレード リンクのコピーリンクがクリップボードにコピーされました!
システム管理者は、Red Hat Ceph Storage クラスターノードおよび Red Hat Enterprise Linux オペレーティングシステム上の Ceph Dashboard ソフトウェアを同時に新しいメジャーリリースにアップグレードできます。
前提条件
- Red Hat Ceph Storage クラスターが実行されている。
- ノードで Red Hat Enterprise Linux 7.9 を実行している。
- ノードで Red Hat Ceph Storage バージョン 4.3 以降が実行されている。
- Red Hat Enterprise Linux 8.4 EUS、8.5、8.6、9.0、または 9.1 のインストールソースにアクセスできる。
手順
Red Hat Ceph Storage 4 ツールリポジトリーを無効にします。
subscription-manager repos --disable=rhel-7-server-rhceph-4-tools-rpms
# subscription-manager repos --disable=rhel-7-server-rhceph-4-tools-rpmsCopy to Clipboard Copied! Toggle word wrap Toggle overflow leappユーティリティーをインストールします。- Red Hat Enterprise Linux 8 の場合は、Upgrading from Red Hat Enterprise Linux 7 to Red Hat Enterprise Linux 8 を参照してください。
- Red Hat Enterprise Linux 9 の場合は、Upgrading from Red Hat Enterprise Linux 8 to Red Hat Enterprise Linux 9 を参照してください。
leappのアップグレード前のチェックを行います。- Red Hat Enterprise Linux 8 の場合は、Assessing upgradability from the command line を参照してください。
- Red Hat Enterprise Linux 9 の場合は、Assessing upgradability from the command line を参照してください。
-
/etc/ssh/sshd_configにPermitRootLogin yesを設定します。 OpenSSH SSH デーモンを再起動します。
systemctl restart sshd.service
# systemctl restart sshd.serviceCopy to Clipboard Copied! Toggle word wrap Toggle overflow Linux カーネルから iSCSI モジュールを削除します。
modprobe -r iscsi
# modprobe -r iscsiCopy to Clipboard Copied! Toggle word wrap Toggle overflow アップグレードを実行します。
- Red Hat Enterprise Linux 8 の場合は、Performing the upgrade from Red Hat Enterprise Linux 7 to Red Hat Enterprise Linux 8 を参照してください。
- Red Hat Enterprise Linux 9 の場合は、Performing the upgrade from Red Hat Enterprise Linux 8 to Red Hat Enterprise Linux 9 を参照してください。
Red Hat Ceph Storage 5 のツールリポジトリーを有効にします。
Red Hat Enterprise Linux 8
subscription-manager repos --enable=rhceph-5-tools-for-rhel-8-x86_64-rpms
subscription-manager repos --enable=rhceph-5-tools-for-rhel-8-x86_64-rpmsCopy to Clipboard Copied! Toggle word wrap Toggle overflow Red Hat Enterprise Linux 9
subscription-manager repos --enable=rhceph-5-tools-for-rhel-9-x86_64-rpms
subscription-manager repos --enable=rhceph-5-tools-for-rhel-9-x86_64-rpmsCopy to Clipboard Copied! Toggle word wrap Toggle overflow
1.6.6. Ceph Ansible ノードの手動でのアップグレードと再設定 リンクのコピーリンクがクリップボードにコピーされました!
Red Hat Ceph Storage クラスターノードおよび Red Hat Enterprise Linux オペレーティングシステム上の Ceph Ansible ソフトウェアを、同時に新しいメジャーリリースに手動でアップグレードできます。
Ceph Ansible ノードでホスト OS をアップグレードする前に、group_vars および hosts ファイルをバックアップします。Ceph Ansible ノードを再設定する前に作成したバックアップを使用します。
前提条件
- Red Hat Ceph Storage クラスターが実行されている。
- ノードで Red Hat Enterprise Linux 7.9 を実行している。
- ノードが Red Hat Ceph Storage バージョン 4.2z2 以降を実行している。
- Red Hat Enterprise Linux 8.4 EUS または Red Hat Enterprise Linux 8.5 のインストールソースにアクセスできる。
手順
Red Hat Enterprise Linux 8 の Red Hat Ceph Storage 4 のツールリポジトリーを無効にします。
subscription-manager repos --disable=rhceph-4-tools-for-rhel-8-x86_64-rpms subscription-manager repos --disable=ansible-2.9-for-rhel-8-x86_64-rpms
[root@ansible ~]# subscription-manager repos --disable=rhceph-4-tools-for-rhel-8-x86_64-rpms [root@ansible ~]# subscription-manager repos --disable=ansible-2.9-for-rhel-8-x86_64-rpmsCopy to Clipboard Copied! Toggle word wrap Toggle overflow leappユーティリティーをインストールします。- Red Hat Enterprise Linux 8 の場合は、Upgrading from Red Hat Enterprise Linux 7 to Red Hat Enterprise Linux 8 を参照してください。
- Red Hat Enterprise Linux 9 の場合は、Upgrading from Red Hat Enterprise Linux 8 to Red Hat Enterprise Linux 9 を参照してください。
leappのアップグレード前のチェックを行います。- Red Hat Enterprise Linux 8 の場合は、Assessing upgradability from the command line を参照してください。
- Red Hat Enterprise Linux 9 の場合は、Assessing upgradability from the command line を参照してください。
-
etc/ssh/sshd_configを編集し、PermitRootLoginをyesに設定します。 OpenSSH SSH デーモンを再起動します。
systemctl restart sshd.service
[root@mds ~]# systemctl restart sshd.serviceCopy to Clipboard Copied! Toggle word wrap Toggle overflow Linux カーネルから iSCSI モジュールを削除します。
modprobe -r iscsi
[root@mds ~]# modprobe -r iscsiCopy to Clipboard Copied! Toggle word wrap Toggle overflow アップグレードを実行します。
- Red Hat Enterprise Linux 8 の場合は、Upgrading from Red Hat Enterprise Linux 7 to Red Hat Enterprise Linux 8 を参照してください。
- Red Hat Enterprise Linux 9 の場合は、Upgrading from Red Hat Enterprise Linux 8 to Red Hat Enterprise Linux 9 を参照してください。
Red Hat Ceph Storage 5 のツールリポジトリーを有効にします。
Red Hat Enterprise Linux 8
subscription-manager repos --enable=rhceph-5-tools-for-rhel-8-x86_64-rpms
subscription-manager repos --enable=rhceph-5-tools-for-rhel-8-x86_64-rpmsCopy to Clipboard Copied! Toggle word wrap Toggle overflow Red Hat Enterprise Linux 9
subscription-manager repos --enable=rhceph-5-tools-for-rhel-9-x86_64-rpms
subscription-manager repos --enable=rhceph-5-tools-for-rhel-9-x86_64-rpmsCopy to Clipboard Copied! Toggle word wrap Toggle overflow -
ceph-client-admin.keyringおよびceph.confファイルを復元します。
1.7. バックアップファイルの復元 リンクのコピーリンクがクリップボードにコピーされました!
ストレージクラスターの各ノードでホスト OS アップグレードを完了した後、アップグレードしたノードが保存された設定を使用するように、前の手順でバックアップしたすべてのファイルを復元します。
そのホストの OS アップグレードプロセスが完了した後に、ストレージクラスターの各ホストでこのプロセスを繰り返します。
前提条件
- 稼働中の Red Hat Ceph Storage クラスターがある。
- ストレージクラスター内のすべてのノードへの root レベルのアクセス。
手順
- ホスト OS がホストをアップグレードする前にバックアップしたファイルを復元します。
-
ceph.client.admin.keyringやceph.confファイルなどを含む、/etc/cephフォルダーおよびその内容をすべてのホストに復元します。 -
各ノードに
/etc/ganesha/フォルダーを復元します。 オペレーティングシステムのアップグレード後に、バックアップされた各ファイルの所有権が変更していないことを確認します。ファイルの所有者は
cephである必要があります。ファイル所有者がrootに変更された場合は、各ファイルで以下のコマンドを使用し、所有者をcephに戻します。例:
chown ceph: ceph.client.rbd-mirror.node1.keyring
[root@admin]# chown ceph: ceph.client.rbd-mirror.node1.keyringCopy to Clipboard Copied! Toggle word wrap Toggle overflow -
Red Hat Enterprise Linux 7 から Red Hat Enterprise Linux 8 にアップグレードし、ストレージクラスターに RBD ミラーリングが定義されている場合は、バックアップコピーから
/etc/cephフォルダーを復元します。 -
前のステップでバックアップした
group_vars/rbdmirrors.ymlファイルを復元します。 すべてのノード上のフォルダーの所有権を変更します。
例:
chown -R /etc/ceph chown -R /var/log/ceph chown -R /var/lib/ceph
[root@admin]# chown -R /etc/ceph [root@admin]# chown -R /var/log/ceph [root@admin]# chown -R /var/lib/cephCopy to Clipboard Copied! Toggle word wrap Toggle overflow
1.8. RHCS アップグレード前のファイルのバックアップ リンクのコピーリンクがクリップボードにコピーされました!
rolling_update.yml Playbook を実行して Red Hat Ceph Storage 4 を Red Hat Ceph Storage 5 にアップグレードする前に、すべての yml ファイルのバックアップコピーを作成します。
前提条件
- Red Hat Ceph Storage 4 クラスターで RHCS 4.3 以降が実行されている。
- 有効なカスタマーサブスクリプション。
- Ansible 管理ノードへの root レベルのアクセス。
- Ansible アプリケーションで使用する Ansible ユーザーアカウント。
- Red Hat Ceph Storage ツールおよび Ansible リポジトリーが有効になっている。
手順
すべての
ymlファイルのバックアップコピーを作成します。例:
cp group_vars/all.yml group_vars/all_old.yml cp group_vars/osds.yml group_vars/osds_old.yml cp group_vars/mdss.yml group_vars/mdss_old.yml cp group_vars/rgws.yml group_vars/rgws_old.yml cp group_vars/clients.yml group_vars/clients_old.yml
[root@admin ceph-ansible]# cp group_vars/all.yml group_vars/all_old.yml [root@admin ceph-ansible]# cp group_vars/osds.yml group_vars/osds_old.yml [root@admin ceph-ansible]# cp group_vars/mdss.yml group_vars/mdss_old.yml [root@admin ceph-ansible]# cp group_vars/rgws.yml group_vars/rgws_old.yml [root@admin ceph-ansible]# cp group_vars/clients.yml group_vars/clients_old.ymlCopy to Clipboard Copied! Toggle word wrap Toggle overflow
1.9. アップグレードプロセス リンクのコピーリンクがクリップボードにコピーされました!
ストレージ管理者は、Ansible Playbook を使用して Red Hat Ceph Storage 4 ストレージクラスターを Red Hat Ceph Storage 5 にアップグレードします。Ansible Playbook rolling_update.yml は、Red Hat Ceph Storage のデプロイメントのアップグレードを実行します。ceph-ansible は、Ceph ノードを以下の順序でアップグレードします。
- Ceph Monitor
- Ceph Manager
- Ceph OSD ノード
- MDS ノード
- Ceph Object Gateway (RGW) ノード
- Ceph RBD-mirror ノード
- Ceph NFS ノード
- すべての Ceph iSCSI ゲートウェイノード
- Ceph クライアントノード
- Ceph-crash デーモン
- すべてのノードでの node-exporter
- Ceph Dashboard
ストレージクラスターが Red Hat Ceph Storage 4 から Red Hat Ceph Storage 5 にアップグレードされると、Grafana UI に 2 つのダッシュボードが表示されます。これは、Red Hat Ceph Storage 4 の Prometheus のポートが 9092 で、Red Hat Ceph Storage 5 のポートが 9095 であるためです。grafana は削除できます。cephadm はサービスとデーモンを再デプロイし、Grafana UI 上の古いダッシュボードを削除します。
Red Hat Ceph Storage 5 は、コンテナー化されたデプロイメントのみをサポートします。
Ceph-ansible は現在 Red Hat Ceph Storage 5 ではサポートされません。つまり、ストレージクラスターを Red Hat Ceph Storage 5 に移行したら、cephadm を使用して後続の更新を実行する必要があります。
単一レルムおよび複数レルムを使用してマルチサイト Ceph Object Gateway をデプロイするには、all.yml ファイルを編集してください。詳細は、Red Hat Ceph Storage 4 インストールガイドの マルチサイト Ceph Object Gateway の設定 を参照してください。
Red Hat Ceph Storage 5 には、ストレージクラスターのデーモンのいずれかが Red Hat Ceph Storage の複数のバージョンを実行していることを検出した場合に、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 mute DAEMON_OLD_VERSION --sticky
アップグレードが完了したら、健全性の警告のミュートを解除します。
ceph health unmute DAEMON_OLD_VERSION
ceph health unmute DAEMON_OLD_VERSION
前提条件
- Red Hat Ceph Storage クラスターが実行されている。
- ストレージクラスター内のすべてのホストへの root レベルのアクセス。
- 有効なカスタマーサブスクリプション。
- Ansible 管理ノードへの root レベルのアクセス。
-
Red Hat Ceph Storage 5 で利用可能な Ansible および
ceph-ansibleの最新バージョン。 -
Ansible アプリケーションで使用する
ansibleユーザーアカウント。 - ストレージクラスターのノードが、Red Hat Enterprise Linux 8.4 EUS 以降にアップグレードされている。
Ansible インベントリーファイルは ceph-ansible ディレクトリーに存在する必要がある。
手順
Ansible 管理ノードで Ceph および Ansible リポジトリーを有効にします。
Red Hat Enterprise Linux 8
subscription-manager repos --enable=rhceph-5-tools-for-rhel-8-x86_64-rpms --enable=ansible-2.9-for-rhel-8-x86_64-rpms
subscription-manager repos --enable=rhceph-5-tools-for-rhel-8-x86_64-rpms --enable=ansible-2.9-for-rhel-8-x86_64-rpmsCopy to Clipboard Copied! Toggle word wrap Toggle overflow Red Hat Enterprise Linux 9
subscription-manager repos --enable=rhceph-5-tools-for-rhel-9-x86_64-rpms
subscription-manager repos --enable=rhceph-5-tools-for-rhel-9-x86_64-rpmsCopy to Clipboard Copied! Toggle word wrap Toggle overflow Ansible 管理ノードで、
ansibleおよびceph-ansibleパッケージの最新バージョンがインストールされていることを確認します。構文
dnf update ansible ceph-ansible
dnf update ansible ceph-ansibleCopy to Clipboard Copied! Toggle word wrap Toggle overflow /usr/share/ceph-ansibleディレクトリーに移動します。例:
cd /usr/share/ceph-ansible
[root@admin ~]# cd /usr/share/ceph-ansibleCopy to Clipboard Copied! Toggle word wrap Toggle overflow Red Hat Ceph Storage 4 から Red Hat Ceph Storage 5 にアップグレードする場合は、
group_vars/osds.yml.sampleファイルおよびgroup_vars/clients.yml.sampleファイルのコピーを作成し、その名前をgroup_vars/osds.ymlおよびgroup_vars/clients.ymlに変更します。例:
cp group_vars/osds.yml.sample group_vars/osds.yml cp group_vars/mdss.yml.sample group_vars/mdss.yml cp group_vars/rgws.yml.sample group_vars/rgws.yml cp group_vars/clients.yml.sample group_vars/clients.yml
[root@admin ceph-ansible]# cp group_vars/osds.yml.sample group_vars/osds.yml [root@admin ceph-ansible]# cp group_vars/mdss.yml.sample group_vars/mdss.yml [root@admin ceph-ansible]# cp group_vars/rgws.yml.sample group_vars/rgws.yml [root@admin ceph-ansible]# cp group_vars/clients.yml.sample group_vars/clients.ymlCopy to Clipboard Copied! Toggle word wrap Toggle overflow -
Red Hat Ceph Storage 4 から Red Hat Ceph Storage 5 にアップグレードする場合は、
group_vars/all.ymlファイルを編集し、Red Hat Ceph Storage 5 の詳細を追加します。 上記の 2 つの手順を実行したら、以前の
yamlファイルから新しいyamlファイルに設定をコピーします。これらの設定パラメーターの値は Red Hat Ceph Storage 5 用であるため、ceph_rhcs_version、ceph_docker_image、およびgrafana_container_imageの値は変更しないでください。これにより、クラスターに関連するすべての設定が現在のyamlファイルに存在するようになります。例:
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 注記Red Hat Ceph Storage 5 コンテナーイメージがデフォルト値に設定されていることを確認します。
group_vars/osds.ymlファイルを編集します。以下のオプションを追加して設定します。構文
nb_retry_wait_osd_up: 50 delay_wait_osd_up: 30
nb_retry_wait_osd_up: 50 delay_wait_osd_up: 30Copy to Clipboard Copied! Toggle word wrap Toggle overflow group_vars/all.ymlファイルを開き、古いall.ymlファイルから以下の値が存在することを確認します。fetch_directoryオプションは、古いall.ymlファイルと同じ値で設定されます。構文
fetch_directory: FULL_DIRECTORY_PATH
fetch_directory: FULL_DIRECTORY_PATHCopy to Clipboard Copied! Toggle word wrap Toggle overflow FULL_DIRECTORY_PATH を、Ansible ユーザーのホームディレクトリーなどの書き込み可能な場所に置き換えます。
アップグレードするクラスターに Ceph Object Gateway ノードが含まれている場合には、
radosgw_interfaceオプションを追加します。radosgw_interface: INTERFACE
radosgw_interface: INTERFACECopy to Clipboard Copied! Toggle word wrap Toggle overflow INTERFACE を、Ceph Object Gateway ノードがリッスンするインターフェイスに置き換えます。
現在の設定に SSL 証明書が設定されている場合は、以下を編集します。
構文
radosgw_frontend_ssl_certificate: /etc/pki/ca-trust/extracted/CERTIFICATE_NAME radosgw_frontend_port: 443
radosgw_frontend_ssl_certificate: /etc/pki/ca-trust/extracted/CERTIFICATE_NAME radosgw_frontend_port: 443Copy to Clipboard Copied! Toggle word wrap Toggle overflow upgrade_ceph_packagesオプションをコメント解除して、Trueに設定します。構文
upgrade_ceph_packages: True
upgrade_ceph_packages: TrueCopy to Clipboard Copied! Toggle word wrap Toggle overflow ストレージクラスターでノードごとに複数の Ceph Object Gateway インスタンスがある場合、
radosgw_num_instances設定をコメント解除して、クラスターのノードごとのインスタンス数に設定します。構文
radosgw_num_instances : NUMBER_OF_INSTANCES_PER_NODE
radosgw_num_instances : NUMBER_OF_INSTANCES_PER_NODECopy to Clipboard Copied! Toggle word wrap Toggle overflow 例:
radosgw_num_instances : 2
radosgw_num_instances : 2Copy to Clipboard Copied! Toggle word wrap Toggle overflow -
ストレージクラスターに Ceph Object Gateway マルチサイトが定義されている場合は、
all.ymlのマルチサイト設定を確認し、古いall.ymlファイルと同じ値が含まれていることを確認します。
バケットが作成されているか、
num_shards = 0である場合は、Red Hat Ceph Storage 5.3 へのアップグレードを計画する前に、バケットを手動でリシャーディングします。警告bucket_index_max_shardsが0の場合に以前のリリースから Red Hat Ceph Storage 5.3 にアップグレードすると、Ceph Object Gateway バケットのメタデータが失われ、バケットにアクセスしようとしたときにバケットが使用できなくなる可能性があります。そのため、bucket_index_max_shardsが11シャードに設定されていることを確認してください。そうでない場合は、ゾーングループレベルでこの設定を変更します。構文
radosgw-admin bucket reshard --num-shards 11 --bucket BUCKET_NAME
radosgw-admin bucket reshard --num-shards 11 --bucket BUCKET_NAMECopy to Clipboard Copied! Toggle word wrap Toggle overflow 例:
[ceph: root@host01 /]# radosgw-admin bucket reshard --num-shards 11 --bucket mybucket
[ceph: root@host01 /]# radosgw-admin bucket reshard --num-shards 11 --bucket mybucketCopy to Clipboard Copied! Toggle word wrap Toggle overflow -
Ansible 管理ノードで
ansible-userとしてログインします。 --extra-varsオプションを使用してinfrastructure-playbooks/rolling_update.ymlPlaybook を更新し、health_osd_check_retriesとhealth_osd_check_delayの値をそれぞれ50と30に変更します。例:
ansible-playbook -i hosts infrastructure-playbooks/rolling_update.yml --extra-vars "health_osd_check_retries=50 health_osd_check_delay=30"
[root@admin ceph-ansible]# ansible-playbook -i hosts infrastructure-playbooks/rolling_update.yml --extra-vars "health_osd_check_retries=50 health_osd_check_delay=30"Copy to Clipboard Copied! Toggle word wrap Toggle overflow 各 OSD ノードでは、これらの値により、
ceph-ansibleはストレージクラスターの健全性を 30 秒ごとに最大 50 回チェックします。つまり、ceph-ansibleは OSD ごとに最大 25 分待機します。ストレージクラスターの使用済みのストレージ容量に基づいて、
health_osd_check_retriesオプションの値を上下に調整します。たとえば、436 TB のうち、ストレージ容量の 50% にあたる 218 TB を使用している場合は、health_osd_check_retriesオプションを50に設定します。/etc/ansible/hostsは、Ansible インベントリーファイルのデフォルトの場所です。Rolling_update.ymlPlaybook を実行して、ストレージクラスターを Red Hat Ceph Storage 4 から Red Hat Ceph Storage 5 に変換します。構文
ansible-playbook -vvvv infrastructure-playbooks/rolling_update.yml -i INVENTORY_FILE
ansible-playbook -vvvv infrastructure-playbooks/rolling_update.yml -i INVENTORY_FILECopy to Clipboard Copied! Toggle word wrap Toggle overflow -vvvv オプションは、アップグレードプロセスの詳細ログを収集します。
例:
ansible-playbook -vvvv infrastructure-playbooks/rolling_update.yml -i hosts
[ceph-admin@admin ceph-ansible]$ ansible-playbook -vvvv infrastructure-playbooks/rolling_update.yml -i hostsCopy to Clipboard Copied! Toggle word wrap Toggle overflow 重要rolling_update.ymlPlaybook で--limitAnsible オプションを使用することはサポートされていません。- Ansible Playbook のログ出力をチェックして、アップグレードのステータスを確認します。
検証
実行中のすべてのコンテナーをリスト表示します。
例:
podman ps
[root@mon ~]# podman psCopy to Clipboard Copied! Toggle word wrap Toggle overflow クラスターの健全性状態を確認します。MONITOR_ID は、前のステップで見つかった Ceph Monitor コンテナーの名前に置き換えます。
構文
podman exec ceph-mon-MONITOR_ID ceph -s
podman exec ceph-mon-MONITOR_ID ceph -sCopy to Clipboard Copied! Toggle word wrap Toggle overflow 例:
podman exec ceph-mon-mon01 ceph -s
[root@mon ~]# podman exec ceph-mon-mon01 ceph -sCopy to Clipboard Copied! Toggle word wrap Toggle overflow Ceph クラスターのデーモンのバージョンを確認し、すべてのデーモンのアップグレードを確認します。MONITOR_ID は、前のステップで見つかった Ceph Monitor コンテナーの名前に置き換えます。
構文
podman exec ceph-mon-MONITOR_ID ceph --cluster ceph versions
podman exec ceph-mon-MONITOR_ID ceph --cluster ceph versionsCopy to Clipboard Copied! Toggle word wrap Toggle overflow 例:
podman exec ceph-mon-mon01 ceph --cluster ceph versions
[root@mon ~]# podman exec ceph-mon-mon01 ceph --cluster ceph versionsCopy to Clipboard Copied! Toggle word wrap Toggle overflow
1.10. cephadm を使用したストレージクラスターの変換 リンクのコピーリンクがクリップボードにコピーされました!
ストレージクラスターを Red Hat Ceph Storage 5 にアップグレードしたら、cephadm-adopt Playbook を実行し、cephadm を実行するようにストレージクラスターデーモンを変換します。
cephadm-adopt Playbook は、Ceph サービスを採用し、すべての cephadm 依存関係をインストールして、cephadm Orchestrator バックエンドを有効にし、すべてのホストで ssh キーを生成および設定して、ホストを Orchestrator 設定に追加します。
cephadm-adopt Playbook の実行後に、ceph-ansible パッケージを削除します。クラスターデーモンは ceph-ansible で機能しなくなります。cephadm を使用してクラスターデーモンを管理する必要があります。
前提条件
- 稼働中の Red Hat Ceph Storage クラスターがある。
- ストレージクラスター内のすべてのノードへの root レベルのアクセス。
手順
-
ceph-ansibleノードにログインし、/usr/share/ceph-ansibleディレクトリーに移動します。 all.ymlファイルを編集します。構文
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 例:
Copy to Clipboard Copied! Toggle word wrap Toggle overflow cephadm-adoptPlaybook を実行します。構文
ansible-playbook infrastructure-playbooks/cephadm-adopt.yml -i INVENTORY_FILE
ansible-playbook infrastructure-playbooks/cephadm-adopt.yml -i INVENTORY_FILECopy to Clipboard Copied! Toggle word wrap Toggle overflow 例:
ansible-playbook infrastructure-playbooks/cephadm-adopt.yml -i hosts
[ceph-admin@admin ceph-ansible]$ ansible-playbook infrastructure-playbooks/cephadm-adopt.yml -i hostsCopy to Clipboard Copied! Toggle word wrap Toggle overflow 最小の compat client パラメーターを
luminousに設定します。例:
[ceph: root@node0 /]# ceph osd set-require-min-compat-client luminous
[ceph: root@node0 /]# ceph osd set-require-min-compat-client luminousCopy to Clipboard Copied! Toggle word wrap Toggle overflow 以下のコマンドを実行して、アプリケーションが NFS-Ganesha プールで実行されるようにします。POOL_NAME は
nfs-ganeshaで、APPLICATION_NAME はcephfs、rbd、rgwなどの有効にするアプリケーションの名前です。構文
ceph osd pool application enable POOL_NAME APPLICATION_NAME
ceph osd pool application enable POOL_NAME APPLICATION_NAMECopy to Clipboard Copied! Toggle word wrap Toggle overflow 例:
[ceph: root@node0 /]# ceph osd pool application enable nfs-ganesha rgw
[ceph: root@node0 /]# ceph osd pool application enable nfs-ganesha rgwCopy to Clipboard Copied! Toggle word wrap Toggle overflow 重要Red Hat Ceph Storage 4 から Red Hat Ceph Storage 5 へのストレージクラスターの移行後に、
cephadm-adoptPlaybook が rbd-mirroring を起動しません。この問題を回避するには、ピアを手動で追加します。
構文
rbd mirror pool peer add POOL_NAME CLIENT_NAME@CLUSTER_NAME
rbd mirror pool peer add POOL_NAME CLIENT_NAME@CLUSTER_NAMECopy to Clipboard Copied! Toggle word wrap Toggle overflow 例:
[ceph: root@node0 /]# rbd --cluster site-a mirror pool peer add image-pool client.rbd-mirror-peer@site-b
[ceph: root@node0 /]# rbd --cluster site-a mirror pool peer add image-pool client.rbd-mirror-peer@site-bCopy to Clipboard Copied! Toggle word wrap Toggle overflow アップグレード後に Grafana を削除します。
Cephadm シェルにログインします。
例:
cephadm shell
[root@host01 ~]# cephadm shellCopy to Clipboard Copied! Toggle word wrap Toggle overflow ストレージクラスター内の Grafana の名前を取得します。
例:
[ceph: root@host01 /]# ceph orch ps --daemon_type grafana
[ceph: root@host01 /]# ceph orch ps --daemon_type grafanaCopy to Clipboard Copied! Toggle word wrap Toggle overflow Grafana を削除します。
構文
ceph orch daemon rm GRAFANA_DAEMON_NAME
ceph orch daemon rm GRAFANA_DAEMON_NAMECopy to Clipboard Copied! Toggle word wrap Toggle overflow 例:
[ceph: root@host01 /]# ceph orch daemon rm grafana.host01 Removed grafana.host01 from host 'host01'
[ceph: root@host01 /]# ceph orch daemon rm grafana.host01 Removed grafana.host01 from host 'host01'Copy to Clipboard Copied! Toggle word wrap Toggle overflow 数分待って、最新のログを確認します。
例:
[ceph: root@host01 /]# ceph log last cephadm
[ceph: root@host01 /]# ceph log last cephadmCopy to Clipboard Copied! Toggle word wrap Toggle overflow cephadmは、Grafana サービスとデーモンを再デプロイします。
1.11. アップグレードされたストレージクラスターへの cephadm-ansible のインストール リンクのコピーリンクがクリップボードにコピーされました!
cephadm-ansible は、cephadm で対応していないワークフローを単純化する Ansible Playbook のコレクションです。インストール後に、Playbook は /usr/share/cephadm-ansible/ にあります。
アップグレードしたストレージクラスターに新規ノードまたは新規クライアントを追加する前に、Playbook cephadm-preflight.yml を実行します。
前提条件
- Ansible 管理ノードへの root レベルのアクセス。
- 適切なエンタイトルメントを持つ有効な Red Hat サブスクリプション。
- Red Hat Registry にアクセスするためのアクティブな Red Hat Network (RHN) またはサービスアカウント。
手順
ansibleおよび古いceph-ansibleパッケージをアンインストールします。構文
dnf remove ansible ceph-ansible
dnf remove ansible ceph-ansibleCopy to Clipboard Copied! Toggle word wrap Toggle overflow Ansible 管理ノードで Ansible リポジトリーを無効にし、Ceph リポジトリーを有効にします。
Red Hat Enterprise Linux 8
subscription-manager repos --enable=rhel-8-for-x86_64-baseos-rpms --enable=rhel-8-for-x86_64-appstream-rpms --enable=rhceph-5-tools-for-rhel-8-x86_64-rpms --disable=ansible-2.9-for-rhel-8-x86_64-rpms
[root@admin ~]# subscription-manager repos --enable=rhel-8-for-x86_64-baseos-rpms --enable=rhel-8-for-x86_64-appstream-rpms --enable=rhceph-5-tools-for-rhel-8-x86_64-rpms --disable=ansible-2.9-for-rhel-8-x86_64-rpmsCopy to Clipboard Copied! Toggle word wrap Toggle overflow Red Hat Enterprise Linux 9
subscription-manager repos --enable=rhel-9-for-x86_64-baseos-rpms --enable=rhel-9-for-x86_64-appstream-rpms --enable=rhceph-5-tools-for-rhel-9-x86_64-rpms --disable=ansible-2.9-for-rhel-9-x86_64-rpms
[root@admin ~]# subscription-manager repos --enable=rhel-9-for-x86_64-baseos-rpms --enable=rhel-9-for-x86_64-appstream-rpms --enable=rhceph-5-tools-for-rhel-9-x86_64-rpms --disable=ansible-2.9-for-rhel-9-x86_64-rpmsCopy to Clipboard Copied! Toggle word wrap Toggle overflow cephadm-ansibleパッケージをインストールします。これにより、ansible-coreが依存関係としてインストールされます。構文
dnf install cephadm-ansible
dnf install cephadm-ansibleCopy to Clipboard Copied! Toggle word wrap Toggle overflow
第2章 Red Hat Enterprise Linux 8 を実行している Red Hat Ceph Storage クラスターを RHCS 4 から RHCS 5 にアップグレードする リンクのコピーリンクがクリップボードにコピーされました!
ストレージ管理者は、Red Hat Enterprise Linux 8 を実行している Red Hat Ceph Storage クラスターを Red Hat Ceph Storage 4 から Red Hat Ceph Storage 5 にアップグレードできます。アップグレードプロセスには、以下のタスクが含まれます。
- Ansible Playbook を使用して Red Hat Ceph Storage 4 ストレージクラスターを Red Hat Ceph Storage 5 にアップグレードします。
Ceph-ansible は現在 Red Hat Ceph Storage 5 ではサポートされません。つまり、ストレージクラスターを Red Hat Ceph Storage 5 に移行したら、cephadm および cephadm-ansible を使用して後続の更新を実行する必要があります。
Red Hat Ceph Storage 4 から Red Hat Ceph Storage 5 にアップグレードする場合には、bluestore_fsck_quick_fix_on_mount パラメーターを true に設定したり、ceph-bluestore-tool --path PATH_TO_OSD --command quick-fix|repair コマンドを実行したりしないでください。OMAP キーが不適切にフォーマットされデータ破損が発生する可能性があるためです。
Ceph Object Gateway ストレージクラスター (シングルサイトまたはマルチサイト) 上の Red Hat Ceph Storage 5.0 から Red Hat Ceph Storage 5.2 へのアップグレードはサポートされていますが、ストレージクラスターをアップグレードする前に、ceph config set mgr mgr/cephadm/no_five_one_rgw true --force オプションを設定する必要があります。
Ceph Object Gateway ストレージクラスター (シングルサイトまたはマルチサイト) 上の Red Hat Ceph Storage 5.1 から Red Hat Ceph Storage 5.2 へのアップグレードは、既知の問題によりサポートされていません。詳細は、ナレッジベースの記事 Support Restrictions for upgrades for RADOS Gateway (RGW) on Red Hat Red Hat Ceph Storage 5.2 を参照してください。
Red Hat Ceph Storage 5.0z4 へのアップグレードを計画している場合は、ナレッジベースの記事 How to upgrade from Red Hat Ceph Storage 4.2z4 to 5.0z4 に従ってアップグレード手順を実行してください。
Red Hat Ceph Storage では、オプション bluefs_buffered_io はデフォルトで True に設定されます。このオプションは、場合によって BlueFS でバッファー読み取りができるようにし、カーネルページキャッシュが RocksDB ブロック読み取りのような読み取りの二次キャッシュとして機能できるようにします。たとえば、 OMAP の反復時にすべてのブロックを保持ほど、RocksDB のブロックキャッシュが十分にない場合には、ディスクの代わりにページキャッシュから読み出すことが可能な場合があります。これにより、osd_memory_target が小さすぎてブロックキャッシュのすべてのエントリーを保持できない場合に、パフォーマンスが劇的に向上します。現在、bluefs_buffered_io を有効にし、システムレベルの swap を無効にすると、パフォーマンスの低下を防ぐことができます。
bluefs_buffered_io の現在の設定の表示の詳細については、Red Hat Ceph Storage Administration Guide の Viewing the bluefs_buffered_io setting セクションを参照してください。
Red Hat Ceph Storage 5 は、コンテナー化されたデーモンのみをサポートします。コンテナーされていないストレージクラスターはサポートされません。コンテナー化されていないストレージクラスターを Red Hat Ceph Storage 4 から Red Hat Ceph Storage 5 にアップグレードする場合、アップグレードプロセスには、コンテナー化されたデプロイメントへの変換が含まれます。
2.1. 前提条件 リンクのコピーリンクがクリップボードにコピーされました!
- Red Hat Ceph Storage 4 クラスターが、Red Hat Enterprise Linux 8.4 以降を実行している。
- 有効なカスタマーサブスクリプション。
- Ansible 管理ノードへの root レベルのアクセス。
- ストレージクラスター内のすべてのノードへの root レベルのアクセス。
- Ansible アプリケーションで使用する Ansible ユーザーアカウント。
- Red Hat Ceph Storage ツールおよび Ansible リポジトリーが有効になっている。
Red Hat Ceph Storage クラスターノードおよび Red Hat Enterprise Linux オペレーティングシステム上の Ceph File System (CephFS) Metadata Server (MDS) ソフトウェアを、同時に新しいメジャーリリースに手動でアップグレードできます。基盤となる XFS ファイルシステムが ftype=1 でフォーマットされているか、d_type をサポートしている。xfs_info /var コマンドを実行し、ftype が 1 になっていることを確認します。ftype の値が 1 でない場合は、新しいディスクをアタッチするか、ボリュームを作成します。この新しいデバイスの上に、新しい XFS ファイルシステムを作成し、/var/lib/containers にマウントします。
Red Hat Enterprise Linux 8 以降、mkfs.xfs はデフォルトで ftype=1 を有効にします。
2.2. RHCS と podman バージョン間の互換性に関する考慮事項 リンクのコピーリンクがクリップボードにコピーされました!
Podman および Red Hat Ceph Storage には、ライフサイクル終了の異なる戦略があり、互換性のあるバージョンを見つけるのが難しい場合があります。
Ceph アップグレードプロセスの一環として Red Hat Enterprise Linux 7 から Red Hat Enterprise Linux 8 にアップグレードする予定がある場合は、podman のバージョンが Red Hat Ceph Storage 5 と互換性があることを確認してください。
Red Hat は、Red Hat Ceph Storage 5 に対応する Red Hat Enterprise Linux バージョンに同梱されている podman バージョンを使用することを推奨しています。詳細は、ナレッジベースの記事 Red Hat Ceph Storage: Supported configurations を参照してください。その他のサポートについては、Red Hat Ceph Storage Troubleshooting Guide の Contacting Red Hat support for service セクションを参照してください。
Red Hat Ceph Storage 5.0 は、バージョン 2.2.1 を除き、podman バージョン 2.0.0 以降と互換性があります。バージョン 2.2.1 は、Red Hat Ceph Storage 5.0 と互換性がありません。
以下の表は、Red Hat Ceph Storage 6 と podman のバージョン間の互換性を示しています。
| Ceph | Podman | ||||
|---|---|---|---|---|---|
| 1.9 | 2.0 | 2.1 | 2.2 | 3.0 | |
| 5.0 (Pacific) | false | true | true | false | true |
2.3. アップグレードの準備 リンクのコピーリンクがクリップボードにコピーされました!
ストレージ管理者は、Ceph Storage クラスターを Red Hat Ceph Storage 5 にアップグレードできます。ただし、ストレージクラスターの一部のコンポーネントは、アップグレードを行う前に特定のソフトウェアバージョンを実行している必要があります。以下は、Red Hat Ceph Storage 5 にアップグレードする前にストレージクラスターにインストールする必要のある最小のソフトウェアバージョンを示しています。
- Red Hat Ceph Storage 4.3 以降
- Ansible 2.9
- Ceph-ansible には、最新バージョンの Red Hat Ceph Storage が同梱されている
- Red Hat Enterprise Linux 8.4 EUS 以降
- FileStore OSD が BlueStore に移行されている必要がある。OSD を FileStore から BlueStore に変換する方法については、BlueStore を参照してください。
Red Hat Ceph Storage 4.3 よりも前のバージョンから直接アップグレードする方法はありません。Red Hat Ceph Storage 3 からアップグレードする場合は、まず Red Hat Ceph Storage 4.3 以降にアップグレードしてから Red Hat Ceph Storage 5 にアップグレードする必要があります。
Red Hat Ceph Storage 5 の最新バージョンにのみアップグレードできます。たとえば、バージョン 5.1 が利用可能な場合、4 から 5.0 にアップグレードすることはできません。5.1 に直接アップグレードする必要があります。
Red Hat Enterprise Linux-8.7 (またはそれ以降) への Red Hat Ceph Storage-4.3.z1 の新規デプロイメント、または Red Hat Enterprise Linux-8.7 (またはそれ以降) のホスト OS を使用した Red Hat Ceph Storage-4.3.z1 から 5.X へのアップグレードは、TASK [ceph-mgr : wait for all mgr to be up] で失敗します。Red Hat Enterprise Linux 8.7 でリリースされた podman は、SELinux のラベル再設定に関する動作が変更されました。このため、起動順序によっては、一部の Ceph コンテナーが必要なファイルにアクセスできず、起動に失敗することがあります。
回避策については、ナレッジベースの RHCS 4.3 installation fails while executing the command `ceph mgr dump` を参照してください。
ストレージクラスターを Red Hat Ceph Storage 5 にアップグレードするには、クラスターで Red Hat Ceph Storage 4.3 以降を実行することを推奨しています。ナレッジベースの記事 What are the Red Hat Ceph Storage Releases? を参照してください。この記事には、Ceph パッケージと ceph-ansible の最新バージョンへのダウンロードリンクが含まれています。
アップグレードプロセスでは、Ansible Playbook を使用して、Red Hat Ceph Storage 4 ストレージクラスターを Red Hat Ceph Storage 5 にアップグレードします。Red Hat Ceph Storage 4 ストレージクラスターがコンテナー化されていないクラスターである場合、アップグレードプロセスには、クラスターをコンテナー化バージョンに変換するステップが含まれます。Red Hat Ceph Storage 5 は、コンテナー化されていないクラスターでは実行されません。
ミラーリングまたはマルチサイト設定がある場合は、一度に 1 つのクラスターをアップグレードします。別のクラスターをアップグレードする前に、アップグレードした各クラスターが適切に実行されていることを確認します。
leapp は、暗号化された OSD または暗号化されたパーティションを持つ OSD のアップグレードをサポートしていません。OSD が暗号化され、ホスト OS をアップグレードする場合は、OS をアップグレードする前に ceph-ansible の dmcrypt を無効にします。leapp の使用方法は、Upgrading from Red Hat Enterprise Linux 7 to Red Hat Enterprise Linux 8 を参照してください。
この手順の最初 3 つのステップは、ストレージクラスターが最新バージョンの RRed Hat Ceph Storage 4 をまだ実行していない場合に のみ 実行してください。Red Hat Ceph Storage 4 の最新バージョンは 4.3 以降である必要があります。
前提条件
- Red Hat Ceph Storage 4 クラスターが実行されている。
- ストレージクラスター内すべてのノードへの sudo レベルのアクセス。
- 有効なカスタマーサブスクリプション。
- Ansible 管理ノードへの root レベルのアクセス。
- Ansible アプリケーションで使用する Ansible ユーザーアカウント。
- Red Hat Ceph Storage ツールおよび Ansible リポジトリーが有効になっている。
手順
Ansible 管理ノードで Ceph および Ansible リポジトリーを有効にします。
例:
subscription-manager repos --enable=rhceph-4-tools-for-rhel-8-x86_64-rpms --enable=ansible-2.9-for-rhel-8-x86_64-rpms
[root@admin ceph-ansible]# subscription-manager repos --enable=rhceph-4-tools-for-rhel-8-x86_64-rpms --enable=ansible-2.9-for-rhel-8-x86_64-rpmsCopy to Clipboard Copied! Toggle word wrap Toggle overflow Ansible を更新します。
例:
dnf update ansible ceph-ansible
[root@admin ceph-ansible]# dnf update ansible ceph-ansibleCopy to Clipboard Copied! Toggle word wrap Toggle overflow アップグレードするストレージクラスターに、
exclusive-lock機能を使用する Ceph Block Device イメージが含まれる場合は、すべての Ceph Block Device ユーザーにクライアントの拒否リストを作成するパーミッションがあるようにしてください。構文
ceph auth caps client.ID mon 'profile rbd' osd 'profile rbd pool=POOL_NAME_1, profile rbd pool=POOL_NAME_2'
ceph auth caps client.ID mon 'profile rbd' osd 'profile rbd pool=POOL_NAME_1, profile rbd pool=POOL_NAME_2'Copy to Clipboard Copied! Toggle word wrap Toggle overflow ストレージクラスターが Cockpit を使用して最初にインストールされている場合は、
/usr/share/ceph-ansibleディレクトリーに、Cockpit が作成したインベントリーファイルへのシンボリックリンクを/usr/share/ansible-runner-service/inventory/hostsに作成します。/usr/share/ceph-ansibleディレクトリーに移動します。cd /usr/share/ceph-ansible
# cd /usr/share/ceph-ansibleCopy to Clipboard Copied! Toggle word wrap Toggle overflow シンボリックリンクを作成します。
ln -s /usr/share/ansible-runner-service/inventory/hosts hosts
# ln -s /usr/share/ansible-runner-service/inventory/hosts hostsCopy to Clipboard Copied! Toggle word wrap Toggle overflow
ceph-ansibleを使用してクラスターをアップグレードするには、hostsインベントリーファイルのシンボリックリンクをetc/ansible/hostsディレクトリーに作成します。ln -s /etc/ansible/hosts hosts
# ln -s /etc/ansible/hosts hostsCopy to Clipboard Copied! Toggle word wrap Toggle overflow ストレージクラスターが元々 Cockpit を使用してインストールされた場合は、コックピットで生成された SSH キーを Ansible ユーザーの
~/.sshディレクトリーにコピーします。鍵をコピーします。
構文
cp /usr/share/ansible-runner-service/env/ssh_key.pub /home/ANSIBLE_USERNAME/.ssh/id_rsa.pub cp /usr/share/ansible-runner-service/env/ssh_key /home/ANSIBLE_USERNAME/.ssh/id_rsa
cp /usr/share/ansible-runner-service/env/ssh_key.pub /home/ANSIBLE_USERNAME/.ssh/id_rsa.pub cp /usr/share/ansible-runner-service/env/ssh_key /home/ANSIBLE_USERNAME/.ssh/id_rsaCopy to Clipboard Copied! Toggle word wrap Toggle overflow ANSIBLE_USERNAME を Ansible のユーザー名に置き換えます。通常のデフォルトのユーザー名は
adminです。例:
cp /usr/share/ansible-runner-service/env/ssh_key.pub /home/admin/.ssh/id_rsa.pub cp /usr/share/ansible-runner-service/env/ssh_key /home/admin/.ssh/id_rsa
# cp /usr/share/ansible-runner-service/env/ssh_key.pub /home/admin/.ssh/id_rsa.pub # cp /usr/share/ansible-runner-service/env/ssh_key /home/admin/.ssh/id_rsaCopy to Clipboard Copied! Toggle word wrap Toggle overflow キーファイルに適切な所有者、グループ、およびパーミッションを設定します。
構文
chown ANSIBLE_USERNAME:ANSIBLE_USERNAME /home/ANSIBLE_USERNAME/.ssh/id_rsa.pub chown ANSIBLE_USERNAME:ANSIBLE_USERNAME /home/ANSIBLE_USERNAME/.ssh/id_rsa chmod 644 /home/ANSIBLE_USERNAME/.ssh/id_rsa.pub chmod 600 /home/ANSIBLE_USERNAME/.ssh/id_rsa
# chown ANSIBLE_USERNAME:ANSIBLE_USERNAME /home/ANSIBLE_USERNAME/.ssh/id_rsa.pub # chown ANSIBLE_USERNAME:ANSIBLE_USERNAME /home/ANSIBLE_USERNAME/.ssh/id_rsa # chmod 644 /home/ANSIBLE_USERNAME/.ssh/id_rsa.pub # chmod 600 /home/ANSIBLE_USERNAME/.ssh/id_rsaCopy to Clipboard Copied! Toggle word wrap Toggle overflow ANSIBLE_USERNAME を、Ansible のユーザー名に置き換えます。通常のデフォルトのユーザー名は
adminです。例:
chown admin:admin /home/admin/.ssh/id_rsa.pub chown admin:admin /home/admin/.ssh/id_rsa chmod 644 /home/admin/.ssh/id_rsa.pub chmod 600 /home/admin/.ssh/id_rsa
# chown admin:admin /home/admin/.ssh/id_rsa.pub # chown admin:admin /home/admin/.ssh/id_rsa # chmod 644 /home/admin/.ssh/id_rsa.pub # chmod 600 /home/admin/.ssh/id_rsaCopy to Clipboard Copied! Toggle word wrap Toggle overflow
2.4. ホスト OS アップグレード前のファイルのバックアップ リンクのコピーリンクがクリップボードにコピーされました!
ホスト OS をアップグレードする場合のみ、本セクションの手順を実行します。ホスト OS をアップグレードしない場合は、本セクションを省略します。
Playbook を実行すると ceph.conf ファイルがオーバーライドされるため、アップグレード手順を実行する前に、ストレージクラスター用にカスタマイズしたファイルのバックアップコピーを作成する必要があります。これにはキーリングファイルや設定用の yml ファイルが含まれます。
前提条件
- Red Hat Ceph Storage 4 クラスターが実行されている。
- 有効なカスタマーサブスクリプション。
- Ansible 管理ノードへの root レベルのアクセス。
- Ansible アプリケーションで使用する Ansible ユーザーアカウント。
- Red Hat Ceph Storage Tools および Ansible リポジトリーが有効になっている。
手順
-
/etc/cephフォルダーと/var/lib/cephフォルダーのバックアップコピーを作成します。 -
ceph.client.admin.keyringファイルのバックアップコピーを作成します。 -
各ノードから
ceph.confファイルのバックアップコピーを作成します。 -
各ノードの
/etc/ganesha/フォルダーのバックアップコピーを作成します。 -
ストレージクラスターで RBD ミラーリングが定義されている場合には、
/etc/cephフォルダーおよびgroup_vars/rbdmirrors.ymlファイルのバックアップコピーを作成します。
2.5. コンテナー化されたデプロイメントへの変換 リンクのコピーリンクがクリップボードにコピーされました!
この手順は、コンテナー化されていないクラスターに必要です。ストレージクラスターがコンテナー化されていないクラスターである場合、この手順により、クラスターがコンテナー化されたバージョンに変換されます。
Red Hat Ceph Storage 5 はコンテナーベースのデプロイメントだけをサポートします。RHCS 5.x にアップグレードする前に、クラスターをコンテナー化する必要があります。
Red Hat Ceph Storage 4 ストレージクラスターがすでにコンテナー化されている場合は、本セクションを飛ばして次に進んでください。
この手順により、デーモンが停止され、再起動されます。この手順の実行中に Playbook の実行が停止された場合は、再起動する前に必ずクラスターの状態を分析してください。
前提条件
- コンテナー化されていない Red Hat Ceph Storage 4 クラスターが実行されている。
- ストレージクラスター内のすべてのノードへの root レベルのアクセス。
- 有効なカスタマーサブスクリプション。
- Ansible 管理ノードへの root レベルのアクセス。
- Ansible アプリケーションで使用する Ansible ユーザーアカウント。
手順
-
マルチサイト設定を実行している場合は、
rgw_multisite: falseをall.ymlに設定します。 group_vars/all.ymlに、設定パラメーターに以下のデフォルト値があることを確認します。ceph_docker_image_tag: "latest" ceph_docker_registry: "registry.redhat.io" ceph_docker_image: rhceph/rhceph-4-rhel8 containerized_deployment: true
ceph_docker_image_tag: "latest" ceph_docker_registry: "registry.redhat.io" ceph_docker_image: rhceph/rhceph-4-rhel8 containerized_deployment: trueCopy to Clipboard Copied! Toggle word wrap Toggle overflow 注記この値は、ローカルレジストリーとカスタムイメージ名を使用する場合によって異なります。
任意手順: ベアメタルストレージクラスターのコマンドラインインターフェイスを使用して設定された双方向 RBD ミラーリングの場合、クラスターは RBD ミラーリングを移行しません。このような設定では、コンテナー化されていないストレージクラスターをコンテナー化されたデプロイメントに移行する前に、以下の手順を実行します。
Ceph クライアントノードでユーザーを作成します。
構文
ceph auth get client.PRIMARY_CLUSTER_NAME -o /etc/ceph/ceph.PRIMARY_CLUSTER_NAME.keyring
ceph auth get client.PRIMARY_CLUSTER_NAME -o /etc/ceph/ceph.PRIMARY_CLUSTER_NAME.keyringCopy to Clipboard Copied! Toggle word wrap Toggle overflow 例
ceph auth get client.rbd-mirror.site-a -o /etc/ceph/ceph.client.rbd-mirror.site-a.keyring
[root@rbd-client-site-a ~]# ceph auth get client.rbd-mirror.site-a -o /etc/ceph/ceph.client.rbd-mirror.site-a.keyringCopy to Clipboard Copied! Toggle word wrap Toggle overflow /etc/cephディレクトリーのauthファイルでユーザー名を変更します。例
Copy to Clipboard Copied! Toggle word wrap Toggle overflow authファイルをインポートして、関連するパーミッションを追加します。構文
ceph auth import -i PATH_TO_KEYRING
ceph auth import -i PATH_TO_KEYRINGCopy to Clipboard Copied! Toggle word wrap Toggle overflow 例
ceph auth import -i /etc/ceph/ceph.client.rbd-mirror.rbd-client-site-a.keyring
[root@rbd-client-site-a ~]# ceph auth import -i /etc/ceph/ceph.client.rbd-mirror.rbd-client-site-a.keyringCopy to Clipboard Copied! Toggle word wrap Toggle overflow RBD ミラーノードのサービス名を確認します。
例
Copy to Clipboard Copied! Toggle word wrap Toggle overflow rbd-mirror ノードを
/etc/ansible/hostsファイルに追加します。例:
[rbdmirrors] ceph.client.rbd-mirror.rbd-client-site-a
[rbdmirrors] ceph.client.rbd-mirror.rbd-client-site-aCopy to Clipboard Copied! Toggle word wrap Toggle overflow
コンテナー化されていないデーモンを使用している場合は、それらをコンテナー化された形式に変換します。
構文
ansible-playbook -vvvv -i INVENTORY_FILE infrastructure-playbooks/switch-from-non-containerized-to-containerized-ceph-daemons.yml
ansible-playbook -vvvv -i INVENTORY_FILE infrastructure-playbooks/switch-from-non-containerized-to-containerized-ceph-daemons.ymlCopy to Clipboard Copied! Toggle word wrap Toggle overflow -vvvvオプションは、変換プロセスの詳細ログを収集します。例:
ansible-playbook -vvvv -i hosts infrastructure-playbooks/switch-from-non-containerized-to-containerized-ceph-daemons.yml
[ceph-admin@admin ceph-ansible]$ ansible-playbook -vvvv -i hosts infrastructure-playbooks/switch-from-non-containerized-to-containerized-ceph-daemons.ymlCopy to Clipboard Copied! Toggle word wrap Toggle overflow Playbook が正常に完了したら、
all.ymlファイルのrgw_multisite: trueの値を編集し、containerized_deploymentの値がtrueとなるようにします。注記ceph-iscsi、libtcmu、およびtcmu-runnerパッケージを管理ノードから必ず削除してください。
2.6. アップグレードプロセス リンクのコピーリンクがクリップボードにコピーされました!
ストレージ管理者は、Ansible Playbook を使用して Red Hat Ceph Storage 4 ストレージクラスターを Red Hat Ceph Storage 5 にアップグレードします。Ansible Playbook rolling_update.yml は、Red Hat Ceph Storage のデプロイメントのアップグレードを実行します。ceph-ansible は、Ceph ノードを以下の順序でアップグレードします。
- Ceph Monitor
- Ceph Manager
- Ceph OSD ノード
- MDS ノード
- Ceph Object Gateway (RGW) ノード
- Ceph RBD-mirror ノード
- Ceph NFS ノード
- すべての Ceph iSCSI ゲートウェイノード
- Ceph クライアントノード
- Ceph-crash デーモン
- すべてのノードでの node-exporter
- Ceph Dashboard
ストレージクラスターが Red Hat Ceph Storage 4 から Red Hat Ceph Storage 5 にアップグレードされると、Grafana UI に 2 つのダッシュボードが表示されます。これは、Red Hat Ceph Storage 4 の Prometheus のポートが 9092 で、Red Hat Ceph Storage 5 のポートが 9095 であるためです。grafana は削除できます。cephadm はサービスとデーモンを再デプロイし、Grafana UI 上の古いダッシュボードを削除します。
Red Hat Ceph Storage 5 は、コンテナー化されたデプロイメントのみをサポートします。
Ceph-ansible は現在 Red Hat Ceph Storage 5 ではサポートされません。つまり、ストレージクラスターを Red Hat Ceph Storage 5 に移行したら、cephadm を使用して後続の更新を実行する必要があります。
単一レルムおよび複数レルムを使用してマルチサイト Ceph Object Gateway をデプロイするには、all.yml ファイルを編集してください。詳細は、Red Hat Ceph Storage 4 インストールガイドの マルチサイト Ceph Object Gateway の設定 を参照してください。
Red Hat Ceph Storage 5 には、ストレージクラスターのデーモンのいずれかが Red Hat Ceph Storage の複数のバージョンを実行していることを検出した場合に、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 mute DAEMON_OLD_VERSION --sticky
アップグレードが完了したら、健全性の警告のミュートを解除します。
ceph health unmute DAEMON_OLD_VERSION
ceph health unmute DAEMON_OLD_VERSION
前提条件
- Red Hat Ceph Storage クラスターが実行されている。
- ストレージクラスター内のすべてのホストへの root レベルのアクセス。
- 有効なカスタマーサブスクリプション。
- Ansible 管理ノードへの root レベルのアクセス。
-
Red Hat Ceph Storage 5 で利用可能な Ansible および
ceph-ansibleの最新バージョン。 -
Ansible アプリケーションで使用する
ansibleユーザーアカウント。 - ストレージクラスターのノードが、Red Hat Enterprise Linux 8.4 EUS 以降にアップグレードされている。
Ansible インベントリーファイルは ceph-ansible ディレクトリーに存在する必要がある。
手順
Ansible 管理ノードで Ceph および Ansible リポジトリーを有効にします。
Red Hat Enterprise Linux 8
subscription-manager repos --enable=rhceph-5-tools-for-rhel-8-x86_64-rpms --enable=ansible-2.9-for-rhel-8-x86_64-rpms
subscription-manager repos --enable=rhceph-5-tools-for-rhel-8-x86_64-rpms --enable=ansible-2.9-for-rhel-8-x86_64-rpmsCopy to Clipboard Copied! Toggle word wrap Toggle overflow Red Hat Enterprise Linux 9
subscription-manager repos --enable=rhceph-5-tools-for-rhel-9-x86_64-rpms
subscription-manager repos --enable=rhceph-5-tools-for-rhel-9-x86_64-rpmsCopy to Clipboard Copied! Toggle word wrap Toggle overflow Ansible 管理ノードで、
ansibleおよびceph-ansibleパッケージの最新バージョンがインストールされていることを確認します。構文
dnf update ansible ceph-ansible
dnf update ansible ceph-ansibleCopy to Clipboard Copied! Toggle word wrap Toggle overflow /usr/share/ceph-ansibleディレクトリーに移動します。例:
cd /usr/share/ceph-ansible
[root@admin ~]# cd /usr/share/ceph-ansibleCopy to Clipboard Copied! Toggle word wrap Toggle overflow Red Hat Ceph Storage 4 から Red Hat Ceph Storage 5 にアップグレードする場合は、
group_vars/osds.yml.sampleファイルおよびgroup_vars/clients.yml.sampleファイルのコピーを作成し、その名前をgroup_vars/osds.ymlおよびgroup_vars/clients.ymlに変更します。例:
cp group_vars/osds.yml.sample group_vars/osds.yml cp group_vars/mdss.yml.sample group_vars/mdss.yml cp group_vars/rgws.yml.sample group_vars/rgws.yml cp group_vars/clients.yml.sample group_vars/clients.yml
[root@admin ceph-ansible]# cp group_vars/osds.yml.sample group_vars/osds.yml [root@admin ceph-ansible]# cp group_vars/mdss.yml.sample group_vars/mdss.yml [root@admin ceph-ansible]# cp group_vars/rgws.yml.sample group_vars/rgws.yml [root@admin ceph-ansible]# cp group_vars/clients.yml.sample group_vars/clients.ymlCopy to Clipboard Copied! Toggle word wrap Toggle overflow -
Red Hat Ceph Storage 4 から Red Hat Ceph Storage 5 にアップグレードする場合は、
group_vars/all.ymlファイルを編集し、Red Hat Ceph Storage 5 の詳細を追加します。 上記の 2 つの手順を実行したら、以前の
yamlファイルから新しいyamlファイルに設定をコピーします。これらの設定パラメーターの値は Red Hat Ceph Storage 5 用であるため、ceph_rhcs_version、ceph_docker_image、およびgrafana_container_imageの値は変更しないでください。これにより、クラスターに関連するすべての設定が現在のyamlファイルに存在するようになります。例:
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 注記Red Hat Ceph Storage 5 コンテナーイメージがデフォルト値に設定されていることを確認します。
group_vars/osds.ymlファイルを編集します。以下のオプションを追加して設定します。構文
nb_retry_wait_osd_up: 50 delay_wait_osd_up: 30
nb_retry_wait_osd_up: 50 delay_wait_osd_up: 30Copy to Clipboard Copied! Toggle word wrap Toggle overflow group_vars/all.ymlファイルを開き、古いall.ymlファイルから以下の値が存在することを確認します。fetch_directoryオプションは、古いall.ymlファイルと同じ値で設定されます。構文
fetch_directory: FULL_DIRECTORY_PATH
fetch_directory: FULL_DIRECTORY_PATHCopy to Clipboard Copied! Toggle word wrap Toggle overflow FULL_DIRECTORY_PATH を、Ansible ユーザーのホームディレクトリーなどの書き込み可能な場所に置き換えます。
アップグレードするクラスターに Ceph Object Gateway ノードが含まれている場合には、
radosgw_interfaceオプションを追加します。radosgw_interface: INTERFACE
radosgw_interface: INTERFACECopy to Clipboard Copied! Toggle word wrap Toggle overflow INTERFACE を、Ceph Object Gateway ノードがリッスンするインターフェイスに置き換えます。
現在の設定に SSL 証明書が設定されている場合は、以下を編集します。
構文
radosgw_frontend_ssl_certificate: /etc/pki/ca-trust/extracted/CERTIFICATE_NAME radosgw_frontend_port: 443
radosgw_frontend_ssl_certificate: /etc/pki/ca-trust/extracted/CERTIFICATE_NAME radosgw_frontend_port: 443Copy to Clipboard Copied! Toggle word wrap Toggle overflow upgrade_ceph_packagesオプションをコメント解除して、Trueに設定します。構文
upgrade_ceph_packages: True
upgrade_ceph_packages: TrueCopy to Clipboard Copied! Toggle word wrap Toggle overflow ストレージクラスターでノードごとに複数の Ceph Object Gateway インスタンスがある場合、
radosgw_num_instances設定をコメント解除して、クラスターのノードごとのインスタンス数に設定します。構文
radosgw_num_instances : NUMBER_OF_INSTANCES_PER_NODE
radosgw_num_instances : NUMBER_OF_INSTANCES_PER_NODECopy to Clipboard Copied! Toggle word wrap Toggle overflow 例:
radosgw_num_instances : 2
radosgw_num_instances : 2Copy to Clipboard Copied! Toggle word wrap Toggle overflow -
ストレージクラスターに Ceph Object Gateway マルチサイトが定義されている場合は、
all.ymlのマルチサイト設定を確認し、古いall.ymlファイルと同じ値が含まれていることを確認します。
バケットが作成されているか、
num_shards = 0である場合は、Red Hat Ceph Storage 5.3 へのアップグレードを計画する前に、バケットを手動でリシャーディングします。警告bucket_index_max_shardsが0の場合に以前のリリースから Red Hat Ceph Storage 5.3 にアップグレードすると、Ceph Object Gateway バケットのメタデータが失われ、バケットにアクセスしようとしたときにバケットが使用できなくなる可能性があります。そのため、bucket_index_max_shardsが11シャードに設定されていることを確認してください。そうでない場合は、ゾーングループレベルでこの設定を変更します。構文
radosgw-admin bucket reshard --num-shards 11 --bucket BUCKET_NAME
radosgw-admin bucket reshard --num-shards 11 --bucket BUCKET_NAMECopy to Clipboard Copied! Toggle word wrap Toggle overflow 例:
[ceph: root@host01 /]# radosgw-admin bucket reshard --num-shards 11 --bucket mybucket
[ceph: root@host01 /]# radosgw-admin bucket reshard --num-shards 11 --bucket mybucketCopy to Clipboard Copied! Toggle word wrap Toggle overflow -
Ansible 管理ノードで
ansible-userとしてログインします。 --extra-varsオプションを使用してinfrastructure-playbooks/rolling_update.ymlPlaybook を更新し、health_osd_check_retriesとhealth_osd_check_delayの値をそれぞれ50と30に変更します。例:
ansible-playbook -i hosts infrastructure-playbooks/rolling_update.yml --extra-vars "health_osd_check_retries=50 health_osd_check_delay=30"
[root@admin ceph-ansible]# ansible-playbook -i hosts infrastructure-playbooks/rolling_update.yml --extra-vars "health_osd_check_retries=50 health_osd_check_delay=30"Copy to Clipboard Copied! Toggle word wrap Toggle overflow 各 OSD ノードでは、これらの値により、
ceph-ansibleはストレージクラスターの健全性を 30 秒ごとに最大 50 回チェックします。つまり、ceph-ansibleは OSD ごとに最大 25 分待機します。ストレージクラスターの使用済みのストレージ容量に基づいて、
health_osd_check_retriesオプションの値を上下に調整します。たとえば、436 TB のうち、ストレージ容量の 50% にあたる 218 TB を使用している場合は、health_osd_check_retriesオプションを50に設定します。/etc/ansible/hostsは、Ansible インベントリーファイルのデフォルトの場所です。Rolling_update.ymlPlaybook を実行して、ストレージクラスターを Red Hat Ceph Storage 4 から Red Hat Ceph Storage 5 に変換します。構文
ansible-playbook -vvvv infrastructure-playbooks/rolling_update.yml -i INVENTORY_FILE
ansible-playbook -vvvv infrastructure-playbooks/rolling_update.yml -i INVENTORY_FILECopy to Clipboard Copied! Toggle word wrap Toggle overflow -vvvv オプションは、アップグレードプロセスの詳細ログを収集します。
例:
ansible-playbook -vvvv infrastructure-playbooks/rolling_update.yml -i hosts
[ceph-admin@admin ceph-ansible]$ ansible-playbook -vvvv infrastructure-playbooks/rolling_update.yml -i hostsCopy to Clipboard Copied! Toggle word wrap Toggle overflow 重要rolling_update.ymlPlaybook で--limitAnsible オプションを使用することはサポートされていません。- Ansible Playbook のログ出力をチェックして、アップグレードのステータスを確認します。
検証
実行中のすべてのコンテナーをリスト表示します。
例:
podman ps
[root@mon ~]# podman psCopy to Clipboard Copied! Toggle word wrap Toggle overflow クラスターの健全性状態を確認します。MONITOR_ID は、前のステップで見つかった Ceph Monitor コンテナーの名前に置き換えます。
構文
podman exec ceph-mon-MONITOR_ID ceph -s
podman exec ceph-mon-MONITOR_ID ceph -sCopy to Clipboard Copied! Toggle word wrap Toggle overflow 例:
podman exec ceph-mon-mon01 ceph -s
[root@mon ~]# podman exec ceph-mon-mon01 ceph -sCopy to Clipboard Copied! Toggle word wrap Toggle overflow Ceph クラスターのデーモンのバージョンを確認し、すべてのデーモンのアップグレードを確認します。MONITOR_ID は、前のステップで見つかった Ceph Monitor コンテナーの名前に置き換えます。
構文
podman exec ceph-mon-MONITOR_ID ceph --cluster ceph versions
podman exec ceph-mon-MONITOR_ID ceph --cluster ceph versionsCopy to Clipboard Copied! Toggle word wrap Toggle overflow 例:
podman exec ceph-mon-mon01 ceph --cluster ceph versions
[root@mon ~]# podman exec ceph-mon-mon01 ceph --cluster ceph versionsCopy to Clipboard Copied! Toggle word wrap Toggle overflow
2.7. cephadm を使用したストレージクラスターの変換 リンクのコピーリンクがクリップボードにコピーされました!
ストレージクラスターを Red Hat Ceph Storage 5 にアップグレードしたら、cephadm-adopt Playbook を実行し、cephadm を実行するようにストレージクラスターデーモンを変換します。
cephadm-adopt Playbook は、Ceph サービスを採用し、すべての cephadm 依存関係をインストールして、cephadm Orchestrator バックエンドを有効にし、すべてのホストで ssh キーを生成および設定して、ホストを Orchestrator 設定に追加します。
cephadm-adopt Playbook の実行後に、ceph-ansible パッケージを削除します。クラスターデーモンは ceph-ansible で機能しなくなります。cephadm を使用してクラスターデーモンを管理する必要があります。
前提条件
- 稼働中の Red Hat Ceph Storage クラスターがある。
- ストレージクラスター内のすべてのノードへの root レベルのアクセス。
手順
-
ceph-ansibleノードにログインし、/usr/share/ceph-ansibleディレクトリーに移動します。 all.ymlファイルを編集します。構文
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 例:
Copy to Clipboard Copied! Toggle word wrap Toggle overflow cephadm-adoptPlaybook を実行します。構文
ansible-playbook infrastructure-playbooks/cephadm-adopt.yml -i INVENTORY_FILE
ansible-playbook infrastructure-playbooks/cephadm-adopt.yml -i INVENTORY_FILECopy to Clipboard Copied! Toggle word wrap Toggle overflow 例:
ansible-playbook infrastructure-playbooks/cephadm-adopt.yml -i hosts
[ceph-admin@admin ceph-ansible]$ ansible-playbook infrastructure-playbooks/cephadm-adopt.yml -i hostsCopy to Clipboard Copied! Toggle word wrap Toggle overflow 最小の compat client パラメーターを
luminousに設定します。例:
[ceph: root@node0 /]# ceph osd set-require-min-compat-client luminous
[ceph: root@node0 /]# ceph osd set-require-min-compat-client luminousCopy to Clipboard Copied! Toggle word wrap Toggle overflow 以下のコマンドを実行して、アプリケーションが NFS-Ganesha プールで実行されるようにします。POOL_NAME は
nfs-ganeshaで、APPLICATION_NAME はcephfs、rbd、rgwなどの有効にするアプリケーションの名前です。構文
ceph osd pool application enable POOL_NAME APPLICATION_NAME
ceph osd pool application enable POOL_NAME APPLICATION_NAMECopy to Clipboard Copied! Toggle word wrap Toggle overflow 例:
[ceph: root@node0 /]# ceph osd pool application enable nfs-ganesha rgw
[ceph: root@node0 /]# ceph osd pool application enable nfs-ganesha rgwCopy to Clipboard Copied! Toggle word wrap Toggle overflow 重要Red Hat Ceph Storage 4 から Red Hat Ceph Storage 5 へのストレージクラスターの移行後に、
cephadm-adoptPlaybook が rbd-mirroring を起動しません。この問題を回避するには、ピアを手動で追加します。
構文
rbd mirror pool peer add POOL_NAME CLIENT_NAME@CLUSTER_NAME
rbd mirror pool peer add POOL_NAME CLIENT_NAME@CLUSTER_NAMECopy to Clipboard Copied! Toggle word wrap Toggle overflow 例:
[ceph: root@node0 /]# rbd --cluster site-a mirror pool peer add image-pool client.rbd-mirror-peer@site-b
[ceph: root@node0 /]# rbd --cluster site-a mirror pool peer add image-pool client.rbd-mirror-peer@site-bCopy to Clipboard Copied! Toggle word wrap Toggle overflow アップグレード後に Grafana を削除します。
Cephadm シェルにログインします。
例:
cephadm shell
[root@host01 ~]# cephadm shellCopy to Clipboard Copied! Toggle word wrap Toggle overflow ストレージクラスター内の Grafana の名前を取得します。
例:
[ceph: root@host01 /]# ceph orch ps --daemon_type grafana
[ceph: root@host01 /]# ceph orch ps --daemon_type grafanaCopy to Clipboard Copied! Toggle word wrap Toggle overflow Grafana を削除します。
構文
ceph orch daemon rm GRAFANA_DAEMON_NAME
ceph orch daemon rm GRAFANA_DAEMON_NAMECopy to Clipboard Copied! Toggle word wrap Toggle overflow 例:
[ceph: root@host01 /]# ceph orch daemon rm grafana.host01 Removed grafana.host01 from host 'host01'
[ceph: root@host01 /]# ceph orch daemon rm grafana.host01 Removed grafana.host01 from host 'host01'Copy to Clipboard Copied! Toggle word wrap Toggle overflow 数分待って、最新のログを確認します。
例:
[ceph: root@host01 /]# ceph log last cephadm
[ceph: root@host01 /]# ceph log last cephadmCopy to Clipboard Copied! Toggle word wrap Toggle overflow cephadmは、Grafana サービスとデーモンを再デプロイします。
2.8. アップグレードされたストレージクラスターへの cephadm-ansible のインストール リンクのコピーリンクがクリップボードにコピーされました!
cephadm-ansible は、cephadm で対応していないワークフローを単純化する Ansible Playbook のコレクションです。インストール後に、Playbook は /usr/share/cephadm-ansible/ にあります。
アップグレードしたストレージクラスターに新規ノードまたは新規クライアントを追加する前に、Playbook cephadm-preflight.yml を実行します。
前提条件
- Ansible 管理ノードへの root レベルのアクセス。
- 適切なエンタイトルメントを持つ有効な Red Hat サブスクリプション。
- Red Hat Registry にアクセスするためのアクティブな Red Hat Network (RHN) またはサービスアカウント。
手順
ansibleおよび古いceph-ansibleパッケージをアンインストールします。構文
dnf remove ansible ceph-ansible
dnf remove ansible ceph-ansibleCopy to Clipboard Copied! Toggle word wrap Toggle overflow Ansible 管理ノードで Ansible リポジトリーを無効にし、Ceph リポジトリーを有効にします。
Red Hat Enterprise Linux 8
subscription-manager repos --enable=rhel-8-for-x86_64-baseos-rpms --enable=rhel-8-for-x86_64-appstream-rpms --enable=rhceph-5-tools-for-rhel-8-x86_64-rpms --disable=ansible-2.9-for-rhel-8-x86_64-rpms
[root@admin ~]# subscription-manager repos --enable=rhel-8-for-x86_64-baseos-rpms --enable=rhel-8-for-x86_64-appstream-rpms --enable=rhceph-5-tools-for-rhel-8-x86_64-rpms --disable=ansible-2.9-for-rhel-8-x86_64-rpmsCopy to Clipboard Copied! Toggle word wrap Toggle overflow Red Hat Enterprise Linux 9
subscription-manager repos --enable=rhel-9-for-x86_64-baseos-rpms --enable=rhel-9-for-x86_64-appstream-rpms --enable=rhceph-5-tools-for-rhel-9-x86_64-rpms --disable=ansible-2.9-for-rhel-9-x86_64-rpms
[root@admin ~]# subscription-manager repos --enable=rhel-9-for-x86_64-baseos-rpms --enable=rhel-9-for-x86_64-appstream-rpms --enable=rhceph-5-tools-for-rhel-9-x86_64-rpms --disable=ansible-2.9-for-rhel-9-x86_64-rpmsCopy to Clipboard Copied! Toggle word wrap Toggle overflow cephadm-ansibleパッケージをインストールします。これにより、ansible-coreが依存関係としてインストールされます。構文
dnf install cephadm-ansible
dnf install cephadm-ansibleCopy to Clipboard Copied! Toggle word wrap Toggle overflow
第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 mute DAEMON_OLD_VERSION --sticky
アップグレードが完了したら、健全性の警告のミュートを解除します。
ceph health unmute DAEMON_OLD_VERSION
ceph health unmute DAEMON_OLD_VERSION
手順
cephadmおよびcephadm-ansibleパッケージを更新します。例:
dnf update cephadm dnf update cephadm-ansible
[root@admin ~]# dnf update cephadm [root@admin ~]# dnf update cephadm-ansibleCopy to Clipboard Copied! Toggle word wrap Toggle overflow /usr/share/cephadm-ansibleディレクトリーに移動します。例:
cd /usr/share/cephadm-ansible
[root@admin ~]# cd /usr/share/cephadm-ansibleCopy to Clipboard Copied! Toggle word wrap Toggle overflow バケットが作成されているか、
num_shards = 0である場合は、Red Hat Ceph Storage 5.3 へのアップグレードを計画する前に、バケットを手動でリシャーディングします。構文
radosgw-admin bucket reshard --num-shards 11 --bucket BUCKET_NAME
radosgw-admin bucket reshard --num-shards 11 --bucket BUCKET_NAMECopy to Clipboard Copied! Toggle word wrap Toggle overflow 例:
[ceph: root@host01 /]# radosgw-admin bucket reshard --num-shards 11 --bucket mybucket
[ceph: root@host01 /]# radosgw-admin bucket reshard --num-shards 11 --bucket mybucketCopy to Clipboard Copied! Toggle word wrap Toggle overflow ストレージクラスターのブートストラップされたホストで
upgrade_ceph_packagesパラメーターをtrueに設定して、プリフライト Playbook を実行します。構文
ansible-playbook -i INVENTORY_FILE cephadm-preflight.yml --extra-vars "ceph_origin=rhcs upgrade_ceph_packages=true"
ansible-playbook -i INVENTORY_FILE cephadm-preflight.yml --extra-vars "ceph_origin=rhcs upgrade_ceph_packages=true"Copy to Clipboard Copied! Toggle word wrap Toggle overflow 例:
ansible-playbook -i /etc/ansible/hosts 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"Copy to Clipboard Copied! Toggle word wrap Toggle overflow このパッケージは、すべてのノードで
cephadmをアップグレードします。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-5-rhel8:latest
[ceph: root@host01 /]# ceph orch upgrade check registry.redhat.io/rhceph/rhceph-5-rhel8:latestCopy to Clipboard Copied! Toggle word wrap Toggle overflow 注記イメージ名は、Red Hat Enterprise Linux 8 と Red Hat Enterprise Linux 9 の両方に適用されます。
ストレージクラスターをアップグレードします。
構文
ceph orch upgrade start IMAGE_NAME
ceph orch upgrade start IMAGE_NAMECopy to Clipboard Copied! Toggle word wrap Toggle overflow 例:
[ceph: root@host01 /]# ceph orch upgrade start registry.redhat.io/rhceph/rhceph-5-rhel8:latest
[ceph: root@host01 /]# ceph orch upgrade start registry.redhat.io/rhceph/rhceph-5-rhel8:latestCopy to Clipboard Copied! Toggle word wrap Toggle overflow 注記段階的アップグレードを実行するには、Performing a staggered upgrade を参照してください。
アップグレード中は、進捗バーが
ceph status出力に表示されます。例:
[ceph: root@host01 /]# ceph status [...] progress: Upgrade to 16.2.0-146.el8cp (1s) [............................][ceph: root@host01 /]# ceph status [...] progress: Upgrade to 16.2.0-146.el8cp (1s) [............................]Copy 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 注記cephadm-ansiblePlaybook を使用していない場合は、Ceph クラスターをアップグレードした後、クライアントノードのceph-commonパッケージとクライアントライブラリーをアップグレードする必要があります。例:
[root@client01 ~] dnf update ceph-common
[root@client01 ~] dnf update ceph-commonCopy to Clipboard Copied! Toggle word wrap Toggle overflow 最新バージョンを使用していることを確認します。
例:
[root@client01 ~] ceph --version
[root@client01 ~] ceph --versionCopy 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
3.2. 非接続環境での Red Hat Ceph Storage クラスターのアップグレード リンクのコピーリンクがクリップボードにコピーされました!
--image タグを使用すると、非接続環境でストレージクラスターをアップグレードできます。
Red Hat Ceph Storage 5 クラスターをアップグレードするには、ceph orch upgrade コマンドを使用できます。
Red Hat Enterprise Linux 9 以降では、cephadm-ansible Playbook はサポートされません。
前提条件
- Red Hat Ceph Storage クラスター 5 が実行されている。
- Red Hat Enterprise Linux 8.4 EUS 以降。
- すべてのノードへの root レベルのアクセス。
-
ストレージクラスター内のすべてのノードへの sudo アクセスおよびパスワードなしの
sshアクセスのある Ansible ユーザー。 - ストレージクラスターの 2 つ以上の Ceph Manager ノード (アクティブなノード 1 つとスタンバイ 1 つ)。
- ノードを CDN に登録して、サブスクリプションを割り当てている。
- 非接続環境でカスタマーコンテナーイメージを確認し、必要に応じて設定を変更している。詳細は、Red Hat Ceph Storage インストールガイド の 非接続インストールのカスタムコンテナーイメージの設定変更 セクションを参照してください。
デフォルトでは、モニタリングスタックコンポーネントは、プライマリー Ceph イメージに基づいてデプロイされます。ストレージクラスターの切断された環境では、最新の利用可能な監視スタックコンポーネントイメージを使用する必要があります。
| モニタリングスタックコンポーネント | Red Hat Ceph Storage のバージョン | イメージの詳細 |
|---|---|---|
| Prometheus | Red Hat Ceph Storage 5.0 および 5.1 | registry.redhat.io/openshift4/ose-prometheus:v4.6 |
| Red Hat Ceph Storage 5.2 以降 | registry.redhat.io/openshift4/ose-prometheus:v4.10 | |
| Grafana | Red Hat Ceph Storage 5 のすべてのバージョン | registry.redhat.io/rhceph/rhceph-5-dashboard-rhel8:latest |
| Node-exporter | Red Hat Ceph Storage 5.0 | registry.redhat.io/openshift4/ose-prometheus-node-exporter:v4.5 |
| Red Hat Ceph Storage 5.0z1 および 5.1 | registry.redhat.io/openshift4/ose-prometheus-node-exporter:v4.6 | |
| Red Hat Ceph Storage 5.2 以降 | registry.redhat.io/openshift4/ose-prometheus-node-exporter:v4.10 | |
| AlertManager | Red Hat Ceph Storage 5.0 | registry.redhat.io/openshift4/ose-prometheus-alertmanager:v4.5 |
| Red Hat Ceph Storage 5.0z1 および 5.1 | registry.redhat.io/openshift4/ose-prometheus-alertmanager:v4.6 | |
| Red Hat Ceph Storage 5.2 以降 | registry.redhat.io/openshift4/ose-prometheus-alertmanager:v4.10 | |
| HAProxy | Red Hat Ceph Storage 5.1 以降 | registry.redhat.io/rhceph/rhceph-haproxy-rhel8:latest |
| keepalived | Red Hat Ceph Storage 5.1 以降 | registry.redhat.io/rhceph/keepalived-rhel8:latest |
| SNMP ゲートウェイ | Red Hat Ceph Storage 5.0 以降 | registry.redhat.io/rhceph/snmp-notifier-rhel8:latest |
手順
cephadmおよびcephadm-ansibleパッケージを更新します。例:
dnf update cephadm dnf update cephadm-ansible
[root@admin ~]# dnf update cephadm [root@admin ~]# dnf update cephadm-ansibleCopy to Clipboard Copied! Toggle word wrap Toggle overflow ストレージクラスター内のブートストラップされたホストで、
upgrade_ceph_packagesパラメーターをtrueに設定し、ceph_originパラメーターをcustomに設定してプリフライト Playbook を実行します。構文
ansible-playbook -i INVENTORY_FILE cephadm-preflight.yml --extra-vars "ceph_origin=custom upgrade_ceph_packages=true"
ansible-playbook -i INVENTORY_FILE cephadm-preflight.yml --extra-vars "ceph_origin=custom upgrade_ceph_packages=true"Copy to Clipboard Copied! Toggle word wrap Toggle overflow 例:
ansible-playbook -i /etc/ansible/hosts cephadm-preflight.yml --extra-vars "ceph_origin=custom upgrade_ceph_packages=true"
[ceph-admin@admin ~]$ ansible-playbook -i /etc/ansible/hosts cephadm-preflight.yml --extra-vars "ceph_origin=custom upgrade_ceph_packages=true"Copy to Clipboard Copied! Toggle word wrap Toggle overflow このパッケージは、すべてのノードで
cephadmをアップグレードします。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 LOCAL_NODE_FQDN:5000/rhceph/rhceph-5-rhel8
[ceph: root@host01 /]# ceph orch upgrade check LOCAL_NODE_FQDN:5000/rhceph/rhceph-5-rhel8Copy to Clipboard Copied! Toggle word wrap Toggle overflow ストレージクラスターをアップグレードします。
構文
ceph orch upgrade start IMAGE_NAME
ceph orch upgrade start IMAGE_NAMECopy to Clipboard Copied! Toggle word wrap Toggle overflow 例:
[ceph: root@host01 /]# ceph orch upgrade start LOCAL_NODE_FQDN:5000/rhceph/rhceph-5-rhel8
[ceph: root@host01 /]# ceph orch upgrade start LOCAL_NODE_FQDN:5000/rhceph/rhceph-5-rhel8Copy to Clipboard Copied! Toggle word wrap Toggle overflow アップグレード中は、進捗バーが
ceph status出力に表示されます。例:
[ceph: root@host01 /]# ceph status [...] progress: Upgrade to 16.2.0-115.el8cp (1s) [............................][ceph: root@host01 /]# ceph status [...] progress: Upgrade to 16.2.0-115.el8cp (1s) [............................]Copy to Clipboard Copied! Toggle word wrap Toggle overflow Ceph クラスターの新しい IMAGE_ID および VERSION を確認します。
例:
[ceph: root@host01 /]# ceph version [ceph: root@host01 /]# ceph versions [ceph: root@host01 /]# ceph orch ps
[ceph: root@host01 /]# ceph version [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
3.3. 段階的なアップグレード リンクのコピーリンクがクリップボードにコピーされました!
ストレージ管理者は、Red Hat Ceph Storage コンポーネントを一度にすべてではなく段階的にアップグレードできます。Red Hat Ceph Storage 5.2 以降、ceph orch upgrade コマンドでオプションを指定して、1 つの upgrade コマンドでアップグレードするデーモンを制限することが可能になりました
段階的アップグレードをサポートしていないバージョンからアップグレードする場合は、最初に Ceph Manager (ceph-mgr) デーモンを手動でアップグレードする必要があります。以前のリリースからの段階的なアップグレードの実行に関する詳細は、Performing a staggered upgrade from previous releases を参照してください。
3.3.1. 段階的なアップグレードのオプション リンクのコピーリンクがクリップボードにコピーされました!
Red Hat Ceph Storage 5.2 以降、ceph orch upgrade コマンドは、クラスターコンポーネントを段階的にアップグレードするためのいくつかのオプションをサポートしています。段階的なアップグレードのオプションは、以下の通りです。
-
--daemon_types:
--daemon_typesオプションは、デーモンタイプのコンマ区切りのリストを取り、それらのタイプのデーモンのみをアップグレードします。このオプションの有効なデーモンタイプには、mgr、mon、crash、osd、mds、rgw、rbd-mirror、cephfs-mirror、iscsi、および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 デーモンをアップグレードします。
3.3.2. 段階的なアップグレードの実行 リンクのコピーリンクがクリップボードにコピーされました!
ストレージ管理者は、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 iSCSI ゲートウェイノード
- Ceph NFS ノード
デーモンを順不同でアップグレードするパラメーターを指定すると、upgrade コマンドはブロックし、続行する前にどのデーモンをアップグレードする必要があるかを通知します。
例:
[ceph: root@host01 /]# ceph orch upgrade start --image registry.redhat.io/rhceph/rhceph-5-rhel8: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 NOTE: Enforced upgrade order is: mgr -> mon -> crash -> osd -> mds -> rgw -> rbd-mirror -> cephfs-mirror -> iscsi -> nfs
[ceph: root@host01 /]# ceph orch upgrade start --image registry.redhat.io/rhceph/rhceph-5-rhel8: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
NOTE: Enforced upgrade order is: mgr -> mon -> crash -> osd -> mds -> rgw -> rbd-mirror -> cephfs-mirror -> iscsi -> nfs
前提条件
- クラスターで 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-5-rhel8:latest
[ceph: root@host01 /]# ceph orch upgrade check registry.redhat.io/rhceph/rhceph-5-rhel8:latestCopy to Clipboard Copied! Toggle word wrap Toggle overflow ストレージクラスターをアップグレードします。
特定のホストで特定のデーモンタイプをアップグレードするには、次の手順を実行します。
構文
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-5-rhel8:latest --daemon-types mgr,mon --hosts host02,host03
[ceph: root@host01 /]# ceph orch upgrade start --image registry.redhat.io/rhceph/rhceph-5-rhel8: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-5-rhel8:latest --services rgw.example1,rgw1.example2 --limit 2
[ceph: root@host01 /]# ceph orch upgrade start --image registry.redhat.io/rhceph/rhceph-5-rhel8: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-5-rhel8:latest
[ceph: root@host01 /]# ceph orch upgrade check --image registry.redhat.io/rhceph/rhceph-5-rhel8: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-5-rhel8:latest
[ceph: root@host01 /]# ceph orch upgrade start --image registry.redhat.io/rhceph/rhceph-5-rhel8:latestCopy 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
検証
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
3.3.3. 以前のリリースからの段階的なアップグレードの実行 リンクのコピーリンクがクリップボードにコピーされました!
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-5-rhel8:latest
[ceph: root@host01 /]# ceph orch daemon redeploy mgr.ceph-host02.pzgrhz --image registry.redhat.io/rhceph/rhceph-5-rhel8: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 をアップグレードしたら、制限パラメーターを指定して、残りの段階的アップグレードを完了できます。
3.4. ストレージクラスターのアップグレードの監視および管理 リンクのコピーリンクがクリップボードにコピーされました!
ceph orch upgrade start コマンドを実行して Red Hat Ceph Storage クラスターをアップグレードした後、状態を確認し、アップグレードプロセスを一時停止、再開、または停止できます。アップグレード中にクラスターの健全性が HEALTH_WARNING に変わります。クラスターのホストがオフラインの場合、アップグレードは一時停止されます。
デーモンタイプを 1 つずつアップグレードする必要があります。デーモンをアップグレードすることができない場合は、アップグレードが一時停止されます。
前提条件
- Red Hat Ceph Storage クラスター 5 が実行している。
- すべてのノードへの root レベルのアクセス。
- ストレージクラスターの 2 つ以上の Ceph Manager ノード (アクティブなノード 1 つとスタンバイ 1 つ)。
- 開始されるストレージクラスターのアップグレード。
手順
アップグレードが進行中であるかどうか、およびクラスターのアップグレードするバージョンを確認します。
例:
[ceph: root@node0 /]# ceph orch upgrade status
[ceph: root@node0 /]# ceph orch upgrade statusCopy to Clipboard Copied! Toggle word wrap Toggle overflow 注記アップグレードに成功したら、メッセージを取得しません。
ceph versionsコマンドおよびceph orch psコマンドを実行して、新しいイメージ ID およびストレージクラスターのバージョンを確認します。任意: アップグレードプロセスを一時停止します。
例:
[ceph: root@node0 /]# ceph orch upgrade pause
[ceph: root@node0 /]# ceph orch upgrade pauseCopy to Clipboard Copied! Toggle word wrap Toggle overflow 任意: 一時停止したアップグレードプロセスを再開します。
例:
[ceph: root@node0 /]# ceph orch upgrade resume
[ceph: root@node0 /]# ceph orch upgrade resumeCopy to Clipboard Copied! Toggle word wrap Toggle overflow 任意: アップグレードプロセスを停止します。
例:
[ceph: root@node0 /]# ceph orch upgrade stop
[ceph: root@node0 /]# ceph orch upgrade stopCopy to Clipboard Copied! Toggle word wrap Toggle overflow
3.5. アップグレードのエラーメッセージのトラブルシューティング リンクのコピーリンクがクリップボードにコピーされました!
以下の表に、cephadm アップグレードエラーメッセージの一部を示します。何らかの理由で cephadm のアップグレードが失敗すると、エラーメッセージがストレージクラスターのヘルスステータスに表示されます。
| エラーメッセージ | 説明 |
|---|---|
| UPGRADE_NO_STANDBY_MGR | 続行するには、Ceph にアクティブマネージャーデーモンとスタンバイマネージャーデーモンの両方が必要ですが、現在スタンバイはありません。 |
| UPGRADE_FAILED_PULL | Ceph は、ターゲットバージョンのコンテナーイメージをプルできませんでした。これは、存在しないバージョンまたはコンテナーイメージ (例: 1.2.3) を指定する場合や、コンテナーレジストリーがクラスター内の 1 つ以上のホストから到達できない場合に発生する可能性があります。 |