首页 > 运维 > CentOS > 正文

CentOS怎么做快照_CentOS系统快照创建与恢复教程

星夢妙者
发布: 2025-08-31 11:10:01
原创
943人浏览过

centos怎么做快照_centos系统快照创建与恢复教程

CentOS系统做快照,说白了就是给你的系统或数据盘在某个时间点“拍张照片”,以便将来需要时能快速回滚到那个状态。这事儿主要有两种玩法:一种是基于虚拟化平台的虚拟机快照,简单粗暴,适合整个虚拟机的状态保存;另一种是基于LVM(逻辑卷管理)的快照,更精细,针对的是数据盘或系统分区,尤其在物理机或对性能有要求时显得更为专业。在我看来,理解这两种机制,并根据实际场景灵活运用,才是真正掌握快照的关键。

解决方案

对于CentOS的快照操作,我们得区分两种最常见的场景:虚拟机环境和LVM环境。

1. 虚拟机快照(以VMware ESXi或VirtualBox为例,概念通用)

这是最直观、操作最简单的快照方式。它会捕获虚拟机在某一时刻的完整状态,包括磁盘文件、内存状态(可选)、以及配置信息。

  • 创建快照:

    • VMware vSphere/ESXi: 选中虚拟机,右键选择“快照” -> “拍摄快照”。输入快照名称和描述,选择是否包含内存状态(包含内存会暂停VM一小段时间)。
    • VirtualBox: 选中虚拟机,点击“管理” -> “快照”,然后点击“拍摄”按钮。同样输入名称和描述。
    • 关键点: 虚拟机快照在后台会创建一个差异磁盘文件(如
      .vmdk
      登录后复制
      .vdi
      登录后复制
      的delta文件),后续所有对虚拟机磁盘的写入都会记录在这个差异文件中。原始磁盘文件保持不变。
  • 恢复快照:

    • VMware vSphere/ESXi: 选中虚拟机,右键选择“快照” -> “还原到快照”,然后选择你想要恢复的快照点。
    • VirtualBox: 选中虚拟机,点击“管理” -> “快照”,选择目标快照,点击“还原”按钮。
    • 效果: 虚拟机的所有状态(包括文件系统、内存、运行中的程序等)都会回到拍摄快照那一刻。快照之后的所有更改都会被丢弃。
  • 删除快照:

    • VMware vSphere/ESXi: 选中虚拟机,右键选择“快照” -> “删除快照”或“删除所有快照”。删除快照会将差异磁盘文件合并回原始磁盘文件,这个过程可能需要一些时间,并且会占用I/O资源。
    • VirtualBox: 选中虚拟机,点击“管理” -> “快照”,选择要删除的快照,点击“删除”按钮。

2. LVM快照(逻辑卷管理快照)

LVM快照是针对逻辑卷(可以理解为分区)的“写时复制”(Copy-on-Write, CoW)机制。它只记录快照创建后,原始逻辑卷上发生的数据块变化。这对于物理机或者对虚拟机内部特定分区做快照非常有用。

  • 创建LVM快照:

    • 前提: 你的CentOS系统需要使用LVM来管理磁盘分区。
    • 命令:
      lvcreate -L [快照大小] -s -n [快照逻辑卷名称] [原始逻辑卷路径]
      登录后复制
    • 示例: 假设你的数据盘是
      /dev/vg_data/lv_mydata
      登录后复制
      ,你想给它创建一个大小为10GB的快照,命名为
      lv_mydata_snap
      登录后复制
      lvcreate -L 10G -s -n lv_mydata_snap /dev/vg_data/lv_mydata
      登录后复制
    • 说明:
      -L
      登录后复制
      指定快照卷的大小,这个大小不是原始卷的大小,而是预留给原始卷在快照创建后发生变化的块的空间。如果原始卷变化量超过这个大小,快照会失效。
      -s
      登录后复制
      表示创建快照,
      -n
      登录后复制
      指定快照卷的名称。
    • 使用快照: 创建后,这个快照逻辑卷
      /dev/vg_data/lv_mydata_snap
      登录后复制
      就可以像普通逻辑卷一样挂载和访问,它展示的是快照创建那一刻原始卷的数据状态。
  • 恢复LVM快照:

    • 警告: 恢复LVM快照是一个不可逆的过程,它会将原始逻辑卷的内容替换为快照逻辑卷的内容。请务必谨慎操作!
    • 步骤:
      1. 卸载原始逻辑卷(如果已挂载):
        umount /mnt/mydata
        登录后复制
        (假设
        /dev/vg_data/lv_mydata
        登录后复制
        挂载在
        /mnt/mydata
        登录后复制
        )
      2. 停用原始逻辑卷:
        lvchange -an /dev/vg_data/lv_mydata
        登录后复制
      3. 合并快照:
        lvconvert --merge /dev/vg_data/lv_mydata_snap
        登录后复制
        • 这个命令会将快照卷的内容合并回原始逻辑卷。合并完成后,快照逻辑卷会自动被删除。
      4. 激活并重新挂载:
        lvchange -ay /dev/vg_data/lv_mydata
        登录后复制
        然后
        mount /dev/vg_data/lv_mydata /mnt/mydata
        登录后复制
  • 删除LVM快照:

    • 如果只是想删除快照而不恢复原始卷,直接删除快照逻辑卷即可。
    • 命令:
      lvremove /dev/vg_data/lv_mydata_snap
      登录后复制
    • 注意: 确保快照卷没有被挂载或正在使用。

