专栏:基础设施管理
难度:进阶
标签:LVM存储管理在线扩容Linux磁盘
前言
磁盘满了又不能停服?LVM(逻辑卷管理)就是解决这个问题的。本文从零讲透LVM三层架构,并演示完整的在线扩容流程。
一、LVM 架构三层
物理磁盘(/dev/sdb, /dev/sdc) ↓ pvcreate 物理卷 PV(Physical Volume) ↓ vgcreate / vgextend 卷组 VG(Volume Group)—— 存储池 ↓ lvcreate / lvextend 逻辑卷 LV(Logical Volume)—— 挂载点 ↓ mkfs / mount 文件系统二、基础操作
# 创建PVpvcreate /dev/sdb /dev/sdc pvdisplay# 查看PV信息# 创建VG(将多个PV合并成一个存储池)vgcreate myvg /dev/sdb /dev/sdc vgdisplay myvg# 创建LV(从VG中分配空间)lvcreate-nmylv-L100G myvg# 分配100GBlvcreate-nmylv-l100%FREE myvg# 用掉所有剩余空间# 格式化并挂载mkfs.ext4 /dev/myvg/mylvmount/dev/myvg/mylv /data# 开机自动挂载echo'/dev/myvg/mylv /data ext4 defaults 0 0'>>/etc/fstab三、在线扩容(核心场景)
场景:/data目录满了,新加了一块磁盘/dev/sdd,不停服扩容。
# 第一步:对新磁盘建PVpvcreate /dev/sdd# 第二步:将新PV加入现有VGvgextend myvg /dev/sdd# 第三步:扩展LV(增加50GB)lvextend-L+50G /dev/myvg/mylv# 也可以直接用掉VG中所有空闲空间lvextend-l+100%FREE /dev/myvg/mylv# 第四步:在线扩展文件系统(无需卸载)# ext4文件系统resize2fs /dev/myvg/mylv# xfs文件系统(只支持扩大,不支持缩小)xfs_growfs /data# 验证df-h/data四、LVM 快照
# 创建快照(备份前使用)lvcreate-s-nmylv_snap-L10G /dev/myvg/mylv# 挂载快照查看mount/dev/myvg/mylv_snap /mnt/snap# 从快照恢复lvconvert--merge/dev/myvg/mylv_snap# 删除快照lvremove /dev/myvg/mylv_snap五、常用状态查看命令
pvs# 简洁列出所有PVvgs# 简洁列出所有VGlvs# 简洁列出所有LVpvdisplay# 详细信息vgdisplay lvdisplay结语:LVM是生产环境磁盘管理的标配,掌握它可以让你在不停机的情况下灵活应对存储扩容需求。