SQL SERVER 2008R2 CLUSTER

本文涉及的产品
云数据库 RDS SQL Server,独享型 2核4GB
简介:

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节点)

clip_image001

一、首先部署域环境,

clip_image003

首先是安装DC,我们先更改计算机名,ABC-DC

clip_image005

更改计算机名后重启计算机,首先设置网卡属性

clip_image007

配置DC的网卡信息:IP:192.168.100.2 DNS:192.168.100.2 Gateway:192.168.100.1 mask:255.255.255.0

clip_image009

再次将该计算机提升为DC;通过运行dcpromo

clip_image011

如果运行DCPROMO前没安装ADDS服务的话,会自动安装该服务,然后会出现以下窗口

clip_image013

命名一个域名;ABC.COM

clip_image015

该服务器为DC、DNS、GC

clip_image017

确认信息:林、域功能级别都直接提升为:windows2008R2,下一步

clip_image019

开始提升为DC服务器,完成后自动重启

clip_image021

重启后,DC服务器搭建完成,然后登陆后运行dsa.msc或打开用户和计算管理出现一下状态

clip_image023

下面我们配置第一台SQL SERVER的配置,首先是更改计算机名称,配置IP地址然后加入域

Hostname:SQL-CL01

IP:192.168.100.50 Mask:255.255.255.0 DNS:192.168.100.2

clip_image025

然后将第一台SQL SERVER加如到ABC.COM这个域

clip_image027

clip_image029

然后我们在需要该server添加一块网卡配置为心跳线,主要用来传输数据

clip_image031

clip_image033

打开网络及共享中心,查看网络状态

clip_image035

更改心跳线网卡属性;因为该网络主要是用来数据传输的,建议将TCP/IP4以外的服务全部取消。保持以下状态

clip_image037

配置心跳地址:100.100.100.1 255.255.255.0;

不需要配置网关及DNS

clip_image039

单击高级选项;切换到DNS标签:去掉勾选:在DNS中注册此连接的地址

clip_image041

然后切换到WINS标签:去掉勾选:启用LMHOSTS查找、禁用TCP/IP上的Netbios功能,确认

clip_image043

然后更改网络优先级顺序;

在网络连接中----单击组织----勾选菜单----高级----本地连接的优先级高于心跳线

clip_image045

下面我们配置第二台SQL SERVER的配置

首先是更改计算机名称,配置IP地址然后加入域

IP:192.168.100.51 Mask:255.255.255.0 DNS:192.168.100.2

clip_image047

更改计算机名:SQL-CL02,然后加入到 ABC.COM域

clip_image049

clip_image051

然后我们在需要该该server添加一块网卡配置为心跳线,供数据传输使用

clip_image053

配置心跳线网卡属性;除了TCP/IPv4去除其他勾选

clip_image055

配置心跳网络:100.100.100.2 Mask:255.255.255.0 不需要配置网关及DNS

clip_image057

单击高级选项—切换到DNS标签,去除勾选—在DNS中注册此连接的地址

clip_image059

在切换到WINS标签:去除勾选启用LMHOSTS,同时禁用TCP/IP上的Netbios功能

clip_image061

更改网络优先级,保持本地网络连接的优先级高于心跳线网络的优先级

clip_image063

测试两个心跳线的网络状态,保证两个网络互相能ping通(测试之前启用IPV4回显,不然会提示超时)

clip_image065

三、配置部署及配置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文件下

clip_image067

解压后,我们看到C盘根目录下确实有一个ISCSTarget文件

clip_image069

打开该文件后,会 看里面里面有很多程序,主要是有个X64 X86的文件夹,我们大家都知道一个是32位一个是64位,因为我们系统是64位的 话,所以单价打开X64

clip_image071

然后双击运行iscsitargert_public

clip_image073

开始安装

clip_image075

开始安装,next

clip_image077

安装路径,我们再次默认

clip_image079

不更新

clip_image081

clip_image083

安装完成

clip_image085

部署完ISCSI Target后,我们在ABC-DC上启动ISCSI Target的管理工具。

clip_image087

如下图所示,我们右键点击ISCSI目标,选择“创建ISCSI目标”。创建ISCSI目标的目的是允许特定的计算机访问ABC-DC模拟出的存储设备

clip_image089

clip_image091

我们为要创建的ISCSI目标取名为ABC-SERVER,描述:FOR SQL CLUSTER,点击“下一步”继续

