温馨提示×

CentOS dropped如何备份数据

小樊
43
2025-12-11 18:07:32
栏目: 智能运维

CentOS 数据丢失后的备份与恢复操作指南

一、先保护与评估

  • 立刻停止对疑似受影响磁盘或分区的写入(下载、解压、缓存、日志等),优先将可读数据“只读”方式备份或镜像到安全位置,避免二次覆盖。
  • 明确丢失类型:是误删文件分区/磁盘损坏LVM 元数据异常,还是系统无法启动
  • 准备可启动介质(如安装U盘/救援盘),在需要时进入救援模式/单用户模式操作,减少对原盘的改动。

二、能进系统时的备份方法

  • 使用 rsync 增量备份(本地或远程)
    • 安装与示例:
      • 安装:sudo yum install rsync -y
      • 备份:rsync -aAX --info=progress2 /path/to/important/ /backup/important_$(date +%F)/
    • 远程备份(示例):rsync -avz -e ssh /path/ user@backup-server:/backup/
  • 使用 tar 打包关键目录(排除虚拟与临时文件系统)
    • 示例:tar czvf /backup/sys_backup_$(date +%F).tar.gz --exclude=/proc --exclude=/sys --exclude=/dev --exclude=/run --exclude=/mnt --exclude=/media /
  • 备份数据库(以 MySQL/MariaDB 为例)
    • 示例:mysqldump -u root -p --single-transaction --routines --triggers --databases your_db > /backup/mysql_$(date +%F).sql
  • 自动化与保留策略
    • crontab -e 定时执行脚本,保留7–30天并做异地/云端副本(如对象存储/另一台主机)。

三、系统无法启动时的离线备份

  • 救援模式挂载原系统分区并拷贝
    • 使用安装介质进入救援模式,选择“Continue”挂载到 /mnt/sysimage,然后 chroot /mnt/sysimage;确认分区后,用 rsynctar 将关键数据拷到外接盘或网络存储。
  • LVM 场景的元数据恢复与挂载
    • 查看 LVM 备份:cat /etc/lvm/backup/<vgname>
    • 重建 PV/VG:pvcreate /dev/sdXvgcfgrestore -f /etc/lvm/backup/<vgname> <vgname>
    • 激活卷组:vgchange -aylvscan 查看后挂载 LV 进行备份。
  • XFS 文件系统修复(只读先备份再修复)
    • 先以只读方式备份可读数据;必要时在救援/单用户下卸载后执行:xfs_repair /dev/mapper/<vg>-<lv>(XFS 通常不建议对已挂载文件系统在线修复)。
  • 分区/引导损坏时的分区与引导修复
    • 使用 TestDisk 进行分区表与分区恢复:testdisk /dev/sda,按向导扫描、预览并保存分区结构,再挂载分区进行备份。

四、误删文件的专门恢复

  • ext3/ext4 文件系统
    • 尽量先只读挂载原分区;使用 extundelete 恢复:
      • 恢复单文件:extundelete /dev/sdXY --restore-file /path/to/file
      • 恢复全部:extundelete /dev/sdXY --restore-all
  • 分区表/引导或跨文件系统恢复
    • 使用 TestDisk 进行分区与文件恢复(支持多种文件系统与场景)。

五、恢复与加固建议

  • 从备份恢复
    • 文件级:tar xvf backup_2025-12-11.tar.gz -C /restore/path
    • 数据库:mysql -u user -p db_name < /backup/mysql_2025-12-11.sql
  • 加固与演练
    • 制定备份范围(数据/配置/数据库)、周期(如每日增量、每周全量)、保留(如7/30天)与异地策略;定期做恢复演练验证可用性与完整性。

0