虚拟化环境下对公司业务服务器实现NLB+SQL高可用(二)

  1. 云栖社区>
  2. 博客>
  3. 正文

虚拟化环境下对公司业务服务器实现NLB+SQL高可用(二)

科技小能手 2017-11-12 22:25:00 浏览588
展开阅读全文

一、项目背景

在上一节中,只是介绍了虚拟化环境下IIS服务通过NLB实现Web网站的负载均衡及高可用,详情请参考链接(http://arkling.blog.51cto.com/2844506/1684191),本节我们继续对SQL的高可用进行介绍,为了方便理解,我们将网络拓扑粘贴过来:

wKioL1XPacqDTMUiAAIo06NpI6g627.jpg

二、实验前准备

本次通过使用Hishop网站程序对SQL进行测试,在3台SQL服务器上安装SQL(见证服务器使用的是免费的Express版本),下载Hishop软件并挂载到IIS的操作此处不再赘述,需要注意的是镜像高可用在安装SQL时每台服务器上都选择独立安装。由于预算有限,没有共享存储,所以无法使用Cluster进行SQL的高可用,本节重点介绍使用SQLServer2008R2中的镜像数据库来实现高可用。

三、两种高可用的对比

在此需要强调的一点是:技术不分好坏,只有适合不适合。下图是Cluster和镜像的对比:

wKioL1XPbSnh8qB_AAI0VUS6JKw532.jpg

可以看到,微软为了缓解中小企业购买共享存储的压力,从SQL2008开始新增了镜像这种高可用部署方式,其中需要对数据库级别的容错做特别说明:一个实例中可以有多个库,Cluster在部署的时候只需要对这一个实例进行高可用的部署,而镜像只能针对每一个库进行一次部署。比如你的默认实例中有10个库,则需要部署10次镜像设置。

三、操作步骤

1.首先通过浏览器访问NLB聚合后生成的地址10.0.0.11/24,看到安装向导到后说明IIS挂载正常。

wKioL1XPar_hkoewAAM9M--y-kE552.jpg

2.检查SQL服务器和镜像服务器的SQL服务和网络配置中的TCP/IP是否正常启动

wKiom1XPaLejzWmAAAFF8DbarWU477.jpg

wKiom1XPaLiw9zxIAAGU3QQoPIg764.jpg

3.Express版本安装完成后,TCP/IP默认是禁用的,此处需要启用,否则在配置镜像数据库时会报错,因为TCP/IP禁用就无法通过网络对外提供服务。

wKioL1XPasOSKN0OAAFo7czb1fc060.jpg

4.在SQL服务器上创建一个数据库。镜像服务器推荐的操作步骤是:由于SQL服务器和镜像服务器都是独立安装所以在SQL服务器上安装完成后,将数据库备份,再到镜像服务器上进行还原操作。SQL服务器和镜像服务器后期是通过日志文件进行数据同步的。

wKioL1XPar_A_VHaAAOSAFmA6pE610.jpg

5.在DNS中创建2条A记录,分别指向SQL服务器和镜像服务器(途中sql记录)。

wKioL1XPasDB5BJyAALvjCHs4yA042.jpg

6.回到步骤1,点击下一步后,填写信息。此处的数据库服务器地址填写FQDN名称。

wKioL1XPasCye3lVAADWJM9K9nI802.jpg

7.走完Hishop的安装向导后,我们可以看到SQL的数据库中增加很多内容。

wKiom1XPaLiiwwjhAAITFoadhxM972.jpg

8.将SQL数据库服务器的hishop数据库和日志进行备份。

wKioL1XPasGiaSFGAAMZMpbt7OY567.jpg

9.将备份好的数据库文件考到镜像服务器上进行还原。

wKiom1XPaLmCM9Q6AAF7L0iAsXY317.jpg

10.在源设备中找到并勾选数据库库和日志

wKiom1XPaLmAZLmXAAKdeA9s2v8656.jpg

11.在选项中勾选覆盖现有数据库,在恢复状态处一定要选择不回滚提交事务。前面提到过,镜像服务器与SQL服务器是通过日志来实现同步的,SQL服务器在运行过程中会将日志同步给镜像服务器,而镜像服务器根据日志在对自己本身的数据库进行重播,从而达到数据库同步的效果。

wKioL1XPasHRhmrLAAN5g3hX8MY968.jpg

12.镜像服务器上的数据库正确的情况下应显示为“正在还原”。

wKioL1XPasHgHNkuAAFfpx9d-Pk908.jpg

13.回到SQL服务器,右击hishop数据库,在任务中找到并选择镜像。

wKiom1XPaLrScd4RAAJfVWh4boc348.jpg

14.点击配置安全性,选择包括见证服务器,SQL通过镜像的高可用可以没有见证服务器,但是需要手动进行故障转移,镜像服务器的作用是可以自动进行故障转移。

wKioL1XPasKiwARCAAGB_C9cDtk513.jpg

15.确认使用镜像服务器,直接点击下一步。

wKiom1XPaLrT-sFRAAJK_pcyLxM483.jpg

16.指定SQL服务器为主体服务器实例

wKiom1XPaLqj9hP5AALLv38wjzk383.jpg

17.指定镜像服务器为镜像服务器实例。

wKioL1XPasKyclRXAALNFoqokWE224.jpg

18.指定见证服务器为见证服务器实例,如果见证服务器TCP/IP没有启用,则这一步会报错。

wKiom1XPaLvjIXGRAAMVODiUd0I944.jpg

19.指定启动账户。虽然SQL镜像高可用可以部署在工作组环境下,但是在此处,域环境的优点就体现出来了。

wKioL1XPasOTwTtOAAK8K25iM0s027.jpg

20.下一步直到结束,看到主体、镜像、见证都配置成功后表明配置成功。

wKiom1XPaLuysPVPAAKVyxVR9Fw724.jpg

21.选择开始镜像。

wKiom1XPaLzwsMscAANlpZFpHiQ508.jpg

22.此时能看到主体实例服务器上的数据库显示为“主体,正在同步”;镜像实例服务器上的数据库显示为“镜像,已同步/正在还原”,而作为见证服务器则不会产生任何新的数据库。至此,SQL镜像就算部署完成了。

wKioL1XPasShn5BNAAFB1eVYrfY532.jpg

wKiom1XPaLzTNrfeAAGGUbCCKrw957.jpg

wKioL1XPasTg7eLrAAFrrKp8LRE274.jpg

四、效果检测

当主体实例服务器发生意外时,镜像实例服务器会从还原状态变为主体实力服务器,原来的主体服务器会变为镜像服务器并显示已断开,当故障服务器重新启动后,数据库显示会从“已断开”变为“已同步”,但是从镜像中我们能看到,主体实例服务器由原来的08Server4变成了08Server5。

wKioL1XPasSRbNv6AAF9887kAh0980.jpg

wKiom1XPaL3AJyP4AAGEaQT-Xrs985.jpgwKiom1XPaL2xyMQkAAOiiINIkJ4649.jpg



本文转自 qiao645 51CTO博客,原文链接:http://blog.51cto.com/arkling/1684943

网友评论

登录后评论
0/500
评论
科技小能手
+ 关注