大多数企业一直在寻求实现更高级别的应用和服务可用性。随着技术的成熟和客户服务成为我们日常生活的一部分,人们希望能够随时随地访问应用程序和服务。这个任务并不那么简单,因为必须满足相应的服务水平协议(SLA)。SLA是IT部门与业务部门或企业与用户之间的一种衡量方式。不同的SLA意味着不同的后果,有些还可能涉及财务。一些设计和架构,包括构建分布式应用程序和实施应用程序负载平衡,可以提高应用程序、服务或数据中心的可用性。在架构层,我们不希望计算层、网络层、存储层出现单点故障。遗留应用程序带来新问题问题是我们正在处理通常不使用分布式Web缩放模型的企业应用程序或内部开发的应用程序。这些应用程序已经投入生产十多年,其架构专注于增加单个存储阵列的正常运行时间。如果阵列出现故障,应用程序需要很长时间才能恢复运行。如今,企业和用户的期望与以前大不相同。没有人愿意在出现问题时等待很长时间。棘手的部分仍然是处理这些遗留应用程序和处理潜在的存储故障。IT专业人士一直在争论将遗留应用程序迁移到云端并不能解决上述问题。这会降低应用程序的可用性,因为云中的大多数基础设施设计为不关心硬件是否出现故障。我们接下来做什么?到目前为止,大多数企业已经花费了大量的时间和精力来提高单个数据中心应用程序的可用性。然而,对于一些企业来说,仍然可以采取一些措施,但更多的是在数据中心之外。许多企业询问如何使用灾难恢复站点或构建第二个站点并使用两个站点来提高应用程序可用性。这个想法是将两个数据中心视为活动数据中心,以便工作负载可以在两个站点上运行或允许工作负载在站点之间自由移动。这不是一件小事,因为某些应用程序本质上是单一的,如果将相关组件移动到另一个数据中心,将无法正常运行。网络带宽和延迟会显着影响遗留应用程序的性能,因此上述方法引起了对网络带宽和延迟的严重关注。VMware在管理程序层拥有出色的架构,可提供更高级别的本地可用性。在此基础上,VMware在vSphere5中引入了vSphereMetroStorageCluster(vMSC)。使用VMwarevMSC,单个vSphere集群可以跨越两个物理站点。通过构建vMSC,用户可以在站点之间迁移虚拟机,用于在发生严重故障时的避灾、维护和高可用性考虑。设计挑战是什么?部署VMwarevMSC的最初挑战是在存储层。只有少数供应商和存储设备支持并通过了vMSC认证。为了支持vMSC部署,存储产品必须支持站点之间的同步复制。目前支持的最大延时为10ms,而其他一些厂商仍然声称最大延时为5ms。在上述供应商中,跨站点部署存储产品有不同的选择。一种选择是两个站点的存储都是可读写的,一种选择是只有一个站点是可读写的,另一个站点是只读的,直到发生故障。您可能需要在具有必要的基础结构和带宽的两个站点之间实施FC区域,如果写入请求仅发送到一个站点,这可能会导致I/O路径未得到充分利用。满足存储设计需求后,还需要了解如何设计vSphere集群架构。您需要确定当虚拟机重新启动、主机出现故障或整个站点出现故障时要做什么。VMware建议使用DRS规则由于vSphere仍然无法识别站点,因此没有专门的功能集来处理站点故障。为了解决这个问题,VMware推荐使用DRS规则在每个站点的集群中创建主机组。然后,您可以根据需要将虚拟机分配给适当站点中的DRS集合。如果虚拟机或主机发生故障,虚拟机将根据规则和可用容量在相应的主机上重新启动。规则由你设定。运行工作负载所需的最小容量是4个vSphere主机,不包括用于HA的主机。这意味着两个站点中的每一个都需要4台主机,从而构建一个8节点的集群。如果任何一个站点发生故障,另一个站点可以提供100%的容量。例如,如果站点A的单个主机发生故障,则该主机上运行的虚拟机可能会在站点B的主机上重新启动。如果每个站点仅使用其容量的50%,那么理想情况下该站点有足够的容量来运行虚拟机,这样虚拟机就不会在其他站点重新启动。站点也可以添加第五台主机,新添加的主机主要用于实现HA功能。这将提供足够的容量来减少虚拟机在非首选站点重新启动的机会。如果遗留企业应用程序在站点之间随机迁移,那么它们很可能无法正常运行。您希望将具有依赖关系的所有应用程序一起迁移。查看VMwarevMSC白皮书除了故障行为,VMware在部署vMSC时还建议了一些设置,用于如何处理意外情况,例如所有路径都发生故障。VMware有一份关于此主题的白皮书,我建议在考虑此类设计时查阅该白皮书。除了存储之外,在两个站点之间扩展集群还需要具有相同的第2层网络并将其映射到主机。否则在站点之间迁移虚拟机时连接将丢失。如果您计划在不同站点的主机之间迁移虚拟机,您还需要考虑存储复制和vMotion流量所需的最小带宽。
