本实验基于vSphere 5.1环境架构,创建两台Server 2008 R2的虚拟机来完成虚拟机之间SQL Server 2008 R2群集的搭建。

RDM介绍:

虚拟兼容模式RDM和物理兼容模式RDM。尤其是物理兼容模式RDM有一些相当重要的局限:

l不能使用VMware快照

l不支持VCB,因为VCB需要VMware快照

l使用物理模式RDM不能克隆虚拟机

l在模板里使用物理模式RDM不能转换虚拟机

l如果迁移包括复制磁盘,使用物理模式RDM不能迁移虚拟机

l物理模式RDM不能使用vMotion功能

l虚拟模式RDM容量限制在512B~2TB之间,物理模式RDM容量可超过2TB。(vSphere 5.5虚拟模式RDM容量在64TB以内)

l两个不同物理机(ESXi 主机)上的两个虚拟机运行群集软件。

l虚拟机共享专用网络连接(用于专用检测信号)和公用网络连接

l每个虚拟机均连接到共享存储器,此存储器必须位于 SAN 上。

一、环境准备和拓扑介绍

环境准备:

1、首先,在vSphere架构环境中创建两台Windows Server 2008 R2的虚拟机,并为每台虚拟机配置两张虚拟网卡;

2、在光纤存储或其他iSCSI存储上,为创建MSCS分配3LUN,大小分别为1Gquorum disk),10GDTC),50G(用于数据存放,这个卷的大小可根据自己业务数据量大小分配);

拓扑图:

wKiom1LTTeLiSNRbAAD3Ongj964146.jpg

架构版本:VMware vSphere 5.1

操作系统版本:Windows Server 2008 R2

mscsdb01ESXi中的VM,配置两张虚拟网卡,一张连接公用网络,一张用于群集心跳网络,使用裸磁盘映射(RDM)连接存储;

mscsdb02ESXi中的VM,配置两张虚拟网卡,一张连接公用网络,一张用于群集心跳网络,使用裸磁盘映射(RDM)连接存储;

AD为域控制器,一块网卡连接公用网络。

10.1.1.0/24网络为公用网络,用于业务访问。

192.168.10.0/24网络为私有网络(建议为此网络专门划分单独的vlan),用于群集服务器间心跳检测。

mscsdb01网络配置:

心跳网络只与内部网络进行心跳检测,故此可不配置网关。

wKioL1LTTeCwzqnPAALvSFeUpPo381.jpg

mscsdb02网络配置:

wKiom1LTTfWi7b-nAALw6xEA_tM884.jpg

二、配置RDM

2.1mscsdb01添加裸磁盘映射

mscsdb01关机,然后右键mscsdb01虚拟机>编辑设置

wKioL1LTTfKjInHhAAJFd_3V1B0211.jpg

然后点击“添加”按钮,选择“磁盘”然后点击“下一步”

wKiom1LTTgnxSHrXAAGG6jCwqiw283.jpg

选择“裸机映射”

wKioL1LTTgWCY9xYAAGmt_HICQ8252.jpg

选择分配用于quorum disk 1GLUN,点击“下一步”

wKioL1LTThCzB74uAANlqgmWSNg666.jpg

按照默认选择,“下一步”

wKiom1LTTibgD330AAHRqs5-2JU806.jpg

选择“物理”,然后“下一步”。虚拟兼容模式(非直通)RDM 不支持 Windows Server 2008 的故障切换群集。

wKioL1LTTijCMBPnAAGs-HrKTMM032.jpg

将虚拟设备节点改为“SCSI10)”然后“下一步”

wKiom1LTTkmyNppWAAG4JPNbxjU316.jpg

然后点击完成,完成第一个裸磁盘映射的添加。

wKioL1LTTkfTWJ7PAAGVw7n28Ok062.jpg

要实现不同主机间的群集,首先需要先将虚拟机的SCSI控制器选择为“物理”的。

添加完成后,右键mscsdb01虚拟机>编辑设置,将新增的SCSI控制器1类型改为“物理”

wKiom1LTTmax75FZAAJkpzWjkPQ459.jpg

用以上同样的方式,将10G用于DTC50G用于数据存放的两个卷也添加到mscsdb01虚拟机中,注意在添加10G50G卷的时候,在选择SCSI控制器时,选择SCSI11)和SCSI12)。

