CentOS 6.5 - LVM在线扩容以及添加新硬盘

逻辑卷管理(LVM)是Linux系统中动态调整磁盘空间的核心工具,支持在线扩容(无需停机),在生产环境中可避免服务中断。本文详细讲解CentOS 6.5下通过添加新硬盘扩展LVM的完整流程,包含环境检查、硬件初始化、LVM层级扩容(PV→VG→LV)、文件系统调整等步骤,并总结最佳实践与常见问题。

目录#

  1. 环境准备与现状检查
  2. 添加新硬盘并初始化
  3. 创建物理卷(PV)
  4. 扩展卷组(VG)
  5. 扩展逻辑卷(LV)
  6. 调整文件系统大小
  7. 验证扩容结果
  8. 常见问题与最佳实践

1. 环境准备与现状检查#

在扩容前,需明确当前LVM结构(卷组、逻辑卷、物理卷)和文件系统使用情况,避免操作失误。

1.1 检查LVM与文件系统状态#

使用以下命令收集关键信息:

# 查看卷组(VG)信息(名称、大小、剩余空间)
vgs  
 
# 查看逻辑卷(LV)信息(路径、大小、所属VG)
lvs  
 
# 查看物理卷(PV)信息(路径、大小、所属VG)
pvs  
 
# 查看文件系统挂载与空间使用
df -h  

示例场景

  • 卷组 vg_centos 剩余空间不足(Free PE 接近0)。
  • 逻辑卷 /dev/vg_centos/lv_root 已用空间占比 > 90%,需扩容。

2. 添加新硬盘并初始化#

假设新硬盘为 /dev/sdb(可通过 fdisk -llsblk 确认硬件识别)。需对新硬盘分区(或直接使用整个磁盘)。

2.1 磁盘分区(推荐:创建LVM类型分区)#

使用 fdisk 对新硬盘分区(以分区 /dev/sdb1 为例):

# 进入fdisk工具
fdisk /dev/sdb  
 
# 执行以下交互命令:
n       # 新建分区
p       # 主分区
1       # 分区编号(默认1)
<回车>  # 起始扇区(默认)
<回车>  # 结束扇区(默认,使用全部空间)
t       # 修改分区类型
8e      # LVM分区类型(hex码为8e)
w       # 保存并退出

验证分区

fdisk -l /dev/sdb  # 确认分区/dev/sdb1类型为“Linux LVM”

3. 创建物理卷(PV)#

将新硬盘(或分区)初始化为LVM的物理卷:

# 若使用分区(如/dev/sdb1):
pvcreate /dev/sdb1  
 
# 若使用整个磁盘(无分区):
pvcreate /dev/sdb  
 
# 验证PV创建:
pvs  # 查看新PV是否出现在列表中

4. 扩展卷组(VG)#

将新PV添加到目标卷组(如 vg_centos):

vgextend vg_centos /dev/sdb1  
 
# 验证VG扩展:
vgs  # 查看VG的“Free PE”是否显著增加

5. 扩展逻辑卷(LV)#

确定需扩容的逻辑卷(如 /dev/vg_centos/lv_root),扩展其容量。

5.1 扩展LV容量#

有两种扩容方式:

  • 方式1:指定扩容大小(如增加10GB):

    lvextend -L +10G /dev/vg_centos/lv_root  
  • 方式2:使用卷组全部剩余空间

    lvextend -l +100%FREE /dev/vg_centos/lv_root  

5.2 验证LV扩展#

lvs  # 查看LV的“Size”是否增加

6. 调整文件系统大小#

LV扩容后,需同步文件系统(如ext4)的大小:

# 对于ext4文件系统(CentOS 6.5默认):
resize2fs /dev/vg_centos/lv_root  
 
# (若为XFS文件系统,需用xfs_growfs)
# xfs_growfs /dev/vg_centos/lv_root  

7. 验证扩容结果#

7.1 检查文件系统空间#

df -h  # 查看挂载点(如/)的可用空间是否增加

7.2 检查LVM结构#

lvs  # 确认LV的“Size”已更新
vgs  # 确认VG的“Free PE”已减少(因LV占用了新空间)

8. 常见问题与最佳实践#

8.1 常见问题#

  • 问题1resize2fs 报错“文件系统不支持在线调整”?
    答:CentOS 6.5的ext4默认支持在线调整,若报错需检查:

    • 文件系统是否为ext4(mount | grep /dev/vg_centos/lv_root)。
    • 逻辑卷是否已挂载(在线扩容需保持挂载)。
  • 问题2vgextend 失败,提示“设备已存在于VG中”?
    答:检查 pvs 确认PV是否已属于其他VG,或执行 vgreduce --removemissing 清理残留配置。

8.2 最佳实践#

  • 备份优先:操作前备份关键数据(如 tar -czvf /backup/data.tar.gz /data)。
  • 分步验证:每一步(PV创建、VG扩展、LV扩展、文件系统调整)后执行验证命令。
  • 监控性能:在线扩容时,用 iostat -x 1 监控磁盘I/O,避免业务高峰期操作。
  • PE粒度规划:LVM的PE(物理扩展块)默认4MB,扩容时通过 vgdisplay 查看PE大小,确保容量规划合理。

参考#

  1. Red Hat官方文档:LVM Administration
  2. LVM命令手册:man pvcreateman vgextendman lvextend
  3. 社区实践:CentOS LVM在线扩容指南

通过以上步骤,即可在CentOS 6.5环境下完成LVM的在线扩容(添加新硬盘→扩展VG→扩展LV→调整文件系统),全程无需停机,保障业务连续性。实践中需结合实际环境(文件系统类型、VG/LV命名)调整命令参数,确保操作安全。