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

相关推荐
wuminyu22 分钟前
Kafka中sendfile与mmap实现机制解析
java·linux·c语言·jvm·c++
新时代牛马1 小时前
嵌入式网络完整篇:从LwIP/以太网驱动到 Linux netdev 与排障
linux·网络·php
猿与禅1 小时前
Linux(Ubuntu)入门到实战:系统管理、常用命令与权限体系完整指南
linux·ubuntu·apt·进程管理·系统运维·用户权限·vi/vim
前端世界1 小时前
Linux服务器实战:NTP时间同步、SELinux权限与rsyslog日志管理,一次搞懂三大运维问题
linux·运维·服务器
Android系统攻城狮1 小时前
Linux Gstreamer深度解析之gst_audio_converter_new调用流程与实战(二十)
linux·运维·服务器·gstreamer音视频·音视频进阶
H_oRIZoN_7 小时前
Linux入门DAY41(51 单片机 串口与通信协议)
linux·运维·单片机
GeW8 小时前
RHCE备考别瞎学!按这个计划走,30天提高通过率,快速拿证
linux
Escalating_xu8 小时前
【System V 信号量】从 P/V 原语到 Builder 封装:写出可控、可清理的进程互斥组件
java·linux·开发语言·jvm
傲世仙尊8 小时前
System V 进程间通信详解:共享内存、消息队列与信号量(CSDN博客)
linux·开发语言·c++
码农小韩9 小时前
Linux应用开发(六)——进程间通信
linux·linux驱动·嵌入式软件开发·嵌入式操作系统·linux应用