vmware安装SQL群集.docx
- 文档编号:30594446
- 上传时间:2023-08-18
- 格式:DOCX
- 页数:40
- 大小:6.63MB
vmware安装SQL群集.docx
《vmware安装SQL群集.docx》由会员分享,可在线阅读,更多相关《vmware安装SQL群集.docx(40页珍藏版)》请在冰豆网上搜索。
vmware安装SQL群集
1安装群集前的准备工作
1.1环境搭建及要求
在生产环境中实施时要事先做好规划,并征求客户的意见,确保一次部署成功。
大多数返工都是可以事先避免的。
并在部署完成后为客户做好系统备份。
1.1.1拓扑图
1.1.2软件配置说明
1.DC软件配置信息
OS:
WindowsServer2003R2SP2中文企业版
Role:
ActiveDirectory域控制器
Domain:
ServerName:
IP:
192.168.0.254(以“桥接”方式连接)
Netmask:
255.255.255.0
Gateway:
192.168.0.254
2.ClusterNodeA软件配置信息
OS:
WindowsServer2003R2SP2英文企业版
Role:
MemberServer
ServerName:
ClusterNodeA
IP1:
192.168.0.1
Netmask1:
255.255.255.0
Gateway1:
192.168.0.254(以“桥接”方式连接)
Dns1:
192.168.0.254
IP2:
10.0.0.1(以“VMnet2”方式连接)
Netmask2:
255.0.0.0
Gateway2:
None
DNS2:
None
3.ClusterNodeB软件配置信息
OS:
WindowsServer2003R2SP2英文企业版
Role:
MemberServer
ServerName:
ClusterNodeB
IP1:
192.168.0.2
Netmask1:
255.255.255.0
Gateway1:
192.168.0.254(以“桥接”方式连接)
Dns1:
192.168.0.254
IP2:
10.0.0.2(以“VMnet2”方式连接)
Netmask2:
255.0.0.0
Gateway2:
None
DNS2:
None
1.1.3硬件配置说明
1.网卡
A.群集中的每个节点需要有两个网卡。
一个用来连接您的公共网络,一个用来进行群集节点间的通讯,俗称“心跳连接”。
B.心跳线必须通过交叉线直接连接群集节点,不能通过任何路由设备。
因为群集心跳数据包的生存时间TTL值为1。
我们知道数据包在每经过一个路由节点时,TTL值都会减一。
2.共享磁盘
A.除操作系统所在磁盘外,还需要两个额外的SCSI磁盘。
一个用来做仲裁磁盘,另一个用来充当数据共享磁盘。
B.共享磁盘必须位于系统驱动器所用的控制器以外的另一个控制器上。
不要和操作系统所在的磁盘使用同一总线。
C.所有共享磁盘,包括仲裁磁盘,必须在物理上附加到一个共享总线。
D.仲裁磁盘空间大小最小50MB。
为了得到最佳的NTFS文件系统性能,建议采用最小500MB的磁盘分区。
E.所有共享磁盘必须配置为基本磁盘,而不能为动态磁盘。
F.共享磁盘不支持软件容错,不要再试图对共享磁盘做软RAID。
G.如果您使用的是64位版本的WindowsServer2003的系统,需要注意的是,所有共享磁盘必须配置为主引导记录(MBR),也就是建立主分区。
也不要试图配置为GPT磁盘,因为它不能作为群集磁盘得到支持。
H.群集磁盘上的所有分区必须格式化为NTFS。
I.群集节点的操作系统必须采用同架构的版本,不能节点A采用32位系统,而节点B却使用64位系统。
(说明:
在本文档中,模拟的SCSI共享磁盘柜均是通过VMwareWorkstation自带的相关工具来创建)
1.2创建共享磁盘
1.2.1创建仲裁磁盘
进入VMwareWorkstation软件安装目录,在命令提示符窗口敲入如下命令:
vmware-vdiskmanager.exe-c-s600Mb-alsilogic-t2
“D:
\VirtualMachines\ShareDisks”\Quorum.vmd
1.2.2创建共享磁盘
进入VMwareWorkstation软件安装目录,在命令提示符窗口敲入如下命令:
vmware-vdiskmanager.exe-c-s2Gb-alsilogic-t2
“D:
\VirtualMachines\ShareDisks”\ShareDisk.vmdk
1.2.3完成后检验
进入D:
\VirtualMachines\ShareDisks中,可以看到步骤2、3创建的4个虚拟磁盘文件。
1.2.4共享磁盘
通过前面的操作,我们已经成功的创建了群集所需要的共享磁盘。
接下来将虚拟磁盘文件附加到ClusterNodeA和ClusterNodeB上。
1.进入ClusterNodeA所对应的虚拟系统目录(不是虚拟机软件安装目录),找到.vmx(VMware配置文件),用记事本打开,添加如下记录:
disk.locking="false"
diskLib.dataCacheMaxSize="0"
scsi1.present="TRUE"
scsi1.virtualDev="lsilogic"
scsi1:
5.present="TRUE"
scsi1:
5.="D:
\VirtualMachines\ShareDisks\Quorum.vmdk"
scsi1:
6.present="TRUE"
scsi1:
6.="D:
\VirtualMachines\ShareDisks\ShareDisk.vmdk"
2.在ClusterNodeB上重复前一个操作,并做相应的修改
3.关闭VMwareWorkstation软件后再次打开,会发现先前创建的共享磁盘均附加到ClusterNodeA和ClusterNodeB上了
4.验证:
1)共享磁盘属于SCSI通道1,和系统盘SCSI通道0不在一个共享总线上,符合集群需求
2)共享磁盘的仲裁磁盘和数据磁盘均位于SCSI通道1上,亦符合集群需求
2网络以及系统配置
2.1SQL群集用户组和帐户
1.群集服务需要一个属于可运行群集服务的每个节点上的本地管理员组成员的域用户帐户。
因为安装群集服务时需要用到这个用户名和密码,所以该用户帐户必须在配置群集服务前予以创建。
该用户帐户只能专门用于运行群集服务,而不能属于个人。
出于安全考虑该账户应是普通的域账户,而不是域管理员账户。
2.创建域用户组sqlengine,sqlagent和用户sqladmin
3.并将域组添加到两台节点的本地管理员组。
2.2添加群集A记录
如果您需要将运行在群集服务上的应用程序服务(该服务器即为虚拟服务器)以域名的形式对内或对外发布,您可能需要在域控制器的DNS管理器中添加群集名的A记录。
例如,本次试验中,我给节点A和节点B通过群集虚拟出来的地址192.168.0.10分配一个对应的A记录名:
ClusterT
2.3ClusterNodeA上的共享磁盘配置
1.启动ClusterNodeA(不要开启ClusterNodeB,使其保持关闭状态。
这样有助于保证附加到共享总线的磁盘上的数据不会丢失或遭到破坏。
)
2.打开ClusterNodeA的“磁盘管理”,系统会自动找到先前创建的两个共享磁盘。
进入“磁盘初始化和转化向导”。
3.将两块磁盘格式化成“基本磁盘”,并分别建立“主磁盘分区”
4.给仲裁磁盘分配一个约定成俗的驱动器号Q,同时把卷标改成“Quorum”(使用其他盘符有可能在安装SQL群集时通不过校验)。
5.按照同样的方法,对共享数据磁盘进行操作。
分配驱动器号为R,卷标名为Data。
(具体过程略)。
另外,需要补充一点的是,通常,驱动器盘符“Q”用于仲裁磁盘,而“R”、“S”等字母则常用于数据磁盘。
尽管您可以按照个人喜好随意更改,但是建议采用约定成俗的规定。
6.对共享磁盘的操作完成后,建议验证一下磁盘是否可读写。
方法是新建一些文件后再删除,看看是否都正常。
2.4网络配置
1.为了接下来的实验更加直观,建议把节点的两块网卡进行重命名操作。
生产环境要求这样操作。
2.Cluster网卡(以下改称为心跳网卡)的TCP/IP属性如下。
不要对心跳网卡设置默认网关和DNS地址。
3.点击网卡的高级按钮按照下图修改心跳网卡的TCP/IP属性,目的是禁止心跳网卡的DNS和NetBios查询。
这样能够消除可能出现的通信问题,也有利于减少不必要的网络流量。
因为服务器群集节点间的通信对于群集的顺畅运转至关重要。
4.按照微软官方推荐的做法,如果您拥有一个能够以不同速度进行传输的网卡,那么您应该手动指定同一个速度及双工模式。
不要对传输速度应用自动选择设置,因为某些适配器在确定速度时可能丢掉一些数据包。
这直接影响到群集节点之间的通讯质量。
Microsoft建议您将同一路径上的所有设备设定为“10M”和“半双工”。
同时,如果您的网卡支持Teaming冗余,而您又无法确保该特性和群集之间的兼容性时,建议取消该特性。
(以下为生产环境中的HPServer截图,第一张图片中的卸载的红圈有误,应点击属性,因为没有真机所以无法再次截图)
5.至此,有关ClusterNodeA的前期网络和系统的相关配置已结束。
接下来按照类似的方法对ClusterNodeB进行配置。
2.5ClusterNodeB上的共享磁盘配置
1.关闭ClusterNodeA,开启ClusterNodeB。
在此期间,请保持ClusterNodeA处于关闭状态。
原因前面已经说明,不再赘述。
2.打开ClusterNodeB的磁盘管理器,可以看到之前创建的共享磁盘同样被系统发现了。
只是由于WindowsServer2003系统的设计使然,没有自动为其分配驱动器号。
我们需要手工对它分配和ClusterNodeA相同的驱动器号,建议将卷标也进行修改。
卷标名建议和ClusterNodeA上的保持一致。
2.6语言问题
因为操作系统为英文但是SQL是中文,所以很显然的要考虑到中文显示。
1.打开控制面板选择“区域和语言”
2.按照下图修改默认属性,之后操作系统即可正常显示中文。
3安装WinServer群集服务
3.1新建一个群集
(时间关系此部分没有重新截图,真实环境下应为英文操作系统)
1.开启ClusterNodeA,同时保持ClusterNodeB处于关闭状态。
展开ClusterNodeA的“开始”菜单,定位到“程序”“管理工具”,打开“群集管理器”。
3.选择“创建新群集”
4.输入您公司的域名和事先准备好的群集名。
并且在DNS中对该群集名建立对应的A记录。
5.输入新群集中的第一个节点的计算机名,这里我们选择ClusterNodeA
5.这时会对群集配置进行一个完全分析。
如果有任何一项无法通过检测,务必检查原因、
排除问题。
故障排除后,不需要重新再来,只需点一下“重新分析”按钮就行。
6.输入群集的IP地址,该地址是ClusterNodeA和ClusterNodeB共同虚拟出来的群集IP。
其FQDN地址对应于前面的ClusterT.
7.输入前面创建的群集服务帐号。
该帐号可以不是域管理员,但是必须是各节点的本地
管理员。
8.下图是配置信息汇总。
如果发现配置有错误,可以点击“上一步”进行更改。
否则点击“下一步”,开始群集创建。
9.可以查看创建过程是否顺利。
一般来说,只要前面群集前的分析没有问题,创建过程一般都不会有问题的。
10.完成新建服务器群集向导。
至此,我们已经成功的在ClusterNodeA上配置了群集服务。
11.打开群集管理器,验证ClusterNodeA上的群集服务已成功安装。
资源所有者均为ClusterNodeA,并均处于联机状态。
3.2将B节点加入现有群集
1.开启ClusterNodeB节点,同时不要关闭ClusterNodeA,否则无法加入现有群集。
打开群集管理器,选择“添加节点到群集”,“浏览”,找到之前创建的群集名ClusterTest。
点击“确定”。
2.进入添加节点向导。
3.选择您要添加到现有群集的节点。
我这里选择ClusterNodeB。
4.下一步至完成
5.至此,我们成功的在ClusterNodeA上新建了一个名为ClusterTest的群集,并成功将ClusterNodeB加入该群集中。
6.细心的您在ClusterNodeB加入到现有群集后,可能会发现无法在ClusterNodeB上访问原有的共享磁盘。
如下图所示。
不要奇怪,只是正常现象。
因为在群集服务中,同一时刻只能有一个节点对资源拥有所有权。
在我这个例子中,此刻仲裁磁盘的所有者是ClusterNodeA,所以ClusterNodeB无法访问。
反过来,如果所有者是ClusterNodeB,则会变成ClusterNodeA无法访问共享磁盘。
3.3配置群集服务
3.3.1群集网络配置
1.进行专用网络配置。
打开群集管理器,单击“群集配置”,单击“网络”,右键选择Heartbeat的属性。
2.选择“为群集使用启用这个网络”和“只用于内部群集通讯(专用网络)”。
对上图中的几个选项,我稍微做一下解释:
为群集使用启用这个网络:
如果选定了该复选框,群集服务将使用该网络。
默认对所有网络选定该复选框。
只用于客户端访问(公用网络):
如果您想让群集服务仅使用该网络适配器与其它客户端进行外部通信,那么选择该选项。
该网络适配器将不进行节点对节点通信。
只用于内部群集通信(专用网络):
如果您想让群集仅使用该网络进行节点对节点通信,那么选择该选项。
所有通信(混合网络):
如果您想让群集服务使用该网络适配器进行节点对节点通信和外部客户端通信,那么选择该选项。
默认对所有网络选定该复选框。
在本次实验中,我们仅使用到了两个网络:
PublicConnection(内网连接网卡名称为Lan)和HeartbeatConnection(心跳线网卡名称为Cluster)。
基于最常见的配置,我们将这两个网络分别作为混合网络和专用网络。
3.同样,进行公用网络配置
4.配置心跳网络优先,由于群集服务总是尝试使用列于首位的网络适配器进行
节点间的远程过程调用(RPC)通信。
只有当群集服务无法使用第一个网络适配器进行通信时,才会使用列表上的下一个网络适配器。
所以我们需要调整一下心跳适配器的优先级。
启动群集管理器。
右击群集名称,然后单击“属性”,在弹出的对话框中单击“网络优先级”选项卡。
将Cluster上移至顶部。
3.3.2仲裁磁盘配置
启动“群集管理器”。
右击左上角的群集名称,然后单击“属性”。
单击“仲裁”选项卡。
在“仲裁资源”列表框中,选择“磁盘Q”。
3.3.3创建一个启动延时(此操作非必须)
当出现所有的群集节点均同时启动并尝试附加到仲裁资源的情况时,群集服务可能无法启动。
例如:
在发生电源故障后,同时对所有节点恢复电力时,可能出现这种情况。
(尽管可能性比较低,但是还是有可能发生的。
)要避免这种情况,可以编辑其中一台节点的boot.ini文件。
将Timeout设置不同的值,以避免两个节点同时启动。
打开ClusterNodeA上系统盘根目录下的boot.ini文件,按下图修改。
因为如果是单操作系统,无论你如何设置timeout的值都是没有用的。
只有多系统才会读取这个值。
所以我们复制同样的记录来实现启动延迟的目的。
4安装SQLServer前的准备
1.在两个节点上添加DTC服务
2.在服务器A中打开集群管理工具,在集群中创建组--“SQLGroup”,并将用于存储共享数据的磁盘资源移动到“SQLGroup”中。
3.在“SQLGroup”中添加新资源,资源名称为“MSDTCIP”资源,资源类型选择“IPAddress”,点击下一步继续。
两台服务器均为资源的可能所有者,点击NEXT继续。
4.此处按照默认设置,没有资源依赖关系,点击NEXT继续即可。
5.设置MSDTCIP资源自身的IP地址。
此地址用户自行设定。
至此,MSDTCIP资源添加完成。
6.在“SQLGroup”中添加MSDTCNAME资源,资源类型选择NetworkName。
7.两台服务器均为资源的可能所有者。
8.此处将MSDTCIP作为MSDTCNAME所依赖的资源。
9.勾选DNSRegistrationMustSucceed,点击Finish完成MSDTCNAME资源的添加。
10.在“SQLGroup”中添加MSDTC资源,资源类型选择DistributedTransactionCoordinate
11.两台服务器均为资源的可能所有者。
12.将所有资源包括磁盘、MSDTCIP、MSDTCNAME全部作为MSDTC资源的依赖资源。
13.对MSDTC服务进行移动组测试,确认可以正常工作。
如果出现建立的MSDTC服务在移动过程中两个节点不断失败,可使用“msdtc-resetlog”命令将MSDTC日志传送到Q盘上(注,只需在MSDTC服务当前联机的节点上运行一次即可)。
5安装SQL2008故障转移集群
5.1准备工作
插入SQL2008光盘后,安装向导会自动对系统进行检查,并安装PowerShell
和.Net3.5.
5.2创建故障转移集群
1.在节点A上打开安装界面,选择创建SQLServer故障转移集群
2.系统配置检查全部通过。
3.选择下一步,勾取需要安装的组件。
本次仅安装SQL数据库引擎服务和SQL复制,此
部分安装内容需和客户沟通我方只负责建议,由客户来决定具体安装内容。
4.若需更改安装路径可点击“浏览来更改”
5.单击下一步,选择安装路径
6.下一步至IP地址配置,将SQL群集IP地址设置为0.170
7.在安全策略中输入之前在域控上添加的组名。
8.在服务器配置中设置SQL使用的帐户,此帐户就是我们之前设置的域帐户。
9.设置完成后选择“排序规则”,将数据库的默认排序规则设置为
10.继续下一步,数据库引擎配置。
选中sqladmin添加为sql管理员。
11.继续下一步至安装完成。
12.打开群集管理器界面,查看sqlgroup的属性检查两个节点是否都为资源所有者,如没有需要手动添加。
并在故障回复标签中设置为“允许立即回复”。
5.3添加节点并完成
1.将MSDTC资源转移到节点B上,并检查群集服务是否运行正常。
2.在节点B上运行添加节点向导。
3.大部分配置参数与创建新节点是相同此处不再复述,然后一路下一步至完成。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- vmware 安装 SQL 群集