文档使用了阿里开发的cloud-utils-growpart包, 点击跳转
如创建虚拟机的时候硬盘容量为100GB,后续在原有的虚拟硬盘上再增加100GB的场景
fdisk -lu在扩容硬盘后没有新增容量, 就需要刷新硬盘
ls /sys/class/scsi_disk/
0:0:0:0 0:0:1:0
# 这条命令用于重新扫描指定的 SCSI 设备。具体来说,它会通知操作系统重新检测该设备的状态,包括磁盘容量变化、新分区的添加等。
echo 1 > /sys/class/scsi_disk/0:0:1:0/device/rescan# MBR分区
type growpart || yum install -y cloud-utils-growpart
LC_ALL=en_US.UTF-8 growpart /dev/vdb 1
# GPT分区(需安装gdisk工具)
type growpart || yum install -y cloud-utils-growpart
type sgdisk || yum install -y gdisk
LC_ALL=en_US.UTF-8 growpart /dev/vdb 1df -hTType值为文件系统类型,Mounted on值为分区的挂载目录。如下图表示/dev/vdb1分区的文件系统类型为ext4,挂载目录为/data。
文件系统 类型 容量 已用 可用 已用% 挂载点
devtmpfs devtmpfs 7.7G 0 7.7G 0% /dev
tmpfs tmpfs 7.7G 340K 7.7G 1% /dev/shm
tmpfs tmpfs 7.7G 2.1M 7.7G 1% /run
tmpfs tmpfs 7.7G 0 7.7G 0% /sys/fs/cgroup
/dev/vda1 ext4 20G 3.2G 16G 18% /
/dev/vdb1 xfs 300G 161G 140G 54% /data以扩容云盘分区/dev/vdb1的ext*文件系统为例,则运行如下命令:
resize2fs /dev/vdb1说明 如果您扩容的是系统盘,命令中的/dev/vdb1需要替换为/dev/vda1。
以扩容裸设备/dev/vdc的ext*文件系统为例,则运行如下命令:
resize2fs /dev/vdc实践扩容ext4系统盘
growpart /dev/sda 1
resize2fs /dev/sda1以扩容挂载目录为/mnt的xfs文件系统为例,则运行如下命令:
type xfs_growfs || yum install -y xfsprogs
xfs_growfs /data以扩容挂载目录为/mnt的btrfs文件系统为例,则运行如下命令:
btrfs filesystem resize max /data如果你已经在使用 LVM(逻辑卷管理),你可以扩展物理卷(/dev/vda)以增加空间。在你的情况中,物理卷已经是 /dev/vda,你需要扩展它。
pvdisplay
pvresize /dev/vda将新的硬盘空间加入到现有的卷组(ubuntu-vg)中。
vgdisplay
vgextend ubuntu-vg /dev/vda扩展根文件系统所在的逻辑卷(ubuntu-lv)。
lvdisplay
lvextend -l +100%FREE /dev/ubuntu-vg/ubuntu-lv扩展文件系统,以便使用新增的空间。(执行物理卷一样的操作,分ext4和xfs)