11.1 高可用性与网络负载均衡

11.1  高可用性与网络负载均衡

11.1.1 高可用性的概念

  高可用性(High-Availability)是一系列的技术总和,用来减少宕机时间和增加对业务数据的保护。

  在规划高可用性时需要综合考虑以下两个因素:

● RTO(Recovery Time Objective,即目标恢复时间)

  RTO 表示业务系统容忍多少宕机时间,通常用以下公式进行计算,值越大则表明系统宕机时间越少。例如,对于一个 24*365 运行的业务系统,99.999% 表示每年宕机时间不超过 5 分钟。

  当然,正常预定的维护时间(即窗口)一般不计入宕机时间。例如,营业时间仅限于从上午7点到晚上10点(即7*15)的业务系统,在下班后进行停机维护的时间不算在宕机时间之内。

● RPO(Recovery Point Objective,即目标恢复点)

  RPO 表示容忍多少数据丢失。通常只要做好备份,就可以使数据不丢失。但当灾难发生时,从备份进行恢复的操作会导致数据库在现阶段不可用,如果恢复的时间特别长,造成的损失可能比丢失少量数据更严重。特别对于数据量非常大的数据库,更需要预先考虑到恢复时间和数据丢失之间的权重而制定充足的预案。

  通常 RTO 与 RPO 两者之间存在冲突,需要根据业务需求、投资规模等多方面因素来权衡,从而制订 SLA(Service Level Agreement,即服务水平协议)。

11.1.2  AlwaysOn 高可用性解决方案

  从 SQL Server 2008 开始,微软在“高可用”、“灾难恢复”技术中使用 AlwaysOn 一词。在 SQL Server 2012 中,微软明确地打出的 AlwaysOn 招牌。

  SQL Server AlwaysOn 即“全面的高可用性和灾难恢复解决方案”。使用 AlwaysOn,可以提高应用程序可用性,并且通过简化高可用性的部署和管理方面的工作,获得更好的硬件投资回报。

  SQL Server AlwaysOn 在以下2个级别提供了可用性。

● 数据库级可用性

  AlwaysOn 可用性组允许将一组数据库同步到最多4个只读副本,这是SQL Server 2012 引入的新特性。SQL Server 2014 将只读副本的数量提升到8个。

  AlwaysOn 可用性组是一种“热备份”技术。主服务器的数据被自动同步到其它副本,主数据库与辅助副本之间基本上可以保持实时同步。当系统监测到主服务器发生故障时,辅助副本可以立即成为新的主服务器。

● 实例级可用性

  AlwaysOn 故障转移群集实例可以在最多16个节点(企业版才支持16个节点,标准版只支持2个节点)间实现故障转移(Fail-over)。

  故障转移群集是一种“冷备份”技术。辅助节点并不从主节点同步数据,唯一的一份数据被保存在共享存储中。当主节点发生故障时,辅助节点提升为主节点并获取共享存储中的数据,然后才在这个新的主节点服务器中启动 SQL Server 服务。

11.1.3 其它高可用性解决方案

● 数据库镜像

  数据库镜像 是SQL Server 2005 SP1 正式引入的一项数据库级的高可用性技术。

  镜像是一种“暖备份”技术。主体服务器与镜像服务器同时运行着 SQL Server 服务,镜像服务器从主体服务器获得备份数据后立即进行还原,同时也会获得少量的元数据。当主体服务器发生故障时,镜像服务器可迅速加载所需的所有元数据,然后成为新的主体服务器。

  数据库镜像技术存在着许多不足,因此 SQL Server 2012的联机手册就已经申明将在未来的版本中取消镜像技术。

● 日志传送

  日志传送依赖于传统的 Windows 技术与 SQL Server 代理。

  主服务器定期产生一个备份文件,辅助服务器再定期通过访问 Windows 文件夹从而读取并复制这些备份文件然后定期恢复到本地的数据库。实际上,日志传送技术只是分别在主服务器和辅助服务器上实现了自动备份与自动还原而已。

● 其它辅助技术

  对数据库进行备份,当出现故障时,手动将数据还原到服务器,使得数据库重新联机,这也可以算作实现高可用性的一种技术手段。

  复制并不算是一个高可用性解决方案,只是它的功能可以实现高可用性。复制通过“发布-订阅”模式,由主服务器向辅助服务器发布数据,使这些服务器间实现可用性。

11.1.4  网络负载均衡

  数据库引擎是一个特殊的 Windows 服务。为了实现事务,来自客户端的访问请求通常是有关联的并且存在着先后顺序,这个服务会在自身保存一些数据状态,因此这种类型的服务被称为“有状态的服务”(Stateful Service)。

  对于只读数据库,来自客户端的访问请求不需要实现事务,每个访问请求不依赖于其它访问请求。每次请求所需的全部信息都包含在这个请求里面,只读数据库提供的服务不需要保存客户端请求的数据状态,因此这种类型的服务被称为“无状态的服务”(Stateless Service)。

  Windows 的其它一些服务,例如 IIS(Internet Information Service)也可以设计成无状态的服务。此时,尽管 IIS 服务不需要保存客户端请求的数据状态,但 IIS 服务可以从外部(例如,数据库)获取。

  通常,无状态的服务可以实现池化,即将多个同类型的服务创建为一个应用池(Application Pool),通过一些算法将客户端的请求均衡地分摊到多个服务。这种横向扩展的技术可以称为网络负载均衡(Network Load Balancing,简称 NLB)。

  负载均衡给客户端的感觉就像高可用技术一样,保持了业务的连续性。例如,客户端连接到IIS池,池中的某台 IIS 服务器发生故障后,客户端的连接被重定向到池中的其它 IIS 服务器。

  高可用技术中兼具一部分的负载平衡功能。例如,AlwaysOn 可用性组的辅助副本可以提供只读访问,从而分摊一部分的只读访问请求给报表等应用程序。

