我最近在 VMWare ESXi 中将虚拟机的硬盘大小从 150 GB 调整为 500 GB。完成此操作后,我使用 Gparted 有效地调整了该映像的分区大小。现在我所要做的就是调整文件系统的大小,因为它仍然显示旧值(正如您从 的输出中看到的df -h
):
Filesystem Size Used Avail Use% Mounted on
/dev/mapper/owncloud--vg-root 157G 37G 112G 25% /
udev 488M 4.0K 488M 1% /dev
tmpfs 100M 240K 100M 1% /run
none 5.0M 0 5.0M 0% /run/lock
none 497M 0 497M 0% /run/shm
/dev/sda1 236M 32M 192M 14% /boot
但是,运行sudo resize2fs /dev/mapper/owncloud--vg-root
会返回以下内容:
resize2fs 1.42 (29-Nov-2011)
The filesystem is already 41608192 blocks long. Nothing to do!
由于 Gparted 说我的分区是/dev/sda5
,我也尝试运行sudo resize2fs /dev/sda5
,但在这种情况下我得到了这个:
resize2fs 1.42 (29-Nov-2011)
resize2fs: Device or resource busy while trying to open /dev/sda5
Couldn't find valid filesystem superblock.
最后,这是输出pvs
:
PV VG Fmt Attr PSize PFree
/dev/sda5 owncloud-vg lvm2 a- 499.76g 340.04g
fdisk -l /dev/sda
显示正确的空间量。
如何调整分区大小,以便最终让操作系统看到 500 GB 的硬盘驱动器?
答案1
非常感谢@Bratchley 的回答和评论。它对我有帮助:)
我的环境:VirtualBox 6.1中的Ubuntu 18.04
我的案例:我创建了 10GB 固定 VDI 磁盘,并使用 VirtualBox GUI 增加到 30GB 动态磁盘。但增加的空间仍然不可用于文件系统。然后遇到@Bratchley 的答案。
我跑的步骤:
- 运行以下命令获取PV(物理体积)姓名(前任:
/dev/sda1
)
sudo pvs
- 调整PV大小(前任:
sudo pvresize /dev/sda1
)
sudo pvresize <PV name from above step>
- 运行以下命令获取根逻辑卷名称(行的文件系统值
/
;例如/dev/mapper/ubuntu--vg-root
:)
df -h
- 扩展逻辑卷(前任 :
sudo lvextend -r -l +100%FREE /dev/mapper/ubuntu--vg-ubuntu--lv
):
sudo lvextend -r -l +100%FREE <root logical volume name from above step>
答案2
如果您仅更改了分区大小,则尚未准备好调整逻辑卷的大小。一旦分区达到新大小,您需要pvresize
在 PV 上执行 a 操作,以便卷组看到新空间。之后,您可以使用lvextend
将逻辑卷扩展到卷组的新空间中。您可以传递-r
该lvextend
命令,以便它自动为您启动resize2fs
。
就我个人而言,我会创建一个新分区并vgextend
在其上使用,因为我与pvresize
.
答案3
sudo btrfs filesystem resize max /
应该能够调整分区大小。
将虚拟磁盘大小扩展至 100GB,但命令df -h
显示使用 调整大小后旧的 spase 大小fdisk
。
btrfs
只需解决 resize2fs:设备或资源繁忙问题。
答案4
首先,您必须扩展驱动器大小以获得所有可用空间。然后调整驱动器大小以使用所有空间。
扩展驱动器空间
lvextend -l +100%FREE /dev/mapper/owncloud--vg-root
调整驱动器大小
resize2fs /dev/mapper/owncloud--vg-root