当前位置:首页>Linux>超全 Linux 磁盘扩容指南!运维必备实操手册

超全 Linux 磁盘扩容指南!运维必备实操手册

  • 2026-10-21 13:29:12
超全 Linux 磁盘扩容指南!运维必备实操手册
在日常运维工作中,磁盘空间告急几乎是每个工程师都会遇到的棘手问题。不同的磁盘分配方式,对应的扩容方案也大不相同。今天就为大家整理了生产环境中常用的 Linux 系统磁盘扩容方法,涵盖原有磁盘扩容、新增磁盘扩容、LVM 逻辑卷扩容三大场景,步骤详细可直接上手操作,建议收藏备用~

一、在原有磁盘扩容

原有磁盘扩容分为 “扩容单个分区” 和 “扩容一整块磁盘” 两种情况。

情况 1:扩容的磁盘是一个分区

现有环境:需对 /dev/vdb1 设备扩容,当前分区 100G,整个磁盘共 200G,需将剩余 100G 扩容到该分区。通过lsblk命令可查看磁盘分区情况:

[root@localhost ~]# lsblk

步骤 1:安装扩容工具

使用growpart工具可实现分区扩容及文件系统扩展,需单独安装:

yum install cloud-utils-growpart -y

步骤 2:扩容分区

⚠️ 温馨提示:单盘有多个连续分区时,仅能扩容最后一个分区

执行以下命令扩容 /dev/vdb 磁盘的第一个分区:

[root@localhost ~]# growpart /dev/vdb 1

通过lsblk –f命令查看分区格式(后续需根据格式选择扩容命令)

步骤 3:扩容文件系统

  • 若分区格式为 xfs,使用xfs_growfs命令:
[root@localhost ~]# xfs_growfs /dev/vdb1

若分区格式为 ext4,使用resize2fs命令:

[root@localhost ~]# resize2fs /dev/vdb1

情况 2:扩容的磁盘是一整块磁盘

这种场景无需调整分区,直接扩容文件系统即可。

步骤 1:环境准备

先格式化并挂载磁盘:

# 格式化为xfs文件系统[root@localhost ~]# mkfs.xfs /dev/vdb# 挂载到/data目录[root@localhost ~]# mount /dev/vdb /data

当前 /dev/vdb 为 100G,在云平台将其扩容至 200G 后进行后续操作。

步骤 2:查看分区格式

[root@localhost ~]# lsblk –f

步骤 3:扩容文件系统

  • xfs 格式:
[root@localhost ~]# xfs_growfs /dev/vdb# 也可直接通过挂载点扩容[root@localhost ~]# xfs_growfs /data

ext4 格式:

[root@localhost ~]# resize2fs /dev/vdb

二、新增磁盘扩容

当原有磁盘采用 MBR 分区模式(最大支持 2T),无法满足存储需求时,需通过新增磁盘扩容。

步骤 1:格式化新增磁盘

[root@localhost ~]# mkfs.xfs /dev/vdb

步骤 2:创建挂载目录并挂载

# 创建/data目录[root@localhost ~]# mkdir /data# 挂载/dev/vdb到/data[root@localhost ~]# mount /dev/vdb /data

步骤 3: 配置开机自动挂载

编辑 /etc/fstab 文件,添加自动挂载配置:

[root@localhost ~]# cat >> /etc/fstab <<EOF/dev/vdb    /data    xfs  defaults  0 0EOF

三、逻辑卷 LVM 扩容

仅适用于操作系统使用 LVM 管理磁盘的场景,分为 “原有磁盘扩容” 和 “新增磁盘扩容” 两种情况。

情况 1:原有磁盘增加容量,扩容到原有分区

步骤 1:查看扩容前环境

[root@localhost ~]# df -h

步骤 2:在原磁盘创建新分区

使用fdisk工具对 /dev/vdb 磁盘分区:

[root@localhost ~]# fdisk /dev/vdb[root@localhost ~]# partprobe /dev/vdb

步骤 3:扩容卷组 VG

# 创建物理卷PV[root@localhost ~]# pvcreate /dev/vdb1Physical volume "/dev/vdb1" successfully created.# 扩容卷组ubuntu-vg[root@localhost ~]# vgextend ubuntu-vg /dev/vdb1Volume group "ubuntu-vg" successfully extended# 查看卷组信息(确认VFree有可用空间)[root@localhost ~]# vgs

步骤 4:扩容逻辑卷 LV

将卷组所有空闲空间分配给逻辑卷:

[root@localhost ~]#  lvresize -l +100%FREE /dev/mapper/ubuntu--vg-ubuntu--lv

步骤 5:扩容文件系统

  • xfs 格式:
[root@localhost ~]# xfs_growfs /dev/mapper/ubuntu--vg-ubuntu--lv

ext 格式:

[root@localhost ~]# resize2fs /dev/mapper/ubuntu--vg-ubuntu--lv

情况 2:新增磁盘扩容到原有分区

操作与情况 1 类似,仅需跳过 “创建新分区” 步骤,直接将新增磁盘创建为物理卷:

[root@localhost ~]# pvcreate /dev/vdb

后续步骤(vgextend、lvresize、文件系统扩容)与情况 1 完全一致,注意根据实际 LV 名称调整命令即可。

温馨提示

  1. 所有扩容操作前,新手务必做快照备份,避免数据丢失;
  2. 单盘多连续分区时,仅能扩容最后一个分区;
  3. 扩容文件系统时,需根据分区格式选择对应命令;
  4. 不同云平台或虚拟化平台的磁盘扩容支持情况不同,需提前确认。

以上就是 Linux 系统常用的磁盘扩容方法,覆盖了大部分生产环境场景。如果对你有帮助,欢迎点赞、关注、收藏,后续会分享更多运维实操技巧~ 如有疑问,可在评论区留言交流!

最新文章

随机文章