4.2. コンテナーで実行される Red Hat Ceph Storage クラスターのアップグレード
このセクションでは、Red Hat Ceph Storage コンテナーイメージの新しいマイナーまたはメジャーバージョンにアップグレードする方法について説明します。
- ストレージクラスターをアップグレードするには、「ストレージクラスターのアップグレード」 を参照してください。
- Red Hat Ceph Storage Dashboard をアップグレードするには、「Red Hat Ceph Storage Dashboard のアップグレード」 を参照してください。
管理ノードの /usr/share/ceph-ansible/infrastructure-playbooks/
ディレクトリーにある Ansiblerolling_update.yml
Playbook を使用して、Red Hat Ceph Storage の 2 つのメジャーバージョンまたはマイナーバージョン間でアップグレードするか、非同期更新を適用します。
Ansible は Ceph ノードを以下の順序でアップグレードします。
- ノードの監視
- MGR ノード
- OSD ノード
- MDS ノード
- Ceph Object Gateway ノード
- その他すべての Ceph クライアントノード
Red Hat Ceph Storage 3 では、/usr/share/ceph-ansible/group_vars/
ディレクトリーにある Ansible 設定ファイルにいくつかの変更が導入されており、特定のパラメーターの名前が変更されたり削除されたりしています。したがって、バージョン 3 にアップグレードした後、all.yml.sample
ファイルと osds.yml.sample
ファイルから新しいコピーを作成する前に、all.yml
ファイルと osds.yml
ファイルのバックアップコピーを作成してください。変更点の詳細は、付録A バージョン 2 と 3 の間の Ansible 変数の変更 をご覧ください。
Red Hat Ceph Storage 3.1 以降では、Object Gateway および高速 NVMe ベースの SSD (および SATA SSD) を使用する場合のパフォーマンスのためにストレージを最適化するために、新しい Ansible プレイブックが導入されています。Playbook は、ジャーナルとバケットインデックスを SSD に一緒に配置することでこれを行います。これにより、すべてのジャーナルを 1 つのデバイスに配置する場合に比べてパフォーマンスを向上させることができます。これらの Playbook は、Ceph のインストール時に使用されます。既存の OSD は動作し続け、アップグレード中に追加のステップは必要ありません。このようにストレージを最適化するために OSD を同時に再設定する際に、Ceph クラスターをアップグレードする方法はありません。ジャーナルまたはバケットインデックスに異なるデバイスを使用するには、OSD を再プロビジョニングする必要があります。詳細は、Ceph Object Gateway for Production での LVM での NVMe の最適な使用を参照してください。
Playbook rolling_update.yml
には、同時に更新するノード数を調整する シリアル
変数が含まれます。Red Hat では、デフォルト値 (1
) を使用することを強く推奨します。これにより、Ansible がクラスターノードを 1 つずつアップグレードします。
rolling_update.yml
Playbook を使用して Red Hat Ceph Storage 3.x バージョンにアップグレードする場合、Ceph ファイルシステム (Ceph FS)を使用するユーザーは、Metadata Server (MDS) クラ スターを手動で更新する必要があります。これは、既知の問題によるものです。
ceph-ansible
rolling_update.yml
を使用してクラスター全体をアップグレードする前に /etc/ansible/hosts
の MDS ホストをコメントアウトしてから、MDS を手動でアップグレードします。/etc/ansible/hosts
ファイルでは
#[mdss] #host-abc
MDS クラスターの更新方法など、この既知の問題の詳細については、Red Hat Ceph Storage 3.0 リリースノート を参照してください。
Red Hat Ceph Storage クラスターを以前のバージョンからバージョン 3.2 にアップグレードする場合、Ceph Ansible 設定ではデフォルトのオブジェクトストアタイプが BlueStore に設定されます。OSD オブジェクトストアに FileStore を使用する場合は、Ceph Ansible 設定を明示的に FileStore に設定します。これにより、新たにデプロイされ、置き換えられた OSD は FileStore を使用します。
Playbook rolling_update.yml
を使用して Red Hat Ceph Storage 3.x バージョンにアップグレードし、マルチサイト Ceph Object Gateway 設定を使用している場合には、マルチサイト設定を指定するために all.yml
ファイルを手動で更新する必要はありません。
前提条件
-
ストレージクラスター内のすべてのノードで
root
ユーザーとしてログインします。 ストレージクラスターのすべてのノードで、
rhel-7-server-extras-rpms
リポジトリーを有効にします。# subscription-manager repos --enable=rhel-7-server-extras-rpms
Red Hat Ceph Storage 2.x から 3.x にアップグレードする場合は、Ansible 管理ノードと RBD ミラーリングノードで、Red Hat Ceph Storage 3 Tools リポジトリーを有効にします。
# subscription-manager repos --enable=rhel-7-server-rhceph-3-tools-els-rpms
Ansible 管理ノードで、Ansible リポジトリーを有効にします。
[root@admin ~]# subscription-manager repos --enable=rhel-7-server-ansible-2.6-rpms
Ansible 管理ノードで、
ansible
パッケージおよびceph-ansible
パッケージの最新バージョンがインストールされていることを確認します。[root@admin ~]# yum update ansible ceph-ansible