讲师中心 微信公众号
AI工具推荐 视频效率加速

如何利用LVM的Snapshot快照技术实现大容量物理磁盘秒级块级一致性冷备份

夏芳姑娘_8934

夏芳姑娘_8934

发布时间:2026-05-24 10:10:54

|

906人浏览过

|

来源于php中文网

原创

LVM快照无法对物理磁盘本身做秒级冷备份,仅支持逻辑卷(LV)的瞬时、块级一致备份,需确保全部业务数据位于LVM管理的LV上,并配合数据库静默(如FLUSH TABLES WITH READ LOCK)与合理快照空间规划。

如何利用lvm的snapshot快照技术实现大容量物理磁盘秒级块级一致性冷备份

LVM Snapshot 不能对“大容量物理磁盘”本身做秒级冷备份——它只作用于逻辑卷(LV),不管理物理磁盘(PV)的扇区、坏块、固件或未纳入LVM的分区。所谓“物理磁盘秒级块级一致性冷备份”,实际是指:**在数据全部位于LVM管理的逻辑卷前提下,对这些LV做瞬时、块级一致、服务可不停机(但数据库需协调静默)的备份**。关键不是“物理盘”,而是“LV上的数据是否覆盖全部业务”。 下面分四部分讲清楚怎么做、为什么这样、容易错在哪、怎么防失效:

一、必须满足的硬性前提

快照只认LV,不认物理盘。跳过这步,后续全白忙:

  • 所有业务数据必须挂载在LVM逻辑卷上:运行 df -h /data /var/lib/mysql /opt/app,确认路径对应设备是 /dev/mapper/vgname-lvname 或 /dev/vgname/lvname;
  • /boot 不能依赖快照:GRUB2通常不支持从LVM快照启动,需单独用 rsync -aHAX /boot/ /backup/boot_$(date +%Y%m%d)/ 或 dd if=/dev/sda1 of=/backup/boot_sda1.img bs=4M 备份;
  • 卷组(VG)要有足够空闲PE:执行 vgdisplay vgname | grep "Free PE",确保剩余空间 ≥ 你计划分配的快照大小(单位为PE,1PE通常4MB);
  • 内核模块已加载:检查 lsmod | grep dm_snapshot,若无输出则运行 modprobe dm-snapshot。

二、实现“秒级+块级一致”的核心操作

秒级来自元数据创建,一致性来自数据库/应用层配合。两者缺一不可:

  • MySQL场景:先执行 mysql -e "FLUSH TABLES WITH READ LOCK;"(毫秒级阻塞),立即运行 lvcreate -L 2G -s -n mysql_snap_$(date +%Y%m%d_%H%M) /dev/vgdata/mysql_lv,再立刻 mysql -e "UNLOCK TABLES;";
  • PostgreSQL场景:用 psql -c "SELECT pg_start_backup('lvm_snap', true);" → 创建快照 → psql -c "SELECT pg_stop_backup();";
  • 纯文件系统(如/var/www):若无数据库事务,可跳过锁,但需确保无进程正在写入关键目录(用 lsof +D /var/www 检查);
  • 不要用 --cached 或后台刷新替代停写:sync && echo 3 > /proc/sys/vm/drop_caches 只清缓存,不解决正在提交的InnoDB页问题。

三、快照空间不是“越大越好”,而是“刚好够用”

空间不足会导致快照瞬间 invalid,备份失败无声无息。按实际写入压力算,别靠经验估:

  • 公式:快照大小 = (每秒平均写入量 × 预估备份耗时)× 1.5;
  • 测写入量示例:用 iostat -xmd 1 5 | awk '/sda/ {print $10}' | tail -1 看 sda 的写入KB/s,或查MySQL的 SHOW GLOBAL STATUS LIKE 'Innodb_data_written'; 增量;
  • 监控占用率:创建后立即运行 watch -n 10 'lvs -o +data_percent | grep mysql_snap',一旦 >85%,就要扩空间(lvextend -L +500M /dev/vgdata/mysql_snap_20260524)或终止备份;
  • 典型参考值:中小MySQL实例(日增1GB),8分钟rsync备份 → 建议2G快照;高写入OLTP库 → 建议4–6G起步。

四、备份导出与清理闭环(避免快照长期挂载)

快照只是“时间点指针”,必须挂载读取并导出,且不能长期存在:

  • 只读挂载防误操作:执行 mkdir -p /mnt/snap_ro && mount -o ro,nouuid /dev/vgdata/mysql_snap_20260524 /mnt/snap_ro;
  • 用rsync导出(保留权限/ACL/xattr):运行 rsync -aHAX --delete /mnt/snap_ro/ /backup/mysql/20260524/;
  • 卸载后立即删除快照:完成校验(如 du -sh /backup/mysql/20260524 对比原LV大小)后,执行 umount /mnt/snap_ro && lvremove -f /dev/vgdata/mysql_snap_20260524;
  • 严禁长期保留快照:COW机制会持续放大IO,超过2小时未清理可能拖慢宿主LV性能,且增加空间爆满风险。

