在 CentOS Minimal(通常是命令行环境,没有图形界面)下扩容磁盘,一般分几种情况。下面按最常见场景给你讲:
虚拟机 / 云服务器,已有磁盘扩容(如从 20G 扩到 50G),但系统未自动识别。
lsblk
df -h
示例:
sda 50G
├─sda1 1G /boot
└─sda2 19G /
说明:
sda 已经是 50Gsda2 还是 19G(未扩容)fdisk 重新划分分区(以 sda2 为例)fdisk /dev/sda
在 fdisk 中操作:
p # 查看分区
d # 删除分区(选 2)
n # 新建分区
p # 主分区
2 # 分区号
回车 # 起始扇区(默认)
回车 # 结束扇区(默认=全部空间)
w # 保存
⚠️ 注意:
重启或重读分区表:
partprobe
resize2fs /dev/sda2
xfs_growfs /
df -h
lsblk
能看到根分区已变大 ✅
如果你看到的是:
sda
└─sda2
└─centos-root
说明是 LVM,步骤稍不同:
pvresize /dev/sda2
lvextend -l +100%FREE /dev/centos/root
xfs_growfs /
fdisk /dev/sdb
mkfs.xfs /dev/sdb1
mkdir /data
mount /dev/sdb1 /data
并写入 /etc/fstab 实现开机挂载。
| 场景 | 命令 |
|---|---|
| 普通分区 | fdisk + resize2fs/xfs_growfs |
| LVM | pvresize + lvextend + xfs_growfs |
| 新磁盘 | fdisk + mkfs + mount |
如果你愿意,可以把你的:
lsblk
df -h
发出来,我可以直接告诉你该用哪一套命令,避免误操作。