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"
    Copy to Clipboard Toggle word wrap

    输出示例

    Backend Quota Gi B: <value>
    Copy to Clipboard Toggle word wrap

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

    $ oc patch etcd/cluster --type=merge -p '{"spec": {"backendQuotaGiB": <value>}}'
    Copy to Clipboard Toggle word wrap

    输出示例

    etcd.operator.openshift.io/cluster patched
    Copy to Clipboard Toggle word wrap

验证

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

    $ oc describe etcd/cluster | grep "Backend Quota"
    Copy to Clipboard Toggle word wrap

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

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

    $ oc get pods -n openshift-etcd
    Copy to Clipboard Toggle word wrap

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

    输出示例

    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
    Copy to Clipboard Toggle word wrap

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

    $ oc describe -n openshift-etcd pod/<etcd_podname> | grep "ETCD_QUOTA_BACKEND_BYTES"
    Copy to Clipboard Toggle word wrap

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

    输出示例

    ETCD_QUOTA_BACKEND_BYTES:                               8589934592
    Copy to Clipboard Toggle word wrap

    注意

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

3.5.2. 故障排除

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

3.5.2.1. 值太小

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

$ oc patch etcd/cluster --type=merge -p '{"spec": {"backendQuotaGiB": 5}}'
Copy to Clipboard Toggle word wrap

错误信息示例

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
Copy to Clipboard Toggle word wrap

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

3.5.2.2. 值太大

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

$ oc patch etcd/cluster --type=merge -p '{"spec": {"backendQuotaGiB": 64}}'
Copy to Clipboard Toggle word wrap

错误信息示例

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

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

3.5.2.3. 值被减少

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

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

    $ oc describe etcd/cluster | grep "Backend Quota"
    Copy to Clipboard Toggle word wrap

    输出示例

    Backend Quota Gi B: 10
    Copy to Clipboard Toggle word wrap

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

    $ oc patch etcd/cluster --type=merge -p '{"spec": {"backendQuotaGiB": 8}}'
    Copy to Clipboard Toggle word wrap

    错误信息示例

    The Etcd "cluster" is invalid: spec.backendQuotaGiB: Invalid value: "integer": etcd backendQuotaGiB may not be decreased
    Copy to Clipboard Toggle word wrap

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

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。 了解我们当前的更新.

让开源更具包容性

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

關於紅帽

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

Theme

© 2025 Red Hat