wKioL1LTTmegPdk3AAJbKE7n3hA384.jpg

完成添加后,将所以磁盘联机,然后添加盘符。

wKiom1LTTn-g8KA-AALT0dZfIG8443.jpg

2.2mscsdb02添加裸磁盘映射

同样的首先将mscsdb02关机,然后点击右键>编辑设置

wKioL1LTTqeBts68AAJugB1DDDs490.jpg

点击“添加”>“硬盘”>“下一步”

wKioL1LTTr_BU9-gAAF6TF2nlJQ443.jpg

选择“使用现有虚拟磁盘”>“下一步”

wKioL1LTTxOC3A65AAGdXx2BLcA532.jpg

磁盘文件路径选择mscsdb01所在的文件路径,将mscsdb01添加的裸磁盘映射的硬盘添加进来。

wKiom1LTT4rAn5dJAAHu3opXVto716.jpg

然后点击“下一步”

wKioL1LTT5CieW2KAAEzxvsAdQQ519.jpg

虚拟设备节点选择“SCSI10)”,然后“下一步”

wKiom1LTT6bgLbk8AAGg8cFrYvc190.jpg

点击完成

wKiom1LTT7HBXCNCAAFV1VIJJSE864.jpg

同样的将mscsdb02上的SCSI控制器1类型改为物理

wKioL1LTT7DhwcnQAAJk0v8VIP0311.jpg

然后按照上面的方式将mscsdb01映射的另外两块磁盘添加到mscsdb02中。

注意在添加10G50G卷的时候,在选择SCSI控制器时,选择SCSI11)和SCSI12)。

wKiom1LTT8mT1Ti-AAK9RnMpoeY404.jpg

完成添加后,打开mscsdb02虚拟机电源,将添加的磁盘联机。

联机后,磁盘会自动添加盘符,无需更改。

wKioL1LTT8jC70mLAAIeULJGdeY292.jpg

三、搭建MSCS集群

mscsdb01虚拟机中,点击“服务器管理”>“功能”>“添加功能”>“故障转移群集”>“下一步”

wKiom1LTT-fhRrEVAAJwGknOs6o463.jpg

然后点击“安装”,等待安装完成

wKioL1LTT-XSu54hAAECLsgLo5w059.jpg

安装完成后,点击“关闭”

wKiom1LTT_ujmbHFAAFh9Hma4AU656.jpg

完成mscsdb01故障转移群集安装后,然后再到mscsdb02中完成故障转移群集安装。(安装步骤同上)

mscsdb01中,进入“故障转移群集管理器”中,点击“验证配置”

wKioL1LTT_vz7KA8AAMkcoAd1oA487.jpg

点击“下一步”

wKiom1LTUB-RggekAAHU-Mnb62g499.jpg

mscsdb01mscsdb02两个群集节点都添加进来,然后“下一步”

wKiom1LTUCyjQzt1AAFB4kaHXM4597.jpg

选择“运行所有测试(推荐)”,然后“下一步”

wKiom1LTUEugaCSLAAGSBsthpWM814.jpg

点击“下一步”

wKioL1LTUEqC7E3FAAFscI6fdto471.jpg

等待验证完成,在这个验证的过程中可能会出现各类问题,请根据测试报告进行更改,否则无法进行下一步。

wKiom1LTUGCikTCUAAHVAHS0EaY498.jpg

显示测试成功,适合群集,点击完成。

wKioL1LTULqRL6deAAGNW_Ag2A8517.jpg

然后点击创建群集,点击“下一步”。

wKioL1LTUMmByagrAAIGIyna0po009.jpg

将两台群集服务器mscsdb01mscsdb02都添加进来,然后点击“下一步”

wKiom1LTUOeQuTozAAE4TBn-Y34561.jpg

选择公用网络,输入群集IP地址,并命名,然后点击“下一步”

wKioL1LTUOXjWdwEAAGGwIm0CFY202.jpg


点击“下一步”

wKiom1LTUPygvV_gAAEsBQoiIXM709.jpg

等待完成群集创建完成

wKioL1LTUPjy2r2PAADT9bc7t3g796.jpg

