遇到"Out of host capacity"错误时,最直接的处理方案是在创建实例界面切换同一区域下的其他可用域(Availability Domain),或者更换资源更充裕的区域。如果手动刷新效率低,可使用自动化脚本监控容量释放。
先说结论:切换可用域是解决容量不足的首选操作,自动化脚本适合长期监控。
- 先确认:报错信息是否为"Out of host capacity"且形状为 VM.Standard.A1.Flex
- 先处理:在控制台创建页面手动切换可用域 AD-1/AD-2/AD-3
- 再验证:实例状态变为"Running"且能 SSH 登录
快速处理思路
甲骨文云控制台创建实例时,若当前可用域无资源,无需重新提交工单,直接在创建界面调整配置即可。
1. 登录 Oracle Cloud 控制台,进入"计算"->"实例"页面。
2. 点击"创建实例",在"放置"(Placement)部分找到"可用域"(Availability Domain)选项。
3. 如果当前选中 AD-1 报错,手动下拉选择 AD-2 或 AD-3 尝试提交。
4. 若同一区域所有可用域均无资源,更换区域(如从首尔切换至新加坡)。
为什么会这样
甲骨文免费 ARM 实例资源按可用域物理隔离分配,热门可用域容易耗尽。
OCI 的免费套餐 Ampere A1 计算实例(VM.Standard.A1.Flex)因性价比高导致资源供不应求。Oracle 会不定期在不同可用性域中释放新的容量资源,但容量释放具有随机性和不可预测性。传统手动刷新方式效率低下,容易错失良机,因此切换可用域或区域是获取资源的核心逻辑。
分步处理
按照以下顺序操作,从手动调整到自动化监控,逐步提高成功率。
步骤 1:手动切换可用域
在创建实例界面的"形状"(Shape)选择 VM.Standard.A1.Flex 后,务必检查"可用域"下拉菜单。部分区域可能有 3 个可用域,逐个尝试提交创建请求。
步骤 2:检查 SSH 密钥配置
务必在创建实例时上传你的 SSH 公钥,这是后续登录服务器的唯一凭证。如果忘记上传,甲骨文控制台不提供密码登录方式,只能通过复杂的控制台连接或重建实例来解决。
步骤 3:使用自动化监控工具
若手动操作无法获取,可部署 oci-arm-host-capacity 工具。这是一个 PHP 脚本工具,专为解决 OCI 的"Out of Capacity"错误而设计。它通过定期调用 OCI API,监控计算资源的可用情况,一旦检测到目标区域有可用容量,就会自动执行实例创建操作。
获取项目源码并完成基础环境配置:
git clone https://gitcode.com/gh_mirrors/oc/oci-arm-host-capacity.git
cd oci-arm-host-capacity/
composer install
cp .env.example .env
配置完成后,脚本会自动监控并在资源可用时抢占实例。
怎么验证是否生效
实例创建成功后,需确认运行状态及网络连通性。
1. 控制台查看实例状态显示为"Running"。
2. 本地终端执行 SSH 连接:ssh -i ~/.ssh/id_rsa opc@<实例公网 IP>。
3. 登录成功后执行 uname -m 确认架构为 aarch64,执行 free -h 确认内存约为 24GB。
常见坑
操作过程中注意以下风险点,避免实例创建失败或无法登录。
密钥格式错误:确保上传的是公钥(.pub),私钥保存在本地。私钥文件路径必须使用绝对路径,确保脚本能够正确读取。
区域配额限制:免费套餐有区域资源上限,若某区域已创建过免费实例,可能无法再次创建。建议先清理未使用的实例释放配额。
镜像选择:推荐选择 Ubuntu 22.04 LTS 或 Oracle Linux 作为操作系统。避免使用不兼容的自定义镜像导致启动失败。
常见问题
切换可用域和切换区域有什么区别?
切换可用域是在同一数据中心群内更换逻辑分区,网络延迟不变;切换区域是更换物理数据中心,网络延迟和 IP 地址都会变化。
自动化脚本会导致账号被封吗?
使用官方 API 进行合规的容量监控通常安全,但频繁请求可能触发风控。建议配置合理的请求间隔,避免高频调用。
创建成功后如何安装宝塔面板?
在 ARM 架构上,直接使用官方的安装脚本通常没有问题。以 Ubuntu 为例,执行wget -O install.sh https://download.bt.cn/install/install-ubuntu_6.0.sh && sudo bash install.sh。
参考来源
- 如何利用 oci-arm-host-capacity 绕过 OCI'Out of Capacity'错误?完整入门指南
- 甲骨文 ARM 服务器 + 宝塔面板:Nextcloud 超详细避坑指南 (含 Talk 插件配置)
- Oracle Cloud ARM 服务器自动获取指南:告别“容量不足“的终极方案
- Oracle Cloud 免费高性能 ARM 实例获取方法:突破容量限制的实战指南