我想在 Pier1、Q9 或类似的托管设施上托管(共置)一项服务。
将故障转移硬件放在单独的机柜中是否是最佳做法?根据您的经验,托管提供商是否允许这样做?
我担心的是,如果发生什么事情,比如机柜着火或者不满的机架租用者将可乐倒入服务器,我的两个 HA 堆栈都会受到影响。
根据您的经验,如果我将它们放在不同的机柜中,它们可以位于同一子网吗,或者将电缆从一个机柜拉到另一个机柜是否违反托管政策?
或者这种事件根本不会发生,我不应该再担心?
编辑:这是一个具有很高商业价值的无状态网络应用程序,几秒钟的停机时间都会非常有害。
答案1
这取决于您的服务的 HA 要求。
如果服务对业务来说不是那么重要,那么将集群节点分离在机柜之间可能没有意义,特别是如果周围的基础设施(如核心网络、负载平衡器等)也被分开的话。
在高业务价值服务中,将故障转移群集中的节点分离到单独的消防室是一种常见的做法,如果企业认为值得并且愿意付出代价,我建议这样做。
是的,托管服务提供商将允许您这样做,除非它是最小的托管服务提供商之一,并且没有多个机柜。
通常情况下,您不需要在机柜之间铺设自己的电缆。供应商会为您提供机柜之间的互连服务,然后您将核心网络桥接到该服务,或者供应商也可能提供网络服务。
集群中的节点可以使用相同的 VLAN,这仍然保留为单次功率因数校正除了集群技术本身,可能还有通用存储。为了防止这些组件中的服务出现故障,您需要构建一个灾难恢复系统,该系统通常位于地理位置足够远的地方,并且服务会异步镜像到该系统。
答案2
单机架电源故障比您列出的大多数其他问题更常见:单个 PDU 条弹出或电路过载......我已经遇到过几次这种情况,但没有出现您列出的其他问题。
理想情况下,您的“HA”解决方案使用两个不同的数据中心。(例如,AWS 区域中的两个区域)
答案3
不一定。这取决于你真正想要防范哪些情况。
我曾有过多个环境,其中的高可用性策略是在多个机柜中构建并行应用程序堆栈。这意味着应用程序/服务的所有层级(交换、防火墙等)都存在于两个机柜中,这样我们就可以丢失整个机架(或其中的任何组件)而不会影响应用程序的可用性。
您没有指定应用程序的范围或性质。更多细节会有所帮助。但是,如果您谈论的是单个 Web 服务器之类的小东西,则没有必要。地理分离、DNS 故障转移以及确保各个服务器具有内部冗余(双电源、冗余风扇、RAID)将是一个好的开始。
在设施内的机柜之间铺设电缆(交叉连接)并不罕见。通常,这是由于无法获得连续的空间。但我不会担心技术人员将液体饮料洒到您的机架或火上……尽管,组件火灾能发生...但我有一整套故障转移基础设施堆栈来避免停机。
答案4
您提到的火灾或破坏风险,或其他类似的环境问题,不太可能通过将您的技术放置在足够近的机架中来充分缓解,以便它们之间可以铺设电缆。想想去年纽约地区的暴风雨:整个数据中心都断电了。
我建议不必过多担心 HA,除非您的集群成员之间有适当的分离,或者至少您非常清楚这是为处理正常的错误(例如服务器崩溃)而不是任何更奇怪的事情而实施的。