在 VMWare 中配置 SQL Server 2005 N + 1 群集 (五) SQL Server 群集维护

5. SQL Server群集维护
对于SQL Server群集,其维护主要在于调整SQL Server配置及添加或删除群集结点方面。
对于SQL Server配置的调整,应该通过SQL Server的配置管理器来完成(StartàProgramsà Microsoft SQL Server 2005à Configuration Toolsà SQL Server Configuration Manager)。需要特别注意的是,应该在SQL Server群集的当前结点上运行SQL Server配置管理器
对于配置后,需要重新启动SQL Server服务才生效有修改,应该在SQL Server的配置管理器中完成修改后,切换到群集管理器中,先使对应的SQL Server Group脱机(这个过程会停止SQL Server服务),再使其联机。
在 VMWare 中配置 SQL Server 2005 N + 1 群集 (五) SQL Server 群集维护
如果要从SQL Server群集中删除某个结点,则首先要确保该结点当前不是SQL Server群集的Owner。如果是,则在群集管理器中,将SQL Server群集所在的组移动到其他结点上。
删除SQL Server群集结点可以在任意一个联机的SQL Server群集结点上进行。任意选择一个联机的群集结点,运行添加/删除程序(Control PanelàAdd or Remove Programs)。在添加/删除程序对话框中,找到并单击“Microsoft SQL Server 2005”项,然后单击“Microsoft SQL Server 2005”项右边的“Change”按钮。
在 VMWare 中配置 SQL Server 2005 N + 1 群集 (五) SQL Server 群集维护
在随后出现的“Microsoft SQL Server 2005 Maintenance”对话框中,选择要删除结点的实例,然后单击“Next”按钮。在接下来的步骤中,选择“Database Engine(Clustered)”, 然后单击“Next”按钮。

在 VMWare 中配置 SQL Server 2005 N + 1 群集 (五) SQL Server 群集维护
在 VMWare 中配置 SQL Server 2005 N + 1 群集 (五) SQL Server 群集维护

在随后出现的“Microsoft SQL Server 2005 Setup”对话框中,单击“Next”按钮。安装程序会对系统配置进行检查,没有问题后,单击“Next”按钮。

在 VMWare 中配置 SQL Server 2005 N + 1 群集 (五) SQL Server 群集维护
在 VMWare 中配置 SQL Server 2005 N + 1 群集 (五) SQL Server 群集维护

在随后出现的功能选择屏幕中,单击“Maintain the Virtual Server”按钮。接下来在“Selected nodes”列表中选择将要从群集中删除的结点(群集的当前结点(Owner结点)在“Required node”中显示,表示不可能从群集中删除),然后单击“ßRemove”按钮,将它移动到“Avaiable nodes”列表中,然后单击“Next”按钮。

在 VMWare 中配置 SQL Server 2005 N + 1 群集 (五) SQL Server 群集维护
在 VMWare 中配置 SQL Server 2005 N + 1 群集 (五) SQL Server 群集维护

在接下来的步骤中,输入域用户密码,然后单击“Next”按钮。在接下来的步骤中,单击“Install”按钮开始删除群集结点的操作。

在 VMWare 中配置 SQL Server 2005 N + 1 群集 (五) SQL Server 群集维护
在 VMWare 中配置 SQL Server 2005 N + 1 群集 (五) SQL Server 群集维护

安装程序完成删除群集结点的操作之后,单击“Next”按钮,在接下来的屏幕中单击“Finish”结束删除群集结点的操作。

在 VMWare 中配置 SQL Server 2005 N + 1 群集 (五) SQL Server 群集维护
在 VMWare 中配置 SQL Server 2005 N + 1 群集 (五) SQL Server 群集维护

指定的群集结点从SQL Server群集中删除后,在群集管理器中查看“SQL Server”这个群集资源的属性,在“Possible Owners”列表中,可以看到被删除的结点已经从这个列表中移掉了。值得一提的是,磁盘资源、SQL IP Address和SQL Network Name中,仍然存在被删除的结点。当然,由于SQL Server相关服务的“Possible Owners”列表中已经拿掉了指定的结点,所以无法将SQL Server群集“Move Group”到被删除的结点。
在 VMWare 中配置 SQL Server 2005 N + 1 群集 (五) SQL Server 群集维护
在SQL Server群集中添加结点的过程与删除结点大致相同。只是在“Cluster Node Configuration”步骤中,应该将要添加的结点从“Available nodes”列表移动到“Selected nodes”列表中。

在 VMWare 中配置 SQL Server 2005 N + 1 群集 (五) SQL Server 群集维护
在 VMWare 中配置 SQL Server 2005 N + 1 群集 (五) SQL Server 群集维护

在设置好域用户的密码后,接下来的步骤中,需要输入SQL Server服务启动帐户的密码。另外需要注意的是,在安装的过程中,可能需要提供SQL Server安装光盘。

在 VMWare 中配置 SQL Server 2005 N + 1 群集 (五) SQL Server 群集维护
在 VMWare 中配置 SQL Server 2005 N + 1 群集 (五) SQL Server 群集维护

在此节中,演示如何为群集添加磁盘,并且使其可用于SQL Server。示例添加两个磁盘。
5.4.1 在虚拟机中添加磁盘
在虚拟机中添加磁盘的具体步骤,参考2.2.2.2(磁盘放置位置与2.2.2.2中建立的共享盘相同)。在配置的时候,注意在“Specify Disk File”这个步骤中,单击“Advancel”按钮,随后出现的对话框中,将“Virtual device node”设置为与之前的共享盘相同的SCSI总线,但选择不同的ID,并将“Mode”设置为“independent”à“Persisten”。

在 VMWare 中配置 SQL Server 2005 N + 1 群集 (五) SQL Server 群集维护
在 VMWare 中配置 SQL Server 2005 N + 1 群集 (五) SQL Server 群集维护

在群集的每个结点中添加了磁盘后,还需要修改虚拟机配置文件(扩展名为“.vmx”),在配置文件结尾增加如下两行,其中“scsi1:4”、“scsi1:5”中的4/5对应添加磁盘时设置的SCSI总线ID。
scsi1:4.shared = "true"
scsi1:5.shared = "true"
5.4.2 在操作系统中设置共享磁盘
保持所有群集结点为关闭状态(添加了共享磁盘的虚拟机),启动任意一台群集结点。

打开计算机管理工具(“Control Panel”à“Administrative Tools”à“Computer Management”),单击“Disk Management”,在随后出现的“Initalize and Convert Disk Wizard”对话框中,单击“Next”按钮进入配置过程,所有的配置项均保持默认值即可。
在 VMWare 中配置 SQL Server 2005 N + 1 群集 (五) SQL Server 群集维护
接下来参考2.2.2.3中的相关操作步骤,为Disk4、5建立分区及分配盘符。处理完成后,在磁盘管理器中可以看到类似下面的情况。
在 VMWare 中配置 SQL Server 2005 N + 1 群集 (五) SQL Server 群集维护
5.4.3 在群集中添加共享磁盘
不建议直接将磁盘添加到某个已经存在的组中,在添加之前,应该测试好磁盘的可用性。因此,我们先创建一个Test组来添加共享磁盘并进行测试。
打开群集管理器,展开群集结点“CLUSTERSQL”,右键“Groups”,在弹出的菜单中依次选择“New”àGroup”。
在 VMWare 中配置 SQL Server 2005 N + 1 群集 (五) SQL Server 群集维护
在随后出现的“New Group”对话框中,“Name”中输入组名“Test”,然后单击“Next”按钮。接下来的步骤不做任何选择,单击“Finish”按钮完成组的创建。

在 VMWare 中配置 SQL Server 2005 N + 1 群集 (五) SQL Server 群集维护
在 VMWare 中配置 SQL Server 2005 N + 1 群集 (五) SQL Server 群集维护

接下来将共享磁盘(T)添加到新建的组“Test”中。在组“Test”上按右键,在弹出的菜单中依次选择“New”à“Resource”。
在 VMWare 中配置 SQL Server 2005 N + 1 群集 (五) SQL Server 群集维护
在“New Resource”对话框中,“Name”中输入“Disk T:”,“Resource type”选择“Physical Disk”,“Group”保持默认的“Test”,然后单击“Next”按钮。接下来的步骤中,选择所有群集结点,然后单击“Next”按钮。

在 VMWare 中配置 SQL Server 2005 N + 1 群集 (五) SQL Server 群集维护
在 VMWare 中配置 SQL Server 2005 N + 1 群集 (五) SQL Server 群集维护

接下来的步骤不做任何选择,单击“Next” 按钮。接下来的步骤中,“Disk”选择“T:(Data03 )”,然后单击“Finish”按钮完成共享磁盘T的添加。

在 VMWare 中配置 SQL Server 2005 N + 1 群集 (五) SQL Server 群集维护
在 VMWare 中配置 SQL Server 2005 N + 1 群集 (五) SQL Server 群集维护