clip_image093

我们要创建一个ISCSI发起程序标识符,标识符可以用于识别ISCSI发起程序,我们准备用IP地址来表示ISCSI发起程序标识符,点击“高级”按钮继续

clip_image095

clip_image097

选择IP:192.168.100.50 该地址为第一台SQL Server服务器;该操作主要是用于为该服务器提供共享存储链接用的

clip_image099

我们准备用IP地址来创建ISCSI发起程序标识符,首先我们添加了SQL-CL01的IP地址192.168.100.50

clip_image101

单击下一步

clip_image103

单击完成

clip_image105

然后我们右击刚才新建的ISCSI(ABC-SERVER)属性,添加SQL-CL02的管理地址,这样我们就允许了SQL-CL01和SQL-CL02两台计算机来访问用ABC-DC模拟出的ISCSI存储设备

切换到ISCSI发起程序,添加

clip_image107

我们添加第二台SQLSERVER的IP地址:192.168.100.51

clip_image109

创建了ISCSI目标后,我们就开始创建ISCSI存储了。我们准备创建三个ISCSI虚拟磁盘,分别是:DATA,Quorum,Log如图下图所示,右键点击“设备”,选择“创建虚拟磁盘”。

clip_image111

下一步

clip_image113

我们在D盘下创建了一个 Virtual Disk文件夹,然后在该文件夹下创建了命名为DATA.vhd的文件

clip_image115

为DATA.vhd文件分配30G空间

clip_image117

描述:FOR SQL DATA

clip_image119

添加 目标就是我们刚才新建的SQL-SERVER

clip_image121

clip_image123

第一个虚拟磁盘创建完成

clip_image125

我们再次创建一个虚拟磁盘,仲裁磁盘,分配3G

clip_image127

同样存放在D盘下的Virtual Disk下的一个Quorum.vhd文件

clip_image129

我们为该磁盘分配空间3G

clip_image131

磁盘描述:FOR SQL QUORUM

clip_image133

目标:SQL-SERVER

clip_image135

第二块虚拟磁盘也创建完成

clip_image137

再次创建第三块虚拟磁盘:日志磁盘

同样存放在D盘下的Virtual Disk下 的Log.vhd

clip_image139

分配空间10G

clip_image141

描述“FOR SQL LOG

clip_image143

我们共创建了三块虚拟磁盘:DATA LOG QUORUM

clip_image145

四、配置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”。

clip_image147

clip_image149

我们在目标输入我们的ISCSI SERVER的IP地址192.168.100.2(ABC-DC)然后单击快速链接

clip_image151

状态:已链接

clip_image153

clip_image155

切换到发现标签下我们看见链接到的ISCSI Server的地址及状态

clip_image157

然后切换到卷和设备处,单击自动配置,会自动配置刚才所链接到的虚拟磁盘

clip_image159

SQL-CL01利用ISCSI发起程序连接到了ABC-DC上的ISCSI磁盘后,我们在SQL-CL01的磁盘管理器中就可以对ISCSI磁盘进行管理了。如图下图所示,在SQL-CL01的磁盘管理中,我们发现SQL-CL01中多了三块磁盘,一块30G、一块10G、3G这三块磁盘就是ABC-DC上创建的ISCSI虚拟磁盘

然后我们打开Server1的磁盘管理,查看磁盘状态

clip_image161

我们对三块ISCSI虚拟磁盘进行联机、初始化、分区,格式化。如图下图所示,我们给30G的ISCSI磁盘分配了S盘符,S盘将用于存储SQL数据。10G的ISCSI磁盘分配了L盘符,L盘将用作存储SQL的日志磁盘。3G的ISCSI磁盘分配了Q盘符,Q盘符作为群集的仲裁磁盘。

clip_image163

clip_image165

clip_image167

clip_image169

SQL-CL01设置完毕后,我们需要在SQL-CL02上进行同样的ISCSI设置,并且对ABC-DC上的三块ISCSI虚拟磁盘分配同样的盘符,这样我们就在SQL-CL01和SQL-CL02上就可以访问之前创建的ISCSI磁盘了;

clip_image171

clip_image173

clip_image175

clip_image177

clip_image179

clip_image181

五、创建故障转移群集

我们在SQL-CL01进行故障转移群集的创建,如图下图所示,在SQL-CL01和SQL-CL02的“服务器管理”中右键点击“功能”,选择“添加功能

