説明
- この構成パラメータは、V1.4バージョンから導入されました。
- この構成パラメータは、V4.2.0バージョンからクラスタレベルからテナントレベルに変更されました。
機能の概要
enable_rebalanceは、自動ロードバランシング機能を有効にするかどうかを設定します。
異なるテナントの構成パラメータは、それぞれ異なるバランシング操作を制御します:
システムテナントでは、テナント間のバランシングを行うかどうかを制御します。
- false:バックグラウンドでのユニット移行操作は行われませんが、ノードが永続的にオフラインになった場合やDELETING状態の場合は、ユニット移行はこの構成パラメータによって制御されません。
- true:ユニット移行によりバランス状態を実現できます。
ユーザーテナントでは、テナント内のバランシングを行うかどうかを制御します。
false:テナント内でのロードバランシング操作は行われず、既に進行中のバランシング操作はキャンセルされます。この時点でスケーリング操作を開始するとエラーが報告されます。例えば、以下の操作を行う場合です:
- テナントのユニット数を増減させる。
- 最優先のプライマリゾーンが変更される。最優先のプライマリゾーンが変更されない場合は、エラーは報告されません。
- プライマリゾーンがRANDOMの場合、Fコピー数が変更される。
注意
- V4.3.5バージョンでは、V4.3.5 BP1バージョン以降、
enable_rebalanceを無効(false)にした場合、最優先のプライマリゾーンが変更されたり、プライマリゾーンがRANDOMの場合にFコピー数が変更されたりしても、システムはもはやエラーを報告しません。 enable_rebalanceを無効にすると、上記の操作でエラーが報告されなくなりますが、ログストリームのロードバランシングプロセスは開始されません。enable_rebalanceを無効にした期間中に必要な変更を一括で完了し、完了後にenable_rebalanceを有効にしてログストリームのバランシングをトリガーできます。
true:テナント内でロードバランシング操作を実行できます。
説明
- テナント間のロードバランシングを実現するには、システムテナントの
enable_rebalance構成パラメータをTrueに設定する必要があります。この構成パラメータを無効にすると、テナント間のバランシング操作が行われないことを保証できます。 - テナントのスケーリング操作を行うか、テナントパーティションの自動バランシング機能を使用する場合は、テナントで
enable_rebalance構成パラメータを有効にして、自動ロードバランシングとパーティション移行を実現する必要があります。逆に、この構成パラメータを無効にすると、テナント内の自動バランシング操作が停止します。
権限要件
パラメータの確認
sysテナントとすべてのユーザーテナントはSHOW PARAMETERSステートメントまたはGV$OB_PARAMETERSビューを使用してこの構成パラメータを確認できます。パラメータの変更
sysテナントとユーザーテナントはこの構成パラメータを変更できます。
プロパティの説明
| プロパティ | 説明 |
|---|---|
| パラメータタイプ | Bool |
| デフォルト値 | True |
| 値の範囲 |
|
| 変更は可能か | はい。ALTER SYSTEM SET ステートメントを使用して変更できます。 |
| OBServerノードの再起動が必要か | 不要です。設定は即時に反映されます。 |
設定例
テナント間のバランシングとテナント内のバランシングはどちらも無効になっています。
obclient> ALTER SYSTEM SET enable_rebalance = false tenant = all_user;テナント間のバランシングのみが有効になっています。
obclient> ALTER SYSTEM SET enable_rebalance = true tenant='all_user';テナント間のバランシングは無効になっており、テナント内のバランシングは可能です。
obclient> ALTER SYSTEM SET enable_rebalance = false tenant='all_user'; ALTER SYSTEM SET enable_rebalance = true tenant='MYSQL';