OCI Out of Host Capacity 排查
从区域、Availability Domain、形状、规格、镜像和账号状态排查 OCI 免费实例容量不足。
#type / debug
#status / growing
#tech / ops
#resource / oracle-cloud
#platform / server
[!abstract] 快速结论
Out of host capacity通常表示目标 AD 暂时没有所选 Shape 的可分配主机容量,不等于账号注册失败,也不是修改防火墙能解决的问题。
OCI Out of Host Capacity 排查
现象
创建 VM.Standard.A1.Flex 或其他实例时,控制台/API 返回:
Out of host capacity
实例没有进入 Provisioning/Running,或创建请求直接失败。
快速判断路径
flowchart TD
A[Out of host capacity] --> B{区域有多个 AD?}
B -->|是| C[尝试另一个 AD]
B -->|否| D[降低规格并稍后重试]
C --> E{仍失败?}
D --> E
E -->|是| F[核对 Shape/镜像/配额/账号]
E -->|否| G[创建成功后验证免费边界]
F --> H[低频、有限次数重试或等待容量]
可能原因与证据
1. AD 暂时没有物理容量
证据:同一区域其他 AD 或较小规格可能成功;官方 FAQ 明确把此错误解释为临时容量不足。
2. 规格组合更难满足
Flex 实例需要同时满足 OCPU、内存和主机容量。先尝试当前免费边界内较小组合,而不是旧教程中的满配。
3. Shape 或镜像组合受限
某些镜像、AD、架构或安全选项组合不可用。确认镜像支持 ARM64 和目标 Shape。
4. 配额或免费额度已占用
这通常会产生 limit/quota 类错误而不是 host capacity,但仍应盘点现有实例、OCPU、内存、引导卷和待删除资源。
5. 账号/区域状态不同
Trial、Always Free only 与 PAYG 的可用资源和容量体验可能不同。升级可能提供更多资源选择,但不是免费容量保证。
排查过程
1. 保存失败请求参数
记录:Region、AD、Shape、OCPU、内存、镜像、引导卷、错误时间和 Request ID。不要只保存一张没有参数的报错截图。
2. 检查其他 AD
区域有多个 AD 时逐个尝试一次相同配置。E2 Micro 可能只在特定 AD 可用,按控制台提示选择。
3. 降低规格
按当前官方免费边界尝试 1 OCPU 和较小内存。创建成功后是否可调整规格仍取决于当时容量,不能假设稍后必定能扩到更大。
4. 检查现有资源
- Running/Stopped 实例;
- 正在终止的实例;
- Boot/Block Volume;
- Service Limits 与 compartment quota;
- 当前是否处于 Home Region。
5. 等待并低频重试
官方建议等待容量补充。若使用 CLI/Terraform 自动尝试:
- 设定明确最大次数和总时长;
- 使用指数退避或至少数分钟间隔;
- 记录每次 Request ID;
- 成功后立即停止;
- 不多账号并发、不 1 秒轮询、不绕过平台限制。
解决方案
按风险从低到高:
- 换同一区域的 AD;
- 使用更小的免费规格;
- 等待数小时或数天;
- 选择另一种 Always Free Shape;
- 在确有付费需求时升级账号并接受费用;
- 若 Home Region 长期无容量,评估其他云平台,而不是购买来源不明账号。
回归验证
- 实例进入 Running
- Shape/规格与预期一致
- Region 是 Home Region
- 引导卷和总资源没有超免费边界
- 自动重试已停止
- Cost Analysis 没有意外资源
- SSH 和网络规则按最小权限配置
Related notes
- 所属 MOC:甲骨文云服务器 MOC
- 区域:OCI 区域、容量与网络质量
- 创建:创建 OCI Always Free Linux 实例