第一步:扩展虚拟机硬盘容量
- 关闭虚拟机
- 在VMWare的”此虚拟机设置”中找到硬盘
- 点击”扩展”并设置新的磁盘容量
- 完成扩展后,VMware会提示需要重新分区
注意:此时扩展的磁盘空间尚未分配给Linux对应的分区,需要手动分配。
第二步:检查当前磁盘状态
# 查看磁盘使用情况,发现root空间尚未变化 df -Th # 查看硬盘分区情况,确认磁盘容量已增加 fdisk -l
执行fdisk -l后,可以看到磁盘总容量已增加(例如从20GB扩展到30GB)。正常情况下,未扩容时只有sda1和sda2两个分区,请特别留意sda2的ID为8e。
第三步:创建新分区
# 进入磁盘分区工具 fdisk /dev/sda
在fdisk交互界面中:
- 输入
m获取帮助菜单 - 输入
n添加新分区 - 连续按Enter选择默认值
- 可以看到分区3被分配了10GB空间
第四步:设置分区类型
继续在fdisk界面中:
- 输入
t改变分区系统ID - 选择分区3
- 输入
L查看所有类型代码 - 输入
8e设置为Linux LVM类型(与sda2相同) - 输入
w保存分区表 - 输入
reboot重启虚拟机
重要:必须重启虚拟机,否则后续步骤可能出现问题。
第五步:格式化新分区
# 确认新分区已创建 fdisk -l # 格式化新分区为ext3格式 mkfs -t ext3 /dev/sda3
第六步:创建物理卷
# 创建物理卷 pvcreate /dev/sda3 # 查看物理卷信息 pvdisplay
此时可以看到新的物理卷已创建,但还没有加入数据卷组。
第七步:扩展卷组
# 查看文件系统信息,确认要扩容的卷组名称 df -Tl # 将新分区加入到centos卷组 vgextend centos /dev/sda3 # 再次查看物理卷状态 pvdisplay
现在可以看到sda3的Allocation可分配状态已变为yes,并有10GB的空余空间。
第八步:查看卷组情况
# 查看数据卷组详细信息 vgdisplay
此时可以看到centos卷组的总空间已增加到约29GB,说明扩容基本成功。
第九步:扩展逻辑卷
# 将空闲空间100%分配给root逻辑卷 lvextend -l +100%free /dev/mapper/centos-root
替代方案:如果需要精确分配空间,可以使用:
lvresize -L +10G /dev/mapper/centos-root如果报错说明没有足够的空间,可以适当减少分配大小,例如:
lvresize -L +9.9G /dev/mapper/centos-root
第十步:同步文件系统
# 对于CentOS 7,使用xfs_growfs同步文件系统 xfs_growfs /dev/mapper/centos-root
注意:对于CentOS 6系统,应使用:
resize2fs /dev/mapper/centos-root
验证结果
再次执行df -Th命令,可以看到centos-root的逻辑卷已成功扩容,现在拥有更多的可用磁盘空间。
总结
通过以上步骤,我们成功完成了CentOS 7虚拟机的磁盘扩容。整个过程涉及虚拟机设置、分区管理、LVM管理和文件系统扩展等多个环节,是学习Linux系统管理的很好实践。记得在操作前备份重要数据,避免意外情况发生。