新增磁碟、記憶體和 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 PostgreSQL部署的資源,以適應您的工作負載和資料大小。
注意:Terraform 擴充分配是針對每個成員的。
注意:API 擴充分配使用總分配值。
資源細分
Databases for PostgreSQL 部署在群集中有兩個資料成員,資源平均分配給兩個成員。 例如,PostgreSQL部署的最小儲存空間為 10240 MB,相當於每位成員的初始大小為 5120 MB。 PostgreSQL 部署的最小 RAM 為 8192 MB,等於每個成員的初始分配為 4096 MB。
計費是基於分配給服務的_總_資源。
磁碟用量
儲存顯示指派給您的服務的磁碟空間量。 每個成員都平等分享分配的空間。 您的資料將在PostgreSQL資料庫叢集中的所有資料成員之間複製。
磁碟分配也會影響磁碟的效能,磁碟越大,效能越高。 磁碟的基準每秒輸入/輸出操作數 (IOPS) 效能為每 GB 10 IOPS。 擴充磁碟以增加您的部署可以處理的 IOPS。
您無法縮減儲存空間。 如果您的資料集大小已減小,您可以透過備份並還原到新部署來還原空間。
RAM
如果您發現查詢和資料庫活動因記憶體不足而出現效能問題,則可以擴充分配給服務的 RAM 量。 如果您的資料庫執行個體位於隔離運算託管模型上,請選擇符合您的資源需求的 CPU x RAM 配置。 如果您的資料庫執行個體位於共用運算或專用核心託管模型上,請選擇您想要為資料庫指派的 RAM。
Dedicated Core 已棄用,並將於 2025 年 5 月刪除。
將記憶體加入到總分配中會同等地加入成員記憶體。Databases for PostgreSQL部署的內存分配策略設定為 50% 堆內存和 50% 系統內存,因此增加 RAM 量會同時增加堆內存和系統內存。 RAM 可以按比例放大或縮小。
work_mem
、maintenance_work_mem
和 effective_cache_size
根據部署的總記憶體自動調整。 當您擴展部署中的記憶體時,也會設定它們。 當您擴充時,會在不中斷正在執行的部署的情況下調整這些值。
當您擴展部署時,分配給資料庫共享緩衝池的記憶體量不會自動調整。 建議將其設定為部署總記憶體的 25%。 您可以透過 PostgreSQL's配置 中的 shared_buffer
設定手動調整共用緩衝池。 它不是自動調整的,因為更改 shared_buffer
需要重新啟動資料庫。
vCPU
如果您發現資料庫工作負載需要更多 CPU 資源,則可以擴充分配給服務的 CPU 量。 如果您的資料庫執行個體位於隔離運算託管模型上,請選擇符合您的資源需求的 CPU x RAM 配置。 如果您的資料庫執行個體位於共用運算或專用核心託管模型上,請選擇資料庫所需的 CPU 分配。
舊式專用核心實例已棄用,並將於 2025 年 5 月刪除。 有關新託管模型的更多信息,請參閱 託管模型概述。
擴展考慮因素
- 擴充功能可能會導致您的部署重新啟動。 如果您的部署需要移至具有更多容量的主機,則部署將在行動過程中重新啟動。
- 縮減 RAM 或 CPU 不會觸發重啟。
- 磁碟無法縮容。
- 託管模型(共享運算、獨立運算和專用核心)之間的擴充功能可將您的部署移至新主機。 作為該移動的一部分,您的資料庫將重新啟動。 當您的部署移至新主機時,這也可能比僅添加更多資源需要更長的時間。 有關更多信息,請參閱 共享計算和隔離計算。
- 同樣,大幅擴展 CPU、RAM 或磁碟可能比小幅增加資源需要更長的時間來配置更多底層硬體資源。
- 縮放操作記錄在 IBM Cloud® Activity Tracker Event Routing。
- 如果您發現資源使用趨勢一致,或想要在達到特定資源閾值時進行擴展,請在部署中啟用 自動擴展。
- Databases for PostgreSQL旨在平衡叢集中的工作負載,並且可以從水平擴展中受益。 如果您關心效能,請查看 新增 PostgreSQL 成員。
查看目前資源和託管模型
在資源標籤中,您可以找到託管模型和資源分配磁貼。 這些圖塊反映了您目前的資源和託管模型。 選擇*“配置”*以調整每個圖塊中的設定。
在 UI 中縮放
在 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。
成員是您的資料庫的成員數量。 對於PostgreSQL,成員設定為 2。
在底部的計算器中查看您的預計總成本。 請注意,如果您有祖父成本(也稱為舊定價結構),則擴充資料庫執行個體會刪除部分或全部舊定價。 有關祖父繼承及其結束時間的更多信息,請參閱 祖父繼承過渡時間表。
完成後,按一下應用變更以觸發縮放操作。
在 UI 中切換到託管模型以及在託管模型之間切換
在 UI 的 「資源」 標籤中,選擇 「託管模型」 磁貼上的*「配置」*。 這將打開一個面板,您可以在其中調整託管模型選擇。
第一個可用選項是選擇您的託管模型。 在這裡,您可以切換到不同的託管模式。
下面,您將看到用於調整您選擇的新託管模型的資源的選項。 請按照上一節「UI 中的縮放」中的說明來調整您的資源。
按一下應用變更會觸發此縮放操作。
查看目前資源和託管模型
IBM Cloud CLI 雲端資料庫外掛程式 支援檢視和擴充部署上的資源。 使用命令 cdb deployment-groups
查看服務的目前資源訊息,包括哪些資源組是可調整的。 若要擴充任何可用資源組,請使用 cdb deployment-groups-set
指令。
例如,使用下列命令,您可以查看名為「example-deployment」的部署的資源群組。 請注意,此命令也會透過 hostflavor
屬性顯示您的資料庫是 共用運算 實例還是
獨立計算 實例。 如果 hostflavor
為空,則它採用舊式託管模型。
ibmcloud cdb deployment-groups example-deployment
這會產生輸出:
Group member
Count 2
|
+ Memory
| Allocation 8192mb
| Allocation per member 4096mb
| Minimum 4096mb
| Step Size 256mb
| Adjustable true
| Cpu Enforcement Ratio Ceiling 32768mb
| 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 10240mb
| Allocation per member 5120mb
| Minimum 10240mb
| Step Size 1024mb
| Adjustable true
該部署有兩個成員,總共分配了 4096 MB RAM 和 10240 MB 磁碟。 每個成員 "分配 4096 MB 記憶體和 5120 MB 磁碟。 最小值是可以設定的總分配的最低值。 步長是可以調整總分配的最小量。
CLI 中的資源與擴展
cdb deployment-groups-set
指令允許以 MB 為單位設定總 RAM 或總磁碟分配。 例如,若要為每個記憶體成員將「example-deployment」的記憶體縮放到 4096 MB RAM (總記憶體為 8192 MB),您可以使用指令:
ibmcloud cdb deployment-groups-set example-deployment member --memory 8192
確定資料庫的託管模型
使用以下命令查看 host_flavor
屬性的值。 如果資料庫位於已棄用的託管模型(不是共用或隔離計算)上,則該值將為空。
ibmcloud cdb groups <INSTANCE_NAME_OR_CRN> --json
在 CLI 中切換到託管模型以及在託管模型之間切換
如果您的資料庫是 共享運算 實例,您可以使用下列命令調整記憶體、CPU 和磁碟選項。 這也可用於將資料庫從不同的託管模型移至共享計算託管模型。
ibmcloud cdb deployment-groups-set <INSTANCE_NAME_OR_CRN> <GROUP_ID> [--memory <val>] [--cpu <val>] [--disk <val>] [--hostflavor multitenant]
例如,使用以下命令擴展至共享計算實例或擴展您的共享計算實例:
ibmcloud cdb deployment-groups-set crn:abc ... xyz:: member --memory 24576 --cpu 6 --hostflavor multitenant
如果您的資料庫是 獨立計算 實例,則透過選擇獨立計算大小(請參閱表 1 中的所有大小)來一起調整記憶體和 CPU。 磁碟是單獨縮放的。 若要擴充Cloud Databases隔離計算實例,請使用下列指令,用於擴充至 4 CPU x 16 RAM 實例。 此命令也可用於將資料庫從不同的託管模型移至隔離計算託管模型。
請注意,由於主機風格選擇包括 CPU 和 RAM 大小( b3c.4x16.encrypted
為 4 個 CPU 和 16 個 RAM),因此該要求不接受隔離大小選擇以及單獨的 CPU 和 RAM 分配選擇。
ibmcloud cdb deployment-groups-set <INSTANCE_NAME_OR_CRN> <GROUP_ID> [--disk <val>] [--hostflavor <hostflavor>]
例如,使用下列命令擴展至獨立計算實例或擴展您的獨立計算實例:
ibmcloud cdb deployment-groups-set crn:abc ... xyz:: member --hostflavor b3c.4x16.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'
使用 API 進行擴充
若要為每個成員將部署的記憶體擴充至 4096 MB RAM (共有 2 個成員,因此總記憶體為 8192 MB),請使用 /deployments/{id}/groups/{group_id} API 端點。
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": 8192
}
}'
確定資料庫的託管模型
使用以下命令查看 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": 2},
"memory":
{"allocation_mb": 8192}
}' \
若要將任何實例擴展到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
參數
{:API
host_flavor
參數定義您的計算大小。 若要配置共用計算實例,請指定 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 |
查看目前資源和託管模型
透過檢查 terraform 腳本中的 cpu { allocation_count = }
、memory {allocation_mb = }
和 disk { allocation_mb = }
來查看資料庫的資源分配。 查看 host_flavor
設定以確定您的資料庫是 共享計算 還是 獨立計算 樣式託管模型。 如果 host_flavor
不存在,則您的資料庫採用舊式託管模型。
使用 Terraform 進行縮放
在現有實例上執行 Terraform 腳本之前,請使用 terraform plan
指令將目前基礎架構狀態與 Terraform 檔案中定義的所需狀態進行比較。 對 resource_group_id
、service plan
、version
、key_protect_instance
、key_protect_key
、backup_encryption_key_crn
屬性的任何變更都會重新建立您的實例。 有關帶有 Forces new resource
規範的當前參數引用的列表,請參閱 ibm_database Terraform Registry。
透過調整您感興趣的資源的 Terraform 腳本來擴展您的實例。 在以下範例中,指定了 cpu
、memory
和 disk
分配。 請注意,如果您選擇了主機風格(獨立計算或共享計算多租戶),請在腳本中保留主機風格選擇。 若要實施您的更改,請執行 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-epostgresql"
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 PostgreSQL database connection string" {
value = "http://${ibm_database.test_acc.ibm_database_connection.icd_conn}"
}
在 Terraform 中切換到並擴展託管模型
選擇您希望資料庫擴充至的 託管模型。 您可以稍後進行變更。
若要將您的Databases for PostgreSQL實例擴展到共享運算託管風格,請將 "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-postgresql"
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 PostgreSQL database connection string" {
value = "http://${ibm_database.test_acc.ibm_database_connection.icd_conn}"
}
使用相同的 "host_flavor"
參數將您的Databases for PostgreSQL實例擴展到隔離計算,並將其設定為所需的隔離大小。 此指令可將資料庫執行個體擴展到不同的獨立運算大小,以及從其他主機類型遷移到獨立運算主機類型。 表 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-postgresql"
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 PostgreSQL database connection string" {
value = "http://${ibm_database.test_acc.ibm_database_connection.icd_conn}"
}
host flavor
參數
host_flavor
參數定義您的計算大小。 若要配置共用計算實例,請指定 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 |
Cloud Databases隔離計算不支援 CPU 和 RAM 自動縮放。 磁碟自動縮放可用。 如果您已配置隔離實例或從具有自動擴展功能的部署切換,請使用 IBM Cloud® Monitoring整合(提供記憶體、磁碟空間和磁碟 I/O 指標)密切注意您的資源使用率。 若要將資源新增至您的實例,請手動擴充您的部署。