VirtualBox 动态磁盘未扩展到虚拟大小

VirtualBox 动态磁盘未扩展到虚拟大小

我在 VirtualBox 4.2.4 的动态 VDI 磁盘上运行 Ubuntu 12.04,限制设置为 8GB,实际的 ext4 分区上有超过 40GB 的可用空间。但是,VDI 不会扩展到限制。8GB 足以满足我的需要。

我如何才能释放剩余空间?/ 和 .home 中的可用空间为 41kb。

虚拟机

虚拟专用网络

答案1

VirtualBox 动态磁盘未利用可用磁盘空间来自动扩大分区

这篇文章是为在 Virtualbox 6.1.6 上运行的 Ubuntu Server 18.04 客户操作系统编写的。

我认为这个问题的正确描述应该是这样的:

“尽管创建了一个 32GB 的动态磁盘,但操作系统分区在 4GB 左右时会显示“磁盘已满”消息,并且无法利用 32GB 动态磁盘中的“可用”28GB 自动增加其大小。”

如果你遇到了这个问题,并且你使用 Ubuntu Linux 和 LVM(以及 EXT4 文件系统)设置了客户操作系统,那么解决这个问题的方法是使用lvextend调整2fs大小命令。请参阅下面的解决方案和说明:

启动虚拟机并登录。登录后,打开终端。

  1. 显示有关的信息已分配磁盘存储:

    $df -h

    文件系统大小已使用可用使用率%安装在
    udev上966M 0 966M 0% /dev
    tmpfs 200M 1.1M 199M 1% /run
    /dev/mapper/ubuntu--vg-ubuntu--lv 3.9G 2.9G 835M 78% /
    tmpfs 997M 0 997M 0% /dev/shm
    tmpfs 5.0M 0 5.0M 0% /run/lock
    tmpfs 997M 0 997M 0% /sys/fs/cgroup
    /dev/loop0 97M 97M 0 100% /snap/core/9436
    /dev/loop1 97M 97M 0 100% /snap/core/9665
    /dev/sda2 976M 212M 697M 24% /boot
    tmpfs 200M 0 200M 0% /run/user/1000

输出显示根分区(/)的大小为 3.9G,已使用 2.9G(78%)。

  1. 显示块设备的信息:

    $lsblk

    名称 MAJ:MIN RM 大小 RO 类型 挂载点
    loop0 7:0 0 96.5M 1 循环 /snap/core/9436
    loop1 7:1 0 97M 1 循环 /snap/core/9665
    sda 8:0 0 32G 0 磁盘
    ═─sda1 8:1 0 1M 0 部分
    ═─sda2 8:2 0 1G 0 部分 /boot
    └─sda3 8:3 0 31G 0 部分
    └─ubuntu--vg-ubuntu--lv 253:0 0 4G 0 lvm /
    sr0 11:0 1 1024M 0 rom

