growpartpvresize磁盘热扩容(分区扩容只能给最后一个分区执行扩容)

**注:此种属于非lvm整盘扩容 和 分区扩容 ( 非lvm分区扩容中分区扩容,只能扩最后一个分区,不能扩前面以及中间的分区 **

参考:

https://blog.csdn.net/qq_34980668/article/details/119541957

一. 分区扩容

背景

云硬盘从20G扩容到40G(这里只是扩容了云硬空间大小,并不是扩容了分区)

如何扩容/data目录到40G?

二. 操作步骤

扩容/data目录步骤如下

(1).查看vdb云盘大小为40G,挂载到目录/data20G原因文件系统没有刷新 热扩容没有执行

1
2
3
# 查看磁盘 / 查看文件系统
lsblk
df -Th

(2).使用growpart工具扩容分区vdb1 (有分区的情况只能给最后一个分区扩容)

1
2
# 给云盘vdb的最后一个分区扩容1为最后一个分区的分区号
growpart /dev/vdb 1

(3).刷新到文件系统(通过df -Th查看文件系统类型以及分区号执行刷新)

1
2
3
4
5
# 检查分区信息
e2fsck  -f /dev/sdb1
# 刷新到文件系统(通过`df -Th`查看文件系统类型以及分区号执行刷新)
resize2fs /dev/vdb1 (ext4)
xfs_growfs /dev/vdb1 (xfs)

(4). 验证

1
2
# 验证
lsblk // df -Th

(4). 或使用fdisk命令

使用fdisk -l查看没有分出来的容量再使用fdisk /dev/vdb将没有分出来的容量再分出一个区即可

三. 整盘扩容

若该磁盘已挂载只需要使用文件系统命令刷新一下df -Th即可显示。** **刷新到文件系统

1
2
3
4
5
# 检查分区信息
e2fsck -f /dev/vdb
# 刷新到文件系统 (对于已挂载的情况)
resize2fs /dev/vdb (ext4)
xfs_growfs /dev/vdb (xfs)

四. pvresize实现lvm卷扩容

  • 现象
  • 需要实现的需求****将vda3里面的剩余空间扩展到lvm卷cl_blackcube-root
  • 解决
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    # 刷新分区表命令(有时已经刷新了但会延迟需要手动刷新分区表)
    partprobe
    # 将vda剩余空间扩展到vda最后一个分区vda3
    growpart /dev/vda 3  
    # 使用pvresize 命令来扩展 /dev/vda3 的物理卷
    sudo pvresize /dev/vda3
    # 查看
    pvs
    # 扩展100%到lvm卷
    lvextend -l +100%FREE /dev/mapper/cl_blackcube-root
    # 扩容到500G
    lvextend -L 500G /dev/mapper/cl_blackcube-root
    # 刷新到文件系统
    xfs_growfs /dev/mapper/cl_blackcube-root  

    pvs

    扩展到lvm

    刷新到文件系统

    lvm卷数据盘为整盘未分区时扩容

    扩展到lvm

    此时热扩容完成。

五. 总结

1、先扩容云硬盘大小

2growpart工具扩容分区

3xfs_growfs(用于XFS文件系统)或者resize2fs命令(用户ext2/ext3/ext4)扩容文件系统