如何为运行 Ubuntu Server 的整个磁盘(启动和数据分区)设置自动夜间备份?
我有一个 1TB 的驱动器(当前使用量 200GB),我想在同一台机器上的另一个驱动器(相同容量和型号)上每天克隆该驱动器。
我之前一直dd
在尝试备份分区。但现在我正在寻找一些万无一失的解决方案,以便在发生崩溃时可以切换到硬盘克隆。
RAID 不是一个选项,因为当第一个驱动器上的某些内容损坏/删除时,这也会发生在另一个驱动器上(我知道我应该有 RAID + 备份解决方案)。
复制整个 1TB 需要一些时间,所以我正在寻找一种能够查找每日差异并更新它们的工具。
另一个问题是我需要克隆整个磁盘(两个分区 - ext2 和 lvm + 引导记录)。
您将如何进行设置?
答案1
首先,如果备份位于您要备份的同一台机器上,则备份就不是备份。您应该将备份备份到另一台服务器或外部媒体(磁带、磁盘等)并将其保存在异地。
现在你有两个问题:
您没有使用 RAID。您说得对,RAID 不是备份。RAID 用于在硬件(磁盘)故障期间提供可用性。如果此服务器用于任何面向客户或重要的内部流程,则应该使用 RAID。没有理由不这样做,磁盘很便宜。
您没有进行备份。您想要的是能够在发生崩溃时执行 BMR(裸机恢复),但您也不想每晚通过网络推送 200+ GB 的数据。这是合理的,也是地球上每个备份解决方案都进行增量和差异备份的原因。在许多情况下,您会在周末进行完整的 BMR 备份,并在整个星期内每天或每天进行两次增量或差异备份。如果发生故障,请先恢复 BMR 备份,然后再恢复最新的差异备份。
实际上,有数百种产品可以满足您的需求。NetBackup、Backup Exec、FalconStor、Networker、Avamar 等。致电您信任的供应商,说明您的要求,并询问他们推荐哪些价格在您的承受范围内的产品,或者在网上搜索与您的发行版兼容并满足您要求的开源解决方案。
总结:不要备份到另一个内部磁盘。购买适合您需求的产品。使用 RAID,但不要将其作为备份的替代品。
答案2
BackupNinja 是 rdiff-backup 的一个前端,可以非常轻松地完成此操作。它位于 ubuntu 存储库中。
也就是说,您确实应该计划进行异地备份。BackupNinja 可以将您的备份复制到 ftp 服务器,或者更有效地复制到安装了 rdiff-backup 的另一台服务器。
答案3
您确实应该考虑备份到服务器外部的外部存储器 - 或者更好的是,备份到建筑物外面并另外放入一些 RAID 硬件。
有大量可用的工具,有数百种工具,FOSS 和专有的。
如果您没有钱或想节省开支,您可以使用 rsync 或 rdiff 等工具。有很多关于如何使用它们以及可以用它们做什么的教程。您可以进行旋转增量备份,在支持快照的文件系统上进行备份(如 zfs 或 btrfs),只要最适合您就行。
如果您想要在没有硬件 RAID 的服务器内部进行一些廉价的故障转移,您也可以使用 zfs 或软件 RAID 镜像,但最终这并不能真正替代带有 BBU 和大型、快速缓存的良好硬件 RAID 控制器。