输出显示块设备 sda 的物理大小为 32GB。它包含 3 个分区(sda1、sda2 和 sda3)。挂载在 sda3 逻辑卷上的根分区 (/) 仅分配了 4GB 存储空间。这意味着仍有大约 27GB 的未分配(免费)我们可以使用它来增加 LVM 逻辑卷的存储。

  1. 显示块设备上的文件系统信息:

    $lsblk --fs

    名称 FSTYPE 标签 UUID 挂载点
    loop0 squashfs /snap/core/9436
    loop1 squashfs /snap/core/9665
    sda
    ═─sda1
    ═─sda2 ext4 7cafee4a-d300-4b17-957d-c822c73882fc /boot
    └─sda3 LVM2_member GwPZus-EMpD-BgZw-e1Nx-Fd9J-LLeN-XnbvEE └─ubuntu--vg-ubuntu--lv ext4 dcc015b4-b6b8-4e05-9a18-93c263cc05ed /
    sr0

    输出显示 lvm 根分区的文件系统是 ext4。

  2. 显示物理卷的信息:

    $sudo pvs

    PV VG Fmt Attr PSize PFree
    /dev/sda3 ubuntu-vg lvm2 a-- <31.00g <27.00g

    $sudo pvdisplay

    --- 物理卷 --- PV 名称 /dev/sda3
    VG 名称 ubuntu-vg
    PV 大小 <31.00 GiB / 不可用 0
    可分配 是
    PE 大小 4.00 MiB
    总 PE 7935
    可用 PE 6911 已
    分配 PE 1024
    PV UUID GwPZus-EMpD-BgZw-e1Nx-Fd9J-LLeN-XnbvEE

    输出提供了 LVM PV sda3 上已分配/未分配空间的另一个视角。

  3. 显示卷组的信息:

    $sudo vgs

    VG #PV #LV #SN Attr VSize VFree
    ubuntu-vg 1 1 0 wz--n- <31.00g <27.00g

    $sudo vgdisplay

    --- 卷组 --- VG 名称 ubuntu-vg
    系统 ID
    格式 lvm2 元
    数据区域 1 元数据
    序列号 2
    VG 访问 读/写
    VG 状态 可调整
    大小 最大 LV 0
    当前 LV 1
    打开 LV 1
    最大 PV 0
    当前 PV 1
    活动 PV 1
    VG 大小 <31.00 GiB
    PE 大小 4.00 MiB
    总 PE 7935
    分配 PE / 大小 1024 / 4.00 GiB
    可用 PE / 大小 6911 / <27.00 GiB
    VG UUID vBmSeb-VWR8-7A8n-CBSa-UnKd-FmJG-LTtMUG

    输出显示 VG 大小与 PV 大小相同(31GB),并且有 27GB 未分配的可用存储空间来扩展逻辑卷。

  4. 显示逻辑卷的信息:

    $sudo lvs

    LV VG Attr LSize Pool Origin Data% Meta% 移动日志 Cpy% 同步转换
    ubuntu-lv ubuntu-vg -wi-ao---- 4.00g

    $sudo lvdisplay

    --- 逻辑卷 ---
    LV 路径 /dev/ubuntu-vg/ubuntu-lv
    LV 名称 ubuntu-lv
    VG 名称 ubuntu-vg
    LV UUID pnvBcu-FnfT-c3RY-cYCE-AuMX-f833-57WvYi
    LV 写入权限 读/写
    LV 创建主机,时间 ubuntu-server,2020-07-01 00:00:58 +0000
    LV 状态可用
    #open 1
    LV 大小 4.00 GiB
    当前 LE 1024
    段 1
    分配继承预
    读扇区自动
    - 当前设置为 256
    块设备 253:0

    输出显示 LV 大小为 4GB。由于 VG 大小为 31GB,我们可以将 LV 再增加 27GB。

7a. 要使用 50% (13GB) 的可用未分配空间来增加逻辑卷 (ubuntu-lv),首先执行以下操作:

$ sudo lvextend -l+50%free /dev/ubuntu-vg/ubuntu-lv

Size of logical volume ubuntu-vg/ubuntu-lv changed from 4.00 GiB (1024 extents) to 17.50 GiB (4480 extents).
Logical volume ubuntu-vg/ubuntu-lv successfully resized.


The output shows that the logical volume has grown from 4GB to 17.5GB (approximately 13GB).

7b. 最后,为了让 EXT4 文件系统知道扩展存储,运行命令:

$ sudo resize2fs /dev/ubuntu-vg/ubuntu-lv

