本文最后更新于2026-04-27,距今已有 37 天,若文章内容或图片链接失效,请留言反馈。

温馨提示:本文操作涉及系统磁盘,请务必做好数据备份!搞砸了别来找我哭诉(虽然大概率不会搞砸)
有需要的朋友可以另外看看这篇文章:
一、前言:甲骨文的"良心"与"小气"
甲骨文云(Oracle Cloud)确实挺良心——免费套餐能开两台 X86 主机 +ARM 4H24G 配置,这配置跑个小网站、挂个爬虫、搭个梯子(咳咳,我是说科学上网学习)绰绰有余。但!是!它有个 "小气" 的地方:默认只给你 50G 硬盘(实际显示 47G),而整个账户的免费额度其实是 200G!
这就好比去自助餐厅,老板说 "随便吃",结果只给你个小碟子——不是不让吃,是让你多跑几趟。好在,我们可以把碟子换成大碗!
二、扩容前的"灵魂拷问"
在动手前,先问自己三个问题:
- 数据重要吗? 如果只是测试环境,直接重开实例改硬盘大小最省事(但环境得重配)
- 懒吗? 如果懒得重装环境,那就跟着本文走扩容路线
- 会备份吗? 不会?现在就去学!别等数据丢了才后悔
三、方法一:后台修改引导卷(最安全)
这是官方推荐的方式,适合手残党(比如我)。
操作步骤(手把手版)
- 登录甲骨文云后台 → 菜单 → 计算 → 实例
- 找到你的小鸡(实例),点进去

- 找到"引导卷" ,点"编辑"

- 输入新大小(最大200G,别贪心)

- 保存 → 等待状态变成"可用"
系统识别新容量
多数系统重启后会自动识别。如果没反应,别慌,试试以下命令(以 Oracle Linux 为例):
# 先设置语言环境(避免乱码)
LANG=en_US.UTF-8
# 执行扩容命令
/usr/libexec/oci-growfs
# 查看磁盘大小
lsblk
如果看到 sda 从 50G 变成了你设置的大小,恭喜你,扩容成功!
四、方法二:其他系统的"骚操作"
如果你用的不是 Oracle Linux,可能需要手动操作。这里以 Debian 为例:
Debian系统扩容
甲骨文自带的 Debian 系统会提示你执行以下命令:
# 第一步:执行dd命令(别问为什么,照做就行)
sudo dd iflag=direct if=/dev/oracleoci/oraclevda of=/dev/null count=1
# 第二步:重新扫描磁盘
echo "1" | sudo tee /sys/class/block/`readlink /dev/oracleoci/oraclevda | cut -d'/' -f 2`/device/rescan
其他系统(如Ubuntu、CentOS)
执行完 DD 命令后,用 lsblk 或 df -h 查看盘符。假设你的系统盘是 sda1,执行:
# 调整文件系统大小
resize2fs /dev/sda1
注意:有些系统重启后直接 resize2fs 就能完成,有些需要先执行上面的 DD 命令。建议先重启试试,不行再上命令。
五、常见翻车现场与自救指南
| 翻车场景 | 症状 | 自救方法 |
|---|---|---|
| 翻车场景 | 症状 | 自救方法 |
| 命令执行后没反应 | df-h还是显示旧容量 | 重启实例试试,或者检查命令是否输错 |
| 提示权限不足 | Permission denied | 加 sudo,或者切换到root用户 |
| 系统卡死 | 命令执行后无响应 | 强制重启实例(后台操作) |
| 数据丢失 | 文件不见了 | 提前备份!提前备份!提前备份! |
六、总结与吐槽
- 为什么默认50G? 我猜甲骨文是为了防止用户滥用,毕竟200G免费额度对个人来说挺香的
- 扩容有风险吗? 理论上风险很低,但任何磁盘操作都有万分之一的风险,所以备份!备份!备份!
- 需要重启吗? 多数情况需要,但有些系统(如Oracle Linux)可以在线扩容
- 能缩容吗? 不能!硬盘只能增不能减,就像我的体重一样
最后,如果你扩容成功了,记得在评论区留个 "已成功",让我知道这篇教程没坑人。如果翻车了... 呃,建议先看备份教程。
免责声明:本文仅作技术分享,操作前请自行评估风险。作者不对任何数据丢失负责(毕竟我提醒过你备份了)。
甲骨文云硬盘扩容指南:从50G到200G的“免费午餐”怎么吃?
https://wuqishi.com/archives/oracle-cloud-hard-disk-expansion-guide-how-to-eat-the-free-lunch-from-50g-to-200g
评论