真实使用价值在于无需停机、重装或迁移数据即可应对存储突变;涵盖根分区在线扩容、跨磁盘统一管理、快照回退、薄供给及pvmove安全操作要点。

真实使用价值不在于“能扩容”,而在于“不用停机、不用重装、不用迁移数据”就能应对存储突变。
根分区在线扩容:救急不求人
云服务器或虚拟机磁盘扩容后,/ 分区空间告急,传统方式得重装系统或挂载新盘再迁数据。LVM 只需几步:
— 先用 echo 1 > /sys/class/block/sda/device/rescan 让内核识别新容量
— 再用 partprobe /dev/sda 刷新分区表(若已扩分区)
— 接着 pvresize /dev/sda2 扩展物理卷(不是 pvcreate!重复初始化会丢元数据)
— 然后 lvextend -l +100%FREE /dev/centos/root 拉满逻辑卷
— 最后按文件系统类型执行 xfs_growfs / 或 resize2fs /dev/centos/root
常见错误:对 XFS 文件系统误用 resize2fs,报错 Invalid argument;对 ext4 忘记 resize2fs,结果 LV 虽大了但文件系统仍卡在旧大小。
跨磁盘统一管理:告别“这个盘满了,那个盘空着”
加了新硬盘,不用再纠结“/var/log 放哪块盘”——直接 pvcreate /dev/sdd → vgextend vg_data /dev/sdd,整个卷组立刻多出几十GB可用空间,所有 LV 都能共享。这比手动 rsync + umount + remount 快且零风险。
关键点:
— VG 名称要语义化(如 vg_db、vg_backup),别用 vg00 这类编号
— 物理扩展单元(PE)默认 4MB,一般无需改;但若 LV 需频繁小粒度调整,可 vgcreate -s 1M vg_small 自定义
— vgs 输出的 VFree 是真正可分配空间,Alloc 不代表已写满,只是已划给 LV
快照不是备份,但它是故障回退的“最后一秒刹车”
升级前执行 lvcreate -L 2G -s -n snap_pre_upgrade /dev/vg_app/lv_web,5 秒建完。万一升级失败,lvconvert --merge /dev/vg_app/snap_pre_upgrade(需先卸载 LV),自动回滚到快照时刻——比从备份恢复快 10 倍,且不依赖外部工具。
方科网络ERP图文店II版为仿代码站独立研发的网络版ERP销售程序。本本版本为方科网络ERP图文店版的简化版,去除了部分不同用的功能,使得系统更加精炼实用。考虑到图文店的特殊情况,本系统并未制作出入库功能,而是将销售作为重头,使用本系统,可以有效解决大型图文店员工多,换班数量多,订单混杂不清的情况。下单、取件、结算分别记录操作人员,真正做到订单全程跟踪!无限用户级别,不同的用户级别可以设置不同的价
注意:
— 快照本身不备份数据,只记录变化;原始 LV 被破坏,快照也失效
— 快照卷必须和原 LV 在同一 VG 中
— XFS 不支持在线合并快照,ext4 可以;生产环境建议用 lvs -o +snap_percent 监控快照占用,超 80% 就该删或转存
薄供给(thin provisioning):给测试/CI 环境省 70% 存储
为 Jenkins 构建节点批量创建 50G 的 lv_build,实际物理空间只占几百 MB,直到真正写入才分配。命令链:lvcreate -L 20G -T -n thin_pool vg_data → lvcreate -V 50G -T vg_data/thin_pool -n lv_build。
但务必警惕:
— 薄池写满会导致所有依赖它的 LV 冻结(I/O hang),必须配监控(lvs -o+data_percent,metadata_percent)
— lvconvert --thinpool 不能用于已有数据的 LV,只能新建
— 宿主机是 VMware 或 KVM 时,记得开启 discard 支持,否则删除文件不释放底层空间
最常被忽略的一点:LVM 本身不提供冗余,pvmove 迁移数据时若中间断电,可能损坏元数据——务必先 vgcfgbackup 备份配置,再操作。









