Linux进行磁盘扩容的详细步骤

 更新时间:2026年05月18日 09:57:18   作者:醉风塘  
将第二块硬盘添加到已存在的逻辑卷(Logical Volume)需要通过扩展卷组(Volume Group)实现,以下是详细操作步骤,分为两个主要阶段:首先将新硬盘加入卷组,然后扩展逻辑卷和文件系统,需要的朋友可以参考下

操作概览与警告

核心逻辑:新硬盘 → 物理卷(PV) → 扩展卷组(VG) → 扩展逻辑卷(LV) → 扩展文件系统

重要警告

  1. 操作前务必备份重要数据,错误操作可能导致数据丢失
  2. 确保文件系统支持在线扩展(ext4、XFS等主流文件系统支持)
  3. 确认逻辑卷有足够的剩余物理区域或按此指南添加新的物理卷

第一阶段:准备与验证

步骤1:识别新硬盘和现有LVM结构

# 1.1 查看所有硬盘和分区
sudo lsblk
sudo fdisk -l

# 1.2 查看当前LVM结构
sudo pvs        # 查看物理卷
sudo vgs        # 查看卷组
sudo lvs        # 查看逻辑卷
sudo vgdisplay  # 查看卷组详情(记下VG Name)

预期输出示例

# vgs 输出示例:
  VG     #PV #LV #SN Attr   VSize   VFree
  myvg     1   2   0 wz--n- 100.00g    0
# 这里显示卷组"myvg"目前有1个物理卷,0空闲空间

