温馨提示×

VirtualBox虚拟机在CentOS如何进行磁盘扩容

小樊
48
2025-10-02 15:27:22
栏目: 云计算

VirtualBox虚拟机中CentOS磁盘扩容步骤

1. 准备工作

  • 备份重要数据:扩容操作存在数据丢失风险,务必提前备份虚拟机内重要文件。
  • 关闭虚拟机:确保CentOS虚拟机处于完全关闭状态(非挂起或休眠)。

2. 扩展VirtualBox虚拟磁盘大小

  • 打开VirtualBox管理器,选中目标CentOS虚拟机,点击顶部菜单栏「设置」。
  • 进入「存储」选项卡,在「存储树」中找到虚拟磁盘(通常为.vdi.vmdk格式,如centos7-disk001.vdi)。
  • 选中虚拟磁盘,点击右侧「属性」按钮(或直接点击「扩展」按钮,部分版本需通过「属性」窗口调整)。
  • 在「虚拟大小」选项卡中,输入新的磁盘大小(如从50GB扩容至100GB),点击「确定」保存设置。

3. 启动CentOS虚拟机并检查磁盘状态

  • 启动CentOS虚拟机,打开终端。
  • 使用lsblk命令查看磁盘结构,确认虚拟磁盘(如/dev/sda)已识别到新增空间(未分配空间显示为「空闲」);或使用fdisk -l命令查看磁盘详细信息。

4. 处理分区与逻辑卷(分两种情况)

情况一:未使用LVM(传统分区表)

  • 若新增空间未被分配,需创建新分区并扩展文件系统:
    • 使用fdisk /dev/sda进入分区编辑模式(需root权限)。
    • 输入n创建新分区,选择p(主分区)、分区号(如3,根据现有分区数量调整)、起始扇区(默认),结束扇区(直接按回车使用全部剩余空间)。
    • 输入t修改分区类型(可选,如保持默认的83表示Linux文件系统)。
    • 输入w保存分区表并退出(此操作会重启分区表,无需担心)。
    • 使用partprobe命令让内核重新读取分区表(避免重启虚拟机)。
    • 扩展文件系统:若文件系统为ext4,使用resize2fs /dev/sda3;若为xfs,需先创建物理卷、扩展卷组(步骤见情况二)。

情况二:使用LVM(逻辑卷管理,推荐)

  • 若系统采用LVM,步骤更灵活,可直接扩展逻辑卷:
    • 查看卷组(VG)是否有剩余空间:sudo vgdisplay(重点关注「Free PE / Size」字段,若有剩余空间可直接扩展逻辑卷)。
    • 若卷组无剩余空间,需先扩展物理卷(PV):
      • 使用fdisk /dev/sda创建新分区(如/dev/sda3),类型设为8e(Linux LVM)。
      • 初始化物理卷:sudo pvcreate /dev/sda3
      • 将新物理卷添加到现有卷组(如centos):sudo vgextend centos /dev/sda3
    • 扩展逻辑卷(LV):sudo lvextend -L +10G /dev/mapper/centos-root+10G表示增加10GB,可根据需求调整;也可使用-l +100%FREE使用全部剩余空间)。
    • 扩展文件系统:
      • 若文件系统为xfs(CentOS 7及以上默认):sudo xfs_growfs /dev/mapper/centos-root
      • 若文件系统为ext4sudo resize2fs /dev/mapper/centos-root

5. 验证扩容结果

  • 使用df -h命令查看文件系统空间使用情况,确认目标分区(如/dev/mapper/centos-root)的容量已增加。
  • 若使用LVM,还可通过lvdisplay查看逻辑卷大小,vgdisplay查看卷组剩余空间,确保扩容成功。

注意事项

  • 若虚拟磁盘格式为.vmdk,需通过VBoxManage命令行工具调整大小(如VBoxManage modifyhd /path/to/disk.vmdk --resize 102400,单位为MB)。
  • 扩容过程中若遇到分区无法调整(如分区表为GPT且存在备份分区表),可使用gdisk工具替代fdisk
  • 若系统使用swap分区,扩容前需暂时禁用swap(sudo swapoff -a),扩容后再启用(sudo swapon -a)。

0