常用扩容命令
LC_ALL=en_US.UTF-8 growpart /dev/vdb 1
xfs_growfs /data
growpart /dev/vda 1
partprobe /dev/vda
resize2fs /dev/vda1
LC_ALL=en_US.UTF-8 growpart /dev/nvme0n1 1
resize2fs /dev/nvme0n1p1
Tip
本文档使用了阿里云开发的 cloud-utils-growpart 包,点击查看官方文档。
适用场景: 创建虚拟机时硬盘容量为 100GB,后续在原有虚拟硬盘上再增加 100GB 的情况。
查看容量
Tip
如果扩容硬盘后没有显示新增容量,需要刷新硬盘:
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 1
# MBR 分区
apt-get update
apt-get install -y cloud-guest-utils
LC_ALL=en_US.UTF-8 growpart /dev/vdb 1
# GPT 分区(需安装 gdisk 工具)
apt-get update
apt-get install -y cloud-guest-utils
type sgdisk || apt-get install -y gdisk
LC_ALL=en_US.UTF-8 growpart /dev/vdb 1
扩容文件系统
其中 Type 值为文件系统类型,Mounted on 值为分区的挂载目录。如下所示,/dev/vdb1 分区的文件系统类型为 xfs,挂载目录为 /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
ext*(ext2、ext3、ext4)文件系统
以扩容云盘分区 /dev/vdb1 的 ext* 文件系统为例:
Tip
如果扩容的是系统盘,命令中的 /dev/vdb1 需要替换为 /dev/vda1。
以扩容裸设备 /dev/vdc 的 ext* 文件系统为例:
Tip
实践扩容 ext4 系统盘:
growpart /dev/sda 1
resize2fs /dev/sda1
xfs 文件系统
以扩容挂载目录为 /data 的 xfs 文件系统为例:
type xfs_growfs || yum install -y xfsprogs
xfs_growfs /data
type xfs_growfs || apt-get install -y xfsprogs
xfs_growfs /data
btrfs 文件系统
以扩容挂载目录为 /data 的 btrfs 文件系统为例:
btrfs filesystem resize max /data
常用扩容命令
# 使用挂载硬盘文档里的方法挂载硬盘后,可以直接用以下命令扩容逻辑卷
pvcreate /dev/vdc
vgextend test_vg /dev/vdc
lvextend -l +100%FREE /dev/test_vg/data_lv
xfs_growfs /data
常用删除命令
lvremove /dev/test_vg/data_lv
vgremove test_vg
pvremove /dev/vdc
逻辑卷扩容
扩展物理卷(PV)
如果已经在使用 LVM(逻辑卷管理),可以扩展物理卷(/dev/vda)以增加空间。
pvdisplay
pvresize /dev/vda
扩展卷组(VG)
将新的硬盘空间加入到现有的卷组(如 ubuntu-vg)中。
vgdisplay
vgextend ubuntu-vg /dev/vda
扩展逻辑卷(LV)
扩展根文件系统所在的逻辑卷(如 ubuntu-lv)。
lvdisplay
lvextend -l +100%FREE /dev/ubuntu-vg/ubuntu-lv
扩展文件系统
扩展文件系统以便使用新增的空间(执行与物理卷相同的操作,区分 ext4 和 xfs)。