クラスター化されたインストールの維持
クラスターで機能するようにLiferay DXPのインストールを設定すると、パフォーマンスとスケーラビリティが向上しますが、適切にサポートおよび維持するために追加の考慮事項も必要です。 これには、新規および更新されたプラグインとモジュールのデプロイ、パッチとフィックスパックのインストール、構成の変更などが含まれます。 概説されているLiferay DXPクラスターのメンテナンス方法は、サーバーの稼働時間を最大化し、サーバーメンテナンスのリスクを最小限に抑えます。 Liferay DXPは、標準のクラスターメンテナンス技法の使用をサポートしています。
- ローリング再起動:ノードはシャットダウンされ、1つずつ更新されます。
- ブルーグリーンデプロイ:ブルーグリーンには、現在の環境(ブルー 環境)の複製、複製の更新(グリーン 環境)、および更新された環境(グリーン)へのユーザーのカットオーバーが含まれます。
これらの手法を以下で比較します。
クラスターアップデート手法
更新 | ローリング再起動 | ブルーグリーン |
---|---|---|
アクティベーションキー 1 | ✔ | ✔ |
アプリケーションサーバーの更新 | ✔ | ✔ |
クラスターコードの変更 2 | ✔ | |
フィックスパックのインストールと削除(復元可能なフィックスパック) | ✔ | ✔ |
フィックスパックのインストール(元に戻せないフィックスパック) | ✔ | |
JVM設定の変更 | ✔ | ✔ |
Javaバージョン(メジャー) | ✔ | |
Javaバージョン(マイナー) | ✔ | ✔ |
プラグイン/モジュールのインストール | ✔ | ✔ |
プラグイン/モジュールの更新(下位互換性のあるデータ/スキーマの変更) | ✔ | ✔ |
プラグイン/モジュールの更新(下位互換性のないデータ/スキーマの変更) 3 | ✔ | |
ポータルプロパティの変更 | ✔ | ✔ |
構成管理ファイルによるシステム設定の変更 | ✔ | ✔ |
[1] Blue-Greenを使用したアクティベーションキーの更新は、仮想クラスターアクティベーションキーでのみサポートされます。 詳しくは、 Virtual Cluster Activation Key for Liferay DXP and Liferay Commerce をご覧ください。
[2]下位互換性のないデータおよびデータスキーマの変更には、次のものがありますが、これらに限定されません。
- 既存の列のデータの変更
- 列の削除
- 列タイプの変更
- 列で使用されるデータ形式の変更(XMLからJSONへの変更など)
- Service Builderサービスモジュールのデータスキーマを、モジュールの必要なデータスキーマ範囲外のバージョンへ更新。 モジュールの
Liferay-Require-SchemaVersion
(bnd.bnd
で指定)は、Release_
テーブルのモジュールのスキーマバージョン値と一致する必要があります。 新しいスキーマバージョンでモジュールをインストールすると、Release_
テーブルがそのスキーマバージョンで更新され、データアップグレードプロセスがトリガーされます。 そのようなモジュールを1つのノードにインストールすると、Release_
テーブルのスキーマバージョンが他のノード上のモジュールのLiferay-Require-SchemaVersion
と一致しなくなり、モジュールが他のノードにインストールされるまで、モジュールのService Builderサービスが利用できなくなります。 このような変更は元に戻せません。データベースをバックアップから復元する必要があります。 これらのスキーマバージョンの変更は、すべてのノードがシャットダウンされている間に適用する必要があります。
[3]クラスター通信はそのまま維持する必要があります。 このため、ローリング再起動ではクラスターコードを更新しないでください。 カスタマーポータルは、元に戻せないなどの変更を含むDXPフィックスパックを識別します。 以下は、ローリング再起動で変更してはならないパッケージです。
com.liferay.portal.kernel.cluster
com.liferay.portal.kernel.cluster.*
com.liferay.portal.kernel.exception.NoSuchClusterGroupException
com.liferay.portal.kernel.scheduler.multiple
com.liferay.portal.kernel.scheduler.multiple.*
com.liferay.portal.cache.multiple
com.liferay.portal.cache.multiple.*
com.liferay.portal.scheduler.multiple
com.liferay.portal.scheduler.multiple.*