リソース仕様の変更とは、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';