无需重启虚拟机即可调整分区大小

我在一台Proxmox服务器上运行了几个虚拟的Ubuntu机器。它们都只有一个没有LVM的磁盘。当磁盘空间不足时,我会先关闭虚拟机,然后扩大分区,挂载gparted ISO,从该ISO启动,调整分区大小,然后再次启动虚拟机。
现在我想知道是否有一种更简单的方法,而无需重新启动虚拟机。
2个回答

echo 1 > /sys/block/sda/device/rescan
echo 1 > /sys/block/sdb/device/rescan

partprobe

use gdisk or parted

gdisk fix warning and extend disk manually

parted change partion size

## parted can executed as command line. but this is very dangerous
parted -s /dev/sdb "resizepart 2 -1" quit
parted -s /dev/sdb "resizepart 3 100%" quit
resizepart 3 100%

pvresize /dev/sda3

lvextend -l +100%FREE cs/root

xfs_growfs /dev/cs/root

根据目前的写法,你的回答不够清晰。请编辑以添加更多细节,帮助其他人理解这如何回答所提出的问题。你可以在帮助中心找到关于如何撰写好回答的更多信息。 - Community

切换一些关于根文件系统的信息:
df /
# Filesystem     1K-blocks    Used Available Use% Mounted on
# /dev/sda2       31365948 5249140  24500424  18% /

/dev/sda2是块设备/dev/sda的第二个分区。 要调整此分区的大小,您可以使用工具parted。
parted /dev/sda
# (parted) resizepart 2
# Warning: Partition /dev/sda2 is being used. Are you sure you want to continue?
# Yes/No? yes
# End?  [41.0GB]? 82GB
# (parted) q
# Information: You may need to update /etc/fstab.

改变分区大小后,您还需要调整文件系统的大小。
resize2fs /dev/sda2
# resize2fs 1.45.5 (07-Jan-2020)
# Filesystem at /dev/sda2 is mounted on /; on-line resizing required
# old_desc_blocks = 4, new_desc_blocks = 9
# The filesystem on /dev/sda2 is now 18019403 (4k) blocks long.

这是用于检查修改:

df /
# Filesystem     1K-blocks    Used Available Use% Mounted on
# /dev/sda2       70817420 5253016  62349464   8% /

有没有一种方法可以调整到最大尺寸?我不太确定应该填多少GB。 - chovy