完全讲解 使用MSCS建立SQL Server集群
作者:010032 发布时间:2009-01-19 14:10:00
集群是一种技术解决方案,它将硬件和软件结合起来,为Web、Email以及数据库等服务提供高可用性和高伸缩性的架构。本文将分析集群的类型,然后将重点放在如何建立一个基于Microsoft的集群解决方案。
集群的类型
集群分为两种类型:负载平衡和失效转移(Failover)。负载平衡集群将负载分散到集群内的各个资源,这要涉及跨越多个前端服务器的分布式网络传输。负载平衡集群令每个可用的服务器都拥有较为平均的负载量,以提高系统整体的性能和伸缩能力。这类集群一般用于Web和COM+程序,集群内部支持两个以上的节点。
Failover集群主要针对硬件和软件故障时的系统可用性。它监视系统资源,以确定何时启动失效转移。当系统发生故障时,集群会将资源从故障服务器转移到集群中的其他服务器,以恢复资源的可访问性。
一个具有容错能力的failover集群需要大量的硬件和专用软件,确定应用状态,它可以在硬件和软件发生故障时进行实时故障恢复,包括恢复到当前的应用状态。一个高可用性的集群必定是一个具有容错能力的集群,但它不一定能提供和failover集群同样的错误恢复能力。
Microsoft的Cluster Service (MSCS)是一种比容错集群更好的高可用性集群。它和专用的容错集群相比,所需硬件更少,但可以操作更多种类的应用。同时,它也可以对硬件和软件的故障进行恢复,但发生故障时无法正常恢复到应用状态则。高可用性的MSCS可以在一个集群内支持两个服务器节点。
基本的软硬件组件
集群中的服务器节点都采用各自独立的硬件设备,相互间协同工作。每个服务器有自己的操作系统,并独立连接在网络上。服务器间采用外部硬盘和专用网络连接。共享硬盘通过硬盘控制器与各个节点相连,这种硬盘控制器一般采用外置SCSI设备或存储局域网(SAN)作为共享硬盘,不同于包含操作系统的硬盘控制器。
MSCS解决方案可以采用主动/被动模式工作。在同一时间集群中只有一个节点是主动的,主动服务器存储着集群内的全部资源,并不断将数据写入共享硬盘,这就是所谓的quorum驱动器。它可以在故障恢复时,将共享状态信息从一个节点转移到另一个节点。定时的发送信号会通过服务器间的专用网传递,当处于被动模式的服务器没有受到这个信号,就认为主动服务器已经失效。此时,它便开始接管集群资源,并从quorum分区上读取状态信息。
在集群中安装 SQL Server
为了在集群上安装 SQL Server,你必须首先按以下步骤建立一个可操作的集群:
1. 在每个服务器上安装支持MSCS的Windows Server操作系统。
2. 为每个服务器建立一个"公开的"网络连接。这个连接用来接收外部查询请求。
3. 在集群的两个节点间建立一个专用网络,用来传输节点状态信号。
4. 在域中建立一个用户,用来操作集群。在每个服务器上将该用户添加到管理员组。
5. 将两个服务器关闭。连接到共享驱动器上,并建立磁盘资源。开启集群中的一号节点(主动模式)。建立并初始化逻辑磁盘空间用来设置quorum驱动器,并建立其它的逻辑分区。
6. 通过控制面板的添加/删除程序中的Windows组件添加并配置Microsoft Cluster Service。其中包括设置集群的虚拟名称、IP地址,以及共享磁盘资源。
7. 开启二号节点(被动模式)。当二号节点在线时,回到一号节点,通过集群管理程序添加二号节点。在集群中添加二号节点非常容易,只要通过在一号节点进行简单配置就可以完成。
集群建立好后,就按照以下步骤安装SQL Server了:
1. 插入SQL Server企业版的安装光盘。如果没有启动自动安装程序,就在光盘上点击setup.exe。
2. 在确认计算机名界面,选择虚拟服务器并输入一个虚拟名称。
3. 建立一个运行SQL Server的服务账号。将集群中每个节点的管理权限赋给这个账号。
4. 填写IP地址、服务账号,以及共享磁盘资源等内容。
安装程序会在集群中的每个节点上安装SQL Server的复本,并在集群中建立虚拟设置。之后用户就可以通过集群管理器对SQL Server进行控制了。


猜你喜欢
- 这是经常用的一个分页存储过程 希望大家指点不足 代码如下:USE [a6756475746] GO /****** Object
- 演示示例使用QQ邮箱发送邮件,先获取自己的QQ邮箱的授权码。因为后面发送邮件时需要使用自己的授权码作为邮箱的密码登录邮箱最后达到发送邮件的目
- 在我们学习的过程中会遇到这么样的问题,就是在我们学习的过程中会发现需要分页处理,这里呢,给大家介绍书上说的分页。@app.route(
- 感知哈希算法count < =5 匹配最相似count > 10 两张不同的图片var_dump(ImageHash::run(
- 代码如下:Function splitx(strs1 As String, strs2 A
- 前言在应用程序开发的过程中,有的时候需要在代码中保存一些机密的信息,比如加密密钥,字符串,或者是用户名密码等。通常的做法是保存到一个配置文件
- 这就需要在 MySQL 中对用户权限进行修改,授予需要的权限。本文将演示这种情况,并给出详细的解决步骤。本文示例的配置如下:Discuz!数
- 数据表/*Navicat SQLite Data TransferSource Server &n
- 一、Go语言通道基础概念1.channel产生背景 线程之间进行通信的时候,会因为资源的争夺而产生竟态问
- Python中函数参数的定义主要有四种方式:1. F(arg1,arg2,…)这是最常见的定义方式,一个函数可以定义任意个参数,每个参数间用
- openCV是基于C++开发的一个强大的图像处理库。在用C++处理图像或视频时通常会使用到openCV这个库,但是这个库并非C++中的标准库
- 万众瞩目的 Firefox 3 从昨天开始可以下载了,用“铺天盖地”四个字来形容她的宣传一点都不为过。大多数的广告还是她的fans自发进行的
- pandas中对DataFrame筛选数据的方法有很多的,以后会后续进行补充,这里只整理遇到错误的情况。1.使用布尔型DataFrame对数
- 学习Python的过程中,我们会遇到Access的读写问题,这时我们可以利用win32.client模块的COM组件访问功能,通过ADODB
- 使用方式:new downUpData({url:"http://192.168.1.103:8080/test/data.jso
- 一、DataLoader理解在深度学习模型训练中,数据的预处理和读取是一个非常重要的问题。PyTorch作为深度学习框架之一,提供了Data
- MySQL 当记录不存在时插入(insert if not exists) 在 MySQL 中,插入(insert)一条记录很简单,但是一些
- 关于浅拷贝和深拷贝想必大家在学习中遇到很多次,这也是面试中常常被问到的问题,借由这个时间,整理一下浅拷贝和深拷贝的关系先从一个简单的例子入手
- 先看看效果图:简单的分页js代码:1、效果描述: 不用分页即可显示的jQuery插件 jQuery分页插件——jQu
- 1.安装虚拟环境虚拟环境是真实python环境的复制版本。安装虚拟环境的命令:1)sudo pip install virtualenv #