勾选—故障转移群集

clip_image183

开始安装

clip_image185

安装完成

clip_image187

我们同样也在SQL-CL02上安装故障转移群集功能,勾选后安装

clip_image189

clip_image191

安装完成

clip_image193

添加了故障转移群集功能后,我们在SQL-CL01的管理工具”中打开“故障转移群集”,如图下图所示,选择“创建群集”。如果谨慎一些,也可以先使用“验证配自豪”来验证一下当前是否够满足创建故障转移群集的条件。单击验证配自豪

clip_image195

我们输入SQL-CL01及SQL-CL02的FQDN后下一步;如果解析不正常的话,再次无法加入

clip_image197

运行所有测试,下一步

clip_image199

clip_image201

开始验证,再此时间可能会长一点,主要看个人的服务器配置了。

clip_image203

群集验证报告是通过的,看来我当前的环境满足创建群集

clip_image205

开始创建群集

clip_image207

输入SQL-CL01 SQL-CL02的FQDN后下一步

clip_image209

群集名称:SQL-CL 对应的IP:192.168.100.100(保证该地址及名称在环境内无冲突)

输入后检测后没有冲突会自动创建一条记录在DNS服务器中

clip_image211

确认该群集名称SQL-CL及群集ip地址:192.168.100.100无冲突

clip_image213

开始创建群集

clip_image215

群集创建成功

clip_image217

我们在DC上打开DNS管理工具,发现在DNS记录中自动创建一条记录

SQL-CL:192.168.100.100

clip_image219

我们打开群集故障转移;我们的SQL-CL01\SQL-CL02为该群集的的两个节点

clip_image221

切换到存储标签;刚看我们刚才的新建的三个虚拟磁盘。

屏幕剪辑的捕获时间: 2012/10/2 16:59

clip_image223

下面我们添加分布式事务处理DTC群集服务

右击服务和应用程序---配置服务或应用程序

clip_image225

clip_image227

选择分布式事务协调器

clip_image229

输入一个没有冲突的IP地址用作SQL-CL的DTC解析地址:192.168.100.101,通过检测后会在DNS服务器中自动创建一条A记录

clip_image231

选择日志磁盘L盘:10G

clip_image233

开始创建

clip_image235

开始创建

clip_image237

创建完成

clip_image239

clip_image241

clip_image243

我们在ABC的dns服务中看到自动添加了一条SQL-CLDtc:192.168.100.101的记录

clip_image245

七、安装SQL SERVER数据库

开始安装必备文件

clip_image247

clip_image249

clip_image251

clip_image253

数据库的必备程序已安装成功

clip_image255

clip_image257

我们在SQL-CL01上放入SQL SERVER2008R2的安装光盘,运行SETUP.EXE

clip_image259

安装前检测

clip_image261

切换到安装标签。单价安装新的SQL SERVER故障转移群集安装

clip_image263

clip_image265

clip_image267

clip_image269

检测通过,单击安装,开始安装

clip_image271

安装前检测通过

clip_image273

安装SQL SERVER数据库功能:

clip_image275

输入一个SQL网络名称:SERVERCLUSTER ,使用默认实例

clip_image277

clip_image279

下一步

clip_image281

默认选择磁盘

clip_image283

输入一个没有冲突的IP地址:192.168.100.105

安装完成后会自动在DNS服务器注册一个A记录

名称为SQL的网络名称:

SERVERCLUSTER:192.168.100.105

clip_image285

使用服务的SID,下一步

clip_image287

4

用域账户验证,在此我们为了方便管理,我们单独创建一个SQL的管理员账户

创建一个SQLADMIN的用户

clip_image289

clip_image291

对所有使用SQL SERVER服务使用相同的账户;我们选择刚才新建的SQL用户:SQLADMIN

clip_image293

clip_image295

使用混合模式,并且输入密码:然后指定SQL SERVER的管理员

clip_image297

我们切换到数据目录发现,该数据目录自动指向我们的数据盘S盘

clip_image299

下一步后检测通过

clip_image301

开始安装数据库

clip_image303

clip_image305

安装数据库完成

clip_image307

自动会在DNS创建一条A记录,网络名称记录:

SERVERCLUSTER:192.168.100.105

clip_image309

我们发现群集故障转移下的服务和应用程序下多了一个SQL SERVER的应用程序

clip_image311

clip_image313

