IBM Cloud Docs
添加磁盘,内存和 CPU

添加磁盘,内存和 CPU

共享计算托管模式支持更细粒度的资源分配,但为了保持清晰,用户界面中不显示这些资源分配。 更多信息,请参阅 托管模式

要扩展 隔离计算 主机风味实例,请将相关的 hostflavor 参数设置为目标隔离计算大小,例如"b3c.4x16.encrypted"。 由于这包括 CPU 和 RAM 分配选择,因此不要单独选择 CPU 和 RAM。

要在最小 CPU 值和 2 CPU 之间扩展 Shared Compute 主机风味实例,请将 CPU 设置为 0,并使用以下命令扩展 RAM 分配。 CPU 值将按 1 CPU: 8 GB RAM 的比例缩放,最高为 2 CPU。 要扩展到 2 CPU 以上,请将 CPU 和 RAM 分配设置为目标分配。 对于这两个参数,请确保包含相关的 hostflavor 参数。

您可以手动调整可用于 IBM Cloud® Databases for Elasticsearch 部署的资源,以适应您的工作负载和数据大小。

要扩展 隔离计算 主机风味实例,请将相关的 host_flavor 参数设置为目标隔离计算大小,例如"b3c.4x16.encrypted"。 由于这包括 CPU 和 RAM 分配选择,因此不要单独选择 CPU 和 RAM。

要在最小 CPU 值和 2 CPU 之间扩展 Shared Compute 主机风味实例,请将 CPU 设置为 0,并使用以下命令扩展 RAM 分配。 CPU 值将按 1 CPU: 8 GB RAM 的比例缩放,最高为 2 CPU。 要扩展到 2 CPU 以上,请将 CPU 和 RAM 分配设置为目标分配。 对于这两个参数,请确保包含相关的 host_flavor 参数。

您可以手动调整可用于 IBM Cloud® Databases for Elasticsearch 部署的资源,以适应您的工作负载和数据大小。

要扩展 隔离计算 主机风味实例,请将相关的 host_flavor 参数设置为目标隔离计算大小,例如"b3c.4x16.encrypted"。 由于这包括 CPU 和 RAM 分配选择,因此不要单独选择 CPU 和 RAM。

要在最小 CPU 值和 2 CPU 之间扩展 Shared Compute 主机风味实例,请将 CPU 设置为 0,并使用以下命令扩展 RAM 分配。 CPU 值将按 1 CPU: 8 GB RAM 的比例缩放,最高为 2 CPU。 要扩展到 2 CPU 以上,请将 CPU 和 RAM 分配设置为目标分配。 对于这两个参数,请确保包含相关的 host_flavor 参数。

您可以手动调整可用于 IBM Cloud® Databases for Elasticsearch 部署的资源,以适应您的工作负载和数据大小。

资源细目

缺省 Databases for Elasticsearch 部署将在集群中运行三个数据成员,并且资源将平均分配给所有三个成员。 例如,Elasticsearch 部署的最小存储量为 15360 MB,这相当于每个成员的初始大小为 5120 MB。 Elasticsearch 部署的最小 RAM 为 3072 MB,这相当于每个成员初始分配 1028 MB。

计费基于分配给部署的 总计 资源。

磁盘使用情况

存储器显示分配给服务的磁盘空间量。 每个成员获取所分配空间的相同份额。 将在 Elasticsearch 集群中的所有数据成员之间复制数据。

磁盘分配还会影响磁盘的性能,较大的磁盘具有更高的性能。 磁盘的每秒基线输入/输出操作数 (IOPS) 性能为每 GB 10 IOPS。 扩展磁盘以增加部署可处理的 IOPS。

无法缩减存储器。 如果数据集大小已减小,那么可以通过备份和复原到新部署来恢复空间。

RAM

如果发现查询和数据库活动由于内存不足而迂到性能问题,那么可以调整分配给服务的 RAM 量。 如果数据库实例位于隔离计算托管模型上,请选择与资源需求匹配的 CPU x RAM 配置。 如果数据库实例位于“共享计算”或“专用核心”托管模型上,请选择要用于数据库的 RAM 分配。 请注意,不推荐使用专用核心,将在 2025 年 5 月移除该核心。

将内存添加到总分配会将内存同样添加到成员。Databases for Elasticsearch 部署将其内存分配策略设置为 50% 堆和 50% 系统内存,因此增加 RAM 量会增加堆和系统内存。 RAM 可以向上或向下扩展。

vCPU

如果发现数据库工作负载需要更多 CPU 资源,那么可以缩放分配给服务的 CPU 量。 如果数据库实例位于隔离计算托管模型上,请选择与资源需求匹配的 CPU x RAM 配置。 如果数据库实例位于“共享计算”或“专用核心”托管模型上,请选择要用于数据库的 CPU 分配。 请注意,不推荐使用专用核心,将在 2025 年 5 月移除该核心。