resize2fs 1.44.1 (24-Mar-2018)
Filesystem at /dev/ubuntu-vg/ubuntu-lv is mounted on /; on-line resizing required
old_desc_blocks = 1, new_desc_blocks = 3
The filesystem on /dev/ubuntu-vg/ubuntu-lv is now 4587520 (4k) blocks long.
  1. 显示有关的信息已分配再次磁盘存储检查新的磁盘存储空间:

    $df -h

    文件系统大小已使用可用使用率%安装在
    udev上966M 0 966M 0% /dev
    tmpfs 200M 1.1M 199M 1% /run
    /dev/mapper/ubuntu--vg-ubuntu--lv 18G 2.9G 14G 18% /
    tmpfs 997M 0 997M 0% /dev/shm
    tmpfs 5.0M 0 5.0M 0% /run/lock
    tmpfs 997M 0 997M 0% /sys/fs/cgroup
    /dev/loop0 97M 97M 0 100% /snap/core/9436
    /dev/loop1 97M 97M 0 100% /snap/core/9665
    /dev/sda2 976M 212M 697M 24% /boot
    tmpfs 200M 0 200M 0% /run/user/1000

    输出显示逻辑卷的大小现已增长到 18GB(从之前的 4GB)

答案2

我通过在 Windows 7 主机上设置路径以包含 VirtualBox 安装目录来修复我的 VirtualBox 机器(步骤):

  1. 点击开始按钮
  2. 右键点击计算机
  3. 单击“属性”
  4. 单击“高级系统设置”
  5. 在[高级]选项卡上单击[环境变量]按钮
  6. 在系统变量下,向下滚动到路径并单击[编辑]
  7. 将引号中的所有内容添加到行尾“;C:\Program Files\Oracle\VirtualBox\”
  8. 点击[确定]

接下来移动到 VirtualBox 磁盘的目录(在 username\VirtualBox VMs 下),取自(https://forums.virtualbox.org/viewtopic.php?f=7&t=52351

  1. 打开 cmd 并移至 VirtualBox 驱动器
  2. 输入此命令:VBoxManage showhdinfo
  3. 记下磁盘的 UUID。
  4. 输入此命令:VBoxManage modifiedhd UUID_of_the_VDI_disk --resize 80000(这会使磁盘变为 80 GB,请调整为所需的大小)

重要步骤从这里开始: 接下来在 LiveCD(安装磁盘)上启动虚拟机(取自使用未分配的空间扩展 Ubuntu 分区大小(交换位于这两者之间)

我再强调一下:

强烈建议在执行调整大小/移动/扩展操作之前备份所有重要文件。

操作方法是删除交换分区,扩展所需的分区,然后重新创建交换分区。

仅当关闭交换后才可以删除交换分区:

关闭 SWAP: sudo /sbin/swapoff -a 打开 SWAP: sudo /sbin/swapon -a

步骤:

  1. 从 Ubuntu LiveCD 启动
  2. 打开终端,然后关闭交换
  3. 安装 GParted
  4. 扩展所需的分区,但要留出交换空间
  5. 提交更改
  6. 创建交换分区
  7. 打开交换

注意:如果你的交换分区不是主硬盘,请参阅 SwapFaq 了解如何激活交换分区

强烈建议在执行调整大小/移动/扩展操作之前备份所有重要文件。

答案3

在虚拟机中运行 Ubuntu Gnome 15.04 的 Ubuntu 15.04 上也遇到了同样的问题。似乎尽管它是“动态分配的存储”,但 VirtuaBox 并没有增加它,而我的存储量已降到最后 100MB,它不允许我通过软件更新进行更新。解决方案是通过终端执行更新。

sudo apt-get upgrade

这似乎迫使 VirtualBox 创建额外的存储空间,更新开始后,可用存储空间就增加到 500MB。

答案4

这似乎与虚拟磁盘的增长无关,因为您应该会收到来自 VirtualBox 的错误消息,告诉您它无法为虚拟磁盘分配更多磁盘空间。

一些想法:

  • 您是否在虚拟机中使用了特殊的分区方案?
  • 你的虚拟机中的结果是什么df -h
  • 您可以使用它baobab来搜索哪些内容占用了您的所有/空间。

相关内容