2023年11月27日发(作者:)
Sqlserver2008企业版在Windows server 2008 R2企业版上实现双机热备
一, 硬件介绍:
1,至少需要三台服务器和一台磁盘阵列柜。说明:用系统自带的故障转移群集实现双机热备至少需
要三台服务器,最好是四台;如果是用双机软件实现,两台服务器就可以。
2,一台作为域控制服务器,命名serverdc
3,两台配置相同的服务器,都为双网卡,为域的2个节点,用作数据库服务器,分别命名sqlserver01,
sqlserver02
4,磁盘阵列柜一台,通过BHA卡和SAS线连到服务器sqlserver01,sqlserver02
5,说明:也可以再加一台服务器,用作备用域控制服务器。
二, 软件介绍
1, 服务器系统:Windows server 2008 R2 企业版(2008 R2中只有企业版和数据中心版支持群
集功能)。
2, 数据库:Sqlserver2008集成SP3。在win2008 R2上安装故障群集,Sqlserver2008最低
也要集成SP1,不然安装时会有提示、报错,如下图:
[键入公司地址]
LIJIBO201401
1
要把补丁集成到sqlserver2008的安装程序中,而不是安装完再打补丁。集成方法在最后。
三, 配置服务器双机热备
第一,配置网络及IP:三台服务器的IPV6都禁用,不用的网卡也都禁用。
1,禁用IPV6方法如下:
(1) 首先把网络链接属性里面的IPV6去掉,如下图
(2)然后打开CMD 运行以下命令 手动关闭IPV6的隧道,分别运行一下3条命令:
netsh interface teredo set state disable回车
netsh interface 6to4 set state disabled回车
netsh interface isatap set state disabled回车
这样就可以把IPV6禁用掉 ,再运行一下 ipconfig 可以看到IPV6 的地址和IPV6--IPV4的隧道不
见了。
2,配置域控制器serverdc网络
服务器名
IP地址
Serverdc 255.255.255.0
192.168.10.5 192.168.10.5
子网掩码 网关
public
非必需 非必需
首选DNS 备用DNS
3,配置节点数据库服务器sqlserver01,sqlserver02网络
每台服务器有两个网卡,它们分别用于互相通讯(心跳线,heartbeat)和外部网络流量(LAN)。
[键入公司地址]
LIJIBO201401
2
为了方便区分,所以我们在网络的属性中为它们重命名为private 和public,private
网络是用来用
来检测节点是否存活,不允许向客户端提供服务,而是向客户端提供相应的服务
public
服务器名
IP地址 首选DNS 备用DNS
子网掩码 网关
255.255.255.192.168.10.sqlserver01 192.168.10.192.168.10.5192.168.10.
0 1 3 (域控的IP) 3(非必需)
255.255.255.192.168.10.sqlserver02 192.168.10.192.168.10.5192.168.10.
0 1 4 (域控的IP) 4(非必需)
public
private
IP地址 首先DNS 备用DNS
子网掩码 网关
10.10.10.4 10.10.10.3 sqlserver01 10.10.10.3 255.255.255.0
10.10.10.3 10.10.10.4 sqlserver02 10.10.10.4 255.255.255.0
服务器名
空网关
空网关
说明:
1. 对于sqlserver01和sqlserver02的网络,public一定要是第一网络顺序,private网络要处在第
二顺序。
[键入公司地址]
LIJIBO201401
3
选择“高级设置”
[键入公司地址]
LIJIBO201401
4
2. public网络为实际IP,private网络为虚拟IP,下面群集服务还会用到IP,也是虚拟的IP,不
过要和public网络是一个网段的。
3. public的每块网卡只能设置一个IP,千万别在“高级”里设置双IP
4.设置private网络。
[键入公司地址]
LIJIBO201401
5
禁止DNS注册
[键入公司地址]
LIJIBO201401
6
第一, 配置域控制器,将serverdc服务器提升为域工作模式:
(1)在serverdc上安装“活动目录(Active Directory)”。
运行“dcpromo”出现以下窗口:
[键入公司地址]
LIJIBO201401
7
不选“使用高级模式安装”,下一步。
[键入公司地址]
LIJIBO201401
8
第一次建域要选新建,下一步
可运行“net user administrator”查看情况。
[键入公司地址]
LIJIBO201401
9
“需要密码”为“NO”,原因是在安装系统时没对administrator设置密码,后来只是对administrator
设置了登陆密码,两者没同步。运行“net user administrator空格/passwordreq:yes”使二者同步。
Win2008对密码要求比较高,大写、小写、数字、特殊字符,四者中必需包含三种,还要不低于8位。
提示成功后继续:
输入域的名字,下一步。
[键入公司地址]
10
LIJIBO201401
验证完,下一步。
[键入公司地址]
LIJIBO201401
11
“林功能级别”可根据操作系统的实际情况选择,下一步。
下一步。
此处有警告,如果每个网卡的IPV4已有固定IP,则报的是IPV6没有固定IP,可忽略,选择“是”,
继续。
[键入公司地址]
LIJIBO201401
12
选择“是”。
可默认,下一步。
[键入公司地址]
LIJIBO201401
13
输入密码,要使用强密码,下一步。
[键入公司地址]
LIJIBO201401
14
显示正在安装所需要的服务。
安装完成,可查看计算机已转为域工作模式:
[键入公司地址]
LIJIBO201401
15
说明:因为就一台域控制器(即serverdc),所以serverdc也是主域控制器,如果要安装备份域控制
器,就再加一台服务器,
同样运行“dcpromo”启动向导。
[键入公司地址]
LIJIBO201401
16
到这一步按如图选择,其他就按提示操作即可。
(2)把sqlserver01和sqlserver02加入域
[键入公司地址]
LIJIBO201401
17
Sqlserver01,sqlserver02做同样的操作,输入域名,成功后会提示“欢迎加入XXXX域”的提示,
如图。完成后重启,选择域管理员登陆,登录方式是:“域名用户名”
[键入公司地址]
LIJIBO201401
18
在默认界面选择“切换用户”
[键入公司地址]
LIJIBO201401
19
选择“其他用户”
[键入公司地址]
LIJIBO201401
20
[键入公司地址]
LIJIBO201401
21
登录方式是“域名用户名”
这时到sqlserverdc中看会发现sqlserver01和sqlserver02已经加入域。
第二, 配置磁盘阵列柜
1,安装IBM DS Storage Manager软件,根据操作系统情况安装32位的或者64位的
[键入公司地址]
LIJIBO201401
22
2,安装完后运行DS Storage Manager 10 Client
,
3,连接、配置,选择“Yes”
选择手动方式添加
[键入公司地址]
LIJIBO201401
23
选择管理方式:因为是通过网线连接的盘柜,选择“Out-of-band management”,并在Controller
中填写两个控制器的IP地址(A控默认是192.168.128.101,B控默认是192.168.128.102),
点击“Add”
[键入公司地址]
LIJIBO201401
24
正在连接………
连接上了,选择“No”
[键入公司地址]
25
LIJIBO201401
添加子系统完成
双击进入,第一次会提示设置密码
[键入公司地址]
LIJIBO201401
26
选择“No”
4,正式开始配置盘柜
(1)创建阵列(RAID)
由于管理软件的版本不同,最上排的功能按钮名称会略有差别,找到显示未被配置的所有磁盘空间
(Total unconfigured capacity)
[键入公司地址]
LIJIBO201401
27
“Next”
[键入公司地址]
LIJIBO201401
28
输入阵列名称,Drive selection choices选择手动配置
[键入公司地址]
LIJIBO201401
29
选择raid级别,选择阵列磁盘,这里就创建一个阵列,所以鼠标左键拖住选择所有的阵列,然后点击
“Add>”
[键入公司地址]
LIJIBO201401
30
单击“Calculate Capacity”,计算所创建阵列容量,计算 完成,点击“Finish”。
(2)创建逻辑盘,需要创建三块逻辑盘,分别作为仲裁盘、DTC资源盘和数据库盘
[键入公司地址]
LIJIBO201401
31
1)输入磁盘空间大小,2)选择“Map later”,3)根据应用需求选择逻辑磁盘条带种类(文件系统,
数据库,多媒体,自定义),三块磁盘做相同的操作,仲裁盘和DTC盘分10G左右即可。
[键入公司地址]
LIJIBO201401
32
[键入公司地址]
LIJIBO201401
33
完成后的情况如下图(Array的名字有的图片不一样,因为不是同一次截的图,不用管)
[键入公司地址]
LIJIBO201401
34
20多T的卷初始化需要十几个小时。
(3)创建热备盘,右键选择要作为热备盘的磁盘图标,选择“Hot Spare Coverage”
[键入公司地址]
LIJIBO201401
35
[键入公司地址]
LIJIBO201401
36
选择手动指定独立磁盘(Manually assign individual drives),单击“OK”
完成后的状态。
(4)创建Host Group、Host以及设置主机和逻辑卷的映射(LUN Mapping),做双机热备的盘柜
要先创建主机组(Host Group),再创建主机(Host),如果不需要做双机热备可不用创建主机组,直
接创建主机。
1)创建主机组
[键入公司地址]
LIJIBO201401
37
输入名称,点击“OK”
[键入公司地址]
LIJIBO201401
38
2)创建主机(Host)
[键入公司地址]
LIJIBO201401
39
输入名称
[键入公司地址]
LIJIBO201401
40
为每个主机端口设置别名,单击“Add?”
[键入公司地址]
LIJIBO201401
41
[键入公司地址]
LIJIBO201401
42
选择Host操作系统,以及对应配置选项。单击“Next >”
[键入公司地址]
LIJIBO201401
43
确认主机设置信息,点击“Finish”
[键入公司地址]
LIJIBO201401
44
3)映射磁盘,设置LUN Mapping:右键已创建Host
[键入公司地址]
LIJIBO201401
45
[键入公司地址]
LIJIBO201401
46
选择需要添加Mapping的host group或host,这里选择已创建的host group。
选择LUN编号(默认即可),选择需要Mapping的逻辑磁盘,单击“Add”。
[键入公司地址]
LIJIBO201401
47
[键入公司地址]
LIJIBO201401
48
[键入公司地址]
LIJIBO201401
49
(5)修改缓存设置,这步可根据需要操作
1)选择需要修改的逻辑卷,右键菜单上选择“Change-Cache Settings”。
[键入公司地址]
LIJIBO201401
50
针对各个选项的说明:
Enable Read caching(启用读缓存):启用读缓存不会造成数据丢失风险。很少情况下,需要关闭读
缓存为其它逻辑驱动器提供更多的缓存。
Enable Write caching(启用写缓存): 写缓存使存储系统先将数据写入缓存,而不是直接写入磁盘。
这会明显的改善性能,尤其是对于随机写的数据库应用。对于连续写的环境,性能会随写数据的大小不
同而变化。如果逻辑驱动器只用于读访问,关闭该逻辑驱动器的写缓存会提高整体性能。
Enable write caching without batteries(启用无电池写缓存):允许写入高速缓存(即使 RAID 控
制器模块电池已完全放电、未充满电或不存在)。
Enable Write cache mirroring(启用写缓存镜像):write cache mirroring 能保证一块RAID卡
失效后的cache数据完整性。这使数据有更高可用性,但是降低了性能。数据在控制器之间跨过磁盘端
的光纤环路形成镜像,与正常的数据传输发生竞争。建议使用该功能,以保证一块RAID卡失效后的
cache数据完整性。
Enable dynamic cache read prefetch(启用动态缓存预读取):启用动态高速缓存预读取。
[键入公司地址]
LIJIBO201401
51
第三, 管理磁盘。
1,进入服务器“磁盘管理”如果盘柜是双控的,需要打补丁,不然同样的磁盘会显示2个:
[键入公司地址]
LIJIBO201401
52
2,打完补丁后通用的磁盘会显示一个,如下:
[键入公司地址]
LIJIBO201401
53
3,块磁盘做相同的操作,联机、初始化、新建分区等。
联机
初始化
[键入公司地址]
LIJIBO201401
54
新建分区
4,在sqlserver02中也进行相同的操作;
注意:sqlserver01和 sqlserver02中建立的共享磁盘的大小和盘符以及分区格式必须一致;
第五,添加和配置节点的故障转移群集
1,sqlserver01和 sqlserver02均添加角色
选择web服务器(IIS)和 应用程序服务器
[键入公司地址]
LIJIBO201401
55
选择“分布式事务处理”,建议其它项也都选上,下一步:
[键入公司地址]
LIJIBO201401
56
IIS6管理兼容性选上。,下一步安装直到完成。
2、 sqlserver01和 sqlserver02均 添加 故障转移群集功能。
在“功能”中添加
[键入公司地址]
LIJIBO201401
57
3、安装完成后一定要验证所配置的群集
选择“验证配置”
[键入公司地址]
LIJIBO201401
58
点“浏览”,选择要验证的群集节点
[键入公司地址]
LIJIBO201401
59
通过“高级查找”找到群集节点的名称,可以选择一个进行验证,然后再到另一个群集节点服务器上进行
验证另个一,也可以两个节点同时进行验证,这里选择两个同时验证。
下一步:
建议选择“运行所有测试”,不然到后面如果报错的话很难查找原因。
[键入公司地址]
LIJIBO201401
60
正在验证………………
验证中,这一过程时间挺长。
[键入公司地址]
LIJIBO201401
61
验证完成,可通过下拉菜单查看验证情况,也可以通过“查看报告”查看验证情况,一定要所有项目都通
过测试,如果后面报错的话再回来查找原因会很难查。
3,验证通过后,新建故障转移群集,这里在sqlserver01中新建。
[键入公司地址]
LIJIBO201401
62
选择“创建一个群集”
“浏览”,选择要建立群集的节点,这里同样两个节点一起创建群集,把两个节点sqlserver01和
sqlserver02都加入。
[键入公司地址]
LIJIBO201401
63
输入“群集名称”,输入群集IP地址,IP为虚拟的IP,但一定要和public在一个网段。
192.168.10.0/24的意思是:IP是192.168.10.0,子网掩码是255.255.255.0
确认信息,下一步:
完成,同样不要有报错,因为前面已经通过验证,所以创建群集很快会完成。
[键入公司地址]
LIJIBO201401
64
4,配置仲裁盘
选择推荐的配置,下一步:
[键入公司地址]
LIJIBO201401
65
选择一个磁盘........完成。
5,、在sqlserver01上添加“分布式事务协调器(DTC)”
选择“配置服务或应用程序(S)”
[键入公司地址]
LIJIBO201401
66
在下面的步骤中在选择“分布式事务协调器(DTC)”
输入DTC 服务的名称,并分配一个IP 地址,DTC的IP和故障转移群集IP的意思一样。
选择磁盘,下一步:
……………………
完成。
[键入公司地址]
LIJIBO201401
67
6,优化配置
(1),群集网络,private网络只能用来检测节点是否存活,不允许向客户端提供服务,而public
是向客户端提供相应的服务
[键入公司地址]
LIJIBO201401
68
“首选所有者”也可以不配置
[键入公司地址]
LIJIBO201401
69
将现有群集资源调整为:由节点1作为首选节点,这样如果服务器或应用程序从节点1故障转移到节点2
并且当节点1再次可用时,服务或应用程序会主动将资源恢复到节点1。
第六,安装sqlserver2008故障转移群集
1, 在域控制器serverdc中为sqlserver服务添加账户
说明:可以为sqlserver每一个服务添加一个账户,也可以只添加一个账户,所有的sqlserver服务
都用这一个账户。
如果不为sqlserver添加账户,到安装sqlserver2008为服务添加账户时,节点中的账户或
sqlserver账户都添加不上,会报错。
(1)在域控制器serverdc中添加账户sqladmin,并设置密码。
(2) 把sqladmin加入域管理员Domain Admins,右键sqladmin“属性”--“添加”。
[键入公司地址]
LIJIBO201401
70
[键入公司地址]
LIJIBO201401
(3)把sqladmin账户加入节点的管理员组。sqlserver01/sqlserver02--“本地用户和
组”-“组”-在administrators上右键“属性”--“添加”,查找到sqladmin,
2、注意:安装sqlserver2008故障转移群集第一个节点时,要求所有的群集资源都由本节点占有,
并且其他节点在集群中也要处于正常监听心跳的状态。
3、以上的都是为安装sqlserver2008故障转移群集做的准备工作,现在开始安装sqlserver2008故
障转移群集。
在sqlserver01节点上安装。
[键入公司地址]
LIJIBO201401
72
“网络绑定顺序”有警告,如果public网络在第一顺序,此警告可忽略,下一步:
[键入公司地址]
LIJIBO201401
73
输入网络名称,程序组件、实例安装在节点的本地磁盘,不要选择共享盘。
[键入公司地址]
LIJIBO201401
74
选择磁盘,下一步:
[键入公司地址]
LIJIBO201401
75
输入IP,要和public网络在一个网段里。
[键入公司地址]
LIJIBO201401
76
“账户设置”,选择对所有sql服务使用相同账户即可,账户选sqladmin,数据目录要选共享盘(S)。
下一步--安装……………….完成。
[键入公司地址]
LIJIBO201401
77
安装完数据库服务应该是联机的
4、在sqlserver02上添加群集节点,安装前把数据库服务和数据库服务所占的磁盘留在sqlserver01
上,其他的所有的资源都要转移到sqlserver02节点。
[键入公司地址]
LIJIBO201401
78
[键入公司地址]
LIJIBO201401
79
选择实例名称,下一步:
[键入公司地址]
LIJIBO201401
80
输入密码,下一步:
…………………完成。
5、同样把sqlserver服务的首选所有者设置为sqlserver01,如果前面分布式事务协调器没首选选所
有者,这里也不要选。
[键入公司地址]
LIJIBO201401
81
然后连接SQL2008实例,“服务器名称”这里有两种情况:(1)安装时实例名如果是默认的,就可以只
用网络名或者IP,(2)实例名如果不知默认,就得使用“网络名称实例名”或者“IP实例名”。
[键入公司地址]
LIJIBO201401
82
第七、修改群集IP
如果服务器环境的IP段改变了,群集的IP也得跟着改变。
环境:比如将群集网络修改为10.30.0.0/24,Serverdc的IP改为10.30.0.5,sqlserver01改为
10.30.0.3,sqlserver02改为10.30.0.4,windows群集IP改为10.30.0.6,DTC改为10.30.0.7,
sqlserver2008群集IP改为10.30.0.8
步骤如下:
1,在serverdc上加上10.30.0.5/24,就是设置双IP。
2,关闭sqlserver01,节点转移到sqlserver02,同样在sqlserver02上加上10.30.0.4/24, 首
先修改windows群集IP,在原有IP上右键属性
[键入公司地址]
LIJIBO201401
83
把原来的IP改为现在的,下图
[键入公司地址]
LIJIBO201401
84
其次修改DTC的IP
最后修改sqlserver的IP
[键入公司地址]
LIJIBO201401
85
都改完后再把sqlserver02原来的IP去掉,DNS也做相应的修改,只保留现在的。
3,启动sqlserver01,直接修改IP、掩码、网关、DNS。
4,把serverdc的原来IP去掉,只保留现在用的。
5,验证群集是否正常。
[键入公司地址]
LIJIBO201401
86
第八、sqlserver2008集成补丁方法,以集成SP3为例
SQL Server 2008中文版集成SP3
此方法同样适用于SQL Server 2008和SQL Server 2008 R2集成其它补丁,只是把相应的
名称做修改。
第一步:新建文件夹、复制原始文件、提取SP3包。
1、将原始SQL Server 2008的所有文件复制到硬盘的一个文件夹(如:D:SQL2008_CHS),
并在该文件夹下新建一个文件夹SP3(即:D:SQL2008_CHSSP3)。
2、将以下3个从微软官方下载下来的SP3文件复制到另外一个文件夹(如:D:SP3),这三个版
本都应该包含:
3、分别运行以下3个命令,将SP3解压到D:SQL2008_CHSSP3。
1)D:
/x:D:SQL2008_CHSSP3
2)D:
/x:D:SQL2008_CHSSP3
3)D:
/x:D:SQL2008_CHSSP3
第二步:用SP3中的文件替换原始文件。
1. 将D:SQL2008_CHSSP3文件夹下的和复制到D:SQL2008_CHS
文件夹下,覆盖原文件。
1)copy D:SQL2008_ D:SQL2008_CHS
2)copy D:SQL2008_CHSSP3 D:SQL2008_CHS
LIJIBO201401
87
2.依次运行以下命令
[该命令的作用是:从D:SQL2008_CHSSP3文件夹 复制
除了以外的所有文件(注意:是文件而不是文件夹)到
D:SQL2008_CHS文件夹 来更新原始文件。 ROBOCOPY是“Windows 的可靠文件复制”命
令]:
1)robocopy D:SQL2008_CHSSP3ia64 D:SQL2008_CHSia64 /XF
2)robocopy D:SQL2008_CHSSP3x64 D:SQL2008_CHSx64 /XF
3)robocopy D:SQL2008_CHSSP3x86 D:SQL2008_CHSx86 /XF
注意:如果不小心替换了文件,当运行的时候
可能会发生错误。 如果发生这种情况,恢复到原来的版本。
第三步:修改配置文件。
1. 确定是否拥有在下列目录:
D:SQL2008_CHSia64
D:SQL2008_CHSx64
D:SQL2008_CHSx86
内有这个文件,打开文件,增加下列一行内容
PCUSOURCE=".SP3"
2.如果没有以上所说的文件,创建一个具有下列内容的文件:
;SQLSERVER2008 Configuration File
[SQLSERVER2008]
LIJIBO201401
88
PID="XXXXX-XXXXX-XXXXX-XXXXX-XXXXX"
PCUSOURCE=".SP3"
(注:XXXXX-XXXXX-XXXXX-XXXXX-XXXXX为安装序列号)
并分别复制到下列文件夹内:
D:SQL2008_CHSia64
D:SQL2008_CHSx64
D:SQL2008_CHSx86
该文件的作用是告诉安装程序在哪里找到SP3的源媒体,既在第一步3中提取的内容。
第四步:完成。
直接运行D:SQL2008_安装即可。
LIJIBO201401
89


发布评论