当前位置: 首页 > 科技观察

如何保证SQLServer在云端的高可用_0

时间:2023-03-14 21:14:06 科技观察

【.com快译】不知道大家有没有意识到,云计算为那些SQLServer部署提供了高可用(HA)和容灾(DR)关键服务能力。相应地,Azure、AWS和谷歌在全球部署了最先进的分布式数据中心,并以各种SLA的形式向用户承诺99.95%或更高的虚拟机(VM)可用性。当然,SQLServer配置HA或DR往往会涉及WindowsServerFailoverCluster(WSFC)的建立。通过这种类型的集群,SQLServer不仅可以保证自身在不同主机上的高可用性,更重要的是,与SQLServer交互的不同存储设备上的数据也具有极高的可用性。在传统的WSFC中,数据通常存储在存储区域网络(SAN)或SMB3中,并由WSFC中的所有服务器节点共享。但是,云存储不能像传统SAN那样共享。为了克服这个限制,人们不得不使用第三方的方法,或者Windows原生的方法来克服这种共享存储的限制。HA的数字意义如果用数字来体现HA,其实就是99.99%以上的在线保底率。在数据中心的建设过程中,我们可以将两个或多个虚拟机(VM)集群配置到Azure数据中心的独立机架中(通常称为“可用性集合”),以保证99.95%的时间至少有一个虚拟机可用。同时,Azure和AWS还允许您跨多个数据中心(通常称为“可用区”)对VM进行集群。有了这样的SLA,您将至少有一个VM在99.99%的时间内可用。但是,这些SLA保证VM本身的可用性,而不是SQLServer及其数据的可用性。也就是说,当主虚拟机出现故障,业务转移到集群中的备虚拟机时,为了让服务以最小的中断继续运行,备虚拟机必须能够继续运行SQLServer并访问各种基础数据库。文档。可见,我们还需要进一步的配置来保证SQLServer及其底层数据的可用性。在云端配置可用性那么,我们如何保证SQLServer和云端数据的高可用性呢?如果你主要使用WindowsServer的原生服务(而不是第三方提供的产品),那么你有两个选择:你可以在WindowsServer2016或更高企业版上使用StorageSpacesDirect,或者你可以在SQL上创建AlwaysOn可用性组Server2012或更高企业版。上述两种方法各有优缺点。StorageSpacesDirect(S2D)主要是在软件中创建一个虚拟存储区域网络(SAN),方便WindowsServerFailoverClustering(WSFC)中的任何虚拟机访问。这种方法看起来像是对传统故障转移集群的基于云的升级,但由于我们必须将集群配置为可用性集合,因此其中的所有VM都需要位于同一个数据中心。在极端情况下,整个数据中心可能会因中断事件而关闭,然后所有虚拟机及其存储的数据都将离线。这就是为什么使用S2D配置时,您永远不会获得超过99.95%的可用性。此外,S2D对单一数据中心的要求也降低了SQLServer故障转移集群实例(FCI)的高可用性,这些实例跨越多个数据中心,部署在Azure、AWS甚至谷歌云平台区域。表1:WindowsServer选项的优缺点与StorageSpacesDirect相比,AlwaysOn可用性组(AG)可在地理上不同的数据中心之间启用AG副本。位于不同数据中心的replicas配置好后,AG关联的SLA将上升到99.99%。毕竟AG的配置并没有像SQLServerFCI那样严重依赖共享存储。AG提供的服务可以在副本之间自动同步SQLServer数据。也就是说,如果当前活动的SQLServer实例发生故障,指定的副本服务器将接管并开始支配已复制到该实例的数据库。当然,这种方式也有一定的缺点:虽然AG会复制用户自定义的数据库,但不会复制关键的系统数据库,比如Master、MSDB。这些关键系统数据库包含各种代理作业、登录名和密码等。可见,如果SQLServer主实例故障下线,这些数据库都得不到保护。此外,值得一提的是:Microsoft尚未使用超过100个SQLServer数据库或10个AG测试AlwaysOn可用性组。也就是说,如果需要同时保护大量数据库,那么AG可能会面临某种限制。新一代共享云存储基于以上原因,基于云的文件共享应运而生。你一定很想知道:能否超越WindowsServer的固有局限,带来高性能的基于云的HA和DR解决方案?我个人认为:从长远来看,答案是肯定的。AWS最近表示,组织可以使用AmazonFSx(译者注:Amazon的基于WindowsServer的文件系统)来配置一个WSFC。由于WSFC中的所有节点都可以访问文件共享,如果主节点下线,即使它在另一个数据中心,集群也会自动转移到备用节点继续使用存储在AmazonFSx文件共享中的文件。SQL服务器数据。Azure还表示:用户组织可以使用Azure的高级文件共享功能在FCI中配置SQLServer。基于此,我认为:故障转移集群的本地数据中心模型将逐渐切换到云模型。然而,在短期内,答案也可能是否定的。究其原因,当今基于云的文件共享产品主要存在一个显着的缺陷,即:现有的云文件共享服务的基础SLA只能保证99.9%的读写操作可用性,远低于高层。我们正在谈论的数据。可用性所需的99.99%SLA基准。至于其他的问题,我们客观的总结在下表中。表2:基于云的共享文件产品的问题和潜在结果我们可以预测,基于云的文件共享将成为S2D和AG的有效替代方案。在不久的将来,所有的云服务商都可以通过这样的场景为SQLServer及其底层数据可用性提供99.99%甚至更高的SLA。让我们拭目以待!原标题:EnsuringSQLServerHighAvailabilityintheCloud,作者:DavidBermingham