如何备份我的整个系统及其所有组件?

如何备份我的整个系统及其所有组件?

我正在使用 Ubuntu 18.04 操作系统,并安装了一些组件,例如 ROS、Cuda、folly、TensorRT 等。现在,如果我更换计算机或计算机崩溃,我将手动设置所有组件。我如何将这个包含所有这些组件的操作系统复制到另一台计算机?或者对于我的计算机,如果我将来遇到问题,如何快速设置包含所有组件的操作系统?

答案1

备份整个系统的最可靠方法是启动实时系统并使用类似工具clonezilla来创建(可启动)备份。克隆齐拉系统救援

答案2

这是我使用的一种方法:将系统分为三个部分:基本操作系统、数据、关键应用程序

  • 基本操作系统是原装的 Ubuntu 系统。
  • 数据与处理数据的应用程序是分开的。
  • 关键应用程序(处理数据集)是容器化的。

备份:只有数据才会经常备份(这很有价值)。关键应用程序容器会定期进行快照,以便在出现问题时轻松恢复。

升级:操作系统和容器是分开的;升级其中一个不会破坏另一个。如果应用程序升级破坏了容器中的堆栈,我可以恢复到最后一个快照。

移民:我可以轻松地将容器和数据复制到不同的系统,而无需重新安装任何东西。

我还可以克隆容器以测试有风险的替代应用程序或不同版本。或者我可以启动一个新容器来从头开始重建所有内容。所有这些都不会危及我的工作容器、我的数据或我的基础操作系统的稳定性。

需要进行一些学习和维护:我使用 cron、LXD 和 duplicity 进行快照、容器和备份。我会记录如何在容器中安装/卸载所有内容,并链接到这些项目的说明。我会跟踪基本操作系统和关键应用程序的发布时间表,因此我不会对任何变化感到惊讶。我会留出时间来测试更改和更新。

答案3

我推荐 RescueZillahttps://rescuezilla.com/

它在后台使用 Clonezilla,但使用起来更容易。只需单击几下即可进行备份和恢复。但与 clonezilla 一样,系统必须从 USB 或 DVD 启动。

我个人使用 ReaR,我可以在系统运行时通过 cron 作业进行安排。到目前为止,我已经进行了几次恢复,效果很好。 https://relax-and-recover.org/

答案4

基于映像的备份有各种缺陷,但主要是停机时间的不便、大量存储以及其它方法提供的不灵活性才是真正的问题。

寻求基于文件的备份方法,以获得更高的效率、更大的灵活性和可重复性 - 不仅适用于完全相同的系统,还适用于操作系统全新升级或迁移到具有非常不同硬件的新系统。

对于基于映像的备份,仅 2 个副本就需要 2 倍的存储空间。而对于基于文件的备份,90 多天的每日版本备份可能需要比源多 10-30% 的存储空间 - 假设 100G,那么带映像的备份需要 200G,带 90 多天的版本备份需要 130G。有许多支持版本控制的优秀文件备份方法。使用版本,您可以查看每天发生的变化,并可能找出导致系统崩溃的原因?像快照rdiff-备份时光倒流正是所需要的。

详细步骤太长,无法在此处发布。抱歉。简短的回答是:

  • 不要备份操作系统
  • 备份操作系统设置、个人设置、服务器设置
  • 请备份个人文件
  • 备份服务器文件,例如 RDBMS 文件(可能想要转储这些文件)
  • 请在备份中包含手动安装的 APT、Snap、Flakpak 包的列表。
  • 请将手动编译的、未打包的内容保存在 /usr/local/ 中,并备份该区域。
  • 测试后请使用 cron 自动执行备份。手动备份似乎从未真正运行过。至少每周(如果不是每天)自动执行备份作业。
  • 一定要获取/查看备份后报告,看看它们在前几周是否有效。我都记不清有多少次接到客户电话,要求他们帮忙恢复,结果却发现他们的备份已经失效一年多了,却没有人检查或监视。
  • 一定要测试恢复过程。但需要 5-10 次测试才能正确完成。很可能会出现至少 1 个先有鸡还是先有蛋的问题。在恢复顺利之前,您实际上并不知道结果。

相关内容