IBM Cloud Docs
擴充磁碟、RAM 和 CPU

擴充磁碟、RAM 和 CPU

共享運算託管模型支援更細粒度的資源分配,為保持清晰度,這些資源分配未顯示在 UI 中。 有關更多信息,請參閱 託管模型

若要擴展 獨立計算 主機風格實例,請將相關 hostflavor 參數設定為您要定位的獨立計算大小,例如「b3c.4x16.encrypted」。 由於這包括 CPU 和 RAM 分配選擇,因此請勿單獨選擇 CPU 和 RAM。

若要在最小 CPU 值和 2 個 CPU 之間縮放 共用運算 主機風格實例,請將 CPU 設定為 0 並使用本文檔中的下列命令縮放 RAM 指派。 CPU 值將以 1 CPU: 8 GB RAM 的比例縮放,最多 2 CPU。 若要擴展到 2 個以上 CPU,請將 CPU 和 RAM 分配設定為您的目標分配。 對於兩者,請確保包含「多租戶」的相關 hostflavor 參數。

若要擴展 獨立計算 主機風格實例,請將相關 host_flavor 參數設定為您要定位的獨立計算大小,例如「b3c.4x16.encrypted」。 由於這包括 CPU 和 RAM 分配選擇,因此請勿單獨選擇 CPU 和 RAM。

若要在最小 CPU 值和 2 個 CPU 之間縮放 共用運算 主機風格實例,請將 CPU 設定為 0 並使用下列命令縮放 RAM 指派。 CPU 值將以 1 CPU: 8 GB RAM 的比例縮放,最多 2 CPU。 若要擴展到 2 個以上 CPU,請將 CPU 和 RAM 分配設定為您的目標分配。 對於兩者,請確保包含「多租戶」的相關 host_flavor 參數。

若要擴展 獨立計算 主機風格實例,請將相關 host_flavor 參數設定為您要定位的獨立計算大小,例如「b3c.4x16.encrypted」。 由於這包括 CPU 和 RAM 分配選擇,因此請勿單獨選擇 CPU 和 RAM。

若要在最小 CPU 值和 2 個 CPU 之間縮放 共用運算 主機風格實例,請將 CPU 設定為 0 並使用下列命令縮放 RAM 指派。 CPU 值將以 1 CPU: 8 GB RAM 的比例縮放,最多 2 CPU。 若要擴展到 2 個以上 CPU,請將 CPU 和 RAM 分配設定為您的目標分配。 對於兩者,請確保包含「多租戶」的相關 host_flavor 參數。

您可以手動調整 IBM Cloud® Databases for MySQL 部署可用的資源數量,以符合您的工作量及資料大小。

資源細分

Databases for MySQL 部署在叢集裡有三個資料成員,資源平均配置給成員。 例如,MySQL 部署的儲存體下限為 20,480 MB,這等於每個成員的起始大小 6,826 MB。 MySQL 部署的 RAM 下限為 3072 MB,這等於每個成員 1024 MB 的起始配置。

計費是根據配置給服務的資源數量 總計

磁碟

您的磁碟配置必須足以儲存所有資料。 您的資料會抄寫至所有資料成員,因此您使用的磁碟總量至少是資料集大小的三倍。

磁碟配置也會影響磁碟的效能,因為較大的磁碟具有較高的效能。 磁碟的每秒基準線輸入/輸出作業 (IOPS) 效能為每 GB 10 IOPS。 調整磁碟以增加部署可以處理的 IOPS。

您無法縮減儲存體。

RAM

如果您發現部署由於記憶體不足而發生效能問題,則可以調整配置給它的 RAM 數量。 您的磁碟配置必須足以儲存所有資料 (抄寫至所有資料成員),因此您使用的磁碟總量至少是資料集大小的三倍。 當您調整部署時,不會自動調整配置給資料庫共用緩衝池的記憶體數量。 建議設為部署總記憶體的 25%。

vCPU

如果您發現資料庫工作負載需要更多 CPU 資源,則可以擴充分配給服務的 CPU 量。 如果您的資料庫執行個體位於隔離運算託管模型上,請選擇符合您的資源需求的 CPU x RAM 配置。 如果您的資料庫執行個體位於共用運算或專用核心託管模型上,請選擇資料庫所需的 CPU 分配。