热门AI工具

更多
UpDream
UpDream Hot

一款AI视频创作工具,主要用于哔哩哔哩推出的自研AI视频创作工具,适合需要提升相关任务效率的用户。

DeepSeek

DeepSeek是一款面向对话、写作、编程和推理场景的AI大模型工具。

豆包大模型

豆包大模型是一款由字节跳动推出的企业级大语言模型服务平台。

PixPix
PixPix Hot

PixPix是一款面向电商视觉生产的AI商品图生成工具。

音述AI
音述AI Hot

一款AI音频处理工具,主要用于音述AI是一个以“用声音述说故事”为核心的 AI 音乐创作与声音分享社区,适合需要提升相关任务效率的用户。

UP简历
UP简历 Hot

一款AI办公效率工具,主要用于基于AI技术的免费在线简历制作工具,适合需要提升相关任务效率的用户。

讯飞绘文

讯飞绘文是一款由科大讯飞推出的一站式 AIGC 内容运营平台。

Lovart
Lovart Hot

一款面向视觉设计创作的AI设计平台,可通过智能体和画布工作流辅助制作海报、Logo、网页、PPT及其他视觉内容。

WorkBuddy

一款AI办公效率工具,主要用于腾讯云推出的AI原生桌面智能体工作台,适合需要提升相关任务效率的用户。

相关专题

更多
服务器是什么
服务器是什么

服务器是一种计算机硬件设备或软件程序,它具有强大的计算和存储能力,用请求、存储数据和提供服务。它在互联网中着关重要的作用,为用户提供各种服务和资源。本专题为大家提供服务器相关的文章、下载、课程内容,供大家免费下载体验。

437

2023.08.15

连接apple id服务器时出错
连接apple id服务器时出错

连接apple id服务器时出错的原因包括网络连接问题、服务器问题、Apple ID账户问题、设备问题、防火墙或安全软件问题、时间和日期设置问题、Apple服务器维护等。本专题为大家提供apple id相关的文章、下载、课程内容,供大家免费下载体验。

880

2023.09.08

搭建互联网服务器
搭建互联网服务器

搭建互联网服务器需要:1、选择合适的硬件和操作系统,第一步是选择合适的硬件和操作系统;2、安装和配置操作系统,是搭建互联网服务器的关键步骤;3、安装和配置服务器软件,是搭建互联网服务器的下一步,常见的服务器软件包括Apache、Nginx、Tomcat等;4、配置防火墙和安全性,是搭建互联网服务器的重要步骤;5、域名解析和配置,是搭建互联网服务器的最后一步。

2612

2023.09.19

如何查看服务器状态
如何查看服务器状态

查看服务器状态的方法有使用命令行工具、图形界面工具、监控工具、日志文件和远程管理工具等。本专题为大家提供服务器状态相关的文章、下载、课程内容,供大家免费下载体验。

876

2023.10.09

服务器域名转接慢怎么解决
服务器域名转接慢怎么解决

服务器域名转接慢的解决办法有DNS优化、服务器优化、CDN加速、前端优化和网络优化等。本专题为大家提供服务器相关的文章、下载、课程内容,供大家免费下载体验。

769

2023.10.17

服务器评测软件
服务器评测软件

服务器评测软件有PassMark Software、CPU-Z、GPU-Z、CrystalDiskMark、IOmeter、JMeter、LoadRunner、Apache Bench等等。详细介绍:1、PassMark Software是一款综合性的服务器性能测试软件,可以评估服务器在各种负载条件下的性能;2、CPU-Z是一款可以提供服务器CPU详细信息的软件等等。

394

2023.10.17

如何开启TFTP服务器
如何开启TFTP服务器

开启TFTP服务器的步骤包括选择TFTP服务器软件、下载和安装软件、配置TFTP服务器以及启动和测试服务器等。本专题为大家提供服务器相关的文章、下载、课程内容,供大家免费下载体验。

2356

2023.10.18

服务器负载不兼容怎么解决
服务器负载不兼容怎么解决

解决方法:1、增加服务器资源;2、负载均衡;3、优化应用程序;4、增加缓存机制;5、分布式架构;6、限流和熔断;7、自动化扩容。想知道更详细服务器负载不兼容的解决方法,可以访问本专题下面的文章。

4332

2023.10.20

LLVM自定义Pass怎么写
LLVM自定义Pass怎么写

本专题聚焦LLVM自定义Pass开发,整理Pass类结构、run()方法、PreservedAnalyses、CMake构建、插件注册、-load-pass-plugin加载和测试用例编写流程。

20

2026.09.30

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
零基础精通 PS 视频教程
零基础精通 PS 视频教程

共268课时 | 119.2万人学习

前端工程师必备技能—PS切图
前端工程师必备技能—PS切图

共11课时 | 2.2万人学习

麦子学院Photoshop切片视频教程
麦子学院Photoshop切片视频教程

共13课时 | 4.3万人学习

关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn