热备用主机vs冷备用主机?

我们有几个主机,我们有一个相同的热备份主机,这是修补和更新,所以它是非常接近,必须相同的软件和configuration。 如果发生故障,网线将切换,DHCP服务器将更新为新的MAC地址。 这是最好的情况,因为通常需要修改一些。

我觉得有一个热备用主机,浪费时间来维护它是浪费电力的,而且由于在故障切换时需要修改configuration,所以我想问一下:

热的东西是老派,现在有更好的办法吗?

如果没有热备份主机,将它作为一个冷备用磁盘是有意义的,把硬盘驱动器放在主要主机,并将RAID从1更改为1 + 1。 如果出现故障,我只能更换网线,更新DHCP服务器,取出硬盘并插入冷备用并打开电源。 我所看到的好处是2×2磁盘总是保持同步,所以只有一个主机可以维护,不需要更改configuration。

这是一个好主意吗?

Sobrique解释了人工干预是如何使您提出的解决scheme成为最佳的 , ewwhite谈到了各种组件失败的可能性 。 这两个国际海事组织都提出了非常好的观点,应予以充分的考虑

然而,目前为止,还没有人似乎没有评论过这个问题,这让我感到惊讶。 你build议:

使[当前热备份主机]冷备用,取出硬盘并放入主用主机,并将RAID从1更改为1 + 1。

这不会保护您免受操作系统在磁盘上的任何操作。

它只能真正保护您免受磁盘故障的影响,从镜像(RAID 1)到镜像镜像(RAID 1 + 1),您大大减less了冲击。 您可以通过增加每个镜像集中的磁盘数量(例如,从2磁盘RAID 1到4磁盘RAID 1)来获得相同的结果,并且在正常操作期间很可能提高读取性能。

那么,让我们看看这可能会失败的一些方法。

  • 假设您正在安装系统更新,并导致过程中途失败; 也许有一个电源和UPS故障 ,或者你有一个畸形的事故,并造成了一个严重的内核错误(现在的Linux是相当可靠的,但仍然有风险)。
  • 也许一个更新引入了一个问题,在testing过程中你没有捕获到(你testing系统更新,对吗?),当你修复主服务器时需要故障切换到辅助系统
  • 也许文件系统代码中的一个错误会导致对磁盘的虚假写入无效。
  • 也许一个胖手指(或者甚至是恶意的)pipe理员可以使用rm -rf ../*rm -rf /*而不是rm -rf ./*
  • 也许在你自己的软件中的一个错误,导致它大量地破坏数据库的内容。
  • 也许病毒会潜入

也许,也许,也许…(我相信你提出的方法可能会有更多的方法失败)。然而,最终归结为你的“两套总是同步”“优势”。 有时你不希望他们完全同步。

取决于发生了什么事情,这就是当你想要热备份或冷备份准备好被打开或切换到正确的备份。 无论哪种方式,如果故障模式涉及硬件存储设备故障(磁盘故障)之外的任何事情,则镜像(或RAID镜像)的RAID镜像不能帮助您。 像ZFS'raidzN可能会在某些方面做得更好,但在其他方面则不会更好。

对我来说,如果意图是任何forms的灾难故障转移,这将使您提出的方法从一开始就不可行。

是的,这是一个古老的学校。 现代硬件不只是经常失败 。 把重点放在提高你的应用程序的可用性(并不总是可能),或者让你的个人主机更具弹性。

对于主机:

  • 购买更好的硬件。
  • 确保你有支持合同。
  • 注册您的服务器的支持合同(备件根据注册数据在本地库存!)
  • 使用冗余电源,(硬件?)RAID,冗余风扇。
  • 如果服务器无法容纳上述冗余function,请备用机箱或组件备用,以便在出现故障时自行修复。

为了减less故障频率,我看到:磁盘,RAM,电源,风扇最常…有时系统板或CPU。 但最后两个是你的支持合同应该在哪里。

这是相当低效的 – 至less是因为依靠手动干预来完成切换。

我曾经在那些运行热点灾难恢复站点的地方工作 – 从字面上看,和主服务器相同的服务器已经准备就绪。 然而,容灾切换是一个自动化的过程,我们不是在说布线,有的在拨弄,而是在切换,但是按下button的过程会将所有内容从一个站点翻到另一个站点。

这种方法的代价太高了,但这是一个商业决策 – 可以接受的风险与实现目标所需的资金。 通常,恢复时间目标有一个指数曲线 – 越接近零,成本就越高。

但这就是你的问题,真的。 什么你的恢复时间目标,什么是实现它的最有效的方法。 等待启动服务器将需要几分钟的时间。 凌晨4点stream行时,需要多长时间进行调整和“恢复任务”?

多久可以接受中断?

我会build议,如果你正在做“热恢复”,你想思考集群。 使用VMWare可以很便宜地进行集群 – 即使从物理上“虚拟”到虚拟机 – 也意味着您没有运行冗余硬件。 (那么,N + 1而不是2N)。

如果您的RTO足够长,请closures该盒子。 您可能会发现,RTO足够从备份进行冷重build。

它是老派的事实并不一定会使用热备份一个坏主意。

你最关心的应该是理由,你运行的风险是什么,运行热备份如何缓解风险。 因为根据我的理解,你的热备件只能解决硬件故障,这虽然并不less见,但也不是唯一的操作风险,也不是最可能的。 第二个问题是替代策略是否提供更多的风险降低或显着的节约。

使用多个手动故障转移步骤运行热备件将需要很长时间,并且可能会出错,但我似乎也将自动故障转移与HA群集套件变成主要的群集function。

另一件事情是,在同一地点的热或冷备用不会在本地灾难的情况下提供业务连续性。

拥有热备份或冷备份的概念取决于如何构build应用程序。

我的意思是,如果应用程序的构build方式使得数据和服务负载分散在多台机器上,那么任何一台使系统停机的概念都应该消失。 在这种情况下,你不需要热备份。 相反,当单个机器/组件死亡时,您需要足够的过剩容量来处理。

例如,一个标准的Web应用程序通常需要一个Web服务器和一个数据库服务器。 对于Web服务器,只是负载平衡2或更多。 如果一个人死了,没有biggie。 数据库通常比较困难,因为它必须被devise成多主机,所有数据在参与机器上同步。 因此,不是一个数据库服务器,而是2个(或多个)服务器,这两个服务器都可以满足您的数据需求。 谷歌,亚马逊,Facebook等大型服务提供商走过了这条路。 开发时间有更多的前期成本,但是如果需要扩展的话,它会带来红利。

现在,如果您的应用程序不是以这种方式构build的,或者仅仅是禁止复制应用程序,那么是的,您可能需要热备份。