扩展lvm卷

这是很久以前一个项目工作案例:由于用户数据增长过快,导致一个LVM卷文件文件系统爆满,用户无法存储数据。紧急将原先项目预留的空间划分给该逻辑卷。

存储设备是一台外置的SCSI RAID存储器,在项目最初部署的时候,对存储裸磁盘采用LVM构建了卷管理,以便能够根据项目用户数据使用情况灵活调整。

LVM卷说明

项目有一个存储卷空间爆满

df -h

显示输出存储卷已经爆满:

Filesystem            Size  Used Avail Use% Mounted on
/dev/mapper/VGdata-LVe3
                      493G  468G     0 100% /email/e3

不过在以前建设的时候,实际上已经预留了空间。(存储有1.2T空间预留)

  • VG检查

vgdisplay

显示VG中

  --- Volume group ---
  VG Name               VGdata
  System ID             
  Format                lvm2
  Metadata Areas        1
  Metadata Sequence No  7
  VG Access             read/write
  VG Status             resizable
  MAX LV                0
  Cur LV                4
  Open LV               4
  Max PV                0
  Cur PV                1
  Act PV                1
  VG Size               3.59 TB
  PE Size               4.00 MB
  Total PE              940543
  Alloc PE / Size       614400 / 2.34 TB
  Free  PE / Size       326143 / 1.24 TB
  VG UUID               pald22-Q2AX-XuIZ-hk47-i5hv-wZ0j-zJb5JW

这里可以看到Free PE显示存储有大约1.2T空间预留。

  • LV检查 - 可以看到 /dev/mapper/VGdata-LVe3 这个逻辑卷 (LV Name /dev/VGdata/LVe3)当前空间是500G(LV Size 500.00 GB

扩展逻辑卷

  • 给卷LVe3添加300G空间

  • 停止挂载该卷的NFS服务(针对案例可选,需要确保无读写访问文件系统才能卸载该卷上的文件系统)

扩展ext文件系统的时候,需要先umount文件系统,此时需要停止访问这个文件系统

修改 /etc/exports 注释掉 /email/e3 卷输出

重新输出NFS

  • 然后卸载文件系统挂载

  • 扩展文件系统

如果时间宽裕,不采用任何参数的resize2fs命令会提示需要先fsck磁盘设备。

但是,由于是故障抢修,并且有把握存储服务器没有出现过意外断电等非常情况,文件系统可以保证完整的,则可以跳过fsck过程。

注:对于邮件存储海量文件系统,500G的存储空间进行fsck是一个非常漫长的过程,在故障抢修过程中可能是不愿意花费这个时间的(前提是文件系统是可靠的,否则还是不要冒险忽略这个fsck过程)。

添加-f参数来使用resize2fs命令以忽略fsck过程:

  • 扩展完成后再挂载文件系统

Ext4文件系统支持在线扩展

参考Resizing an Ext4 File Systemarrow-up-right:

ext4文件系统支持在线(mounted)扩展,但是如果要收缩(decrease)文件系统,则需要先卸载(umounted)。但是,需要注意,扩展mounted在线状态的ext4文件系统,需要确保已经激活了resize_inode共嫩,否则就需要先卸载才能resize2fsExtending a Mounted Ext4 File System on LVM in Linuxarrow-up-right)。

以下命令检查逻辑卷是否支持resize_inode

输出显示特性有resize_inode

减小LVM卷分区的操作参考缩小lvm卷arrow-up-right

参考

Last updated