点击“完成”

wKiom1LTURDxW7S0AAFhvvh-_OU491.jpg

点击群集网络1进行编辑

wKioL1LTURSin0tpAAHnkQPxKZY431.jpg

群集网络1配置

wKiom1LTUTCCAzO_AADrjfS8JuI907.jpg

群集网络2配置

wKioL1LTUTDzFjPnAAD4Xh93T9g493.jpg

进行群集网络测试,首先对群集IP进行ping测试

wKioL1LTUTuzmT-vAAIZqbpnnX0020.jpg

然后将mscsdb01的群集公用网络禁用,此时mscsdb01已经无法访问。

wKiom1LTUVPBiaVBAADjAOEcCso110.jpg

而此时我们再试试ping群集IP试试,得到的结果是出现了几个丢包后,群集IP任然可以ping通,此时群集测试通过。

wKioL1LTUVGRzxpjAAMUowYTWWg323.jpg

四、SQL Server数据库群集搭建

4.1在群集上添加分布式事务协调器(DTC)应用

点击群集右键,选择“配置服务器或应用程序”,然后下一步

wKiom1LTUWqAap_SAAJxFCc60NI280.jpg

选择“分布式事物协调器(DTC)”,然后下一步

wKioL1LTUWyTzhGEAAHagIe4qw8290.jpg

输入群集DTCIP地址

wKiom1LTUamjdDHQAAGF5_E8tWY180.jpg

选择之前我们为群集DTC创建的10G磁盘,然后“下一步”

wKioL1LTUafgk4YTAAFj7ZQ4twA765.jpg

选择“下一步”

wKiom1LTUcDB2RqwAAEoWUqWP5w901.jpg

等待完成配置

wKioL1LTUb6BOPstAADIaolpu98287.jpg

点击完成DTC配置

wKiom1LTUdbw9hYIAAFj0owv3sE574.jpg

mscsdb01mscsdb02上均安装上.NET Framework 3.5.1

wKioL1LTUdaRvUmBAAEDW296IwA403.jpg

4.2安装SQL Server2008群集

首先,在mscsdb01中将SQL Server2008的镜像挂载到光驱,然后点击setup进行安装

在安装界面中,选择“安装”,然后选择“新的SQL Server 故障转移群集安装”

wKiom1LTUe_jCgbNAAJK9eYZWT8137.jpg

点击“确定”

wKioL1LTUe_gJ9dRAAFvkBMdazg933.jpg

输入产品密钥,点击“下一步”

wKiom1LTUgiAlc1XAAHoUUBAqYU317.jpg

点击“下一步”

wKioL1LTUgnzRFBeAALutIIyZN4457.jpg

点击“安装”

wKioL1LTUh-AAhd8AAF7IoVP2d0586.jpg

进行安装检测,检测通过后点击“下一步”

wKiom1LTUjnyts6_AANt5d1wX9s651.jpg

选择安装功能

wKioL1LTUk3w67PVAALTXIo3sPA908.jpg

输入sql网络名称

wKiom1LTUmySsNwbAALFk1Ch2LY346.jpg

点击“下一步”

wKioL1LTUnrwTrxWAAH9bs1QDSU799.jpg

点击“下一步”

wKioL1LTUo3Do-i3AALTZuirCKc242.jpg

点击“下一步”

wKiom1LTUqnTFuvvAAKg0IENJFE106.jpg

DHCP的勾选去掉,然后手动输入IP地址,点击“下一步”

wKioL1LTUqyhNhwGAAHdNI9LSYc511.jpg

点击“下一步”

wKiom1LTUsyx4yUYAAIdLOO9OFk932.jpg

在这里为了方便,对所以sql server服务使用相同域账号,下一步

wKioL1LTUtTz5obsAAKCUsw9WGE211.jpg

身份验证模式,选择混合模式,并输入sa用户的密码,下一步

wKiom1LTUu2wBdUHAALWckj_DnU877.jpg

点击“下一步”

wKioL1LTUuyzT3i2AAJt4T4-Mjc929.jpg

点击“下一步”

wKiom1LTUwjCVUCiAAHokhlDdb8453.jpg

点击“安装”

wKioL1LTUwXzIV_fAAMhUMTt9tQ764.jpg

