VM虚拟机扩展磁盘容量后没生效?三步解决!
在VMware/VirtualBox等虚拟机中扩展了磁盘容量后,很多同学会发现系统内磁盘大小依然没变,这是因为仅扩展了虚拟机的物理磁盘,还需要在系统内对分区和文件系统进行扩容。本文以Linux系统(CentOS/Ubuntu通用)为例,手把手教你解决这个问题。
一、查看磁盘实际大小与分区信息
首先确认虚拟机的磁盘是否已成功扩展,以及需要扩容的分区名称(关键)。
执行以下命令查看磁盘和分区详情:
fdisk -l # 或 lsblk(输出更简洁)
Disk /dev/sda:50 GiB,53687091200 字节,104857600 个扇区
Disk model: VMware Virtual S
单元:扇区 / 1 * 512 = 512 字节
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节
磁盘标签类型:gpt
磁盘标识符:BC1645A0-D3FE-40C4-A396-DC1A1CD5AF67
设备 起点 末尾 扇区 大小 类型
/dev/sda1 2048 4095 2048 1M BIOS 启动
/dev/sda2 4096 1054719 1050624 513M EFI 系统
/dev/sda3 1054720 104857566 103802847 49.5G Linux 文件系统
重点关注:
Disk /dev/sda:50 GiB表示磁盘物理大小已扩展到50G(确认扩展成功);- 末尾的分区是
/dev/sda3(这是我们需要扩容的分区,记好这个名称)。
二、扩展分区(growpart工具)
接下来需要扩展分区的大小,让分区占用新增的磁盘空间。这里使用growpart工具,操作简单且安全。
1. 安装growpart(若未安装)
# CentOS/RHEL 系统
sudo yum install cloud-utils-growpart -y
# Ubuntu/Debian 系统
sudo apt install cloud-guest-utils -y
2. 执行分区扩容
命令格式:growpart 磁盘名 分区号(注意:磁盘名和分区号之间是空格,不是斜杠)。
以示例中的 /dev/sda3 为例,执行:
sudo growpart /dev/sda 3
/dev/sda是磁盘名称;3是分区号(对应sda3)。
执行成功后无报错即表示分区扩容完成。
三、扩展文件系统(关键步骤)
分区扩展后,还需要让文件系统识别并占用新增的分区空间。首先确认分区的文件系统类型。
1. 查看文件系统类型
lsblk -f /dev/sda3
输出中会显示TYPE字段,常见类型为ext4或xfs。
2. 按文件系统类型扩容
(1)ext2/ext3/ext4 类型
sudo resize2fs /dev/sda3
(2)xfs 类型
# 方法1:指定分区(通用)
sudo xfs_growfs /dev/sda3
# 方法2:若该分区挂载在根目录 /(最常见),可直接执行
sudo xfs_growfs /
四、验证扩容结果
执行以下命令查看磁盘挂载和使用情况:
df -h
若输出中 /dev/sda3 的大小显示为扩展后的50G左右,说明扩容成功!
重要说明
- 操作无风险:
growpart和resize2fs/xfs_growfs都是在线、无损操作,不会破坏现有数据; - 备份建议:虽然操作安全,但磁盘操作有极小概率异常,执行前建议备份重要数据;
- 无需重启:整个过程无需重启系统,扩容后立即生效。
4025

被折叠的 条评论
为什么被折叠?



