
哈伯的读者您好! 在上一篇文章中,我们讨论了AERODISK ENGINE存储系统中的一个简单的容灾工具-有关复制。 在本文中,我们将深入探讨一个更复杂和有趣的主题-城域集群,即对两个数据中心进行自动灾难保护的一种方法,该方法允许数据中心以主动-主动模式工作。 我们将告诉,展示,破坏和修复它。
像往常一样,在理论开始时
都市圈集群是指一个城市或地区内多个站点之间的集群。 “集群”(cluster)一词清楚地向我们暗示了该组合系统是自动化的,即在发生故障的情况下自动切换集群节点。
这就是都会集群和普通复制之间的主要区别所在。 操作自动化。 也就是说,在某些事件(数据中心故障,通道中断等)的情况下,存储系统将独立执行必要的操作以保持数据可用性。 使用常规副本时,管理员将完全或部分手动执行这些操作。
这是为了什么
客户追求使用城域集群的一种或另一种实现方式的主要目标是最大程度地减少RTO(恢复时间目标)。 即,最大程度地减少故障后IT服务的恢复时间。 如果使用普通复制,则恢复时间将始终比都会集群的恢复时间长。 怎么了 很简单 管理员必须在工作场所并手动切换复制,然后城域集群自动执行此操作。
如果您没有专职的管理员来不睡觉,吃饭,抽烟或生病,并且每天24小时查看存储状态,则无法保证管理员在故障期间可以进行手动切换。
因此,在没有都市圈或 不朽管理员等级99 管理员的值班服务将等于所有系统的切换时间与最长的时间段之和,从而保证管理员可以开始使用存储系统和相关系统。
因此,我们得出一个明显的结论:如果RTO的要求是分钟而不是几小时或几天,则应使用城域集群,也就是说,在数据中心故障最严重的情况下,IT部门必须为业务提供时间来恢复对IT的访问。 -在几分钟甚至几秒钟内提供服务。
如何运作?
在较低级别,都市集群使用同步数据复制的机制,我们在上一篇文章中对此进行了描述(请参阅参考资料 )。 由于复制是同步的,因此对其的要求是适当的,或者更确切地说:
- 物理光纤,10 Gb以太网(或更高);
- 数据中心之间的距离不超过40公里;
- 数据中心之间(存储系统之间)的光通道延迟最多为5毫秒(最佳2毫秒)。
所有这些要求本质上都是建议性的,也就是说,即使不满足这些要求,都会集群也可以工作,但是必须理解,不遵守这些要求的后果等同于都会集群中两个存储系统的速度降低。
因此,使用同步副本在存储系统之间传输数据,如何自动切换副本,最重要的是,如何避免脑裂? 为此,在以上级别,使用了另一个实体-仲裁器。
仲裁员如何工作,他的任务是什么?
仲裁程序是小型虚拟机或硬件群集,必须在第三个平台(例如,在办公室)中运行,并通过ICMP和SSH提供对存储的访问。 启动后,仲裁者应设置IP,然后从存储端指示其地址,以及参与城域集群的远程控制器的地址。 之后,裁判即可开始工作。
仲裁程序会持续监视城域集群中的所有存储系统,如果存储系统不可用,则在确认另一个集群成员(“活动”存储系统之一)不可用后,它会决定启动切换复制规则和映射的过程。
非常重要的一点。 仲裁程序必须始终位于与存储设备不同的站点上,即既不在存储设备1所在的数据中心1中,也不在安装存储设备2的数据中心2中。
怎么了 因为只有这样,仲裁员才能在尚存的存储系统之一的帮助下明确,准确地确定存储系统安装在两个站点中任何一个站点的故障。 放置仲裁者的任何其他方式都可能导致头脑分裂。
现在深入探讨仲裁员的详细信息
仲裁器运行由所有存储控制器不断询问的几种服务。 如果调查的结果与上一个不同(可用/不可访问),则将其记录在一个小的数据库中,该数据库也可以作为仲裁器。
更详细地考虑仲裁程序的逻辑。
步骤1.确定不可访问性。 有关存储系统故障的事件信号是在5秒钟内没有从同一存储系统的两个控制器执行ping操作。
步骤2.开始切换过程。 仲裁员了解其中一个存储系统不可用后,他向“活动”存储系统发送了一个请求,以确保“失效”存储系统确实死了。
在从仲裁器接收到这样的命令后,第二个(活动)存储系统会另外检查掉落的第一个存储系统的可用性,如果不是,则向仲裁员发送他的猜测的确认。 储存空间确实不可用。
收到此类确认后,仲裁程序将启动远程过程,以切换复制并在已删除存储上处于活动状态(主)的副本上提升映射,并向第二个存储发送命令以将这些副本从辅助复制到主要并提升映射。 好吧,第二个存储系统分别执行以下过程,然后从其自身提供对丢失的LUN的访问。
为什么需要其他验证? 达到法定人数。 也就是说,群集成员总数的奇数总数(3)中的大多数应确认群集节点之一的掉落。 只有这样,这个决定才是正确的。 为了避免错误切换并因此避免裂脑,这是必需的。
时间的第2步大约需要5-10秒,因此,考虑到确定无法访问所需的时间(5秒),在事故发生后的10-15秒内,具有丢失的存储的LUN将自动可用于实时存储。
显然,为了避免断开主机连接,您还必须注意主机上超时的正确设置。 建议的超时时间至少为30秒。 这将不允许主机在发生意外的负载转移期间从存储系统断开连接,并且将能够保证输入输出不会中断。
事实证明,如果都市集群一切正常,那么为什么需要定期复制呢?
实际上,一切都不是那么简单。
考虑都市圈的利弊
因此,我们意识到与传统复制相比,城域集群的明显优势是:
- 完全自动化,在发生灾难时提供最短的恢复时间;
- 就是这样:-)。
现在,注意,缺点:
- 决定成本。 尽管Aerodisk系统中的城域集群不需要额外的许可(使用与副本相同的许可),但该解决方案的成本仍将比使用同步复制高。 必须实现同步副本的所有要求,以及与附加交换和附加站点相关的城域集群的要求(请参阅城域集群规划);
- 决策的复杂性。 城域集群比常规副本复杂得多,并且在规划,配置和文档编制方面需要更多的精力和精力。
最后。 当您确实需要在几秒钟或几分钟内提供RTO时,Metro群集当然是一个非常技术性很好的解决方案。 但是,如果没有这样的任务,并且在几个小时内可以进行RTO,那么从加农炮发射麻雀就没有意义了。 通常的工作农民复制就足够了,因为城域集群将招致额外的成本并使IT基础架构复杂化。
都市圈规划
本部分并不声称是地铁集群设计的综合指南,而仅显示了在决定构建这样的系统时应制定的主要方向。 因此,在都市集群的实际实施中,一定要让存储系统(即我们)和其他相关系统的制造商参与进来进行协商。
平台类
如上所述,都市圈至少需要三个站点。 存储系统和相关系统将在其中运行的两个数据中心,以及仲裁器将在其中运行的第三个平台。
数据中心之间的建议距离不超过40公里。 较大的距离很可能导致额外的延迟,这对于地铁集群来说是非常不希望的。 回想一下,延迟最好不超过5毫秒,尽管最好满足2。
还建议在计划过程中检查延迟情况。 任何在数据中心之间提供光纤的成人服务提供商,都可以很快地进行质量检查。
至于仲裁器之前的延迟(即,第三个平台与前两个平台之间的延迟),建议的延迟阈值最高为200毫秒,也就是说,适合通过Internet进行常规的企业VPN连接。
交换与联网
与复制方案不同,复制方案足以将来自不同站点的存储系统互连,而具有城域集群的方案则需要将主机与位于不同站点的两个存储系统连接在一起。 为了更清楚地表明两者之间的区别,下面列出了两种方案。


