我在 Hyper-V 上创建了一个 Ubuntu 20.04 LTS 虚拟机 (VM),现在我的磁盘空间不足,需要增加文件系统空间。
答案1
我尝试了 18.04 上的现有解决方案,发现它无法正常工作,输出为“无事可做”。进一步搜索后发现步骤类似但略有不同,需要合并网络上其他解决方案中的一些不同部分才能正常工作。
设置:Hyper-V;VHDX 文件作为硬盘;Ubuntu-18.04
脚步:
按照现有解决方案中提到的那样通过 Hyper-V 扩展 VDHX 文件,然后在 VM 内部:
fdisk -l
查看哪个分区是当前的 Ubuntu 设置 - 根据大小应该很明显(在我的情况下是 sda3)
growpart /dev/sda 3
请注意提到的空间。
pvresize /dev/sda3
这是很多地方都没有提到的步骤;它是允许逻辑卷扩展步骤工作的中间步骤。
lvextend -l +100%FREE /dev/ubuntu-vg/ubuntu-lv
该
/dev/
部分可以在步骤 1 的 fdisk 输出中看到。resize2fs /dev/mapper/ubuntu--vg-ubuntu--lv
完成上述准备后,此步骤即可生效。只需几分钟,然后即可验证
df -h
分区是否已扩展。
答案2
这是我多次遇到的问题,我决定留下一个公开的踪迹,以便了解如何快速解决这个问题。
- 在 Hyper-V 中,编辑虚拟机并进入“硬盘”
- 点击“编辑”,选择“扩展”,输入所需尺寸
- 重新启动虚拟机
- 通过 SSH 进入虚拟机
- 运行
sudo lvdisplay
获取逻辑卷的名称 - 运行
sudo lvextend -l +100%FREE /dev/ubuntu-vg/ubuntu-lv
以将卷扩展到可用的最大大小 - 运行
df -h
查看文件系统可用空间的状态 - 获取目标文件系统的名称(通常为
/dev/mapper/ubuntu--vg-ubuntu--lv
) - 运行
sudo resize2fs /dev/mapper/ubuntu--vg-ubuntu--lv
以调整文件系统大小 - 再次运行
df -h
,你现在应该会看到你的卷已经扩展
就这样!重启也许不是一个坏主意。
答案3
对我来说,sudo lvdisplay
由于某种原因,它不起作用并且什么也不返回。GParted
也拒绝启动。
所以我不得不寻找其他方法。以下是给我带来好运的方法:
- 再次启动虚拟机并安装 Guest Utils:
$ sudo apt install cloud-guest-utils
- 如果不使用英语,请覆盖语言环境设置以避免非英语语言环境出现问题:
$ LC_ALL=C
- 将分区扩展到可用空间:
$ sudo growpart /dev/sda 5
# NB: space between `partition` and `id`!
- 调整大小:
$ sudo resize2fs /dev/sda5
# NB: *no space* between partition and id!
答案4
设置:
Proxmox 7
磁盘模型:QEMU HARDDISK
Ubuntu 20.04.3 LTS
按照 Proxmox VM 磁盘调整大小步骤通过 Proxmox 扩展 QEMU HARDDISK 文件,然后在 VM 内部:
$ sudo fdisk -l
查看哪个分区是当前的 Ubuntu 设置 - 根据大小应该很明显(在我的情况下是 sda2)
$ sudo growpart /dev/sda 2
# NB: space between `partition` (/dev/sda) and `id` (2)!
调整大小:
$ sudo resize2fs /dev/sda2
# NB: *no space* between partition and id!