Debian 服务器系统驱动器的安全备份?

Debian 服务器系统驱动器的安全备份?

我想使用 cron(因此需要非 GUI 解决方案)通过本地网络将 Debian 9 服务器系统驱动器安全地备份到远程 ISCSI 驱动器。使用 EXT4 作为系统分区格式。

我说的“安全”是指:备份应是原子的、无竞争条件的。此外,还要求从远程 ISCSI 进行系统恢复应相对容易和快速。数据驱动器的备份是在本地网络上的远程 ISCSI 驱动器上进行的。

目前我使用两种解决方案,以便在系统分区丢失时能够恢复,并且必须从头开始恢复:

  1. 使用以下方法保存 /etc 目录的更改历史记录etckeeper(内部使用 GIT)
  2. 使用以下方法保留系统分区文件的副本:快照(内部使用 RSYNC)

但是我认为这个系统备份不够安全,因为它不是原子备份(备份完成时,系统驱动器上可能会发生更改)。

我可能会考虑的其他解决方案是:

  • 使用 LVM 作为系统驱动器格式,因为 LVM 快照是原子的。因此,我可以在 Debian 升级之前制作快照,或者如果我将 LVM 快照备份到远程 ISCSI 本地网络驱动器,我可以在系统驱动器数据丢失的情况下恢复它。
  • 使用 Systemback(Ubuntu 中的软件包)- Systemback 可以轻松创建系统和用户配置文件的备份。如果出现问题,您可以轻松恢复系统的先前状态。它还具有系统复制、系统安装和实时系统创建等额外功能。Systemback 似乎很安全,因为它可以创建系统还原点,就像快照一样。
  • 通过 SSH 使用 dd 命令连接到远程 ISCSI 本地网络驱动器。但是,这种解决方案并不安全,也不彻底。
  • 使用配置管理工具(如 Blueprint、CFEngine、Chef、Puppet、Ansible)跟踪 Debian 系统的变更。远程保存一份干净、可正常工作的 Debian 8.7 系统的完整副本,然后仅恢复配置管理工具跟踪的变更。

问题:

  1. 您在使用这些解决方案时遇到过什么不愉快的经历吗?
  2. 您对于这些解决方案有什么好的经验吗?
  3. 您会建议哪种解决方案?
  4. 为什么?

我认为配置管理工具会很有用,因为它可以对原始发行版进行逐字节备份,然后使用配置管理软件存储所有自定义配置更改。

我希望缩短系统崩溃后的恢复时间,并尽量减少丢失系统配置更改的可能性(与定期(每日)备份相比)。我认为使用 dd 恢复系统备份,然后使用配置管理恢复 Debian 的配置设置将是最快的解决方案。

是对的吗?

答案1

要进行原子系统备份,您需要需要某种快照功能。这些功能通常通过不同的方式实现:

  • 使用 LVM 卷:这是最简单、支持最多的配置,因此我强烈建议你使用它(但要当然了解 LVM 快照的工作原理及其特定的故障模式)
  • 使用集成快照的文件系统,如 BTRFS 或 ZFS:如上所述,但是您是在文件系统层而不是块级别进行快照;
  • 如果上述解决方案不可行(即:备份无法访问快照且无法重新安装的当前系统),你可以试试hcp(或者hotcopy。请注意,这是一个第三方内核模块,这意味着一切。

在获得快照功能后,我会使用rsnapshot以及用于拍摄/删除快照的预/后备份脚本。

答案2

我个人使用 Borg Backup。

简而言之:

什么是 BorgBackup?

BorgBackup(简称:Borg)是一款重复数据删除备份程序。它可选地支持压缩和认证加密。

Borg 的主要目标是提供一种高效且安全的数据备份方式。由于仅存储更改内容,因此所使用的重复数据删除技术使 Borg 适合每日备份。经过身份验证的加密技术使其适合备份到不完全可信的目标。

它可以以普通用户身份运行以保持权限,它可以非常轻松地修剪比 X 更旧的备份,可以压缩、使用远程挂载、加密...并且它在 Debian 上完美运行:)

相关内容