3.5. 增加 etcd 的数据库大小


您可以为每个 etcd 实例设置 gibibytes (GiB)中的磁盘配额。如果为 etcd 实例设置磁盘配额,您可以指定整数值(从 8 到 32)。默认值为 8。您只能指定增加的值。

如果您遇到 低空间 警报,则可能需要增加磁盘配额。此警报表示尽管进行自动压缩和碎片处理,对于 etcd, 集群太大了。如果您看到此警报,则需要立即增加磁盘配额,因为在 etcd 耗尽空间后,写入会失败。

如果遇到过量数据库增长警告,可能是需要提高磁盘配额的另一个场景是。此警报是一个警告,数据库可能会在接下来的四小时内增长过大。在这种情况下,请考虑增加磁盘配额,以便您最终不会遇到 低空间 警报,以及可能的写入失败问题。

如果您增加磁盘配额,您所指定的磁盘空间不会被立即保留。相反,如果需要,etcd 可能会增大到这个大小。确保 etcd 在专用磁盘上运行,该磁盘大于您为磁盘配额指定的值。

对于大型 etcd 数据库,control plane 节点必须有额外的内存和存储。因为您必须考虑 API 服务器缓存,所以至少是 etcd 数据库配置大小的 3 倍。

重要

为 etcd 增加数据库大小只是一个技术预览功能。技术预览功能不受红帽产品服务等级协议(SLA)支持,且功能可能并不完整。红帽不推荐在生产环境中使用它们。这些技术预览功能可以使用户提早试用新的功能,并有机会在开发阶段提供反馈意见。

有关红帽技术预览功能支持范围的更多信息,请参阅以下链接:

3.5.1. 更改 etcd 数据库大小

要更改 etcd 的数据库大小,请完成以下步骤。

流程

  1. 输入以下命令检查每个 etcd 实例的磁盘配额的当前值:

    $ oc describe etcd/cluster | grep "Backend Quota"

    输出示例

    Backend Quota Gi B: <value>

  2. 输入以下命令更改磁盘配额的值:

    $ oc patch etcd/cluster --type=merge -p '{"spec": {"backendQuotaGiB": <value>}}'

    输出示例

    etcd.operator.openshift.io/cluster patched

验证

  1. 输入以下命令验证是否设置了磁盘配额的新值:

    $ oc describe etcd/cluster | grep "Backend Quota"

    etcd Operator 会自动使用新值推出 etcd 实例。

  2. 输入以下命令验证 etcd pod 是否正在运行:

    $ oc get pods -n openshift-etcd

    以下输出显示了预期的条目。

    输出示例

    NAME                                                   READY   STATUS      RESTARTS   AGE
    etcd-ci-ln-b6kfsw2-72292-mzwbq-master-0                4/4     Running     0          39m
    etcd-ci-ln-b6kfsw2-72292-mzwbq-master-1                4/4     Running     0          37m
    etcd-ci-ln-b6kfsw2-72292-mzwbq-master-2                4/4     Running     0          41m
    etcd-guard-ci-ln-b6kfsw2-72292-mzwbq-master-0          1/1     Running     0          51m
    etcd-guard-ci-ln-b6kfsw2-72292-mzwbq-master-1          1/1     Running     0          49m
    etcd-guard-ci-ln-b6kfsw2-72292-mzwbq-master-2          1/1     Running     0          54m
    installer-5-ci-ln-b6kfsw2-72292-mzwbq-master-1         0/1     Completed   0          51m
    installer-7-ci-ln-b6kfsw2-72292-mzwbq-master-0         0/1     Completed   0          46m
    installer-7-ci-ln-b6kfsw2-72292-mzwbq-master-1         0/1     Completed   0          44m
    installer-7-ci-ln-b6kfsw2-72292-mzwbq-master-2         0/1     Completed   0          49m
    installer-8-ci-ln-b6kfsw2-72292-mzwbq-master-0         0/1     Completed   0          40m
    installer-8-ci-ln-b6kfsw2-72292-mzwbq-master-1         0/1     Completed   0          38m
    installer-8-ci-ln-b6kfsw2-72292-mzwbq-master-2         0/1     Completed   0          42m
    revision-pruner-7-ci-ln-b6kfsw2-72292-mzwbq-master-0   0/1     Completed   0          43m
    revision-pruner-7-ci-ln-b6kfsw2-72292-mzwbq-master-1   0/1     Completed   0          43m
    revision-pruner-7-ci-ln-b6kfsw2-72292-mzwbq-master-2   0/1     Completed   0          43m
    revision-pruner-8-ci-ln-b6kfsw2-72292-mzwbq-master-0   0/1     Completed   0          42m
    revision-pruner-8-ci-ln-b6kfsw2-72292-mzwbq-master-1   0/1     Completed   0          42m
    revision-pruner-8-ci-ln-b6kfsw2-72292-mzwbq-master-2   0/1     Completed   0          42m

  3. 输入以下命令验证 etcd pod 是否更新了磁盘配额值:

    $ oc describe -n openshift-etcd pod/<etcd_podname> | grep "ETCD_QUOTA_BACKEND_BYTES"

    该值可能没有改变默认值 8

    输出示例

    ETCD_QUOTA_BACKEND_BYTES:                               8589934592

    注意

    虽然您设置的值以 GiB 为单位的整数,但输出中显示的值将会转换为以字节为单位。

3.5.2. 故障排除

如果您在尝试增加 etcd 数据库大小时遇到问题,则以下故障排除步骤可能会有所帮助。

3.5.2.1. 值太小

如果您指定的值小于 8,您会看到以下出错信息:

$ oc patch etcd/cluster --type=merge -p '{"spec": {"backendQuotaGiB": 5}}'

错误信息示例

The Etcd "cluster" is invalid:
* spec.backendQuotaGiB: Invalid value: 5: spec.backendQuotaGiB in body should be greater than or equal to 8
* spec.backendQuotaGiB: Invalid value: "integer": etcd backendQuotaGiB may not be decreased

要解决这个问题,请指定 832 之间的一个整数值。

3.5.2.2. 值太大

如果您指定的值大于 32,您会看到以下出错信息:

$ oc patch etcd/cluster --type=merge -p '{"spec": {"backendQuotaGiB": 64}}'

错误信息示例

The Etcd "cluster" is invalid: spec.backendQuotaGiB: Invalid value: 64: spec.backendQuotaGiB in body should be less than or equal to 32

要解决这个问题,请指定 832 之间的一个整数值。

3.5.2.3. 值被减少

如果值设为 832 之间的有效值,则无法减少该值。否则,您会看到错误消息。

  1. 输入以下命令来查看当前的值:

    $ oc describe etcd/cluster | grep "Backend Quota"

    输出示例

    Backend Quota Gi B: 10

  2. 输入以下命令减少磁盘配额值:

    $ oc patch etcd/cluster --type=merge -p '{"spec": {"backendQuotaGiB": 8}}'

    错误信息示例

    The Etcd "cluster" is invalid: spec.backendQuotaGiB: Invalid value: "integer": etcd backendQuotaGiB may not be decreased

  3. 要解决这个问题,请指定大于 10 的整数。
Red Hat logoGithubredditYoutubeTwitter

学习

尝试、购买和销售

社区

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

关于红帽文档

Legal Notice

Theme

© 2026 Red Hat
返回顶部