0 核心的缺省值在多租户主机上使用计算资源。 不推荐使用此样式的多租户,将在 2025 年 9 月移除此样式,以支持共享计算。 CPU 可以向上扩展或向下扩展。

缩放注意事项

  • 扩展可能会导致您的部署重新启动。 如果需要将部署移动到具有更多容量的主机,那么将在移动过程中重新启动部署。
  • 缩减 RAM 或 CPU 不会触发重新启动。
  • 磁盘不能缩小。
  • 在托管模型 (共享计算,隔离计算和专用核心) 之间进行缩放可将部署移至新主机。 您的数据库将在此移动过程中重新启动。 当您的部署移动到新主机时,这可能需要比添加更多资源更长的时间。 有关更多信息,请参阅 共享计算和隔离计算
  • 同样,大幅扩展 CPU,RAM 或磁盘的运行时间可能比较小的资源增加时间更长,以满足供应更多底层硬件资源的需求。
  • 缩放操作记录在 IBM Cloud® Activity Tracker Event Routing
  • 如果找到资源使用情况的一致趋势,或者希望在达到特定资源阈值时进行缩放,请在部署上启用 自动缩放
  • Databases for Elasticsearch 旨在平衡集群中的工作负载,并可从水平缩放中获益。 如果您担心性能问题,请查看 添加 Elasticsearch 节点

审查现有资源和托管模式

在“资源”选项卡中,可以找到“托管模式”和“资源分配”磁贴。 这些磁贴反映了您当前的资源和托管模式。 选择“*配置”*可以调整每个磁贴的设置。

在 UI 中缩放

在用户界面的“资源”选项卡中,选择“资源分配”磁贴上的“配置”。 这将打开一个面板,您可以在其中调整资源。

如果数据库使用的是隔离计算托管模式,则会看到“主机大小”表,在该表中可以选择数据库每个成员的vCPU和 RAM 配置。

如果您使用的是共享计算托管模式,您会看到小型配置(为每个成员提供0.5个vCPU和 4 GB 内存)、小型自定义选项或自定义配置。 小型自定义表示使用 CLI、API 或 Terraform 对数据库进行了扩展,提供了更精细的资源扩展,以及根据 RAM 值按比例自动分配vCPU的选项。 在用户界面上,可以扩展到“小”和“自定义”,但无法扩展到 CLI、API 或 Terraform 提供的细粒度值。 使用自定义时,拖动滑块或调整输入框中的值,以选择数据库每个成员的vCPU和 RAM 值。

磁盘(GB/成员)"滑块是您为每个成员选择的磁盘。 拖动滑块或调整输入框中的数字,可更改磁盘 GB 数。 请注意,磁盘与 IOPS 绑定,1 GB = 10 IOPS。

成员是数据库的成员数。 对于Elasticsearch,成员设置为 3。

在底部的计算器中查看预计总费用。 请注意,如果您有不追溯成本(也称为传统定价结构),则扩展数据库实例将移除部分或全部传统定价。 有关不溯既往及其终止时间的更多信息,请参阅 托管模式过渡时间表

完成后,单击*“应用更改”*触发缩放操作。

在用户界面中切换托管模型

在用户界面的“资源”选项卡中,选择“托管模型”磁贴上的“配置”。 这将打开一个面板,您可以在此调整托管模式选择。

第一个选项是“选择托管模式”。 在这里,您可以切换到不同的托管模式。

在下面的选项中,您还可以调整所选新托管模式的资源。 按照上一节“用户界面中的缩放”中的说明调整资源。

单击“应用更改”触发此缩放操作。

审查现有资源和托管模式

IBM Cloud CLI 云数据库插件 支持查看和缩放部署上的资源。 使用命令 cdb deployment-groups 可查看服务的当前资源信息,包括可调整的资源组。 要缩放任何可用资源组,请使用 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                 3072mb
|   Step Size               384mb
|   Adjustable              true
|   Cpu Enforcement Ratio Ceiling   49152mb
|   Cpu Enforcement Ratio           8192mb
|
+   CPU
|   Allocation              0
|   Allocation per member   0
|   Minimum                 9
|   Step Size               3
|   Adjustable              true
|                           
+   HostFlavor    
|   ID            multitenant
|   Name          
|   HostingSize   
|
+   Disk
|   Allocation              15360mb
|   Allocation per member   5120mb
|   Minimum                 15360mb
|   Step Size               3072mb
|   Adjustable              true

该部署有三个成员,总共分配了 3072 MB RAM 和 15360 MB 磁盘。 “每个成员”分配为 1024 MB RAM 和 5120 MB 磁盘。 最小值是可以设置的总分配的最小值。 步长是可以调整总分配的最小量。

CLI 中的资源和扩展

cdb deployment-groups-set 命令允许以 MB 为单位设置总内存或总磁盘分配。 例如,要将 "example-deployment "的每个内存成员的内存容量扩展到 4096 MB(总内存容量为 12288 MB),可使用以下命令:

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

