集群是一种技术解决方案,它将硬件和软件结合起来,为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进行控制了。