按照同步的步骤,将磁盘U添加到测试的组Test中。完成后,在Test这个Group中,应该有“Disk T:”和“Disk U:”这两个磁盘资源,并且是“Offline”的状态。右键Test,在弹出的菜单中选择“Bring Online”,如果配置无误,它应该应该可以正常Online。
在 VMWare 中配置 SQL Server 2005 N + 1 群集 (五) SQL Server 群集维护
接下来启动其他所有的群集结点。待所有结点都启动后,将Test这个Group转移到每个结点,如果配置无误,应该可以正确转移到任何一个结点。
5.4.4 将共享磁盘移动到SQL Server群集组
我们将Disk T移动到“SQL Server – 01”这个组中,做为SQL Server的一个数据盘。
在群集管理器中,右键要移动的群集资源“Disk T:”,在弹出的菜单中依次选择“Change Group”à“SQL Server - 01”。
在 VMWare 中配置 SQL Server 2005 N + 1 群集 (五) SQL Server 群集维护
在接下来的警告提示对话框中,单击“Yes”。
在 VMWare 中配置 SQL Server 2005 N + 1 群集 (五) SQL Server 群集维护
接下来的资源移动确认对话框中,单击“Yes”。
在 VMWare 中配置 SQL Server 2005 N + 1 群集 (五) SQL Server 群集维护
完成上述操作后,Disk T即被移动到“SQL Server – 01”这个组中。
在 VMWare 中配置 SQL Server 2005 N + 1 群集 (五) SQL Server 群集维护
完成上述步骤后,可以先测试将SQL Server – 01 这个组移动到其他结点,以验证上述操作是否成功。
但此时,并添加到的磁盘资源Disk T是不可用的,如果尝试使用下面的T-SQL语句创建数据库。
CREATE DATABASE db
ON(
NAME = db,
FILENAME = 'T:/db.mdf'
)
LOG ON(
NAME = db_log,
FILENAME = 'T:/db.ldf'
)
则会收到类似下面的错误信息:
Msg 5184, Level 16, State 2, Line 1
Cannot use file 'T:/db.mdf' for clustered server. Only formatted files on which the cluster resource of the server has a dependency can be used.
Msg 1802, Level 16, State 1, Line 1
CREATE DATABASE failed. Some file names listed could not be created. Check related errors.
解决这个问题的方法是将Disk T加入到SQL Server服务的依赖项中。
要完成这个操作,必须先使SQL Server – 01脱机。在群集管理器中,右键单击“SQL Server – 01”,在弹出的菜单中选择“Take Offline”。
在 VMWare 中配置 SQL Server 2005 N + 1 群集 (五) SQL Server 群集维护
待SQL Server – 01脱机后,就可以将Disk T加入到SQL Server服务的依赖项列表中了。右键“SQL Server(SQL01)”,在弹出的菜单中选择“Properties”。
在 VMWare 中配置 SQL Server 2005 N + 1 群集 (五) SQL Server 群集维护
在弹出的“SQL Server(SQL01) Properties”对话框中,单击选项卡上的“Dependencies”标签,然后单击“Modify”按钮。在弹出的“Modify Dependencies”对话框中,从“Available resources”列表中选择“Disk T:”,将它添加到“Dependencies”列表中。然后单击所有弹出窗口中的“OK”按钮。

在 VMWare 中配置 SQL Server 2005 N + 1 群集 (五) SQL Server 群集维护
在 VMWare 中配置 SQL Server 2005 N + 1 群集 (五) SQL Server 群集维护
完成上述操作后,Disk T即可给SQL Server使用了。另外,如果这个磁盘还要给SQL Server Full Text使用,则还需要在群集资源“SQL Server FullText(SQL01)”中添加对磁盘Disk T的依赖项,操作方法与添加Disk T到“SQL Server(SQL01)”相同。
确定所有的设置无误后,将“SQL Server - 01”联机(Bring Online)就可以了。
对于另一个磁盘Disk U,如果要将它用于SQL Server,则要做与Disk T相同的操作。
不支持对SQL Server进行滚动升级,所有结点必须一齐升级到某个版本。
安装SQL Server补丁必须在SQL Server群集组的当前活动结点(Owner)上进行。
在 VMWare 中配置 SQL Server 2005 N + 1 群集 (五) SQL Server 群集维护
另外,由于所有的结点都需要同时升级到某个版本,因此,在安装SQL Server实例的时候,还应该保证所有SQL Server群集结点是联机的,安装程序会将补丁应用到每个联机的群集结点中。如果某个结点在安装SQL Server时未联机,则不会在该结点上应用补丁,但可以在联机后再次安装补丁以便在该结点上应用SQL Server补丁(存在一定的风险)。
操作系统补丁的安装需要在群集中的每个结点上进行,允许对操作系统进行滚动升级。
在某个群集结中中安装操作系统补丁之前,建议在群集管理器中,将运行在该结点上的所有组移动到其他活动结点上,然后将该结点暂停。这样可以减少安装系统补丁带来的风险。
在 VMWare 中配置 SQL Server 2005 N + 1 群集 (五) SQL Server 群集维护
通过群集管理器中的“Move Group”操作,可以把群集组移动到任何一个有效的群集结点中。但当群集中的某个结点出现故障时,故障切换是自动的。可以通过设置群集组的“preferred Owners”属性,来控制故障切换的结点。
在 VMWare 中配置 SQL Server 2005 N + 1 群集 (五) SQL Server 群集维护

在 VMWare 中配置 SQL Server 2005 N + 1 群集 (五) SQL Server 群集维护
在 VMWare 中配置 SQL Server 2005 N + 1 群集 (五) SQL Server 群集维护

当配置了“preferred Owners”属性后,故障转移发生时,群集组被优先转移到“preferred Owners”中配置的第一个可用结点中。