然后在第二台server上;运行SQL SERVER的安装程序

再次我们运行安装:向SQL SERVER故障转移群集添加节点

clip_image315

clip_image317

clip_image319

检测通过

clip_image321

clip_image323

默认确认后,开始安装

clip_image325

输入数据库管理密码

clip_image327

clip_image329

clip_image331

开始添加节点

clip_image333

clip_image335

clip_image337

clip_image339

SQL SERVER数据库节点添加成功

clip_image341

clip_image343

clip_image345

clip_image347

clip_image349

clip_image351

八、SQL CLUSTER节点测试

右击SQL SERVER故障转移群集节点-----将该服务器的应用程序移动到另一个节点

clip_image353

我们单击是

clip_image355

开始切换

clip_image357

我们发现,在切换节点的时候,只丢一个包。

clip_image359

切换正常

clip_image361

切换后,当前的所有者为SQL-CL02

clip_image363




本文转自 高文龙 51CTO博客,原文链接:http://blog.51cto.com/gaowenlong/1016544,如需转载请自行联系原作者

相关实践学习
使用SQL语句管理索引
本次实验主要介绍如何在RDS-SQLServer数据库中,使用SQL语句管理索引。
SQL Server on Linux入门教程
SQL Server数据库一直只提供Windows下的版本。2016年微软宣布推出可运行在Linux系统下的SQL Server数据库,该版本目前还是早期预览版本。本课程主要介绍SQLServer On Linux的基本知识。 相关的阿里云产品:云数据库RDS SQL Server版 RDS SQL Server不仅拥有高可用架构和任意时间点的数据恢复功能,强力支撑各种企业应用,同时也包含了微软的License费用,减少额外支出。 了解产品详情: https://www.aliyun.com/product/rds/sqlserver
相关文章
|
7天前
|
SQL 人工智能 算法
【SQL server】玩转SQL server数据库:第二章 关系数据库
【SQL server】玩转SQL server数据库:第二章 关系数据库
47 10
|
1月前
|
SQL 数据库 数据安全/隐私保护
Sql Server数据库Sa密码如何修改
Sql Server数据库Sa密码如何修改
|
17天前
|
SQL
启动mysq异常The server quit without updating PID file [FAILED]sql/data/***.pi根本解决方案
启动mysq异常The server quit without updating PID file [FAILED]sql/data/***.pi根本解决方案
15 0
|
7天前
|
SQL 算法 数据库
【SQL server】玩转SQL server数据库:第三章 关系数据库标准语言SQL(二)数据查询
【SQL server】玩转SQL server数据库:第三章 关系数据库标准语言SQL(二)数据查询
64 6
|
8天前
|
SQL 存储 数据挖掘
数据库数据恢复—RAID5上层Sql Server数据库数据恢复案例
服务器数据恢复环境: 一台安装windows server操作系统的服务器。一组由8块硬盘组建的RAID5,划分LUN供这台服务器使用。 在windows服务器内装有SqlServer数据库。存储空间LUN划分了两个逻辑分区。 服务器故障&初检: 由于未知原因,Sql Server数据库文件丢失,丢失数据涉及到3个库,表的数量有3000左右。数据库文件丢失原因还没有查清楚,也不能确定数据存储位置。 数据库文件丢失后服务器仍处于开机状态,所幸没有大量数据写入。 将raid5中所有磁盘编号后取出,经过硬件工程师检测,没有发现明显的硬件故障。以只读方式将所有磁盘进行扇区级的全盘镜像,镜像完成后将所
数据库数据恢复—RAID5上层Sql Server数据库数据恢复案例
|
11天前
|
SQL 安全 Java
SQL server 2017安装教程
SQL server 2017安装教程
14 1
|
25天前
|
SQL 存储 Python
Microsoft SQL Server 编写汉字转拼音函数
Microsoft SQL Server 编写汉字转拼音函数
|
1月前
|
SQL 存储 数据库
数据安全无忧,SQL Server 2014数据库定时备份解密
数据安全无忧,SQL Server 2014数据库定时备份解密
|
1月前
|
SQL 网络协议 Windows
破解SQL Server迷局,彻底解决“管道的另一端无任何进程错误233”
破解SQL Server迷局,彻底解决“管道的另一端无任何进程错误233”
|
1月前
|
SQL 数据库 数据安全/隐私保护
SQL Server的安装步骤_kaic
SQL Server的安装步骤_kaic