0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

如何确保SQL Server在云端的高可用性

独爱72H 来源:51CTO 作者:51CTO 2020-03-18 14:17 次阅读

(文章来源:51CTO)

不知您是否意识到,云计算让那些提供关键性服务的SQL Server部署方案获得了高可用性(HA)和灾难恢复(DR)能力。据此,Azure、AWS和Google都在全球范围内部署了最先进的分布式数据中心,并以各种SLA的形式,向用户承诺99.95%或更高的虚拟机(VM)可用水平。当然,针对HA或DR的SQL Server配置,往往涉及到建立Windows服务器故障转移群集(Windows Server Failover Cluster,WSFC)。通过此类群集,SQL Server不仅能够保证其本身在不同主机上的高可用性,更重要的是那些与SQL Server交互的不同存储设备上数据也具有极高的可用性。

在传统的WSFC中,数据通常被存储在存储区域网络(SAN)或SMB3(译者注:Server Message Block是一种能够被用于Web连接,以及客户端与服务器之间进行信息沟通的协议)中,并以共享的方式供WSFC中的所有服务器节点访问。但是,云存储无法以与传统SAN相同的方式实现共享。为了克服这种局限性,人们不得不使用第三方的方法,或Windows原生的方法来克服此类共享存储的限制性。

如果我们将HA反映到数字上,其实就是99.99%或更高的在线保证率。在数据中心的构建过程中,我们可以将两个或多个虚拟机(VM)群集配置到Azure数据中心的单独机架中(常被称为“可用性集合”),以保证在99.95%的时间里至少有一个VM可用。同时,Azure和AWS也能够让您在多个数据中心间(常被称为“可用区间”)实现VM的群集。通过此类SLA,您会在99.99%的时间内拥有至少一个可用的VM。

不过,这些SLA保障的是VM本身的可用性,而不是SQL Server及其数据的可用性。也就是说,当主VM出现故障,业务转移到群集中的备用VM上时,为了让服务能够以最小的中断状态继续进行,备用VM必须能够继续运行SQL Server,并能够访问到各种基础数据库的文件。可见,我们需要通过进一步的配置,才能确保SQL Server及其基础数据的可用性。

那么,我们该如何确保SQL Server和云端数据的高可用性呢?如果您主要使用的是Windows Server的原生服务(而不是第三方提供的产品),那么您有两种选择:您既可以在Windows Server 2016或更高的企业版上使用直接存储空间(Storage Spaces Direct),也可以在SQL Server 2012或更高的企业版上创建AlwaysOn可用性组。

上述两种方法各有优缺点。Storage Spaces Direct(S2D)主要是在软件中创建虚拟的存储区域网络(SAN),以方便Windows Server故障转移群集(Windows Server Failover Clustering,WSFC)中的任意VM进行访问。这种方式貌似针对传统故障转移群集的云端升级版本,但是由于我们必须将该群集配置为可用性集合,因此其中的所有VM都需要位于同一数据中心。在极端情况下,整个数据中心可能会由于破坏性事件而关闭,那么所有的VM及其存储数据将随之掉线。这就是为什么使用S2D的配置方式,是永远不会获得超过99.95%可用性的原因。

此外,S2D对于单个数据中心的要求,还消减了那些横跨多个数据中心,并且部署在Azure、AWS、甚至是Google云平台区域内的SQL Server故障转移群集实例(FCI)的高可用性。与直接存储空间相反,AlwaysOn可用性组(AG)能够支持地理位置不同的数据中心之间的AG拷贝。在位于不同数据中心的副本完成了适当配置之后,与AG关联的SLA会上升到99.99%。毕竟,AG的配置并不像SQL Server FCI那样重度依赖共享式的存储。

AG提供的服务可以自动在各个副本之间同步SQL Server数据。也就是说,如果当前active的SQL Server实例失败了,那么被指定的副本服务器将接管,并开始主导已复制到该实例中的数据库。当然,这种方法也有着一定的缺点:AG虽然会复制用户定义的数据库,但是它不会复制关键的系统数据库,例如:Master和MSDB。

这些关键系统数据库包含了各种agent jobs、登录名和密码等。可见,如果由于故障导致SQL Server的主实例掉线,那么这些数据库均无法受到保护。另外,值得一提的是:Microsoft尚未测试超过100个SQL Server数据库或10个AG的AlwaysOn可用性组。也就是说,如果需要同时保护大量的数据库,那么AG可能会面临着某种限制。

在上述各种原因的基础上,基于云端的文件共享应运而生。您一定迫不及待地想知道:它是否可以超越Windows Server固有的限制,带来高性能的基于云端的HA和DR解决方案呢?

我个人认为:从长远来看,答案是肯定的。AWS最近表示,用户企业可以使用Amazon FSx(译者注:Amazon基于Windows Server的文件系统)来配置某个WSFC。由于WSFC中的所有节点都可以访问文件共享,因此主节点一旦掉线,那么即便它在另一个数据中心,群集也会自动转移到备用节点上,以继续使用在Amazon FSx文件共享中存储着的SQL Server数据。Azure同时也表示:用户企业可以使用Azure的高级文件共享在FCI中配置SQL Server。据此,我认为:一直以来故障转移群集的本地数据中心模式会逐渐切换到云端模式。

不过在短期看来,答案也可能是否定的。其原因在于:当今基于云端的共享文件产品主要存在着一个显著的缺陷,即:现有云端文件共享服务的基本SLA只能保证99.9%的读、写操作可用性,而且远低于我们在谈论高可用性时所要求的99.99%的SLA基准线。至于其他方面的问题,我们客观性地总结在了下表之中。

