Linux

关注公众号 jb51net

关闭
首页 > 网站技巧 > 服务器 > Linux > Linux进行磁盘扩容

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

作者:醉风塘

将第二块硬盘添加到已存在的逻辑卷(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空闲空间

关键信息记录

步骤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 检查数据完整性(可选)
# 如果扩展的是数据库或重要应用的文件系统,运行应用自检

完整操作示例

假设场景:

# 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. 生产环境建议:先在测试环境演练,并在业务低峰期操作

最终验证清单

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

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

您可能感兴趣的文章:
阅读全文