舊式專用核心實例已棄用,並將於 2025 年 5 月刪除。 在此處了解有關新託管模式的更多資訊。

擴展考慮因素

  • 擴增部署可能會導致資料庫重新啟動。 如果您調整 RAM 或 CPU,且您的部署需要移至具有更多容量的主機,則會在移動過程中重新啟動資料庫。

  • 縮減 RAM 或 CPU 不會觸發資料庫重新啟動。

  • 磁碟無法縮小。

  • 託管模型(共享運算、獨立運算和專用核心)之間的擴充功能可將您的部署移至新主機。 作為該移動的一部分,您的資料庫將重新啟動。 當您的部署移至新主機時,這也可能比僅添加更多資源需要更長的時間。 有關更多信息,請參閱 共享計算和隔離計算

  • 同樣,大幅增加 RAM 或磁碟可能比小幅增加需要更長的時間來配置更多底層硬體資源。

  • 縮放操作記錄在 IBM Cloud® Activity Tracker Event Routing

  • 如果您發現資源使用趨勢一致,或想要在達到特定資源臨界值時設定調整大小,請參閱在部署上啟用 自動調整

查看目前資源和託管模型

「資源」 標籤中,您可以找到 「託管模型」「資源分配」 磁貼。 這些圖塊反映了您目前的資源和託管模型。 選擇*“配置”*以調整每個圖塊中的設定。

在使用者介面中調整大小

在 UI 的 「資源」 標籤中,選擇 「資源分配」 磁貼上的*「配置」*。 這將打開一個面板,您可以在其中調整資源。

如果您的資料庫位於獨立運算託管模型上,您將看到「主機大小」表,您可以在其中為資料庫選擇每個成員的vCPU和 RAM 配置。

如果您使用共享運算託管模型,您會看到小型配置,為每個成員提供0.5vCPU和 4 GB RAM;小自訂選項;或自訂配置。 Small Custom 表示您的資料庫已使用 CLI、API 或 Terraform 進行擴展,這提供了更細粒度的資源擴展,以及根據 RAM 值按比例自動分配vCPU的選項。 在 UI 上,您可以擴展到小型和自訂,但無法擴展到 CLI、API 或 Terraform 提供的細粒度值。 使用自訂時,拖曳滑桿或調整輸入框中的值以選擇資料庫的每個成員vCPU和 RAM 值。

「磁碟(GB/成員)」滑桿是您為每個成員選擇的磁碟。 拖曳滑桿或調整輸入框中的數字可以更改GB磁碟數量。 請注意,磁碟與 IOPS 相關,1 GB = 10 IOPS。

成員是您的資料庫的成員數量。 對於MySQL,成員設定為 3。

在底部的計算器中查看您的預計總成本。 請注意,如果您有祖父成本(也稱為舊定價結構),則擴充資料庫執行個體會刪除部分或全部舊定價。 有關祖父政策及其結束時間的更多信息,請參閱 託管模型過渡時間表

按一下*「套用變更」*以觸發此縮放操作。

在 UI 中切換到託管模型以及在託管模型之間切換

在 UI 的 「資源」 標籤中,選擇 「託管模型」 磁貼上的*「配置」*。 這將打開一個面板,您可以在其中調整託管模型選擇。

第一個可用選項是選擇您的託管模型。 在這裡,您可以切換到不同的託管模式。

下面,您將看到用於調整您選擇的新託管模型的資源的選項。 請按照上一節「UI 中的縮放」中的說明來調整您的資源。

按一下*「套用變更」*以觸發此縮放操作。

查看目前資源和託管模型

Cloud Databases CLI 外掛程式 支援在部署上檢視及調整資源。 若要調整任何可用的資源群組,請使用 cdb deployment-groups-set 指令。

例如,使用下列命令,您可以查看名為「example-deployment」的部署的資源群組。 請注意,此命令也會透過 hostflavor 屬性顯示您的資料庫是 共用計算 實例還是 獨立計算 實例。 如果 hostflavor 為空,則它採用舊式託管模型。

ibmcloud cdb deployment-groups example-deployment

指令會產生以下輸出:

