分类: 服务器与存储
2008-06-05 17:56:28
对于企业重要的应用系统而言,保证系统持续、可靠地提供服务是非常重要的,因此就出现了对高可用性的需求和高可用性的解决方案。从广义讲,高可用性包括一切避免系统服务中断的技术。而一般所说的系统高可用性,往往特指的双机或多机热备/容错。决定是否使用双机热备,正确的方法是要分析一下系统的重要性以及对服务中断的容忍程度,以此决定是否使用双机热备。即,你的用户能容忍多长时间恢复服务,如果服务不能恢复会造成多大的影响。
从概念上,双机热备是集群(Cluster)的一种。集群一般包括两类,一类是纯粹应用的集群,各个应用服务器都访问统一的数据库服务器,但彼此并不需要共享,这种集群是比较简单的,往往采取各个服务器同时提供服务的方式,并且往往同时采用负载均衡技术。有另一类是数据库服务器(或其他需要访问数据的系统如Exchange、Notes)的集群。集群可能包括多台服务器。集群软件除了支持双机工作外,还可以支持多台服务器(Multi Node)工作,同时部署多个应用,并在多个服务器间灵活地设置接管策略。
数据库双机热备方案中最简单的是采用备机的方式。这其实不属于高可用性的范围,但可以将出现故障后恢复服务的时间控制在几十分钟的量级,而且备机平时还可用作其他用途。这种方式是一种低成本的简单方案,对于不是非常重要的应用比较适合。它不适用于重要应用,但是除非你的应用停上几天都无所谓,否则至少要有这一级别的保护措施。第二种是通过软件方式实现双机热备。即不采用共享的存储设备,而是数据不再单点存储,本机数据可以向多台主机做实时的数据复制。这种方式的优点是节省了昂贵的存储设备投资。缺点是或者会产生数据的差异,或者会影响数据库的速度。比如,如果在服务中断时切换到备机,则可能有少量已经在主机完成的事务在备机上尚未实现。而与备份数据的恢复不同,备机启动后,后续的操作已经进行,因此丢失的事务就很难补上。因此,这种方式适用于对于丢失少量数据不是非常敏感的系统。第三种是基于共享存储设备和双机软件实现双机热备。这是标准的方法,能够在无人值守的情况下提供秒级的切换,并且不会丢失数据。当然,投资会比较高。
在一般的中小规模应用中,数据库的双机热备都是主/备方式,主服务器工作时另一台等待,在主服务器出现故障时借助双机热备软件自动切换至另一台服务器。而有些大规模应用为充分利用设备,可以采用并行服务的方式,两台服务器同时提供服务,如的RAC( Real Application Cluster),以及支持SQL Server并行服务的数据库器软件ICX
第二章 企业双机热备软件配置实例
对于关键的企业应用,购买专门的双机热备软件是必不可少的,不可随意使用网上或破解的软件进行双机系统的配置,数据库双机是目前企业应用中常见的双机应用领域,企业的数据库对企业的日常正常运营的重要性不言而喻,下面我们通过目前市场上常见的数据库双机热备软件-联鼎多节点集群软件(Lander Cluster)-来演示一个SQL Server双机配置案例。
2.1安装准备
1. 做双机热备的两台服务器每台至少需要两块网卡,一块作为工作网卡,连接集线器或机;另一块作为心跳网卡,与其他节点的心跳网卡通过集线器或机交换信息;
2. 确认好主机和的连接、主机到共享磁盘阵列柜的连接;
3. 两台服务器均用administrator超级管理员账号,不要对系统默认超级管理员重命名,密码可以随意,不要求两台服务器密码保持一样;
4. 两台数据库服务器在安装数据库的时候,假设将两台数据库服务器分别命名为A机、B机,在A机安装数据库的时候,B机关闭,由A机单独掌控共享磁盘,把A机的数据库数据文件安装在共享磁盘的分区中,数据库安装完成后把随机启动的数据库服务:SQL Server和SQL Server Agent改为手动,然后将A机关闭;启动B机,按同样的操作安装好数据库, 将B机的数据库数据文件同样也安装在共享磁盘的分区中,也将数据库服务:SQL Server和SQL Server Agent改为手动并停止;然后启动A机,A机启动过程中会有个检测共享磁盘的过程,然后进入系统,此时A机和B机的数据库都处于停止没有工作的状态,现在可以安装联鼎双机软件并进行配置了;
2.2双机软件安装
以Administrator用户登陆操作系统,双击光盘目录中的软件包,按照安装程序的提示进行安装,安装过程极为简单,在此不再赘述。
集群软件安装完成以后,在程序组中,增加了【LanderSoft】/【LanderCluster】组。在系统服务中增加了Cluster Agent、Cluster Management Agent两个自动启动的服务,其中Cluster Management Agent已经启动,Cluster Agent处于未启动状态。
2.3配置前的检查
1. 确保要配置的服务器中的Cluster Management Agent服务已启动,而Cluster Agent未启动;
2. 需要集群管理的数据库服务SQL Server和SQL Server Agent,都必须设置为手动,都不能在开机时自动启动;
2.4配置过程
1. 执行【开始】/【程序】/【LanderSoft】/【LanderCluster】/ Cluster Management Center程序。在LanderCluster界面中按下【Wizard】按钮,启动LanderCluster设置向导,如图:
2. 开始配置:
3. 选择节点数和包数,按【>>Next】,继续进入配置向导的第二步。
4. 从左侧列表选择需要配入集群的主机到右侧列表,按【>>Next】,继续。
-节点配置-
5. 节点配置过程中,所有的信息都是不可编辑的,只能从列表框中选择正确的心跳IP和工作IP。(不要选择测试卷,切记)
6. 按【>>Next】,继续进入配置向导的第四步。
- 包的配置 -
Pkg Name为该包的包名,以区分于其他包,此项必须填写
NetIndex为绑定的网卡,在节点配置中若配置了两块工作网卡,则可以在下拉菜单中选择其中一块作为该包的绑定网卡。(集群默认为第一块工作网卡,该网卡是必须配的)
Virtual Host为虚拟主机名
Virtual IP为虚拟IP,每个包必须有一个虚拟IP,此项必须填写
NetMask为虚拟IP的子网掩码,该项可不填。若该项不填,集群默认该项为绑定网卡的IP的子网掩码
要选种某个服务,请在服务前打勾,我们用到的数据库服务为:SQL Server和SQL Server Agent,但这里要先勾选SQL Server Agent,再勾选SQL Server,切记!
- 指定可执行程序 -
如上图所示,这里不需要填写
在"Switch Rule"选项中选择切换规则(指定规则/可回切/负载均衡)。(该项必须选择),切换规则选择Balanced选项;
7. 点击【>>Next】,继续点"Finished"
- 完成集群配置 -
8. 完成集群配置:这一步骤是完成配置的最后一步,将集群的配置信息同步到其他节点。按【Finish】按钮,保存对集群的配置。可以看见Cluster Configuration Completed窗口的状态栏的保存进度条。
按【确认】按钮,集群的配置过程结束。
9. 然后把两台数据库都重新启动,先起来的那台机器即为主机,另外一台为备机。主机的数据库的服务是起来的,而备机的数据库的服务是停止的。在主机上可以访问共享磁盘上的共享分区,而备机上的是无法访问的。进行图形监控如下:
第三章 集群配置完成后的检查
3.1检查步骤
上图是图形监视,显示的是Dragon_DB01在工作,因为它的显示器上有显示许多项工作进程的标志;再点到"State Details",如下图所示:
如上图所示,在Node States中可以看到Node Type中,Dragon_db01是Master,即为主机;而Dragon_db02是Normal,为备机;State项显示的状态都为Success,即为正常;在Package States选项中,NodeName显示的是Dragon_db01,即现在正在工作的机器是数据库01,state状态显示的是Running,即:正在运行。