我们可以预测:基于云端的文件共享方式将成为S2D和AG有效的替代方案。在不久的将来,所有云服务提供商都能够通过此类方案,针对SQL Server及其基础数据可用性,提供99.99%或更高的SLA。让我们拭目以待吧!
(责任编辑:fqj)

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • SQL Server
    +关注

    关注

    0

    文章

    17

    浏览量

    13397
  • 云服务
    +关注

    关注

    0

    文章

    751

    浏览量

    38631
收藏 人收藏

    评论

    相关推荐

    SQL Server数据库备份方法

    SQL Server是一种用于管理和存储数据的关系型数据库管理系统。备份数据库是保护和恢复数据的重要措施之一,以防止意外数据丢失。在本文中,我们将详细介绍SQL Server数据库备份
    的头像 发表于 11-23 14:27 795次阅读

    mysql和sql server区别

    MySQL和SQL Server是两种常见的关系型数据库管理系统(RDBMS),用于存储和管理数据库。虽然它们都支持SQL语言,但在其他方面存在一些显著的区别。以下是MySQL和SQL
    的头像 发表于 11-21 11:07 802次阅读

    人大金仓三大兼容:SQL Server迁移无忧

    SQL Server在数据库领域一直占据着重要地位。作为一款成熟稳定的关系型数据库管理系统,SQL Server在国内有着广泛的用户群体,医疗、海关、政务等行业的核心业务系统多采用
    的头像 发表于 11-06 17:35 357次阅读
    人大金仓三大兼容:<b class='flag-5'>SQL</b> <b class='flag-5'>Server</b>迁移无忧

    数据库数据恢复-数据库文件被删除/分区被格式化的SQL SERVER数据恢复方案

    数据库数据恢复-数据库文件被删除/分区被格式化的SQL SERVER数据恢复方案
    的头像 发表于 09-21 14:34 469次阅读

    数据库数据恢复-SQL SERVER数据库MDF (NDF)或LDF损坏的数据恢复方案

    SQL SERVER数据库故障类型: SQL SERVER数据库MDF(NDF)或LDF损坏。 SQL
    的头像 发表于 09-20 15:00 510次阅读

    SQL的定义、组成及基本语法

    SQL Server数据库包括Microsoft SQL Server以及Sybase SQL
    发表于 09-09 09:42 447次阅读

    评估报告:使用Lenovo StorageS3200 SAN阵列加速SQL Server数据库性能

    电子发烧友网站提供《评估报告:使用Lenovo StorageS3200 SAN阵列加速SQL Server数据库性能.pdf》资料免费下载
    发表于 08-30 11:08 0次下载
    评估报告:使用Lenovo StorageS3200 SAN阵列加速<b class='flag-5'>SQL</b> <b class='flag-5'>Server</b>数据库性能

    通过高可用性强制实施精简的IT基础架构模型

    电子发烧友网站提供《通过高可用性强制实施精简的IT基础架构模型.pdf》资料免费下载
    发表于 08-22 15:53 0次下载
    通过高<b class='flag-5'>可用性</b>强制实施精简的IT基础架构模型

    Microsoft SQL Server联机事务与大规模集成电路优化MegaRAID CacheCade软件

    电子发烧友网站提供《Microsoft SQL Server联机事务与大规模集成电路优化MegaRAID CacheCade软件.pdf》资料免费下载
    发表于 08-22 15:08 0次下载
    Microsoft <b class='flag-5'>SQL</b> <b class='flag-5'>Server</b>联机事务与大规模集成电路优化MegaRAID CacheCade软件

    SQL Server在NetApp 3 x加速所有的flash数组

    电子发烧友网站提供《SQL Server在NetApp 3 x加速所有的flash数组.pdf》资料免费下载
    发表于 08-04 14:29 0次下载
    <b class='flag-5'>SQL</b> <b class='flag-5'>Server</b>在NetApp 3 x加速所有的flash数组

    Cloud SQL Enterprise Plus 隆重推出: 新版本可提供高达 3 倍的 MySQL 性能

    云端,有些客户一直要求我们提供更高的性能和可用性。此外,这些客户一直要求我们提供更多选择和灵活性,以便根据具体的工作负载需求优化相关的配置
    的头像 发表于 07-20 17:45 253次阅读
    Cloud <b class='flag-5'>SQL</b> Enterprise Plus 隆重推出: 新版本可提供高达 3 倍的 MySQL 性能

    F-35战斗机的可用性和使用分析报告

    飞机可用性。F-35A和F-35C的可用性从2015年到2018年有所下降,但在2019年和2020年有所增加。(可用性以飞机在训练或任务中可以飞行的时间百分比来衡量。
    发表于 07-20 11:13 609次阅读
    F-35战斗机的<b class='flag-5'>可用性</b>和使用分析报告

    提高网站可用性需要真家伙,华为云网站高可用解决方案有何亮点?

    作为 IT 从业者,我经常遇到网站的可用性问题。网站的可用性是指网站能够正常运行,不受故障、攻击或其他因素的影响。网站的可用性对于网站的业务和用户体验非常重要,因为如果网站出现故障或无法访问,就会
    的头像 发表于 07-03 22:32 300次阅读

    动态Sql介绍

    动态Sql介绍 动态 SQL 是 MyBatis 的强大特性之一。如果你使用过 JDBC 或其它类似的框架,你应该能理解根据不同条件拼接 SQL 语句有多痛苦,例如拼接时要确保不能忘记
    的头像 发表于 05-31 09:34 1099次阅读
    动态<b class='flag-5'>Sql</b>介绍

    深入探索SQL Server与MySQL的性能和特性

    MySQL和SQL Server有许多相似之处,但它们也有明显的区别。在它们之间进行选择时,必须考虑每个系统的优缺点。
    的头像 发表于 05-09 17:31 1579次阅读