虚拟机快照和LVM快照,我该选哪种?它们有何不同?

这真是一个好问题,也是我个人在实际工作中经常思考的。说实话,这两种快照机制虽然都能达到“回滚”的目的,但它们的哲学和适用场景大相径庭。

虚拟机快照:

文心快码
文心快码

文心快码(Comate)是百度推出的一款AI辅助编程工具

文心快码 35
查看详情 文心快码
  • 特性: 针对整个虚拟机,包括虚拟磁盘、内存状态、CPU状态、设备配置等。它是一个“全景图”。
  • 优点:
    • 操作简单: 通过图形界面点几下鼠标就能完成,对系统内部无感知。
    • 回滚彻底: 能将整个VM恢复到某个时间点,包括操作系统、所有应用和数据。
    • 包含内存: 可以捕获VM运行时状态,恢复后应用程序可以从中断处继续运行(如果选择包含内存)。
  • 缺点:
    • 性能影响: 随着快照链的增长,VM的I/O性能会下降。
    • 存储开销: 每个快照都会占用额外的存储空间,尤其是包含内存的快照。
    • 非长期备份: 快照不是备份!它不是设计来长期保存的,快照链过长或时间过久,管理复杂且风险高。
    • 不适合高I/O应用: 例如数据库服务器,快照可能会导致性能急剧下降,甚至数据不一致。
  • 适用场景:
    • 在进行操作系统升级、软件安装、配置更改等高风险操作前,做一个临时回滚点。
    • 开发测试环境,需要频繁测试不同状态。
    • 短期的状态保存。

LVM快照:

  • 特性: 针对逻辑卷(即磁盘分区),采用“写时复制”技术。它只记录原始卷在快照创建后发生的数据块变化。
  • 优点:
    • 性能影响小: 相较于虚拟机快照,对I/O性能的影响要小得多,因为它只在数据块首次被修改时才进行复制。
    • 存储效率高: 只存储变化的数据块,通常比虚拟机快照更节省空间(如果原始卷变化不大)。
    • 精细控制: 可以针对特定的数据卷(如数据库数据盘)做快照,不影响其他卷。
    • 可用于一致性备份: 在快照卷上执行备份操作,可以获得一个时间点一致性的数据副本,尤其对数据库等应用非常有用。
  • 缺点:
    • 操作复杂: 需要通过命令行执行,对LVM概念有一定了解。
    • 不包含内存状态: 无法捕获系统运行时的内存状态。
    • 快照大小限制: 需要预估原始卷的变更量来设置快照卷的大小,如果不足,快照会失效。
    • 恢复不可逆: 合并快照会彻底覆盖原始卷数据。
  • 适用场景:
    • 物理服务器或对性能敏感的虚拟机内部数据卷。
    • 需要对特定数据分区进行回滚或创建一致性备份。
    • 在进行重要的文件系统操作、数据库升级前。
    • 作为一种轻量级、临时的文件系统保护机制。

我的选择建议: 如果你在虚拟机里,且需要一个快速、全方位的系统状态回滚,那么虚拟机快照无疑是最便捷的选择。但记住,用完即删,不要让快照链变得臃肿。如果你在物理机上,或者需要对虚拟机内部某个关键数据盘做更精细、性能影响更小的保护,LVM快照才是你的利器。它虽然操作繁琐些,但提供了更深层次的控制和更好的性能表现。

