实验之前,先来了解一些基础的概念。
什么是服务器群集?有何作用?服务器群集不同于NLB群集,服务器群集是有独立计算机系统(节点)构成的组,不同节点协同工作,就像单个系统一样,从而确保关键的应用程序和资源始终可由客户端使用。
用于访问量较少的企业内网的服务器的冗余和可靠性。
哪些版本的操作系统支持服务器群集?只有两个版本的windows server 2003系统支持该技术:企业版和数据中心版。
服务器群集的应用范围?服务器群集最多可以支持8个节点,可实现DHCP、文件共享、后台打印、MS SQL server、exchange server等服务的可靠性。
下面将通过一个具体的案例来讲述服务器群集的实现步骤。
先看下面的拓扑图,因为实验环境都是虚拟化的,所以首先要搭建拓扑图中的实验环境。注意:在VMware虚拟机中,用于做服务器群集实验的虚拟机必须是新装的系统,不能是克隆或者是封装的版本,否则会出问题。
其实服务器群集的实现还是很简单的,但是因为实验的环境是虚拟的,所以实验的准备工作会比较烦琐,
下面先介绍实验的准备工作。
(一)、搭建拓扑图所示的实验环境,安装DC和DNS(步骤省略),配置IP地址,设置服务器节点的网卡优先级(公共网卡高),如图,以cluster2为例
以同样的方法设置一下cluster1的外网卡优先级最高。
(
二)、将cluster1和cluster2加入到windows.com域(DNS指向DC)
注意:在外网卡上做DNS指向,即与client相连的网卡上。如果加入不了域,请检查网卡的配置是否正确
(三)、创建管理群集的域用户,并添加至每个节点的本地管理员组,以管理服务器群集,我们先在DC上创建域帐户cluster。然后将cluster加入到两个节点的本地管理员组,以加入到cluster2的本地管理员组为例,如图:
添加完成后,分别在cluster1和cluster2上用群集管理员帐户cluster登录到域中,激活该帐户。
(
四)、关闭cluster1,添加共享的SCSI设备。方法:编辑虚拟机设置——添加——选择硬盘——选择SCSI设备——完成
注意添加后,要做相应的更改才能使用!!
点击设置界面的高级——修改第二块磁盘的总线为SCSI1:0,这样做目的是为了使系统盘和仲裁盘不使用同一个总线,否则创建群集时会提示无法找到仲裁磁盘。
然后进入虚拟机的源目录,编辑以.vmx结尾的文件,用记事本打开,在文件末尾添加行:disk.locking=false,避免磁盘被一台服务器锁定。
(
五)、启动cluster1,把共享磁盘初始化并格式化为NTFS,格式化完成后在该分区创建一个文本文件,留着验证用。格式化方式为:我的电脑——管理——磁盘管理——把磁盘1初始化为基本磁盘,右击该磁盘——新建磁盘分区——格式化为NTFS格式且指定盘符
(六)、关闭cluster2,添加共享的SCSI设备(注意:是添加共享的,已存在的!!)
编辑虚拟机设置——添加——SCSI磁盘,选择“一个已经存在的磁盘”——路径写在cluster1上添加的那块磁盘的路径——完成,记住将磁盘的总线改为SCSI1:0
(七)、配置完成后,启动cluster2,给共享设备分配盘符,方法是:打开cluster2的磁盘管理——右击基本磁盘1——更改驱动器盘符——为“E”——完成
注意:该分区不用格式化,因为是和cluster1的共享存储设备,无需再格式化,并且我们在cluster2上打开E盘,可以看到内容和cluster1上的E盘内容一样,因为是共享的。
至此,准备工作已经完成,下面将介绍服务器群集的配置过程
(1)、在cluster1上新建群集,运行cluadmin打开服务器群集管理器
这时会弹出群集的配置向导,我们根据向导完成配置,如图:
因为是新群集,所以我们起一个新名字
下图输入计算机名,是本地计算机名,作为群集的第一个节点
正在分析配置,包括检查已有的群集, 节点连接,检查节点的可行性,展开后有详细的内容
输入群集的IP地址
输入有管理权限的群集服务帐户
显示汇总的配置信息,如果确定没问题,那么点击下一步
开始创建群集,如下图,展开后可以看到更详细的内容
下面显示的是我创建好的服务器群集第一个节点的情况
(2)、等群集的第一个节点创建完成之后,我们要把cluster2加入到现有的群集中,在cluster2上执行相关的操作
用群集管理员帐户登录到cluster2,运行cluadmin打开服务器群集管理器
选择打开到群集的连接,如下图:
注意群集的名称要和第一个节点中创建的那个名称一致,否则会找不到群集
在cluster2上新建节点,弹出新建节点向导,如图
下图,选择计算机为cluster2自己,把自己加入到群集中
点击下一步后,进入添加节点向导
进行有管理权限的帐户的身份验证阶段,输入正确的密码
显示汇总的配置信息,如果确定没问题,那么点击下一步
正在添加节点到群集,等添加完成后,完成配置
(3)、服务器群集的配置基本上完成了,但是还有一步非常关键,就是:指定专用网卡为心跳线。具体方法是:打开群集管理器——群集配置展开——网络——右击本地连接(内网卡)——属性——勾选“只用于内部群集通信”(专用网络),如图:
群集中的两个节点通过专用网络互相检测对方的状态,依次来决定是否在节点之间进行资源切换。
(
4)、关于群集服务的配置已经完成了,可以发现在cluster1的外网卡,即本地连接2上多了一个群集IP地址10.100.100.100,而cluster2的外网卡是没有的,因为服务器群集只能有一个节点监听客户端的请求,当这个节点出了故障,可以把任务转移到另外的一个节点上,实现冗余和可靠性。
下面测试一下:禁用cluster1的网卡,模拟cluster1出现故障,进行验证
禁用后我们先看一下cluster1和cluster2的网卡状态:
可以看到群集监听客户端请求的IP地址跑到cluster2上去了
(5)、配置故障自动回复功能。
注意:故障的转移和故障的回复是不同的,故障的转移是自动的,但是故障的回复功能需要进一步的配置,在实验的最后介绍一下故障回复的配置方法:
当转移到cluster2上后,假如cluster1已经修好了,那么在cluster2正常工作的情况下,群集服务是不会重新回复到原先的cluster1上的,这个时候如果还想让修好的cluster1继续担任群集中正常监听的节点,就要做些配置了,如下:
这个时候我们再回到cluster1上看看,群集IP又回到cluster1上了
(6)、最后我们来总结一下服务器群集和NLB群集的区别在哪里
关于NLB群集的配置,大家可以参考我的文章:
windows网络服务之配置NLB群集
服务器群集 | NLB群集 |
保证企业内网服务器运行的可靠性 | 提供均衡服务 |
只有一个节点的公用网卡上有群集IP地址 | 每个节点的公用网卡都有群集IP地址 |
同时只有一个节点能监听到客户端请求 | 同时所有节点都监听到客户端的请求 |
每个节点都在共享存储设备存储数据 | 每个节点都在本地存储一份数据 |
最多支持8个节点 | 支持32个节点 |
必须是域环境 | 是否域环境均可 |
2003家族的两个版本支持:数据中心和企业版。必须两块网卡,内网卡用作“心跳线” | 2003家族四个版本均支持,可以一块网卡,最好两块 |