Group   member
Count   3
|
+   Memory
|   Allocation                      3072mb
|   Allocation per member           1024mb
|   Minimum                         1024mb
|   Step Size                       256mb
|   Adjustable                      true
|   Cpu Enforcement Ratio Ceiling   49152mb
|   Cpu Enforcement Ratio           8192mb
|
+   CPU
|   Allocation              6
|   Allocation per member   3
|   Minimum                 6
|   Step Size               2
|   Adjustable              true
|                           
+   HostFlavor    
|   ID            multitenant
|   Name          
|   HostingSize   
|
+   Disk
|   Allocation              15360mb
|   Allocation per member   5120mb
|   Minimum                 15360mb
|   Step Size               15360mb
|   Adjustable              true

部署有三個成員,總計配置 3072 MB RAM 及 15360 MB 磁碟。 「每個成員」配置是 1024 MB RAM 及 5120 MB 磁碟。 最小值是可設定配置總計的最低值。 步驟大小是可調整總配置的最小數量。

CLI 中的資源與擴展

cdb deployment-groups-set 指令允許以 MB 為單位設定總 RAM 或總磁碟分配。 例如,要將「example-deployment」的記憶體擴展到每個記憶體成員的 4096 MB RAM(總記憶體為 12288 MB),請使用下列命令:

ibmcloud cdb deployment-groups-set example-deployment member --memory 12288

確定資料庫的託管模型

使用以下命令查看 hostflavor 屬性的值。 如果資料庫位於已棄用的託管模型(不是共用或隔離計算)上,則該值將為空。

ibmcloud cdb groups <deployment_id> --json

在 CLI 中切換到託管模型以及在託管模型之間切換

如果您的資料庫是 共享運算 實例,您可以使用下列命令調整記憶體、CPU 和磁碟選項。 如果您的資料庫不在共用運算上,此命令也會將資料庫從不同的託管模型移至共用運算託管模型。

ibmcloud cdb deployment-groups-set <deploymentid> <groupid> [--memory <val>] [--cpu <val>] [--disk <val>] [--hostflavor multitenant]

例如,使用以下命令擴展至共享計算實例或擴展您的共享計算實例:

ibmcloud cdb deployment-groups-set crn:abc ... xyz:: member  --memory 24576 --cpu 6  --hostflavor multitenant

如果您的資料庫是 隔離計算 實例,則透過選擇隔離計算大小來一起調整記憶體和 CPU(請參閱表 1 中的所有大小)。 磁碟是單獨縮放的。 如果您的資料庫不在隔離計算上,此命令也會將資料庫從不同的託管模型移至隔離計算託管模型。

請注意,由於主機風格選擇包括 CPU 和 RAM 大小( b3c.4x16.encrypted 為 4 個 CPU 和 16 個 RAM),因此該要求不接受隔離大小選擇以及單獨的 CPU 和 RAM 分配選擇。

ibmcloud cdb deployment-groups-set <deploymentid> <groupid> [--disk <val>] [--hostflavor <hostflavor>]

例如,使用下列命令擴展至獨立計算實例或擴展您的獨立計算實例:

ibmcloud cdb deployment-groups-set crn:abc ... xyz:: member  --hostflavor b3c.8x32.encrypted

hostflavor 參數

hostflavor 參數定義您的計算大小。 若要配置共用計算實例,請指定 multitenant。 若要設定隔離計算實例,請輸入所需 CPU 和 RAM 配置的適當值。

主機風味尺寸參數
主機風味 宿主風味值
共享運算 multitenant
4 CPU x 16 內存 b3c.4x16.encrypted
8 個 CPU x 32 個內存 b3c.8x32.encrypted
8 CPU x 64 內存 m3c.8x64.encrypted
16 個 CPU x 64 個內存 b3c.16x64.encrypted
32 個 CPU x 128 個內存 b3c.32x128.encrypted
30 個 CPU x 240 個內存 m3c.30x240.encrypted

查看目前資源和託管模型

您服務的_概述_面板_部署詳細資訊_中顯示的_基礎端點_提供了透過 API 存取此部署的基礎 URL。 如果您需要以程式化方式管理或自動調整大小,請將它與 /groups 端點搭配使用。

若要查看部署上的目前和可擴充資源,請使用 /deployments/ {id} /groups 端點。 請注意,此命令也會透過 host_flavor 屬性顯示您的資料庫是 共用計算 實例還是 獨立計算 實例。 如果 host_flavor 為空,則它採用舊式託管模型。

curl -X GET -H "Authorization: Bearer $APIKEY" 'https://api.{region}.databases.cloud.ibm.com/v5/ibm/deployments/{id}/groups'