创建LVM快照时有哪些坑?如何避免数据丢失

LVM快照这玩意儿,用好了是神器,用不好就是个“坑”。我个人就踩过不少雷,总结下来,最核心的几个点就是空间、性能和操作的严谨性。

1. 快照卷空间不足的坑

  • 问题描述: 这是最常见的坑!创建LVM快照时,你需要为快照卷预留一定大小的空间。这个空间不是用来存储原始卷的完整副本,而是用来存储快照创建后,原始卷上被修改的“旧”数据块。如果原始卷的数据变更量超出了快照卷预留的空间,快照就会被标记为“invalid”或“inactive”,甚至可能导致原始卷的I/O操作失败。想象一下,你给一个水杯留了个小碟子接溢出的水,结果水杯里的水哗哗往外倒,碟子满了,水就流了一地。
  • 避免方法:
    • 合理估算: 根据你预计的原始卷数据变化量来设置快照卷的大小。如果你只是做个小测试,可能10%-20%的原始卷大小就够了;如果要做大版本升级,可能需要30%-50%甚至更多。
    • 监控快照使用率: 经常使用
      lvs -o +snap_percent
      登录后复制
      命令来查看快照卷的使用百分比。一旦接近100%,就得赶紧处理,要么扩大快照卷(
      lvextend
      登录后复制
      ),要么删除快照。
    • 示例:
      lvextend -L +5G /dev/vg_data/lv_mydata_snap
      登录后复制
      (给快照卷增加5GB空间)

2. 性能影响的坑

  • 问题描述: 虽然LVM快照是“写时复制”,性能影响比全量复制小,但在高I/O负载的场景下,它仍然会引入额外的开销。每次原始卷上的写操作,都可能触发一次旧数据块到快照卷的复制,这会增加磁盘的I/O负载和延迟。
  • 避免方法:
    • 避开高峰期: 尽量在系统负载较低的时候创建和操作LVM快照。
    • 短期使用: LVM快照最好也是作为短期操作的保护,一旦任务完成,尽快合并或删除。
    • 硬件优化: 如果你的系统对I/O性能要求极高,考虑使用SSD作为LVM的物理卷,或者使用更高级的存储解决方案。

3. 误操作导致数据丢失的坑

  • 问题描述: LVM命令行的强大在于其灵活性,但这也意味着一旦命令敲错,后果可能非常严重。比如,在恢复快照时选错了卷,或者在快照还在使用时就强制删除了。
  • 避免方法:
    • 三思而后行: 在执行
      lvconvert --merge
      登录后复制
      lvremove
      登录后复制
      等破坏性命令前,务必再三确认目标逻辑卷的名称和路径。
    • 先备份: 对于极其重要的数据,即使有LVM快照,在进行重大操作前,也应该先做一次传统的文件系统备份。快照是回滚机制,不是万能的备份方案。
    • 熟悉命令: 熟练掌握
      lvs
      登录后复制
      lvdisplay
      登录后复制
      vgdisplay
      登录后复制
      等命令,它们能帮你清晰地了解当前LVM的布局和状态。
    • 分步操作: 不要急于一步到位,比如恢复快照,先
      umount
      登录后复制
      ,再
      lvchange -an
      登录后复制
      ,然后
      lvconvert --merge
      登录后复制
      ,每一步都确认无误。

CentOS系统崩溃后,如何利用快照快速恢复?

系统崩溃,这真是每个运维人员的噩梦。但如果之前做了快照,那简直是救命稻草。恢复过程因快照类型而异,我来详细说说。

1. 虚拟机快照恢复:最直接的“时光倒流”

如果你的CentOS是跑在VMware、VirtualBox或KVM等虚拟机平台上的,并且你定期有做虚拟机快照,那么恢复起来是最省心的。

  • 步骤:
    1. 关闭虚拟机: 如果虚拟机还在运行,先强制关机。
    2. 进入虚拟化管理界面: 登录到你的vSphere客户端、VirtualBox管理器或KVM的virt-manager。
    3. 选择虚拟机和快照: 找到对应的CentOS虚拟机,然后进入其快照管理界面。
    4. 执行恢复: 选择你想要回滚到的那个健康的快照点,点击“还原”或“恢复”按钮。
    5. 启动虚拟机: 恢复完成后,启动虚拟机。
  • 效果: 你的CentOS系统会完全回到拍摄快照那一刻的状态,包括文件、配置、甚至内存中的数据(如果快照包含了内存)。快照之后的所有系统崩溃、数据损坏等变更都会被抹去。
  • 注意事项: 恢复操作会丢失快照之后的所有数据。所以,如果崩溃后有任何你还想抢救出来的数据,请在恢复前尝试通过Live CD或挂载到其他系统的方式进行数据抢救。