在 CLI 中确定数据库的托管模式

使用以下命令来查看 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

如果数据库是 隔离计算 实例,那么将通过选择“隔离计算”大小 (请参阅表 1 中的所有大小) 来同时调整内存和 CPU。 磁盘单独缩放。 如果数据库不在 Isolated Compute 上,该命令也会将数据库从不同的托管模式移动到 Isolated Compute 托管模式。

请注意,由于主机类型选择包括 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 配置输入相应的值。

主机风味大小参数
主机类型模板 hostflavor 值
共享计算 multitenant
4 个 CPU x 16 RAM b3c.4x16.encrypted
8 个 CPU x 32 RAM b3c.8x32.encrypted
8 个 CPU x 64 RAM m3c.8x64.encrypted
16 个 CPU x 64 RAM b3c.16x64.encrypted
32 个 CPU x 128 RAM b3c.32x128.encrypted
30 个 CPU x 240 RAM m3c.30x240.encrypted

审查现有资源和托管模式

服务_概览_面板上显示的_基础端点_提供了通过 API 访问此部署的基本 URL。 如果需要以编程方式管理或自动缩放,请将其与 /groups 端点配合使用。

要查看部署上的当前资源和可扩展资源,请使用 {id} 端点。 请注意,该命令还会通过 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 内存(共有 3 个成员,因此总内存容量为 12288 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": 12288
      }
    }'

在应用程序接口中确定数据库的托管模式

使用以下命令来查看 host_flavor 属性的值。 如果数据库位于不推荐的托管模型 (非共享或隔离计算) 上,那么这将为空。

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

在应用程序接口中切换托管模型

要扩展任何 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"}}' \

在 Cloud Databases 隔离计算上不支持 CPU 和 RAM 自动缩放。 磁盘自动缩放可用。 如果已供应隔离实例或通过自动缩放从部署切换,请使用 IBM Cloud® Monitoring 集成 来监视资源,该集成提供内存,磁盘空间和磁盘 I/O 利用率的度量值。 要向实例添加资源,请手动缩放部署。

host flavor 参数

host_flavor 参数定义计算大小。 要供应共享计算实例,请指定 multitenant。 要供应隔离式计算实例,请为期望的 CPU 和 RAM 配置输入相应的值。

表 1 主机类型模板调整参数
主机类型模板 host_flavor 值
共享计算 multitenant
4 个 CPU x 16 RAM b3c.4x16.encrypted
8 个 CPU x 32 RAM b3c.8x32.encrypted
8 个 CPU x 64 RAM m3c.8x64.encrypted
16 个 CPU x 64 RAM b3c.16x64.encrypted
32 个 CPU x 128 RAM b3c.32x128.encrypted
30 个 CPU x 240 RAM 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-elasticsearch"
  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 Elasticsearch database connection string" {
  value = "http://${ibm_database.test_acc.ibm_database_connection.icd_conn}"
}

在 Terraform 中切换和扩展托管模型

选择 您希望将数据库扩展到的托管模型。 您可以稍后更改此内容。

要将 Databases for Elasticsearch 实例扩展到共享计算托管模式,请将 "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-elasticsearch"
  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 Elasticsearch database connection string" {
  value = "http://${ibm_database.test_acc.ibm_database_connection.icd_conn}"
}

使用相同的 "host_flavor" 参数将 Databases for Elasticsearch 实例扩展为隔离计算,并将其设置为所需的隔离大小。 该命令可用于将数据库实例扩展到不同的隔离计算大小,以及从其他主机类型移动到隔离计算主机类型。 表 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-elasticsearch"
  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 Elasticsearch database connection string" {
  value = "http://${ibm_database.test_acc.ibm_database_connection.icd_conn}"
}

host flavor 参数

host_flavor 参数定义计算大小。 要供应共享计算实例,请指定 multitenant。 要供应隔离式计算实例,请为期望的 CPU 和 RAM 配置输入相应的值。

主机风味大小参数
主机类型模板 host_flavor 值
共享计算 multitenant
4 个 CPU x 16 RAM b3c.4x16.encrypted
8 个 CPU x 32 RAM b3c.8x32.encrypted
8 个 CPU x 64 RAM m3c.8x64.encrypted
16 个 CPU x 64 RAM b3c.16x64.encrypted
32 个 CPU x 128 RAM b3c.32x128.encrypted
30 个 CPU x 240 RAM m3c.30x240.encrypted

在 Cloud Databases 隔离计算上不支持 CPU 和 RAM 自动缩放。 磁盘自动缩放可用。 如果已供应隔离实例或通过自动缩放从部署切换,请使用 IBM Cloud® Monitoring 集成 来监视资源,该集成提供内存,磁盘空间和磁盘 I/O 利用率的度量值。 要向实例添加资源,请手动缩放部署。