CentOS 7 虚拟机磁盘扩容完整指南

第一步:扩展虚拟机硬盘容量

  1. 关闭虚拟机
  2. 在VMWare的”此虚拟机设置”中找到硬盘
  3. 点击”扩展”并设置新的磁盘容量
  4. 完成扩展后,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系统管理的很好实践。记得在操作前备份重要数据,避免意外情况发生。

Comments

No comments yet. Why don’t you start the discussion?

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注