关键信息记录

  • 新硬盘设备名(如:/dev/sdb
  • 目标卷组名(VG Name,如:myvg
  • 目标逻辑卷名(LV Name,如:mylv

步骤2:检查文件系统类型和挂载状态

# 2.1 确认要扩展的逻辑卷的文件系统类型
sudo blkid /dev/myvg/mylv

# 2.2 检查挂载点(确保逻辑卷已挂载)
df -hT | grep mylv
mount | grep mylv

# 2.3 对于XFS文件系统,必须确保已挂载才能扩展

第二阶段:执行扩展操作

步骤3:在新硬盘上创建物理卷

# 3.1 如果硬盘是全新的,直接创建物理卷
sudo pvcreate /dev/sdb

# 3.2 验证物理卷创建成功
sudo pvs /dev/sdb

步骤4:将物理卷扩展到现有卷组

# 4.1 扩展卷组(将新物理卷加入卷组)
sudo vgextend myvg /dev/sdb

# 4.2 验证卷组扩展
sudo vgs myvg
sudo vgdisplay myvg

预期变化VFree字段现在显示新增的可用空间。

步骤5:扩展逻辑卷

# 5.1 查看逻辑卷路径
sudo lvs

# 5.2 扩展逻辑卷(使用所有新增空间)
# 方法A:使用所有可用空间
sudo lvextend -l +100%FREE /dev/myvg/mylv

# 方法B:扩展指定大小(如50GB)
# sudo lvextend -L +50G /dev/myvg/mylv

# 方法C:扩展到具体大小
# sudo lvextend -L 200G /dev/myvg/mylv

# 5.3 验证逻辑卷扩展
sudo lvs /dev/myvg/mylv

步骤6:扩展文件系统

根据文件系统类型选择对应命令

情况A:ext2/ext3/ext4文件系统

# 6.A.1 如果逻辑卷已挂载(在线扩展)
sudo resize2fs /dev/myvg/mylv

# 6.A.2 如果逻辑卷未挂载(离线扩展)
# sudo umount /mount/point
# sudo e2fsck -f /dev/myvg/mylv
# sudo resize2fs /dev/myvg/mylv
# sudo mount /dev/myvg/mylv /mount/point

情况B:XFS文件系统

# XFS必须在线扩展(必须已挂载)
# 6.B.1 确认挂载点
mount | grep mylv

# 6.B.2 扩展XFS文件系统
sudo xfs_growfs /mount/point
# 或者使用设备路径
# sudo xfs_growfs /dev/myvg/mylv

情况C:其他文件系统

# btrfs文件系统
sudo btrfs filesystem resize max /mount/point

# LVM精简卷(thin pool)
sudo lvextend -l +100%FREE myvg/mylv_pool

步骤7:验证最终结果

# 7.1 检查逻辑卷大小
sudo lvdisplay /dev/myvg/mylv | grep "LV Size"

# 7.2 检查文件系统大小
df -hT | grep mylv

# 7.3 检查数据完整性(可选)
# 如果扩展的是数据库或重要应用的文件系统,运行应用自检

完整操作示例

假设场景:

  • 新硬盘:/dev/sdb
  • 卷组名:datavg
  • 逻辑卷:datalv(ext4文件系统,挂载在/data
# 1. 查看当前状态
sudo vgs datavg
sudo df -h /data

# 2. 创建物理卷
sudo pvcreate /dev/sdb
sudo pvs /dev/sdb

# 3. 扩展卷组
sudo vgextend datavg /dev/sdb
sudo vgs datavg

# 4. 扩展逻辑卷
sudo lvextend -l +100%FREE /dev/datavg/datalv
sudo lvs /dev/datavg/datalv

# 5. 扩展ext4文件系统
sudo resize2fs /dev/datavg/datalv

# 6. 验证
df -h /data
sudo lvdisplay /dev/datavg/datalv

故障排除与注意事项

问题可能原因解决方案
vgextend报错硬盘已有LVM签名使用sudo pvcreate -ff /dev/sdb强制创建
resize2fs报错文件系统错误先运行sudo e2fsck -f /dev/myvg/mylv
XFS无法扩展逻辑卷未挂载先挂载逻辑卷再执行xfs_growfs
空间未正确显示缓存问题重启系统或使用partprobe更新内核分区表

重要安全提示:

  1. 操作顺序不可颠倒:必须先扩展逻辑卷,再扩展文件系统
  2. 确保电源稳定:扩展过程中断电可能导致数据损坏
  3. 生产环境建议:先在测试环境演练,并在业务低峰期操作

最终验证清单

  • 备份重要数据已完成
  • 识别正确的硬盘和卷组名
  • 新物理卷创建成功
  • 卷组扩展成功(vgs显示新空间)
  • 逻辑卷扩展成功(lvs显示新大小)
  • 文件系统扩展成功(df -h显示新容量)
  • 数据访问正常,无错误日志

通过以上步骤,你可以安全地将第二块硬盘空间添加到现有的逻辑卷中。整个过程的关键是准确识别设备名和LVM组件名称,并按照正确的顺序执行操作

以上就是Linux进行磁盘扩容的详细步骤的详细内容,更多关于Linux进行磁盘扩容的资料请关注脚本之家其它相关文章!

相关文章

  • CentOS 7中 Apache Web 服务器安装配置教程

    CentOS 7中 Apache Web 服务器安装配置教程

    这篇文章主要介绍了CentOS 7中 Apache Web 服务器安装配置教程,需要的朋友可以参考下
    2018-04-04
  • Apache POI用法示例详解

    Apache POI用法示例详解

    Apache POI是一个开源的Java API,用于处理Microsoft Office文档,提供了多种组件,例如HSSF、XSSF等,以支持不同格式如Excel、Word、PowerPoint等文件的读写操作,本文介绍Apache POI用法,感兴趣的朋友跟随小编一起看看吧
    2024-09-09
  • Windows Linux子系统(WSL)删除与重装的问题及解决过程

    Windows Linux子系统(WSL)删除与重装的问题及解决过程

    Windows Subsystem for Linux (WSL) 删除与重装问题的解决方法:首先使用 `wslconfig /u` 命令卸载,然后通过 PowerShell 删除已安装的软件包,最后在 Windows Store 重新下载应用程序
    2026-01-01
  • Linux性能监控的工具集和分析命令工具详解

    Linux性能监控的工具集和分析命令工具详解

    本文主要介绍了磁盘IO性能指标,包括IOPS、吞吐量/带宽、访问时延、使用率和饱和度等,并详细介绍了iostat和iotop这两个常用的性能监控工具的使用方法和参数
    2025-12-12
  • linux版nacos配置文件修改端口不生效的解决方案

    linux版nacos配置文件修改端口不生效的解决方案

    修改Nacos配置文件中的端口号不生效,可能是由于启动脚本覆盖了配置文件的设置,建议直接编辑nacos-server.jar内的application.properties文件,或者在启动脚本startup.sh中删除相关配置
    2026-02-02
  • win10系统下安装superset的步骤

    win10系统下安装superset的步骤

    这篇文章主要介绍了win10系统下安装superset的步骤,本文是基于python3.7 win10 64位下的环境安装,需要的朋友可以参考下
    2019-12-12
  • Linux不丢失数据无损扩容分区操作命令实例

    Linux不丢失数据无损扩容分区操作命令实例

    这篇文章主要介绍了Linux不丢失数据无损扩容分区操作命令实例,在实际操作前,请确保备份重要数据,并确认分区和文件系统的类型,因为不同的文件系统扩展方法会不同,如果是在线扩容,请确保没有挂载使用该分区或者文件系统
    2024-06-06
  • centos7(redhat7)如何卸载自带yum并且安装国内yum源的方法

    centos7(redhat7)如何卸载自带yum并且安装国内yum源的方法

    本篇文章主要介绍了centos7(redhat7)如何卸载自带yum并且安装国内yum源的方法,具有一定的参考价值,有兴趣的可以了解一下
    2017-08-08
  • Linux中的EXT系列文件系统格式详解

    Linux中的EXT系列文件系统格式详解

    这篇文章主要给大家介绍了关于Linux中EXT系列文件系统格式的相关资料,文中通过示例代码介绍的非常详细,对大家学习或者使用Linux系统具有一定的参考学习价值,需要的朋友们下面来一起学习学习吧
    2019-06-06
  • CentOS下MySQL安装详细步骤

    CentOS下MySQL安装详细步骤

    首先通过网络链接的方式在线安装上mysql服务器端,然后通过相关命令操作启动,本文给大家介绍CentOS下MySQL安装详细步骤,感兴趣的朋友一起看看吧
    2016-11-11

最新评论