电脑技术学习

VMware GSX模拟实现SQL Server故障转移群集

dn001

在实际环境中,假设一个域有三个服务器,一台作为域控制器,另两台加入到域中作为群集的两个节点,每台服务器均有两块网卡,其中一块网卡作为群集内部通信接口(俗称“心跳),连接到一个内部交换机上,另一块网卡作为群集外部通信接口,连接到一个外部交换机上。每台服务器的内部驱动器用于安装操作系统和应用软件,内部驱动器可以是IDE硬盘也可以是SCSI硬盘。

每台服务器通过SCSI卡连接到群集外部共享磁盘阵列,这必须是SCSI硬盘。共享磁盘阵列分为两种类型:一种是仲裁磁盘(也叫日志磁盘,英文:quorum),用于存储群集的日志,另一种是共享磁盘(英文:shared disk),用于存储群集的两个节点所共享的数据,如SQL Server中的数据库文件。

Windows 2000的群集模型是“零共享模型(Share Noting),即群集外部共享磁盘阵列这类的公用设备一次只能被一个节点所存取或管理,但可以由这个节点转移到另一个节点。

在Vmware GSX中创建Windows群集

内存需求:256MB以上,虚拟内存在400MB以上。

软件需求:VMware GSX Server 2.5 For Windows,大家可以到www.vmware.com下载30天试用版。

VMware中的网络环境

有三台服务器,每台都有两块虚拟网卡:Vmnet3,Vmnet4。主计算机DC01,作为域控制器,另两台虚拟机名为node1,node2,它们作为群集的两个节点。DC01,node1,node2的网卡Vmnet3都在一个网段(192.168.80.0),作为群集公用网络。

DC01,node1,node2的网卡Vmnet4都在一个网段(192.168.100.0),该网段为群集私用网络。其中主计算机DC01的两块网卡使用静态IP:192.168.80.1,192.168.100.1。两个节点的网卡使用与上述IP在同一网段的静态IP。

在主计算机上安装活动目录,域名contoso.com,创建一个群集管理账户clust并添加到“Domain Admins组中。在主计算机上安装两块新网卡:Vmnet3,Vmnet4。

方法是:添加删除硬件→网卡→制造商:Vmware Inc→选择Vmnet3,用同样方法添加Vmnet4网卡。在Vmnet3,Vmnet4网卡的TCP/IP中将IP设为“192.168.80.1,“192.168.100.1,并“禁用TCP/IP上的NetBIOS。

创建第一个节点的虚拟机配置

在Vmware中,点击File→New VirtualMachine→内存100MB,虚拟机目录存在“C:w2kadv1,虚拟机硬盘使用.vmdk,即IDE硬盘。

在“Configuration Editor中,将第一块网卡Network Adapter改为Vmnet3,并添加第二块网卡:点击Add→网卡→Custom→Vmnet4。

同理创建第二个节点的虚拟机配置,虚拟机目录存在“C:w2kadv2,虚拟机硬盘使用.vmdk,即IDE硬盘。

创建群集外部共享磁盘阵列

(1)将Vmware GSX安装目录中的plainmaker.exe拷到第一个虚拟机的目录下,如"C:vmwin2k1Windows 2000 Advanced Server"

执行以下命令将创建50MB和100MB的日志磁盘和共享磁盘:

plainmaker quorum.pln 50

plainmaker shareddisk.pln 100

确认"C:vmwin2k1Windows 2000 Advanced Server "目录下生成了四个文件quorum.pln,shareddisk.pln,quorum1.dat,shareddisk1.dat。

(2)在第一台虚拟机的"configuration Editor"中,添加创建的日志磁盘和共享磁盘:Add→HardDisk→use an exciting disk→brower→选中第一台虚拟机目录中quorum.pln,shareddisk.pln。

在“Virtual Device Mode中确认选中了“SCSI 0:0。

在第二台虚拟机的"configuration Editor"中,添加创建的日志磁盘和共享磁盘:Add→HardDisk→use an exciting disk→brower→选中第一台虚拟机目录中quorum.pln,shareddisk.pln。

在“Virtual Device Mode中确认选中了“SCSI 1:0。

(3)分别打开两台虚拟机目录中的“.vmx文件,在最后添加以下几行:

disk.locking="FALSE"

scsi0.SharedBus="Virtual"

scsi1.SharedBus="Virtual"

以上几步将创建的日志磁盘和共享磁盘做成了共享磁盘阵列(两台虚拟机同时使用第一台虚拟机目录中的quorum.pln,shareddisk.pln)。

安装Windows 2000 Advanced Server

在第一台虚拟机安装Windows 2000 Advanced Server,安装在“1300MB Disk 0 at Id 0 on Bus 0 on atapi,即IDE硬盘,计算机名:node1,设置第一块网卡(Vmnet3 AMD Adapter)使用静态IP:192.168.80.20。设置第二块网卡(Vmnet4 AMD Adapter#2)使用静态IP:192.168.100.20。 在每个网卡上关闭NetBIOS,并加入到域contoso.com。

在第一台虚拟机安装完Windows 2000后,打开这个虚拟机,运行计算机管理→磁盘管理→取消"欢迎使用写入签名和升级磁盘向导"→右击磁盘1→签名→选择磁盘1和磁盘2。签名后对磁盘1和磁盘2进行分区格式化,盘符分别为E:,F:,并格式化成NTFS分区。

在第一台虚拟机配置Windows群集服务

(1)添加删除程序→配置Windows组件→配置Windows群集服务:

群集名:CLUSTSQL

账户:clust(先前在活动目录中创建的群集管理账户)

被管理的磁盘:磁盘1 E:,磁盘2 F:

选择仲裁磁盘:磁盘1 E:

(2)配置群集网络:

网络名:本地连接2,设备:AMD Adapter#2 ,IP:192.168.100.20,专用网络

网络名:本地连接,设备:AMD Adapter ,IP:192.168.80.20,所有通讯(混合网络)

群集IP:192.168.80.102(与公用网络在同一网段),选择网卡:" 本地连接"

(3)打开命令提示符,运行comclust

(4)打开管理工具→群集管理器,可以看到第一个节点已被添加到群集中,关闭第一个节点。在第二台虚拟机安装Windows 2000 Advanced Server,安装在“1300MB Disk 0 at Id 0 on Bus 0 on atapi,即IDE硬盘,计算机名:node2,设置第一块网卡(Vmnet3 AMD Adapter)使用静态IP:192.168.80.30

设置第二块网卡(Vmnet4 AMD Adapter#2)使用静态IP:192.168.100.30。 在每个网卡上关闭NetBIOS,并加入到域contoso.com。

同时打开两台虚拟机,在第二台虚拟机配置Windows群集服务,在群集的第二个节点键入要加入的群集名称:CLUSTSQL,用clust账户连接到群集,打开命令提示符,运行comclust。打开管理工具→群集管理器,可以看到两个节点都已被添加到群集中。