OCI 明明分配了 200G 系统盘,为什么 df 只看到 30G?

在 OCI 上创建测试主机时,明明给启动盘分配了 200G,但进入系统后执行 df -h,根目录却只有 30G 左右。这种情况并不是磁盘没有分配成功,而是分区和 LVM 还没有把剩余空间用起来。

01 | 先看 200G 到底在不在

笔者环境中,df -h 看到的是文件系统大小:

bash 复制代码
/dev/mapper/ocivolume-root 30G 8.7G 21G 30% /
/dev/mapper/ocivolume-oled 15G 140M 15G 1% /var/oled

这会让人误以为系统盘只有几十 G。

lsblk 里已经能看到整块磁盘是 200G:

bash 复制代码
sda 8:0 0 200G 0 disk

也就是说,OCI 已经把 200G 的启动盘分配给这台虚拟机了。问题不在云盘容量,而在系统内部的分区和 LVM 还没有扩展。

02 | 为什么根目录只有 30G?

继续看 lsblk

bash 复制代码
sda
├─sda1 100M /boot/efi
├─sda2 2G /boot
└─sda3 44.5G
 ├─ocivolume-root 29.5G /
 └─ocivolume-oled 15G /var/oled

这里的关键点是:虽然物理盘 sda 是 200G,但真正加入 LVM 的分区 sda3 只有 44.5G。

vgspvs 也能看到同样的信息:

bash 复制代码
VG VSize VFree
ocivolume 44.50g 0
bash 复制代码
PV VG PSize PFree
/dev/sda3 ocivolume 44.50g 0

也就是说,当前 LVM 卷组只有 44.5G,里面又被切成了两个逻辑卷:29.5G 给 /,15G 给 /var/oled

剩下大约 153G 仍然躺在 sda 这块 200G 磁盘里,但还没有分配给 sda3,也没有进入 LVM 卷组,所以 df -h 看不到。

03 | 把剩余空间扩到根目录

处理思路分四步:先扩分区,再扩 LVM 物理卷,然后扩逻辑卷,最后扩文件系统。

① 扩大 sda3 分区

让第三个分区 sda3 使用后面的剩余空间:

bash 复制代码
sudo growpart /dev/sda 3

② 刷新 LVM 物理卷

分区变大后,让 LVM 识别新的空间:

bash 复制代码
sudo pvresize /dev/sda3

③ 扩大 root 逻辑卷

把卷组中的空闲空间全部分配给根目录对应的逻辑卷:

bash 复制代码
sudo lvextend -l +100%FREE /dev/ocivolume/root

④ 扩大文件系统

笔者环境中的根目录使用 XFS 文件系统,因此使用:

bash 复制代码
sudo xfs_growfs /

执行完成后,再检查根目录大小:

bash 复制代码
df -h /

此时 /dev/mapper/ocivolume-root 的容量会从 30G 左右扩展到 180G+。这时,原本没有被使用的剩余空间才真正变成根目录可用空间。

关注我,和AI一起成长~

相关推荐
w01_02_0313 分钟前
虚拟机, ubuntu , samba
linux·运维·ubuntu
渣渣盟18 分钟前
Nginx 从零到上手:Windows & Linux 双环境教程
linux·windows·nginx
Dola_Zou21 分钟前
CodeMeter Linux 部署与配置指南
linux·运维·自动化·软件加密
MSTcheng.27 分钟前
【Linux学习】Linux学习第二弹——Linux基本指令1
linux·运维·服务器·学习·指令
今天AI了吗33 分钟前
AI 数据安全治理框架:模型能力与数据权限的边界在哪里
java·linux·开发语言·人工智能·python·深度学习·机器学习
不一样的少年_38 分钟前
Docker 容器操作:运行、停止、查看与删除
linux·docker·容器
不一样的少年_1 小时前
Docker 入门第一课:从架构、云服务器到安装完成
linux·docker·云计算
M78佐菲1 小时前
Linux学习笔记:目录IO与帧缓冲
linux·笔记·学习·算法
三8441 小时前
WordPress SQL 注入漏洞分析:从 author__not_in 参数到 REST API 全链路
linux·前端·数据库
SCandL1521 小时前
k8s工作原理
linux·运维·服务器