SQL SERVER 2008R2 CLUSTER
Windows2008 提供两种群集技术:故障转移群集(CLUSTER)和网络负载均衡(NLB)。故障转移主要提供高可用性。网络负载均衡提供可伸缩性。
故障转移群集技术主要是针对长期运行的内存状态或具有大型,频繁更新的数据状态的应用程序。(LIVEMIGRATION)
网络负载均衡技术主要是用于没有长期运行的内存状态或者
故障转移群集可以提高服务及应用程序的可用性。群集中的多个节点之间有物理线路和软件链接,如果其中一个节点故障会自动切换到另外一个节点这个过程叫故障转移
故障转移是一组独立的服务器组成的,这些服务器相互协作以提高服务及应用程序的可用性。通过群集中的某个节点发生故障,资源会重定向到另外一个节点上,所以通过群集故障转移几乎保证群集内的服务的在单点故障时都能正常运行
该环境我们用 vmware9.0做该实验
环境介绍
我环境内共有三台server,这三台server都是上篇文档介绍的VMWARE CLONE,具体信息见下
Domain name :ABC.COM
Hostname:ABC-DC
Ip:192.168.100.2
Roles:DC DNS ISCSI
Hostname:SQL-CL01
Ip:192.168.100.50
Heart-line:100.100.100.1
Roles:SQL Server
Hostname:SQL-CL02
Ip:192.168.100.51
Heart-line:100.100.100.2
Roles: SQL Server
SQL-CL:192.168.100.100(群集节点)
SQL-CLDta:192.168.100.101(MSDTC)
SERVERCLUSTER:192.168.100.105(Database cluster节点)
一、首先部署域环境,
首先是安装DC,我们先更改计算机名,ABC-DC
更改计算机名后重启计算机,首先设置网卡属性
配置DC的网卡信息:IP:192.168.100.2 DNS:192.168.100.2 Gateway:192.168.100.1 mask:255.255.255.0
再次将该计算机提升为DC;通过运行dcpromo
如果运行DCPROMO前没安装ADDS服务的话,会自动安装该服务,然后会出现以下窗口
命名一个域名;ABC.COM
该服务器为DC、DNS、GC
确认信息:林、域功能级别都直接提升为:windows2008R2,下一步
开始提升为DC服务器,完成后自动重启
重启后,DC服务器搭建完成,然后登陆后运行dsa.msc或打开用户和计算管理出现一下状态
、
下面我们配置第一台SQL SERVER的配置,首先是更改计算机名称,配置IP地址然后加入域
Hostname:SQL-CL01
IP:192.168.100.50 Mask:255.255.255.0 DNS:192.168.100.2
然后将第一台SQL SERVER加如到ABC.COM这个域
然后我们在需要该server添加一块网卡配置为心跳线,主要用来传输数据
打开网络及共享中心,查看网络状态
更改心跳线网卡属性;因为该网络主要是用来数据传输的,建议将TCP/IP4以外的服务全部取消。保持以下状态
配置心跳地址:100.100.100.1 255.255.255.0;
不需要配置网关及DNS
单击高级选项;切换到DNS标签:去掉勾选:在DNS中注册此连接的地址
然后切换到WINS标签:去掉勾选:启用LMHOSTS查找、禁用TCP/IP上的Netbios功能,确认
然后更改网络优先级顺序;
在网络连接中----单击组织----勾选菜单----高级----本地连接的优先级高于心跳线
下面我们配置第二台SQL SERVER的配置
首先是更改计算机名称,配置IP地址然后加入域
IP:192.168.100.51 Mask:255.255.255.0 DNS:192.168.100.2
更改计算机名:SQL-CL02,然后加入到 ABC.COM域
然后我们在需要该该server添加一块网卡配置为心跳线,供数据传输使用
配置心跳线网卡属性;除了TCP/IPv4去除其他勾选
配置心跳网络:100.100.100.2 Mask:255.255.255.0 不需要配置网关及DNS
单击高级选项—切换到DNS标签,去除勾选—在DNS中注册此连接的地址
在切换到WINS标签:去除勾选启用LMHOSTS,同时禁用TCP/IP上的Netbios功能
更改网络优先级,保持本地网络连接的优先级高于心跳线网络的优先级
测试两个心跳线的网络状态,保证两个网络互相能ping通(测试之前启用IPV4回显,不然会提示超时)
三、配置部署及配置ISCSI Target
在前面,我们已经搭建了一个域,而且部署了两台Windows Server 2008 R2系统命名为SQL-CL01 SQL-CL02的独立服务器并且加入到ABC.COM。下面我们准备让ABC-DC除了担当域控制器外,还要行使另外一个职能:充当群集的共享存储。Windows Server 2008 R2能支持虚拟机的动态迁移,关键是要让虚拟机存储在群集共享卷中。群集共享卷指的是由群集内的每个节点都能共同访问的一个存储设备,我们在本次实验中准备用ABC-DC来模拟这个存储设备。
从微软的Technet网站下载ISCSI Target安装程序,该程序只有6.43M大小,具体链接见下:
http://www.microsoft.com/en-us/download/confirmation.aspx?id=19867
下载ISCSI Target程序后,拷贝到ABC-DC的桌面上,单击安装;我们通过以下图示就得知,改程序是一个压缩文件,提示解压路径;默认是存放在C盘根目录下的ISCSTarget文件下
解压后,我们看到C盘根目录下确实有一个ISCSTarget文件
打开该文件后,会 看里面里面有很多程序,主要是有个X64 X86的文件夹,我们大家都知道一个是32位一个是64位,因为我们系统是64位的 话,所以单价打开X64
然后双击运行iscsitargert_public
开始安装
开始安装,next
安装路径,我们再次默认
、
不更新
安装完成
部署完ISCSI Target后,我们在ABC-DC上启动ISCSI Target的管理工具。
如下图所示,我们右键点击ISCSI目标,选择“创建ISCSI目标”。创建ISCSI目标的目的是允许特定的计算机访问ABC-DC模拟出的存储设备
我们为要创建的ISCSI目标取名为ABC-SERVER,描述:FOR SQL CLUSTER,点击“下一步”继续
我们要创建一个ISCSI发起程序标识符,标识符可以用于识别ISCSI发起程序,我们准备用IP地址来表示ISCSI发起程序标识符,点击“高级”按钮继续
选择IP:192.168.100.50 该地址为第一台SQL Server服务器;该操作主要是用于为该服务器提供共享存储链接用的
我们准备用IP地址来创建ISCSI发起程序标识符,首先我们添加了SQL-CL01的IP地址192.168.100.50
单击下一步
单击完成
然后我们右击刚才新建的ISCSI(ABC-SERVER)属性,添加SQL-CL02的管理地址,这样我们就允许了SQL-CL01和SQL-CL02两台计算机来访问用ABC-DC模拟出的ISCSI存储设备
切换到ISCSI发起程序,添加
我们添加第二台SQLSERVER的IP地址:192.168.100.51
创建了ISCSI目标后,我们就开始创建ISCSI存储了。我们准备创建三个ISCSI虚拟磁盘,分别是:DATA,Quorum,Log如图下图所示,右键点击“设备”,选择“创建虚拟磁盘”。
下一步
我们在D盘下创建了一个 Virtual Disk文件夹,然后在该文件夹下创建了命名为DATA.vhd的文件
为DATA.vhd文件分配30G空间
描述:FOR SQL DATA
添加 目标就是我们刚才新建的SQL-SERVER
第一个虚拟磁盘创建完成
我们再次创建一个虚拟磁盘,仲裁磁盘,分配3G
同样存放在D盘下的Virtual Disk下的一个Quorum.vhd文件
我们为该磁盘分配空间3G
磁盘描述:FOR SQL QUORUM
目标:SQL-SERVER
第二块虚拟磁盘也创建完成
再次创建第三块虚拟磁盘:日志磁盘
同样存放在D盘下的Virtual Disk下 的Log.vhd
分配空间10G
描述“FOR SQL LOG
我们共创建了三块虚拟磁盘:DATA LOG QUORUM
四、配置ISCSI虚拟磁盘
在上面我们利用ISCSI Target软件在ABC-ISCSCI上创建了三个ISCSI虚拟磁盘,在下面我们将为大家介绍SQL-CL01和SQL-CL02如何访问这些ISCSI虚拟磁盘。SQL-CL01和SQL-CL02可以使用ISCSI协议访问ABC-ISCSCI上的虚拟ISCSI磁盘,由于Windows Server 2008已经内置了ISCSI协议,因此我们无需在SQL-CL01和SQL-CL02上安装ISCSI客户端软件。如果SQL-CL01和SQL-CL02的操作系统是Windows Server 2003,那我们就需要在Server1和Server2上安装ISCSI发起程序了。
下面我们以SQL-CL01为例为大家演示如何在Windows Server 2008 R2上访问ISCSI磁盘,我们在SQL-CL01的管理工具中执行“ISCSI 发起程序”。如图下面所示,系统提示我们ISCSI服务尚未运行,是否需要启动ISCSI服务并将服务设置为自动启动,我们选择“Yes”。
我们在目标输入我们的ISCSI SERVER的IP地址192.168.100.2(ABC-DC)然后单击快速链接
状态:已链接
切换到发现标签下我们看见链接到的ISCSI Server的地址及状态
然后切换到卷和设备处,单击自动配置,会自动配置刚才所链接到的虚拟磁盘
SQL-CL01利用ISCSI发起程序连接到了ABC-DC上的ISCSI磁盘后,我们在SQL-CL01的磁盘管理器中就可以对ISCSI磁盘进行管理了。如图下图所示,在SQL-CL01的磁盘管理中,我们发现SQL-CL01中多了三块磁盘,一块30G、一块10G、3G这三块磁盘就是ABC-DC上创建的ISCSI虚拟磁盘
然后我们打开Server1的磁盘管理,查看磁盘状态
我们对三块ISCSI虚拟磁盘进行联机、初始化、分区,格式化。如图下图所示,我们给30G的ISCSI磁盘分配了S盘符,S盘将用于存储SQL数据。10G的ISCSI磁盘分配了L盘符,L盘将用作存储SQL的日志磁盘。3G的ISCSI磁盘分配了Q盘符,Q盘符作为群集的仲裁磁盘。
SQL-CL01设置完毕后,我们需要在SQL-CL02上进行同样的ISCSI设置,并且对ABC-DC上的三块ISCSI虚拟磁盘分配同样的盘符,这样我们就在SQL-CL01和SQL-CL02上就可以访问之前创建的ISCSI磁盘了;
五、创建故障转移群集
我们在SQL-CL01进行故障转移群集的创建,如图下图所示,在SQL-CL01和SQL-CL02的“服务器管理”中右键点击“功能”,选择“添加功能
勾选—故障转移群集
开始安装
安装完成
我们同样也在SQL-CL02上安装故障转移群集功能,勾选后安装
安装完成
添加了故障转移群集功能后,我们在SQL-CL01的管理工具”中打开“故障转移群集”,如图下图所示,选择“创建群集”。如果谨慎一些,也可以先使用“验证配自豪”来验证一下当前是否够满足创建故障转移群集的条件。单击验证配自豪
我们输入SQL-CL01及SQL-CL02的FQDN后下一步;如果解析不正常的话,再次无法加入
运行所有测试,下一步
开始验证,再此时间可能会长一点,主要看个人的服务器配置了。
群集验证报告是通过的,看来我当前的环境满足创建群集
开始创建群集
输入SQL-CL01 SQL-CL02的FQDN后下一步
群集名称:SQL-CL 对应的IP:192.168.100.100(保证该地址及名称在环境内无冲突)
输入后检测后没有冲突会自动创建一条记录在DNS服务器中
确认该群集名称SQL-CL及群集ip地址:192.168.100.100无冲突
开始创建群集
群集创建成功
我们在DC上打开DNS管理工具,发现在DNS记录中自动创建一条记录
SQL-CL:192.168.100.100
我们打开群集故障转移;我们的SQL-CL01\SQL-CL02为该群集的的两个节点
切换到存储标签;刚看我们刚才的新建的三个虚拟磁盘。
屏幕剪辑的捕获时间: 2012/10/2 16:59
下面我们添加分布式事务处理DTC群集服务
右击服务和应用程序---配置服务或应用程序
选择分布式事务协调器
输入一个没有冲突的IP地址用作SQL-CL的DTC解析地址:192.168.100.101,通过检测后会在DNS服务器中自动创建一条A记录
选择日志磁盘L盘:10G
开始创建
开始创建
创建完成
我们在ABC的dns服务中看到自动添加了一条SQL-CLDtc:192.168.100.101的记录
七、安装SQL SERVER数据库
开始安装必备文件
数据库的必备程序已安装成功
我们在SQL-CL01上放入SQL SERVER2008R2的安装光盘,运行SETUP.EXE
安装前检测
切换到安装标签。单价安装新的SQL SERVER故障转移群集安装
检测通过,单击安装,开始安装
安装前检测通过
安装SQL SERVER数据库功能:
输入一个SQL网络名称:SERVERCLUSTER ,使用默认实例
下一步
默认选择磁盘
输入一个没有冲突的IP地址:192.168.100.105
安装完成后会自动在DNS服务器注册一个A记录
名称为SQL的网络名称:
SERVERCLUSTER:192.168.100.105
使用服务的SID,下一步
4
用域账户验证,在此我们为了方便管理,我们单独创建一个SQL的管理员账户
创建一个SQLADMIN的用户
对所有使用SQL SERVER服务使用相同的账户;我们选择刚才新建的SQL用户:SQLADMIN
使用混合模式,并且输入密码:然后指定SQL SERVER的管理员
我们切换到数据目录发现,该数据目录自动指向我们的数据盘S盘
下一步后检测通过
开始安装数据库
安装数据库完成
自动会在DNS创建一条A记录,网络名称记录:
SERVERCLUSTER:192.168.100.105
我们发现群集故障转移下的服务和应用程序下多了一个SQL SERVER的应用程序
然后在第二台server上;运行SQL SERVER的安装程序
再次我们运行安装:向SQL SERVER故障转移群集添加节点
检测通过
默认确认后,开始安装
输入数据库管理密码
开始添加节点
SQL SERVER数据库节点添加成功
八、SQL CLUSTER节点测试
右击SQL SERVER故障转移群集节点-----将该服务器的应用程序移动到另一个节点
我们单击是
开始切换
我们发现,在切换节点的时候,只丢一个包。
切换正常
切换后,当前的所有者为SQL-CL02
本文出自 “高文龙” 博客,转载请与作者联系!