2. LVM快照恢复:针对特定分区的“外科手术”

如果你的CentOS系统崩溃,但根目录或某个关键数据分区是LVM管理的,并且你恰好在崩溃前做了LVM快照,那么恢复过程会稍微复杂一些,但同样有效。

  • 场景一:非根分区(如

    /home
    登录后复制
    ,
    /var
    登录后复制
    ,
    /opt
    登录后复制
    等)崩溃或数据损坏

    1. 进入救援模式或Live CD: 如果系统还能启动,但某个LVM分区有问题,你可以直接操作。如果系统启动不了,你需要通过CentOS安装盘进入“救援模式”(Rescue Mode)或者使用一个Live CD/USB启动,以便访问到你的LVM卷组。
    2. 识别LVM卷: 在救援模式或Live CD下,运行
      vgscan
      登录后复制
      lvscan
      登录后复制
      命令,确保能识别到你的卷组和逻辑卷。
    3. 卸载并停用受损逻辑卷: 找到受损的原始逻辑卷(例如
      /dev/vg_data/lv_mydata
      登录后复制
      ),如果它被挂载了,先
      umount
      登录后复制
      掉。然后
      lvchange -an /dev/vg_data/lv_mydata
      登录后复制
      停用它。
    4. 执行快照合并: 找到对应的快照逻辑卷(例如
      /dev/vg_data/lv_mydata_snap
      登录后复制
      ),执行合并命令:
      lvconvert --merge /dev/vg_data/lv_mydata_snap
      登录后复制

      这个命令会将快照点的数据合并回原始逻辑卷,同时删除快照卷。

    5. 激活并挂载: 合并完成后,重新激活原始逻辑卷:
      lvchange -ay /dev/vg_data/lv_mydata
      登录后复制
      。然后,你可以尝试
      fsck
      登录后复制
      检查文件系统完整性(
      fsck -y /dev/vg_data/lv_mydata
      登录后复制
      ),最后将其挂载回原目录。
    6. 重启系统: 如果是救援模式,重启回到正常系统。
  • 场景二:根分区(

    /
    登录后复制
    )是LVM,且系统无法启动

    1. 进入救援模式: 这是唯一靠谱的办法。用CentOS安装盘启动,选择“Troubleshooting” -> “Rescue a CentOS Linux system”。
    2. 挂载根文件系统: 在救援模式下,通常会自动检测并提示你挂载现有Linux安装。如果提示你挂载到
      /mnt/sysimage
      登录后复制
      ,选择“1”或“Continue”。
    3. 识别LVM卷: 确保你能看到你的LVM卷组和逻辑卷。
    4. 卸载并停用根逻辑卷: 根分区通常是
      /dev/vg_root/lv_root
      登录后复制
      之类的。在救援模式下,如果它已经被挂载到
      /mnt/sysimage
      登录后复制
      ,你需要
      umount /mnt/sysimage
      登录后复制
      。然后
      lvchange -an /dev/vg_root/lv_root
      登录后复制
      停用它。
    5. 执行快照合并: 找到对应的根分区快照,执行合并:
      lvconvert --merge /dev/vg_root/lv_root_snap
      登录后复制
    6. 重新激活根逻辑卷:
      lvchange -ay /dev/vg_root/lv_root
      登录后复制
    7. 检查文件系统:
      fsck -y /dev/vg_root/lv_root
      登录后复制
    8. 重新挂载根分区:
      mount /dev/vg_root/lv_root /mnt/sysimage
      登录后复制
    9. chroot到系统:
      chroot /mnt/sysimage
      登录后复制
    10. 更新GRUB(如果需要): 有时恢复根分区后,GRUB引导可能需要重新配置。
      grub2-mkconfig -o /boot/grub2/grub.cfg
      grub2-install /dev/sda # 替换为你的启动盘
      登录后复制
    11. **退出chroot并重启

以上就是CentOS怎么做快照_CentOS系统快照创建与恢复教程的详细内容,更多请关注php中文网其它相关文章!

最佳 Windows 性能的顶级免费优化软件
最佳 Windows 性能的顶级免费优化软件

每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。

下载
来源:php中文网
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
最新问题
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号