logo
tt's Note
  • 运维
    • 数据库
    • linux
    • vpn
    • 日志
    • 中间件
    • 服务
    • 监控
    • shell
    • windows
    • 语言
    • 云服务
    • 其他
  • 开发
    • 工具
  • 软件
    • 浏览器
    • 多端
    • win
    • mac
    • 网站
  • 项目
    • 效率工具
    • 兴趣
  • 脚本
    • jenkins
    linux概览
    bbr加速
    debian技巧
    docker安装
    免密ssh
    linux挂载硬盘
    linux硬盘扩容
    nfs
    ssl证书
    升级内核
    安装golang
    安装java17
    脚本整合
    设置smb
    调整目录大小
    邮件服务
    防火墙
    上一页linux挂载硬盘下一页nfs

    #linux硬盘扩容

    Tip

    文档使用了阿里开发的cloud-utils-growpart包, 点击跳转

    如创建虚拟机的时候硬盘容量为100GB,后续在原有的虚拟硬盘上再增加100GB的场景

    #查看容量

    fdisk -lu
    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

    #扩容分区

    centos7
    debian12
    # 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

    #扩容文件系统

    df -hT

    Type值为文件系统类型,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

    #ext*(ext2、ext3、ext4)文件系统

    以扩容云盘分区/dev/vdb1的ext*文件系统为例,则运行如下命令:

    resize2fs /dev/vdb1

    说明 如果您扩容的是系统盘,命令中的/dev/vdb1需要替换为/dev/vda1。

    以扩容裸设备/dev/vdc的ext*文件系统为例,则运行如下命令:

    resize2fs /dev/vdc
    Tip

    实践扩容ext4系统盘

    growpart /dev/sda 1
    resize2fs /dev/sda1

    #xfs文件系统

    以扩容挂载目录为/mnt的xfs文件系统为例,则运行如下命令:

    centos7
    debian12
    type xfs_growfs || yum install -y xfsprogs
    xfs_growfs /data
    type xfs_growfs || apt-get install -y xfsprogs
    xfs_growfs /data

    #btrfs文件系统

    以扩容挂载目录为/mnt的btrfs文件系统为例,则运行如下命令:

    btrfs filesystem resize max /data

    #逻辑卷扩容

    #扩展物理卷(PV)

    如果你已经在使用 LVM(逻辑卷管理),你可以扩展物理卷(/dev/vda)以增加空间。在你的情况中,物理卷已经是 /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)