等待安装完成

wKiom1LTUx6Cx_b7AAFyYEKV6tU864.jpg

完成安装后,查看SQL Server状态;。

wKioL1LTUyGRlmnPAAE13qFMuyM604.jpg

mscsdb02上向SQL Server故障转移群集添加节点

wKiom1LTVvnwWvh2AAIFGO97Rb0880.jpg

然后点击下一步继续安装

wKioL1LTVv_QSE21AANdwpg6LHY607.jpg

群集节点配置,会自动显示mscsdb01群集的实例名称,然后点击“下一步”

wKiom1LTVx2gCFWDAAG-UNc3TRM528.jpg

输入先前创建数据库时添加的管理用户的密码,点击“下一步”

wKiom1LTVzPh1VGyAAH0dpBtcwU913.jpg

点击“安装”,等待节点添加完成

wKioL1LTVzWwbPKGAAJPF76cJgg163.jpg

完成SQL Server群集节点添加。

wKiom1LTV02T8veNAAJ7zcIuPtQ255.jpg

五、群集数据库测试

5.1 添加测试数据库

查收数据库群集,当前所有者为mscsdb01.

wKiom1LTV2CQ1SXCAAHbNv-Ht3o604.jpg

mscsdb01中登录数据库,在这里服务器名称填之前我们创建的数据库群集名称sqlcluster,身份验证可使用windowssql server身份验证,根据自己的习惯来。

wKiom1LTV3LxRqtyAAEqlEOpnjY200.jpg

点击“新建数据库”

wKiom1LTV4DjX9HlAAEHouPaiUs191.jpg

输入数据库名称,然后点击“确定”

wKiom1LTV4yhF4O6AAGiPc0JGsw219.jpg

test数据库创建一个登录名,点击“新建登录名”

wKioL1LTV5GCtHRyAAEgMRS1iJ4552.jpg

输入登录名,选择SQL Server身份验证输入密码,去掉用户在下次登录时必须更改密码,默认数据库选择test;当然在这里你也可以选择windows身份严重,选择域用户或者计算机用户来连接此数据库,根据个人情况而定。

wKioL1LTV5-xGgquAAI_sGumq5c302.jpg

服务器角色中,勾选sysadmin选项

wKiom1LTV7fDOh1EAADW-loWrac801.jpg

用户映射选择创建的test用户,然后点击确定即可。

wKioL1LTV7SyRDy-AADNloVo59g336.jpg

这样就完成了测试数据库的创建。

wKiom1LTV9HhWgzzAAFGeeiieJE746.jpg

5.2 测试数据库高可用性

由于时间的关系,这里是用ODBC数据源进行了数据库连接测试。

打开ODBC数据源管理,点击系统DSN,然后点击添加;

wKioL1LTV8-wmM1tAAEhs_C359k950.jpg

选择SQL Server Native Client,点击完成;

wKioL1LTV9nxVdNmAADZHG25RVg049.jpg

输入名称和服务器,然后下一步;(这里的服务器可填写SQL群集的名称、IP地址、FQDN中的一种)

wKiom1LTV_HDIs7VAAEjb0LBe58173.jpg

输入登录ID和密码,点击下一步;

wKiom1LTWASQmTzmAAEvfsWs3og083.jpg

点击“下一步”

wKioL1LTWAHjaNTAAAEGyZYnBxQ076.jpg

点击“完成”

wKiom1LTWB-zUKYWAAF1UCdmVig121.jpg

点击“测试数据源”

wKioL1LTWCag8DsoAAEzqLc8NJE291.jpg

显示测试成功。

wKiom1LTWEGxHZz3AADGQxjgwVI370.jpg

完成数据源添加。

wKioL1LTWD_RoipvAAE95zGlvdI268.jpg

现在我们将mscsdb01关机,然后再测试看看数据库是否能正常连接。

现在我们看到的SQL Server群集当前所有者已经变成了mscsdb02了。

wKiom1LTWFjzIMnJAAFwQWVEt_s751.jpg

接下来,我们再使用ODBC数据源测试看看是否能够成功连接到test数据库。

wKiom1LTWGygW9jmAADKmsr-DbM667.jpg

测试仍然成功。