掌握你的数据安全:正确选择备份工具(上)
目录
数据安全再怎么强调也不为过,特别是当你选择了一些高性价比(便宜)的服务器的时候,没错,我说的是我自己,前阵子 OVH 机房失火,紧接着 Krypt 洛杉矶机房失火事件还历历在目,运气好的话你还能找回你的数据,运气一般你就只能从头开始了。如何杜绝或预防此类灾难呢,你需要选择合适的方案来经常性的备份自己的数据。
选择高性价比的服务器往往代表这些服务商的SLA并没有一线厂家那么高,比如说AWS,Azure或者GCP的服务器的价格往往都很高,一部分原因是由于他们聘请了专业的运维和客服人员,能提供更稳定的服务,同时更好的帮助客户解决一些客户非技术性的问题。
本文主要提供一些开源的数据安全的工具或简易策略来帮助非商业解决方案
的数据安全性,如要将这些方案应用在你的商业项目中,还请自行请谨慎评估风险。
选择数据备份的关键因素 #
关于数据备份的主题在网络上很多,各类工具也是层出不穷,在我们做选择时,可以考虑以下几个关键因素
数据的价值 #
不是所有的数据都具有同等的价值,因此,我们需要对我们的数据进行分类,并确定哪些数据对我们最重要。根据价值不同,我们能确定哪些数据需要优先进行备份,以及应该以何种频率进行备份。
恢复时间目标 (RTO) #
恢复时间目标(RTO)是指从发生故障到恢复正常运营所需的时间。理想情况下,我们希望恢复时间尽可能短。然而,实际的RTO将取决于许多因素,包括备份数据的数量、备份解决方案的性能,以及恢复环境的配置。
数据恢复点 (RPO) #
数据恢复点(RPO)是指在发生故障时,你能接受的数据丢失的程度。例如,如果你的RPO为24小时,那么你就需要确保每24小时至少进行一次备份,以防止在发生故障时丢失超过24小时的数据。
安全和合规要求 #
备份数据的安全性和合规性也是必须考虑的重要因素。这可能包括确保备份数据的加密,控制对备份数据的访问,以及满足任何特定的行业或地区的数据保护法规。
预算 #
预算也是一个重要的考虑因素。虽然数据的价值是无法用金钱衡量的,但我们仍然需要考虑备份解决方案的成本,以及与之相关的存储和管理成本。
大白话版本,简单来说你需要考虑的是:
- 备份的数据,文件类型,文件数量,以及单个文件大小,对应的工具选择应当考虑是否支持增量备份,是否支持文件压缩,对大文件的备份和恢复性能是否足够等等。
- 备份的频率,例如博客的数据可能RPO为24小时是合理的,当发生了不可恢复的故障,可以顺利的恢复到24小时前,对于一些关键应用,如 bitwarden,也许你希望备份的频率能更高一些,实时备份可能是你在寻找的。
- 版本管理,有些时候由于一些原因我们的数据可能会发生错误,版本管理可以让我们拿到具体某一天的数据并进行回滚。
- 安全,备份的文件是以明文的方式存储,还是以加密的方式存储,传输过程中是需要加密信道传输还是明文传输等。
- 成本,你打算花多少时间和精力,以及相应的费用来维持这套备份机制
开源工具的选择 #
下面简要罗列出一些流行度高的开源工具,以及简单列出他们的特性:
- Syncthing:实时同步,不支持云存储(自行使用Rclone),点对点加密传输技术(无中央存储)。
- Duplicati:按需备份,支持云存储,支持增量备份,加密存储备份数据,支持版本管理,支持GUI方式管理备份数据
- Restic:按需备份,支持云存储,支持增量备份,加密存储备份数据,支持版本管理(快照方式),命令行方式管理(无GUI)
- Rsync:按需备份,不支持云存储(自行使用Rclone)支持增量备份,备份数据不加密,无版本管理(快照方式),命令行方式管理(无GUI)
你可以按照上面的选择关键因素,选择合适的开源工具来构建你的备份。 严格说来 Syncthing 其实不是一个备份工具,更多的是实时同步方案,不过合理运用 rclone 这类的技术,确实可以让其变成合适的备份方案。
综合考虑我个人的需求(以及喜好),最终我选择的工具是 Restic,其实 Duplicati 也很好,只是我对 GUI 本身持有反对态度,下一篇文章就以 Restic 为例,来备份我的 BitWarden 的数据吧