リソース構成の変更とは、CPU、メモリ、ログディスク容量などのリソース構成要素を増減することです。
注意点
リソース構成を変更する前に、そのリソース構成に対応するUnitがテナントで使用中であり、かつリソース増量が必要であることを確認してください。リソース増量の過程では、各ノードに割り当て可能な十分な余剰リソースがあることを保証する必要があります。ビュー oceanbase.GV$OB_SERVERS を使用してノードの総リソースと既に割り当てられているリソースを確認し、計算によってリソース構成の変更が可能かどうかを判断できます。
リソース構成をアップグレードする場合、変更後の総リソース量は以下の要件を満たす必要があります:
Sum(min_cpu) <= CPU_CAPACITY;
Sum(max_cpu) <= CPU_CAPACITY * resource_hard_limit;
Sum(memory_size) <= MEM_CAPACITY;
Sum(log_disk_size) <= LOG_DISK_CAPACITY;
ここで、各項目の意味は以下の通りです:
CPU_CAPACITY:単一ノード上のCPU総容量を表します。MEM_CAPACITY:単一ノード上のメモリ総容量を表します。LOG_DISK_CAPACITY:単一ノード上のログディスク総容量を表します。ログディスクの総容量は、クラスタレベルのパラメータ
log_disk_sizeとlog_disk_percentageによって共同で制御されます。log_disk_sizeはRedoログディスクのサイズを設定し、デフォルト値は0です。log_disk_percentageはRedoログがその配置ディスクの総容量に占める割合を設定し、デフォルト値も0です。2つのパラメータの使用規則は以下の通りです:log_disk_sizeの値が0Mでlog_disk_percentageの値が0以外の場合、システムはlog_disk_percentageパラメータで設定された値に従ってログディスク容量を割り当てます。log_disk_sizeの値が0M以外の場合、log_disk_percentageの値が0であるかどうかに関係なく、システムはlog_disk_sizeパラメータで設定された値に従ってログディスク容量を割り当てます。log_disk_sizeの値が0Mでlog_disk_percentageの値が0の場合、システムはログとデータが同一ディスクを共有するかどうかに基づいて、Redoログがその配置ディスクの総容量に占める割合を自動的に計算します:共有の場合、Redoログはディスク容量の30%を占有します。
専有の場合、Redoログはディスク容量の90%を占有します。
パラメータ
log_disk_sizeの詳細については、log_disk_sizeを参照してください。パラメータ
log_disk_percentageの詳細については、log_disk_percentageを参照してください。resource_hard_limit:パラメータの値です。Unitを割り当てる際、システムはパラメータ
resource_hard_limitの値に基づいてCPUリソースを割り当てます。このパラメータのデフォルト値は100で、オーバーコミットを許可しないことを意味します。取り得る範囲は [100, 10000] です。パラメータ
resource_hard_limitの詳細については、resource_hard_limitを参照してください。
リソース構成をダウングレードする場合、変更後のCPU、メモリ、ログディスク容量などの総リソース量が、現在使用中のログディスク容量以上である必要があります。
制限事項
リソース構成を変更できるのは sys テナントのみです。
手順
リソース構成を変更する際は、CPU、メモリ、IOPS、ログディスクの仕様のいくつかの項目を変更できます。変更されていない値はそのまま維持されます。
rootユーザーでクラスタのsysテナントにログインします。リソース構成を変更します。
ステートメントは以下のとおりです:
ALTER RESOURCE UNIT unitname MAX_CPU [=] cpunum, [MIN_CPU [=] cpunum,] MEMORY_SIZE [=] memsize, [MAX_IOPS [=] iopsnum, MIN_IOPS [=] iopsnum,IOPS_WEIGHT [=]iopsweight,] [LOG_DISK_SIZE [=] logdisksize];リソースユニット
unit1を変更する例は以下のとおりです:obclient> ALTER RESOURCE UNIT unit1 MAX_CPU 15, MEMORY_SIZE '20G', LOG_DISK_SIZE '4G';