若要將部署的記憶體擴展到每個記憶體成員的 4096 MB RAM(總記憶體為 12288 MB),請使用下列命令:

curl -X PATCH 'https://api.{region}.databases.cloud.ibm.com/v5/ibm/deployments/{id}/groups/member' \
-H "Authorization: Bearer $APIKEY" \
-H "Content-Type: application/json" \
-d '{"memory": {
        "allocation_mb": 12288
      }
    }'

如需相關資訊,請參閱 API 參考資料

確定資料庫的託管模型

使用以下命令查看 host_flavor 屬性的值。 如果資料庫位於已棄用的託管模型(不是共用或隔離計算)上,則該值將為空。

curl -X GET https://api.{region}.databases.cloud.ibm.com/v5/ibm/deployments/{id}/groups
-H 'Authorization: Bearer <>' \

在 API 中切換到託管模型以及在託管模型之間切換

若要擴充任何Cloud Databases共用計算實例,請使用下列指令,將 host_flavor 設為 multitenant。 如果您的資料庫不在共用運算上,此命令也會將資料庫從不同的託管模型移至共用運算託管模型。

curl -X PATCH https://api.{region}.databases.cloud.ibm.com/v5/ibm/deployments/{id}/groups/member
-H 'Authorization: Bearer <>'
-H 'Content-Type: application/json'
-d '{"host_flavor": {"id": "multitenant"},
     "cpu": {"allocation_count": 3},
     "memory": {"allocation_mb": 12288}
    }' \

若要將任何實例擴展到Cloud Databases隔離計算實例或擴展到不同的隔離計算大小,請使用 host_flavor 參數,這次設定為所需的隔離計算大小。 表 1 列出了可用的託管大小及其 host_flavor 值參數。 例如,{"host_flavor": "b3c.4x16.encrypted"}。 請注意,由於主機風格選擇包括 CPU 和 RAM 大小( b3c.4x16.encrypted 為 4 個 CPU 和 16 個 RAM),因此此請求不接受隔離大小選擇和單獨的 CPU 和 RAM 分配選擇。 使用Cloud Databases API 擴充端點進行擴展,指令如下:

curl -X PATCH https://api.{region}.databases.cloud.ibm.com/v5/ibm/deployments/{id}/groups/member
-H 'Authorization: Bearer <>'
-H 'Content-Type: application/json'
-d '{"host_flavor": {"id": "b3c.4x16.encrypted"}}' \

透過隔離運算進行配置或擴充時,不允許指派 CPU 和 RAM。 為 mulitenant 參數指定 host_flavor 以獲得獨立的 CPU 和 RAM 選擇。

Cloud Databases隔離計算不支援 CPU 和 RAM 自動縮放。 磁碟自動縮放可用。 如果您已配置隔離實例或從具有自動擴展功能的部署切換,請使用 IBM Cloud® Monitoring整合 來密切關注您的資源,該整合可提供記憶體、磁碟空間和磁碟I/O指標利用率。 若要將資源新增至您的實例,請手動擴充您的部署。

host flavor 參數

host_flavor 參數定義您的計算大小。 若要配置共用計算實例,請指定 multitenant。 若要設定隔離計算實例,請輸入所需 CPU 和 RAM 配置的適當值。

表1 宿主風味尺寸參數
主機風味 主機風味值
共享運算 multitenant
4 CPU x 16 內存 b3c.4x16.encrypted
8 個 CPU x 32 個內存 b3c.8x32.encrypted
8 CPU x 64 內存 m3c.8x64.encrypted
16 個 CPU x 64 個內存 b3c.16x64.encrypted
32 個 CPU x 128 個內存 b3c.32x128.encrypted
30 個 CPU x 240 個內存 m3c.30x240.encrypted

查看目前資源和託管模型

透過檢查 terraform 腳本中的 cpu { allocation_count = }memory {allocation_mb = }disk { allocation_mb = } 來檢查資料庫的資源分配。 查看 host_flavor 設定以確定您的資料庫是 共享計算 還是 獨立計算 樣式託管模型。 如果 host_flavor 不存在,則您的資料庫採用舊式託管模型。

使用 Terraform 進行擴展

