大多数企业一直在寻求实现更高等级的应用及服务可用性。随着技术不断成熟以及客户服务成为我们日常生活中的一部分,人们希望在任何时间、任何地点都能够访问相应的应用与服务。
这一任务不是那么简单,因为必须要满足相应的服务级别协议(SLA)。SLA是IT部门与业务部门或企业与用户之间的一种度量方式。不同的SLA意味着不同的后果,有些还可能还涉及到财务。
有一些设计及架构,包括构建分布式应用、实现应用的负载均衡,都能够增加应用、服务或数据中心的可用性。在架构层,我们不希望计算、网络以及存储层存在任何的单点故障。
遗留应用提出了新问题
问题在于我们要应对的企业应用或内部开发应用,通常并未使用分布式的Web扩展模式。这些应用在十几年前就已经上线运行了,其架构关注于增加单个存储阵列的正常运行时间。如果阵列出故障,那么需要花很长时间应用才能恢复运行。
现在,业务以及用户的期望与之前存在显著的差异。出现故障时谁都不希望等很长时间。问题棘手之处在于仍旧要应对这些遗留应用并应对存储可能会出现的故障。
IT专业人士总在争论将遗留应用迁移到云中无法解决上述问题。这可能会降低应用的可用性,因为云中的大多数基础设施被设计为不关心硬件是否出现故障。
接下来我们要做什么?
到目前为止,大多数企业已经耗费了大量的时间、精力增加单个数据中心内应用的可用性。然而就某些企业而言,仍旧可以采取一些措施,但更多是位于数据中心外部。
很多企业询问如何使用灾难恢复站点或者构建第二个站点并使用两个站点以增加应用可用性。想法是将两个数据中心视为活动的,这样工作负载能够在两个站点运行或者允许工作负载在站点之间自由移动。
这可不是什么小事儿,因为某些应用天生就是铁板一块,如果相关组件被迁移到另一个数据中心,就无法很好地运行。网络带宽及延迟可能会显著影响遗留应用的性能,因此上述方式引发了人们对网络带宽及延迟的极大关注。
VMware在hypervisor层设计了很棒的架构以提供更高等级的本地可用性。在此基础上,VMware在vSphere 5中引入了vSphere Metro Storage Cluster(vMSC)。使用VMware vMSC,单个vSphere集群可以跨越两个物理站点。通过构建vMSC,在出现严重故障时,出于规避灾难、维护以及高可用考虑,用户能够在站点之间迁移虚拟机。
设计存在哪些挑战?
部署VMware vMSC一开始存在的挑战位于存储层。只有有限的厂商及存储设备支持并通过了vMSC认证。为支持vMSC部署,存储产品必须支持在站点之间进行同步复制。目前受支持的最大时间延迟为10ms,而某些其他厂商仍声称最大的时间延迟为5ms。
在上述厂商当中,部署跨站点的存储产品存在不同的选择。一种选择是位于两个站点的存储都是可读写的,一种选择是只有一个站点是可读写的,另一个站点是只读的,直到出现故障时才变为可读写。你可能需要在具备必需基础设施及带宽的两个站点之间实现FC zone,如果只向一个站点发送写请求,这可能会导致I/O路径未被充分利用。
满足了存储设计要求后,仍需要了解如何设计vSphere集群架构。你需要确定当虚拟机重启、主机发生故障或者整个站点出现故障时,如何应对。
VMware建议使用DRS规则
由于vSphere仍旧无法感知站点,因此没有专门的功能设置应对站点故障。为解决该问题,VMware建议使用DRS规则在每个站点的集群中创建主机组。然后你可以根据需要,将虚拟机分配给相应站点中的DRS集合。如果虚拟机或主机发生故障,将会基于规则以及可用容量在相应的主机上重启虚拟机。
规则是由你自己设置的。运行工作负载所需要的最小容量是4台vSphere主机,这不包括用于HA的主机。这意味着两个站点中的每个站点都需要4台主机,构建一个8节点集群。任何一个站点出现故障,另一个站点都能够提供100%的容量。
例如,如果A站点的单个主机出现故障,运行在该主机之上的虚拟机很可能会在位于站点B的主机上重新启动。如果每个站点使用的容量只有50%,那么在理想情况下该站点有足够多的容量用于运行该虚拟机,那么该虚拟机不会在另一个站点上重启。
你也可以在站点中增加第5台主机,新增加的主机主要用于实现HA功能。这将会提供足够多的容量用于降低虚拟机在非首选站点重启的可能性。如果在站点之间随机迁移遗留企业应用,那么很可能无法正常运行。你希望一同迁移具有依赖关系的所有应用。
检查VMware vMSC白皮书
除故障行为外,在部署vMSC时VMware还推荐进行一些设置,用于应对如何处理意外场景,比如所有路径出故障。针对该主题VMware有一本白皮书,在考虑该类设计时建议查阅该白皮书。
除存储外,在两个站点之间扩展集群需要具有相同的2层网络并将其映射给主机。否则虚拟机在站点之间迁移时连接将会丢失。如果计划在位于不同站点的主机之间迁移虚拟机,那么你还需要考虑存储复制以及vMotion流量所需要的最低带宽。
作者:Brian Suhr 翻译:张冀川
来源:51CTO