集群CLUSTER种类介绍

基于iSCSI的SQL Server 2012群集测试(一)--SQL群集安装

SQL Server群集如何在线检测

群集中的MS DTC分布式事务协调器

一、SQL Server群集基本架构

无论群集还是非群集SQL Server服务器,都是需要有以下基本组成部分才能提供数据服务:

  1. SQL Server实例,也可以认为是SQL Server二进制可执行文件,它组成数据库管理系统运行的各个服务,管理数据库数据和客户端的需求,执行操作等。不管是群集还是非群集这些实例都是安装在本地磁盘上,以提供服务,因此在安装SQL Server群集不仅在活动节点安装主SQL Server群集,还要在不同节点添加群集服务。
  2. 系统和用户数据库,包含实实在在的数据,以及各个数据库单独的设置等;非群集下,数据存储在本地,被本地实例访问;群集情况下,数据库放在共享存储上,每个节点都有能力访问到(但任何时候只允许活动节点访问);SQL Server实例通过挂载数据库来完成数据库管理。
  3. 访问数据库还需要服务器网络名,或者IP地址。本地采用本地IP或者别名,群集访问虚拟名称或虚拟IP。

Figure 1.1 SQL Server群集基本架构

通过以上群集服务器的改变,SQL Server服务故障转移到另外一个节点前首先停止失败节点的SQL Server服务,共享存储挂载到备节点,虚拟IP重新绑定到备节点的公共网卡接口,再启动备节点的SQL Server服务,备节点的服务读取共享存储数据,从而业务恢复。客户端只是通过虚拟名称或虚拟IP访问SQL Server服务,从而访问数据库资源。

Windows群集方式有多种,在多种凡是的基础上,SQL Server群集实例安装也有多种方式,不同业务可选择不同方式安装,在以安全和稳定的基础上可尽量的利用服务器资源。

二、SQL Server群集资源与依赖关系

在dos界面输入cluster res 可查看Cluster群集资源有哪些,如下图所示为Windows群集的资源,哪些资源为SQL Server群集服务呢?

2.1 共享存储

存储系统和用户数据库,数据库错误日志。tempdb可不存储在共享存储上,由于重启服务时,tempdb会从新生成。然而要求不同节点都拥有tempdb的存放路径。以防止重启出现路径不存在异常。

存储一直都是计算机界的一个瓶颈,对IO读写要求高的数据库此瓶颈尤为明显,因此在访问频繁的数据库建议使用Raid10以提高磁盘性能。

2.2 群集组

群机组中有Windows群集的虚拟网络名称和Ip,用于管理Windows群集。平常情况下,不管是心跳检测还是服务检测,都是节点网络之间通信,很少涉及访问域的情况,但若是发生故障转移,需要验证各个群集节点,涉及到域服务器。

2.3 SQL Server群集虚拟IP和虚拟网络名称

SQL Server IP地址和网络名称,为客户端提供链接。网络名称名称指向虚拟IP地址,SQL Server访问网络名称。

SQL Server网络名称对于跨子网群集同样存在是否所有IP都注册上线问题,通过测试确定是不需要都注册上线。需要将RegisterAllProvidersIP 设置为0:cluster res "SQL Server群集名称" /priv RegisterAllProvidersIP=0

2.4 SQL Server服务和其他服务

SQL Server服务和其他服务提供数据库服务。

2.5 群集资源依赖关系

以上资源相互协作,通过群集服务管理器管理彼此关系,从而提供服务。这些资源的依赖关系如下图所示:

1.网络名称依赖于虚拟IP地址

对跨子网群集,添加群集节点的时候,存在跨子网访问的情况,次数虚拟网络会在域中注册两个IP地址,这两个IP的依赖关系为OR,也就是只能有一个在线。

2. SQL Server服务依赖于共享存储与网络名称

只有共享存储和网络名称同时在线的情况下SQL Server服务才能启动。

3. SQL Agent服务依赖于SQL Server 服务

三、SQL Server群集如何在线检测

四、SQL Server群集服务

数据库引擎服务(Database Engine)

SQL Server数据库的核心组件,可以做成群集。在群集中安装SQL Server数据库引擎,连带安装SQL Server复制分发,全文索引,数据质量分析。

分析服务(Analysis Services)

从SQL Server 2005开始支持分析服务群集;

如果单独部署分析服务群集,则非常简单,不需要考虑太多;如果要和数据库引擎服务一起部署到同一个群集上面,建议是将数据库引擎服务和分析服务单独安装到各自的资源组里面(这就需要各自资源组各自占有自己的共享磁盘、名称、IP地址资源)

如果将分析服务和数据库引擎服务安装在同一个资源组里面,分析服务系统数据库会和数据库系统数据库安装在一起,一旦放置系统数据库的磁盘出现问题,分析服务也会受到影响。同时在需要升级数据库引擎服务或者分析服务时候,二个服务也必须同时升级。

全文索引和SQL Server Broker

从SQL Server 2008开始,全文索引和SQL Server Broker服务已经集成到数据库引擎服务里面,所以在发生数据库引擎服务故障转移之后,二者亦可正常工作。

报表和SSIS 服务