从图中可以看到,站点1上的主机正在查看SHD1和SHD2。相反,平台2上的主机正在查看SHD 2和SHD1。 也就是说,每个主机都可以看到两个存储系统。 这是操作城域集群的先决条件。
当然,无需将每个带有光缆的主机拉到另一个数据中心,没有端口和系带就足够了。 所有这些连接必须通过以太网10G +或FibreChannel 8G +交换机(FC仅用于连接主机和IO存储)建立,复制通道当前仅可通过IP(以太网10G +)使用。
现在谈谈网络拓扑。 重要的一点是子网的正确配置。 您必须立即为以下几种类型的流量标识几个子网:
- 用于复制的子网,将在该子网上同步存储系统之间的数据。 可能有几种,在这种情况下没关系,这完全取决于当前(已实现)的网络拓扑。 如果有两个,那么显然应该配置它们之间的路由。
- 主机将通过其访问存储资源的存储子网(如果是iSCSI)。 每个数据中心应有一个这样的子网;
- 控制子网,即在三个站点上的三个可路由子网,从中进行存储管理,并且还有一个仲裁器。
由于子网高度依赖于任务,因此此处不考虑用于访问主机资源的子网。
将不同的流量分离到不同的子网中非常重要(将副本与I / O分开尤为重要),因为如果将所有流量混合到一个“厚”子网中,则将无法控制这种流量,并且在两个数据中心的情况下,它仍然可能导致不同的流量。网络冲突选项。 我们不会在本文的框架内深入探讨此问题,因为您可以阅读有关网络设备制造商资源的数据中心之间延伸的网络规划的详细介绍。
裁判员配置
仲裁程序必须通过ICMP和SSH协议提供对所有存储管理接口的访问。 您还应该考虑仲裁程序的容错能力。 有细微差别。
仲裁器的容错性是非常理想的,但是是可选的。 如果裁判在错误的时间撞车怎么办?
- 地铁群集在正常模式下的操作不会更改,因为 arbtir不会以任何方式影响城域集群在正常模式下的运行(其任务是及时在数据中心之间切换负载)
- 此外,如果仲裁人出于某种原因掉下来并在数据中心“唤醒”事故,那么将不会发生切换,因为不会有人给出必要的命令来切换和组织仲裁。 在这种情况下,城域集群将变成常规复制方案,在灾难期间必须手动切换该方案,这会影响RTO。
随之而来的是什么? 如果确实需要确保最低RTO,则需要确保仲裁器的容错能力。 有两种选择:
- 因为所有成人管理程序都支持故障转移,所以在仲裁服务器上运行带有仲裁器的虚拟机。
- 如果在第三个站点上(在有条件的办公室中)
懒惰地放置一个正常的集群 由于没有超虚拟机集群,因此我们提供了仲裁器的硬件版本,该仲裁器是在2U盒子中制成的,其中两个普通的x-86服务器都可以工作,并且可以在本地故障中幸免。
尽管城域集群在正常模式下不需要仲裁器,但我们还是强烈建议仲裁器具有容错能力。 但是理论和实践都表明,如果您构建真正可靠的防灾基础架构,那么最好安全地运行它。 最好保护自己和您的企业免受“卑鄙的法律”的侵害,也就是说,避免仲裁者和存储系统所在站点之一的故障。
解决方案架构
考虑到以上要求,我们获得以下通用解决方案体系结构。