在現有實例上執行 Terraform 腳本之前,請使用 terraform plan 指令將目前基礎架構狀態與 Terraform 檔案中定義的所需狀態進行比較。 對 resource_group_idservice planversionkey_protect_instancekey_protect_keybackup_encryption_key_crn 屬性的任何變更都會重新建立您的實例。 有關帶有 Forces new resource 規範的當前參數引用的列表,請參閱 ibm_database Terraform Registry

透過調整您感興趣的資源的 Terraform 腳本來擴展您的實例。 在以下範例中,指定了 cpumemorydisk 分配。 請注意,如果您選擇了主機風格(獨立計算或共享計算多租戶),請在腳本中保留主機風格選擇。

若要實施您的更改,請執行 terraform apply

data "ibm_resource_group" "group" {
  name = "<your_group>"
}
resource "ibm_database" "<your_database>" {
  name              = "<your_database_name>"
  plan              = "standard"
  location          = "eu-gb"
  service           = "databases-for-mysql"
  resource_group_id = data.ibm_resource_group.group.id
  tags              = ["tag1", "tag2"]
  adminpassword     = "password12"
  group {
    group_id = "member"
    cpu {
      allocation_count = 6
    }
    memory {
      allocation_mb = 24576
    }
    disk {
      allocation_mb = 256000
    }
  }
  users {
    name     = "user123"
    password = "password12"
  }
  allowlist {
    address     = "172.168.1.1/32"
    description = "desc"
  }
}
output "ICD MySQL database connection string" {
  value = "http://${ibm_database.test_acc.ibm_database_connection.icd_conn}"
}

在 Terraform 中切換到並擴展託管模型

選擇您希望資料庫擴充至的 託管模型。 您可以稍後進行變更。

若要將您的Databases for MySQL實例擴展到共用運算託管風格,請將 "host_flavor" 參數設為 multitenant。 如果您想要擴展到共享運算託管風格,或者想要保留主機風格並擴展您的資源,則此方法有效。 若要實施您的更改,請執行 terraform apply

請參閱下列範例:

data "ibm_resource_group" "group" {
  name = "<your_group>"
}
resource "ibm_database" "<your_database>" {
  name              = "<your_database_name>"
  plan              = "standard"
  location          = "eu-gb"
  service           = "databases-for-mysql"
  resource_group_id = data.ibm_resource_group.group.id
  tags              = ["tag1", "tag2"]
  adminpassword     = "password12"
  group {
    group_id = "member"
    host_flavor {
      id = "multitenant"
    },
    cpu {
      allocation_count = 6
    }
    memory {
      allocation_mb = 24576
    }
    disk {
      allocation_mb = 256000
    }
  }
  users {
    name     = "user123"
    password = "password12"
  }
  allowlist {
    address     = "172.168.1.1/32"
    description = "desc"
  }
}
output "ICD MySQL database connection string" {
  value = "http://${ibm_database.test_acc.ibm_database_connection.icd_conn}"
}

使用相同的 "host_flavor" 參數將您的Databases for MySQL實例擴展到隔離計算,並設定為所需的隔離大小。 此指令可將資料庫執行個體擴展到不同的獨立運算大小,以及從其他主機風格轉移到獨立運算主機風格。 表 1 列出了可用的託管大小及其 host_flavor value 參數。 例如,{"host_flavor": "b3c.4x16.encrypted"}。 請注意,由於主機風格選擇包括 CPU 和 RAM 大小( b3c.4x16.encrypted 為 4 個 CPU 和 16 個 RAM),因此該要求不接受隔離大小選擇以及單獨的 CPU 和 RAM 分配選擇。

若要實施您的更改,請執行 terraform apply

data "ibm_resource_group" "group" {
  name = "<your_group>"
}
resource "ibm_database" "<your_database>" {
  name              = "<your_database_name>"
  plan              = "standard"
  location          = "eu-gb"
  service           = "databases-for-mysql"
  resource_group_id = data.ibm_resource_group.group.id
  tags              = ["tag1", "tag2"]
  adminpassword     = "password12"
  group {
    group_id = "member"
    host_flavor {
      id = "b3c.8x32.encrypted"
    }
    disk {
      allocation_mb = 256000
    }
  }
  users {
    name     = "user123"
    password = "password12"
  }
  allowlist {
    address     = "172.168.1.1/32"
    description = "desc"
  }
}
output "ICD MySQL database connection string" {
  value = "http://${ibm_database.test_acc.ibm_database_connection.icd_conn}"
}