在我的工作中,我们使用 Linux 机器来存储源代码并托管我们的修订控制软件 (svn)。我们还有一些其他产品,如用于项目管理的“trac”、用于代码审查的 fisheye 和 cruble。如果或当这个机器坏掉时,我希望能够保持所有服务、软件、用户帐户等正常运行,几乎不会出现停机时间。我正在寻找什么解决方案?
一些有用的提示:
- 解决方案的成本不是问题。但我宁愿一次性付费,而不是订阅。
- 我希望在维护备份和恢复方面尽量减少管理工作。
- 盒子在晚上和周末闲置。
- 我们在几英里外还有另一个设施,但两栋楼之间的连接相对较慢(但晚上速度更快)。我希望在发生火灾等情况下使用场外恢复选项。
- 我希望在我调用之前购买、运行并准备好备份。不是“崩溃后再买一个新盒子……”
- 这个盒子没什么特别的,只是一个装有 ubuntu linux 的标准桌面。我们使用它并不是为了高性能。
有人知道我的解决方案吗?我对 Linux 或服务器相关的任何内容都不熟悉,因此请在回答时提供基本解释。
谢谢!
答案1
您实际上是在谈论三个相互关联但又不同的事情:
- 容错(如何保持运行,或以最少的停机时间进行备份)
- 数据备份(当有人 rm -rf 我的存储库时我该怎么办)
- 灾难恢复(如果我的办公室被彻底摧毁了,我该怎么办)
您确实应该将它们视为三个不同但相互关联的过程。我将详细介绍容错能力,因为这似乎是您在最长 1 小时停机时间内真正需要的。
容错方面需要考虑的一些事项:
- 我需要多长时间才能获得新设备?
- 我要花多长时间才能重建这个盒子?
- 我需要多长时间来验证和恢复数据?
将这些时间相加,然后乘以 30%(紧急情况下,没有什么事情会像您想象的那样顺利),如果该总和大于您可接受的停机时间,则需要开始考虑一些高可用性设置。如果少于该总和,则您需要承担估算错误的风险,并且人员停机时间可能比您预期的要长。
至于可能的解决方案,你可以做很多事情。但在每种情况下,我都会高度建议用服务器级机器替换台式机。组件的质量更高,并且它们可以 24x7x365 全天候运行,因此硬件中已经内置了相当多的冗余(良好的 RAID 卡、冗余 PSU 等)。
- 您可以在第二个站点设置备用服务器,然后每隔 x 段时间 rsync 您的数据 - 其中 x 是如果服务器在复制之间发生故障,您愿意丢失的数据量。rsync 在第一次同步后对小数据管道非常友好,因为它只发送增量和更改的文件。还要设置您的服务器,以便通过 CNAME 访问它们,这样您就可以交换它指向的位置并开始使用。
- 操作与上述相同,但将备用服务器放在主要位置。
- 获取 SAN/NAS 和两台服务器。然后将它们设置为主动/主动群集或主动/被动群集
备份也是该场景中非常重要的一部分。您应该记住,没有什么可以替代异地存储的时间点备份。我个人仍然认为备份到磁带,然后由 Iron Mountain 等公司将其异地存储是最佳选择。对于您的规模环境,任何“大型”备份解决方案 - ArcServ、BackupExec、NetBackup 都应该可以胜任。另外,请确保至少每季度测试一次备份。没有什么比发现您需要的备份不好更糟糕的了。
灾难恢复实际上就是坐下来规划您将从哪里工作、从哪里获得替换设备,确保您拥有良好的异地备份。我认为灾难恢复将上述所有组件整合到一个有凝聚力的行动计划中,以应对最坏的情况。
答案2
您可以虚拟化环境,然后您需要做的就是恢复图像。
答案3
这里有很多选项,取决于数据量、主系统的复杂性以及您想要进行多少管理。
如果虚拟化设备相对较小(几 GB),我喜欢使用 XenServer。例如,我们运行的内部应用服务器只有 3 GB。我可以轻松停止它,进行备份,并将备份传输到另一个系统。但是,如果您不熟悉 XenServer,这可能是一个陡峭的学习曲线。
我也使用 R1Soft 的 CDP 服务器备份软件,但它并不适合快速恢复。它非常适合对故障服务器进行完整的裸机恢复,但不适合一小时内的备份和恢复。
我曾为客户做过类似的事情:使用 CDP 备份软件将主系统克隆到冷备用系统。这可确保备用系统与主系统完全相同。然后,我们将每小时的快照存储在 CDP 服务器中。CDP 服务器使用非常高效的备份算法,因此对实时服务器的影响很小。
一旦发生故障,您可以将数据从 CDP 服务器恢复到冷备用服务器。
此方法或基于 rsync 的方法的问题在于,您需要确保同时管理热备件和冷备件,以便它们的软件保持同步。您不会希望在其中一个上运行操作系统更新,而忘记在另一个上运行。
一个建议是尽可能尝试在您的服务器上使用标准化配置,这将减少配置/更新更改对将数据恢复/同步到冷备用系统的影响。
此外,我喜欢将我的数据(即我添加的内容)与系统完全隔离。如果您使用 LVM,LVM 快照方法可能也有效。
有很多选择需要考虑,但最好的选择取决于您的内部专业知识、管理系统的时间和数据使用模式。
另外,如果数据量很少,您可能需要研究桌面级备份/恢复工具。我对这些不太熟悉。
http://www.r1soft.com/ CDP 服务器软件
http://www.citrix.com/Xen服务器
答案4
似乎像 rsync + cron 这样简单的东西就足够了。