报表和SSIS服务程序里面暂不支持群集API,无法向数据库引擎那样做成群集。但是也可以通过建立通用群集应用程序来将报表和SSIS做成群集。不过因为二者代码里面并不包含群集API,所以某些功能可能在切换之后不正常。

SQL Writer 服务

群集每个节点上面都会安装该服务,默认禁用。

SQL Server 浏览器服务

群集中每个节点也会安装该服务,该服务无法群集。

五、群集中的MS DTC分布式事务协调器

SQL Server群集知识介绍的更多相关文章

  1. SQL Server群集如何在线检测

    SQL Server群集知识介绍 Windows群集安装 基于iSCSI的SQL Server 2012群集测试 前言 群集的检测是调用dll资源,例如对于共享存储,ip,网络名称与DTC 这类Win ...

  2. SQL server基础知识(表操作、数据约束、多表链接查询)

    SQL server基础知识 一.基础知识 (1).存储结构:数据库->表->数据 (2).管理数据库 增加:create database 数据库名称 删除:drop database ...

  3. AlwaysOn可用性组功能测试(二)--SQL Server群集故障转移对AlwaysOn可用性组的影响

    三. SQL Server群集故障转移对AlwaysOn可用性组的影响 1. 主副本在SQL Server群集CLUSTEST03/CLUSTEST03上 1.1将节点转移Server02.以下是故障 ...

  4. Sql Server 基础知识

    Sql Server 基础知识: http://blog.csdn.net/t6786780/article/details/4525652 Sql Server 语句大全: http://www.c ...

  5. 转:sql server锁知识及锁应用

    sql server锁(lock)知识及锁应用 提示:这里所摘抄的关于锁的知识有的是不同sql server版本的,对应于特定版本时会有问题. 一 关于锁的基础知识 (一). 为什么要引入锁 当多个用 ...

  6. 第三篇——第二部分——第一文 SQL Server镜像简单介绍

    版权声明:本文为博主原创文章,未经博主同意不得转载. https://blog.csdn.net/DBA_Huangzj/article/details/26951563 原文出处:http://bl ...

  7. [转]SQL Server编程:SMO介绍

    转自:周公 最近在项目中用到了有关SQL Server管理任务方面的编程实现,有了一些自己的心得体会,想在此跟大家分享一下,在工作中用到了SMO/SQL CLR/SSIS等方面的知识,在国内这方面的文 ...

  8. SQL Server常见数据类型介绍

    数据表是由多个列组成,创建表时必须明确每个列的数据类型,以下列举SQL Server常见数据类型的使用规则,方便查阅. 1.整数类型 int 存储范围是-2,147,483,648到2,147,483 ...

  9. SQL Server基础知识

    1.SQL Server表名为什么要加方括号? 这个不是必须要加,但表名或字段名如果引用了sqlserver中的关键字,数据库会不识别这到底是关键字还是表名(或字段名)时就必须要加. 比如,一个表名叫 ...

随机推荐

  1. archlinux 加载loop模块,且设定loop设备个数

    如果loop模块没有编译进内核就要先加载loop模块 modprobe loop 然后更改/etc/modprobe.d/modprobe.conf(有些文章写是在/etc/modprobe.conf ...

  2. S5PV210_串行通信

    1.universal asynchronous reciver and transmitter 通用异步收发器 2.transmitter:由发送缓冲区和发送移位器构成.发送信息时,首先将信息编码( ...

  3. MonoBehaviour Lifecycle(生命周期/脚本执行顺序)

    脚本执行顺序 前言 搭建一个示例来验证Unity脚本的执行顺序,大概测试以下部分: 物理方面(Physics) 渲染(Scene rendering) 输入事件(InputEvent) 流程图 Uni ...

  4. dll导入导出宏定义,出现“不允许 dllimport 函数 的定义”的问题分析

    建立dll项目后,在头文件中,定义API宏 #ifndef API_S_H #define API_S_H ...... #ifndef DLL_S_20160424 #define API _dec ...

  5. [LeetCode] Count Primes 质数的个数

    Description: Count the number of prime numbers less than a non-negative number, n click to show more ...

  6. 服务端跨域处理 Cors

    1  添加 System.Web.Cors,System.Web.Http.Cors 2 global文件中 注册asp.net 管道事件 protected void Application_Beg ...

  7. _web基础_servlet基础

    一.了解Servlet的概念 Servlet定义:Servlet是基于Java技术的Web组件,由容器管理并产生动态的内容.Servlet引擎作为WEB服务器的扩展提供支持Servlet的功能.Ser ...

  8. Equal Sides Of An Array

    参考:http://stackoverflow.com/questions/34584416/nested-loops-with-arrays You are going to be given an ...

  9. [转]ExtJS Grid 分页时保持选中的简单实现方法

    原文地址 :http://www.qeefee.com/article/ext-grid-keep-paging-selection ExtJS中经常要用到分页和选择,但是当选择遇到分页的时候,杯具就 ...

  10. mac上安装ubuntu双系统

    mac和ubuntu双系统 mac系统安装ubuntu双系统的方法, mac系统要安装ubuntu, 必须使用u盘作为启动盘, 在mac启动的时候引导mac安装ubuntu, 下面为详细的安装方法: ...