SQLServerAlwaysOn高可用性解决方案.docx
《SQLServerAlwaysOn高可用性解决方案.docx》由会员分享,可在线阅读,更多相关《SQLServerAlwaysOn高可用性解决方案.docx(17页珍藏版)》请在咨信网上搜索。
SQLServerAlwaysOn高可用性解决方案 15 2020年4月19日 文档仅供参考 Microsoft SQL Server AlwaysOn 高可用性解决方案编 制 人:*** 审 批:**** 编 号:Q/DF-XX.2.01- 当前版本:V1.0 发布日期: 7月8日 反馈对象: 市场中心 销售中心 融资中心 人资中心 财务中心 研发中心 1. 术语定义 1) 高可用性:HA(High Availability) 一般来描述一个系统经过专门的设计,从而减少停工时间,而保持其服务的高度可用性 2) 灾难恢复:DR(Disaster Recovery) 指自然或人为灾害后,重新启用信息系统的数据、硬件及软件设备,恢复正常商业运作的过程 3) 故障转移群集:WSFC(Windows Server Failover Cluster) 微软操作系统针对服务器提供的一种服务,该服务用于防止单台服务器故障导致服务失效。 2. 公司数据库使用现状及问题瓶颈 其它部门对应用开发部负责的融资管理系统性能提出以下问题: 1) 数据部: a) 服务器不稳定 b) 数据库性能配置低 2) 市场部: a) 查询效率太低 3) 产品部: a) 报表、BI支撑难 这些性能问题无不涉及到后台数据库的性能及可靠性问题。 还有一个安全问题也值得重视。当前,公司产品数据库和融资管系统都部署在10.44.1.3一台服务器上。理论上,产品数据库不应与Web应用部署在同一台机器而暴露给用户,产品数据库最好只交由专职DBA来管理。因为,万一Web应用遭受黑客攻击,产品数据将会面临巨大威胁,甚至有可能被永久性物理删除。前不久,就有报道携程数据遭受有预谋的内部攻击被物理删除()。如果分开部署,那么即使Web应用遭受攻击,只要产品数据在,我们依然能够在短时间内部署新的Web应用。 3. SQL Server 高可用技术简介 1) 故障转移群集(Failover Cluster) 共享存储,效率高,但某一个时间点只有一个节点处于活动状态,造成硬件资源浪费。 2) 数据库镜像(Database Mirror) 提供几乎是瞬时的故障转移,以提高数据库的可用性。但其最大弊端在于镜像数据库处于不可读状态,同样造成硬件资源浪费。 3) 日志传送(Log Shipping) 还原作业之间的间隔时间内的只读访问权限,可用做报表查询。一般用于远程的异步容灾,存在部分数据丢失的可能性。 4) 复制(Replication) 基于数据库对象级别,灵活性较高,但弊端在于,它不支持DDL命令,不便维护。 5) AlwaysOn AlwaysOn是SQL Server 中提供的一种全新的高可用性技术,其集中了上述4种高可用性技术的优点,以确保企业无需增加成本和提高复杂度,即可实现最高级别的可用性和数据保护。可在数据中心内部以及跨数据中心实现数据冗余,快速地实现应用程序故障转移,保护现有硬件资源,同时简化了其配置过程。AlwaysOn能够实现服务器实例级和数据库级配置高可用性,所对应的技术就是AlwaysOn故障转移群集实例和AlwaysOn可用性组。 下图1展示了使用Alwayson可用性组的 HA 和 DR 解决方案 图1 4. AlwaysOn高可用性技术介绍 1) AlwaysOn 故障转移群集实例 一般来说,在单服务器情况下,当服务器上出现硬件或软件故障时,连接到该服务器的应用程序或客户端将会停机。在AlwaysOn故障转移群集实例环境中,SQL Server 实例的高可用性受到冗余节点的保护。 在群集环境中,一次只能有一个节点拥有群集的资源组。 在出现故障(硬件故障、操作系统故障、应用程序或服务故障)或进行计划的升级时,该资源组的所有权就会转移至另一个群集节点。 此过程对于连接到 SQL Server 的客户端或应用程序是透明的,能够最大限度地缩短出现故障时应用程序或客户端的停机时间。因此AlwaysOn故障转移群集实例必须由一组物理服务器节点构成,这些服务器节点推荐使用类似的硬件配置以及相同的软件配置,如操作系统的版本、SQL Server 版本、修补程序级别、组件以及实例名称。 相同的配置是确保群集在节点间进行故障转移时能够正常运行的前提条件。 SQL Server 在原有SQL Server故障转移群集的基础上功能得到了进一步的增强,支持跨越子网实现多站点群集,此技术一般用于两个或两个以上的数据中心,以同时提供本地高可用性和远程的灾难恢复。其中,每个故障转移群集节点都连接到其它子网或其它子网组。这些子网能够处于同一位置中,也能够位于地理上分散的站点。 跨地理上分散的站点进行群集有时又被称为扩展群集。 因为没有供所有节点都能够访问的共享存储,因此在多个子网上的数据存储之间应该复制数据。因此,多子网故障转移群集除了具备高可用性之外,还提供了灾难恢复解决方案。下面以图例说明: 图2 在上图中共有两个数据中心而且处于不同子网,本地数据中心subnet1使用的IP地址是10.168.0.10,当本地数据中心发生故障时,SQL Server服务会转移到远程数据中心,远程数据中心subnet2所使用的是不同IP地址,为192.168.0.10来继续提供数据库服务,这两个IP地址之间是OR的关系,也就是说这两个IP地址任意一个在线的话,虚拟网络名称SQLClus都能够正常的向客户端提供服务。 在此需要使用到存储级别的复制技术,将本地数据中心数据库中的数据文件及日志文件复制到远程数据中心,当本地数据中心发生故障时,Windows 群集检测到故障,远程数据中心存储软件能够检测到复制失效,会将存储转换为读写状态,接下来Windows群集会将远程站点可读写的存储设备挂接到远程的Cluster节点上,此时存储复制的方向就从远程数据中心向本地数据中心复制。也就是说,故障转移群集实例成功启动后,Windows群集服务将监视基础群集的运行状况和 SQL Server 实例的运行状况。SQL Server 中允许群集服务使用专用连接来轮询活动 SQL Server 实例,以便经过系统存储过程获取详细的组件诊断信息。好处是,利用与 SQL Server 实例的专用连接,能够对组件诊断信息进行可靠轮询,即使在故障转移群集实例负荷较重时也是如此。利用详细的组件诊断信息,能够配置更灵活的故障转移策略,由此用户能选择哪些故障条件将触发故障转移以及哪些故障条件将不触发故障转移。用户利用产生的诊断信息,还能够经过追溯方式更好地对自动故障转移进行故障排除。此诊断信息将存储到与 SQL Server 错误日志并置的日志文件中。 能够将这些日志文件加载到日志文件查看器中以检查导致出现故障转移的组件状态,从而确定导致该故障转移的原因。 2) AlwaysOn可用性组 AlwaysOn可用性组是SQL Server 中提供的全新功能,确保了应用程序数据的可用性,实现零数据丢失。AlwaysOn可用性组技术融合了数据库群集和数据库镜像的优点,此技术的一大好处是提供非共享存储,能够避免因为存储的单点故障而造成的整个可用性方案失效。 AlwaysOn可用性组基于数据库(组)级别,是将一组用户数据库(能够是一个或多个)划到一个组中。每组可用性数据库都由一个可用性副本承载。可用性副本包括一个主副本和一到四个辅助副本( 最多支持8个)。 主副本用于承载主数据库,辅助副本则承载一组辅助数据库并作为可用性组的潜在故障转移目标。主副本使主数据库可用于客户端的读写连接,实现对数据库的更改操作。 同时在数据库级别进行同步。 主副本将每个主数据库的事务日志记录发送到每个辅助数据库。 每个辅助副本缓存事务日志记录,然后将它们还原到相应的辅助数据库。 主数据库与每个连接的辅助数据库独立进行数据同步。 因此,一个辅助数据库能够挂起或失败而不会影响其它辅助数据库,一个主数据库能够挂起或失败而不会影响其它主数据库。 另外,用户能够借助辅助数据库来实现近实时的报表查询,将查询的负载分担到只读副本。相对于数据库群集及镜像来说,能够更好的利用硬件资源,从而提高IT效率并降低成本。 下面看一下AlwaysOn可用性组架构,如下图3所示: 图3 部署 AlwaysOn 可用性组需要一个 Windows Server 故障转移群集 (WSFC) 群集。 给定可用性组的每个可用性副本必须位于相同 WSFC 群集的不同节点上。 部署AlwaysOn可用性组时,系统会为每个可用性组创立一个 WSFC 资源组。WSFC 群集将监视此资源组,判断节点间的状态,以便评估主副本的运行状况。 当发生失败时实现故障的转移,针对 AlwaysOn 可用性组的仲裁基于 WSFC 群集中的所有节点,而与某一给定群集节点是否承载任何可用性副本无关。 用户能够经过创立一个可用性组侦听器来提供到给定可用性组的主副本的客户端连接。“可用性组侦听器”采用DNS名称的方式连接给定可用性组的资源,以便将客户端连接定向到相应的可用性副本。 对于每个可用性副本,AlwaysOn所支持的事务提交模式分为同步提交模式或异步提交模式。在异步提交模式下,主副本无需等待确认异步提交辅助副本已强制写入日志,便可提交事务。 异步提交模式可最大限度地减少辅助数据库上的事务滞后时间,但允许它们滞后于主数据库,因此可能会导致某些数据丢失。此可用性模式是一种灾难恢复解决方案,适合于可用性副本的分布距离较远的情况。所谓同步提交模式是指在提交事务之前,同步提交主副本要等待同步提交辅助副本确认它已完成强制写入日志。 同步提交模式可确保在给定的辅助数据库与主数据库同步时,充分保护已提交的事务。 这种保护的代价是延长事务滞后时间。此可用性模式相对于性能而言更强调高可用性和数据保护,当主副本和辅助副本距离较近时能够使用此方法,解决时时同步的问题。 正因为AlwaysOn可用性组集现有高可用性技术的优点于一身,不得不说,它是SQL Server 新特性中最为璀璨的一个。 5. 东方融资网可实施的AlwaysOn测试部署方案 1) 宿主机 宿主使用工作站(HYPR-V),其基本配置如下: b) 处理器:Intel(R) Core(TM) i5-4470 CPU @ 3.20GHz 3.20GHz c) 内存(RAM):8.00GB d) Windows版本:Windows Server R2 Standard 2) 虚拟机配置 数据库服务器基本配置:4个逻辑cpu,1G内存,100G硬盘(C:70G;D:30G) HostName IP配置 OS版本 SQL版本 功能介绍 AD Server IP:192.168.1.110 Windows Server R2 Standard NULL 域控制器 Server01 IP:192.168.1.111 Windows Server R2 Standard SQL Server R2企业版 群集节点01 Server02 IP:192.168.1.112 Windows Server R2 Standard SQL Server R2企业版 群集节点02 3) AlwaysOn可用性组安装配置架构图 如下图所示,一个windows群集clustest01中包含三个节点(server01,server02)节点01和节点02组成SQL Server群集,实现实例级别的自动故障转移和AlwaysOn可用性组,可用性组添加侦听IP[192.168.1.130],用于客户端的连接,以实现可用组切换而不用修改客户端连接配置。 图4 4) Windows群集安装 将三个服务器都加入域环境中;并安装.Net 3.5和故障转移群集功能后,开始创立新群集。 第一步:配置主域控服务器AD Server a) 在仪表板服务器角色中添加Active Directory 服务器及DNS服务,并配置域名为。 b) 配置本机IP为192.168.1.110。 c) 建立域账户sql @,账户属性设置为密码永不过期 第二步:配置三个数据库服务器Server01,Server02 a) 设置IP Server01(192.168.1.111),Server02(192.168.1.112) b) 关闭防火墙 c) 加入域 d) 在仪表板功能中添加.Net 3.5和故障转移群集 第三步:创立新群集Cluster01 a) 在数据库服务器Server01上创立新群集Cluster01。 b) 将server01、server02添加到该群集中。 c) Cluster01群集IP配置为192.168.1.120。 d) 测试验证经过后,域中自动生成Cluster01$域账户。 e) 在AD Server上创立仲裁共享文件夹ClusterShare ,并共享给Cluster01$域账户,设定其读写权限。 第四步:Server01,Server02安装SQL server R2 a) 分别安装SQL server R2 b) 网络配置服务中SQL Server 数据库服务启用AlwaysOn高可用性组。 c) SQL Server 数据库服务及SQLServer代理登录设置为域账户 第五步:仲裁配置 为配置简单且在资源有限的情况下,该测试环境中AlwaysOn群集仲裁配置为多数节点和文件共享的模式。 配置过程见以下截图: a) 更多操作配置群集仲裁 图5 b) 进入配置群集仲裁向导界面 图6 c) 选择多数节点和文件夹共享仲裁模式 图7 第六步:创立测试数据库 a) 在Server01数据库实例上创立测试数据库testDB1和testDB2 b) testDB1和testDB2做好完整备份 c) 在Server01 D盘创立共享文件夹 AlwaysOnShare(Alwayson添加可用性数据库时用到该共享目录),并设置域账户sql @对该共享目录可读写权限。 第七步:创立测试可用性组 a) 在Server1上创立可用性组AlwaysOn01 b) AlwaysOn01选择可用性组数据库testDB1和testDB2 c) 选择可用性副本 Sever02,并设置Sever02为同步提交模式副本(实现故障自动转移)。 d) AlwaysOn1可用性组添加监听Listener01,并设置为静态IP(192.168.1.130) e) 可查看到Server1上testDB1和testDB2标识为已同步。 第八步:验证 a) 验证故障自动转移功能 l 关闭Server01服务器。数据库客户端连接Server02,可查看到Server02此时已切换为主副本,Server02上的testDB1和testDB2也已切换为主数据库。 l 再启动Server01,并在Server02的可用性组中加入Server01后,可查看到Server01此时又作为辅助副本。 l 关闭Server02,此时又查看到Server01变为主副本。 b) 验证监听Listen01的实时监听及AlwaysOn01可用性组同步功能 l Server01客户端连接Liseten01服务,可访问到数据库testDB1和testDB2。 l 在TestDB1数据库中Create 新表 testTabel1,在testDB2 Create 新表 testTabel2。 l 连接Server02数据库实例,发现Server02的TestDB1上可查看到testTabel1,testDB2可查看到testTabel2。 c) 验证辅助副本的只读访问。 l 查看AlwaysOn01属性,此时 Server01为主副本,Server02为辅助副本。 l 数据库管理工具连接Server02。 l 在Server02上执行写操作将失败,执行查询操作成功。 6. Alwayson问题总结 1) Alwayson 是否依赖于域环境? 答: 是, alwayson依赖于故障转移群集(只有在故障转移群集中的SQL Server 才能启动高可行性组功能),而故障转移群集依赖于域环境. 2) 为了启用高可用性组功能,SQL Server服务是否必须使用域账户运行? 答: 否,在使用非域账户运行的SQL Server服务上依然可构建高可用性组,服务运行账户决定SQL Server中管理员的操作权限, 如果运行的域账户有访问网络资源的权限,那么SA账户也拥有访问该资源的权限. 3) 当域控服务器失效时, 高可用性组是否继续可用? 答:当域控服务器失效时,无法进行自动故障转移, 无法使用机器名直接访问数据库,但仍可使用IP或高可用性组侦听器所拥有的IP进行访问. 4) 域控服务器重启对高可用性组的影响? 答:当域控服务器短暂重启时,对高可用性组影响较小,在域控服务器重新恢复后,无需对高可用性组进行任何配置修改。如域控服务器长期失效时,建议删除高可用性组。 5) 主域控服务器和辅助域控服务器的区别? 答:主域控服务器是建立域时的第一台域控服务器,而辅助域控服务器则是域创立后添加的域控服务器,常见配置中会将辅助域控服务器DNS指向主域控服务器,主域控和辅助域控都各自独立存放域相关信息,域控之间使用广播方式来传递更新信息以达到信息复制的目的,多台域控服务器能提高域中账户验证速度,辅助域控可起到容错功能,主域控发生故障时,辅助域控能取代主域控提供服务。 6) 当域控服务器失效时,是否依然能够使用域账户登录服务器? 答:不一定,服务器有一定的缓存机制,在账户第一次登录验证后,会保存该账户信息一段时间,在该时间段范围内域控服务器失效时,用户依然能登录服务器。(因此建议SQL服务运行的域账户属性设置为密码永不过期) 7) 当域控服务器失效或域账户密码变更时,以域账户运行的SQL Server服务是否会受到影响? 答:正在运行的SQL Server 服务不会受到影响,但当SQL Server服务再次重启时,需要验证账户的密码,此时会重启失败。- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- SQLServerAlwaysOn 可用性 解决方案
咨信网温馨提示:
1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前自行私信或留言给上传者【胜****】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时私信或留言给本站上传会员【胜****】,需本站解决可联系【 微信客服】、【 QQ客服】,若有其他问题请点击或扫码反馈【 服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【 版权申诉】”(推荐),意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:4008-655-100;投诉/维权电话:4009-655-100。
1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前自行私信或留言给上传者【胜****】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时私信或留言给本站上传会员【胜****】,需本站解决可联系【 微信客服】、【 QQ客服】,若有其他问题请点击或扫码反馈【 服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【 版权申诉】”(推荐),意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:4008-655-100;投诉/维权电话:4009-655-100。
关于本文