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。

vgs 和 pvs 也能看到同样的信息:

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一起成长~

相关推荐
Ruiery3 小时前
Linux 6.6内核 CPU 深度解析(七):调度器启动 — 从单核到多核,调度器分阶段点亮
linux·运维·服务器
50万马克的面包3 小时前
CSDN-栈队列数组-知识点整理
linux·运维·服务器
wjkjpcba4 小时前
PCBA烧录程序是什么:PCBA包工包料厂家解析烧录与测试
linux·数据库·人工智能·smt贴片加工·pcba贴片加工厂
꯭自꯭闭꯭4 小时前
达梦事物特性及MVCC
linux·运维·数据库
羔羊++6 小时前
18_实验十七_其他命令与自定义启动变量
linux
DYWorker0018 小时前
Linux驱动:RK3568 GMAC + YT8531C 千兆以太网全流程解剖
linux
lisanmengmeng10 小时前
NRPE 添加命令(一)
linux·运维·服务器
树下水月11 小时前
Typora破解
linux·服务器·前端
沫璃染墨11 小时前
《从零入门Linux系统篇(五十七):线程篇·十——生产者消费者模型进阶:从环形缓冲区到POSIX信号量》
linux·运维·服务器·开发语言·c++·系统架构·信号处理
wuminyu11 小时前
LockStack在虚拟线程Mount和Unmount拷贝过程剖析
java·linux·c语言·jvm·c++