LUN应该均匀分布在两个站点上,以避免严重的拥塞。 同时,在两个数据中心中进行规模调整时,不仅需要放置两倍的卷(在两个存储系统上同时存储数据所必需),而且还需要放置IOPS和MB / s的双重性能,以防止在其中一个数据中心发生故障时导致应用程序性能下降ov。
另外,我们注意到,通过适当的大小调整方法(即,只要我们为IOPS和MB / s提供了适当的上限,以及必要的CPU和RAM资源),如果其中一个存储系统在城域集群中发生故障,则性能不会严重下降一个存储系统上的临时工作。
这是由于以下事实:在两个站点同时发生的情况下,由于每个事务都需要写入两个存储系统(类似于RAID-1 / 10),因此同步复制“吞噬”了一半的写入性能。 因此,如果其中一个存储系统发生故障,复制的影响将暂时消失(直到出现故障的存储系统出现),并且写入性能将提高两倍。 在发生故障的存储系统的LUN在工作的存储系统上重新启动后,由于来自另一个存储系统的LUN的负载,这种增加的两倍消失了,并且性能恢复到“下降”之前的水平,但仅在一个平台的框架内。
借助适当的大小调整,可以提供用户完全不会感觉到整个存储系统出现故障的条件。 但是,这再次需要非常仔细的大小确定,为此,您可以免费联系我们:-)。
城域集群设置
设置城域集群与设置常规复制非常相似,我们在上一篇文章中已对此进行了介绍 。 因此,我们仅关注差异。 我们仅在最小版本的基础上,在上述架构的基础上在实验室中建立了一个展台:两个通过10G以太网相互连接的存储系统,两个10G交换机和一个主机,可以通过两个带有10G端口的存储端口查看这些交换机。 仲裁程序在虚拟机中运行。