时间: 2025-01-19 23:35:03

11.1 高可用性与网络负载均衡的相关文章

practice:在win2008R2上使用(NLB)网络负载均衡

版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.关于NLB的官方描述,在搭建NLB群集之前,必须先对NLB的原理进行初步了解 Windows Server 2008 R2 中的网络负载平衡 (NLB) 功能可以增强 Internet 服务器应用程序 [如在 Web.FTP.防火墙.代理.虚拟专用网络 (VPN) 以及其他执行关键任务的服务器上使用的应用程序] 的可用性和可伸缩性.运行 Windows Server 2008 R2 的单个计算机提供有限的服务器可靠性和可伸缩性能.但是,通过

为什么基于Windows Server 2008 R2的网络负载均衡(NLB)配置的时候总会报错“主机不可访问”?

配置基于Windows的网络负载均衡是很容易的,操作也很简单,点点鼠标基本上就能完成,但是在进行节点(真实服务器)操作的过程中有时候会遇到一些主机不可访问的报错信息.这个又是为什么呢? Figure 1在其中一台节点上配置好了NLB后刷新一次就是报错一次,让人用的很不踏实呢 出错时候会在描述里面呈现[主机不可访问.连接到"XXX主机名"时出错]. 在Windows里面和主机名有关的一些网络设置有DNS解析.WINS解析,本地HOSTS文件解析这几种. 由于所在环境没有内网的DNS以及W

Windows 集群和网络负载均衡笔记

Cluster 集群 NLB 双机热备群群 COM组件群集 群集 NLB  技术的应用场景 镜像WEB站点 终端服务器的负载均衡 负载均衡网关 StarWind FreeiSCSI Target它可以将Windows服务器变成一个存储服务器或是一个SAN. 相对其他的其他的SAN或iSCSI设置更容易,且在可较少资源的使用,尤其在测试群集或其他需要用到共享存储的场合.如在虚拟机中测试windows或Linux.虚拟化等时,可在物理机上安装该软件,并提供iSCSI服务来共享本地的存储.这样就可以避

清默网络——负载均衡

负载均衡 负载均衡分为等价负载均衡和非等价负载均衡,等价指的是与路由相关联的度量值.      等价负载均衡:将流量均匀地分布到多条度量值相同的路径上. 非等价负载均衡:将数据包分布到度量值不同的多条路径上,一般度量值越小的路径分配的流量越多,代价越高的路径分配的流量越少. 负载均衡有两种方式:基于目标网络和基于数据包 负载均衡和cisco的急速转发: 基于目标网络的负载均衡是根据目标地址分配负载,假设到一个网络存在两条路径,那么发往该网络中第一个目标的数据包从第一路径通过,发往网络中第二个目标

NLB网络负载均衡

NLB: 网络负载平衡 示例:利用Windows Server 2012实现网络负载平衡 工作原理:server02与server03需要两个网卡,其中一个是心跳网络(172.16.9.0网段IP).NLB就是在两台服务器做高可用,其中一台故障另一个也会正常工作.备份模式是主主备份的. 过程:就是server02与server03之间虚拟出一个IP提供服务,客户端访问虚拟IP 实验准备: server02             IP:192.168.1.102              hea

网络服务高可用及负载均衡2——CentOS7系统网络组

前几天刚给大家分享过CentOS6系统下如何实现双网卡绑定同一IP以达到网络负载均衡以及高可用性.很多人肯定也在想,在CentOS7系统下如何实现了,那么今天就给大家大家分享一下如何使用CentOS7系统的网络组来实现同样的效果了.网络组是将多个网卡聚合在一起,从而实现冗错和提高吞吐量的一种技术手段,但它不同于旧版中bonding技术,提供更好的性能和扩展性,网络组由内核驱动和teamd守护进程实现.接下来就给大家展示一下如何实现. 一.环境需求 交换机设备:两台支持动态链聚合功能的交换机或者一

CAS 配置NLB 负载均衡网络无法连接

在虚拟机与虚拟机.虚拟机与实机之间利用Windows操作系统自带的网络负载均衡功能如选择单播集群模式,网络就无法通讯,NLB不成功. Scenario #1 在虚拟机与虚拟机之间选择多播模式NLB可正常工作,而虚拟机与实机之间无法选择多播模式,必须交换机支持 Solution #1 # Windows 2008的Hyper-V解决方法 1.解决Windows 2008的Hyper-V中NLB单播的问题主要从网卡的模式出发考虑,在Hyper-V中网卡有2种.Network Adapter和Lega

nginx负载均衡,安装,反向解析

nginx是什么 链接地址:https://www.cnblogs.com/pyyu/p/9468680.html nginx是一个开源的,支持高性能,高并发的www服务和代理服务软件.它是一个俄罗斯人lgor sysoev开发的,作者将源代码开源出来供全球使用. nginx比它大哥apache性能改进许多,nginx占用的系统资源更少,支持更高的并发连接,有更高的访问效率.nginx不但是一个优秀的web服务软件,还可以作为反向代理,负载均衡,以及缓存服务使用.安装更为简单,方便,灵活.ngi

利用memcached做缓存服务器,为后端tomcat服务器做会话保持,利用httpd的jk模块模块做负载均衡

前端使用httpd作为反代负载均衡至后端tomcat主机:tomcat可用memcached当做会话服务器保存会话: 实验环境:物理机win7,虚拟机centos7 node1:172.18.11.111 TomcatA node2:172.18.11.112 TomcatB node3:172.18.11.113 调度器httpd 安装tomcat 分别在node1和node2安装tomcat: ]# yum -y install java-1.7.0-openjdk java-1.7.0-o