为副本设置虚拟IP(VIP)时,请为都市集群选择VIP类型。

我们为两个LUN创建了两个复制链接,并将它们分发到两个存储系统中:SHD1的LUN TEST Primary(METRO链接),SHD2的LUN TEST2 Primary(METRO2链接)。

对于他们,我们设置了两个相同的目标(在我们的例子中是iSCSI,但也支持FC,设置的逻辑是相同的)。
SHD1:

SHD2:

对于复制连接,他们在每个存储系统上进行了映射。
SHD1:

SHD2:

配置的多路径并呈现给主机。


配置仲裁器
您不需要自己对仲裁器做任何特别的事情,只需要在第三个平台上启用它,为他设置IP并配置通过ICMP和SSH对其的访问即可。 配置本身是从存储系统本身执行的。 在这种情况下,只需在城域集群中的任何存储控制器上配置一次仲裁器就足够了,这些设置将自动分配给所有控制器。
在“远程复制>> Metrocluster”部分(在任何控制器上)>>“配置”按钮。

我们介绍了仲裁器的IP以及远程存储的两个控制器的控制接口。

之后,您需要启用所有服务(“重新启动所有内容”按钮)。 如果将来需要重新配置,则必须重新启动服务才能使设置生效。

检查所有服务是否正在运行。

这样就完成了城域集群的设置。
碰撞测试
在我们的案例中,崩溃测试将非常简单和快速,因为在上一篇文章中已经考虑了复制功能(切换,一致性等)。 因此,要测试一个城域集群的可靠性,对我们而言,足以检查事故检测,切换和是否没有记录损耗(I / O停止)的自动化。
为此,我们通过物理上关闭两个控制器的方式,通过开始将大文件初步复制到LUN来模拟一个存储系统的完全故障,而该文件必须在另一个存储系统上被激活。

禁用一个存储。 在第二个存储系统上,我们在日志中看到警报和消息,表明与相邻系统的连接已消失。 如果为SMTP或SNMP监视配置了警报,则管理员将收到适当的警报。

大约10秒钟后(在两个屏幕截图中都可以看到),METRO复制连接(在崩溃的存储系统上为主要连接)在运行中的存储系统上自动为主要。 使用现有的映射,LUN TEST对主机仍然可用,记录稍微下降了(在承诺的10%之内),但没有中断。


测试成功完成。
总结一下
AERODISK Engine N系列存储系统中Metrocluster的当前实施方式可以完全解决需要消除或最小化IT服务的停机时间并确保以最少的劳动力确保其24/7/365正常运行的问题。
我们当然可以说,所有这些都是理论,理想的实验室条件等等。但是,我们有许多已实施的项目,其中实施了容灾功能,并且系统运行良好。我们的一个知名客户(其中两个存储系统仅用于抗灾配置)已经同意发布有关该项目的信息,因此在下一部分中,我们将讨论作战部署。
谢谢您,我们正在等待富有成果的讨论。