码迷,mamicode.com
首页 > 数据库 > 详细

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

时间:2015-08-13 06:37:08      阅读:230      评论:0      收藏:0      [点我收藏+]

标签:服务器   虚拟化   nlb   sql   高可用   

一、项目背景

公司有5台服务器托管在ISP中心,其中3台DELL720,2台DELL910,托管费为7.8万元/年。每个服务器的负荷非常低,同时公司对软件的版权有强制要求,不允许使用盗版软件。VMware5.5版本时,每台物理主机只允许1颗CPU免费使用,新发布的VMware6.0取消了该限制,只要每台物理机上的逻辑CPU数不超过480颗,在其内部每台虚拟机的逻辑CPU不超过8颗,就可以免费申请使用。于是就有了将所有的服务器集中到1台上的想法。

二、前期准备

在迁移前,需要收集现阶段每台物理主机的负荷情况,主要是CPU、内存和硬盘使用情况,以便估算出将来这1台物理机所需要的最低配置。内存和硬盘可以直接从任务管理器中看到,所以此处重点介绍CPU的负荷计算方法。CPU的负荷计算方法为:

CPU最低配置=CPU主频率*个数*使用率

技术分享

以截图为例,当前CPU的主频为2.5G,所以迁移后CPU的最低要求为:2.5*8*8%=1.6G。

三、设计思路

考虑到服务器容错和网络的单点故障,设计出如下结构:

技术分享

紫色背景为安装VMware6.0的物理主机,将网卡1、2作为管理网卡,地址为10.0.0.7/24;网卡3、4作为生产网卡,设置一个虚拟交换机。前端2台Web服务器做NLB负载均衡和容错,后端3台服务器做SQL的镜像高可用(实际生产环境中没有共享存储,所以无法用Cluster实现SQL的高可用),NLB和SQL的镜像高可用可以在工作组环境下搭建,为了方便后期管理,所以还是在域环境下搭建。需要注意的是:ESXI的地址虽然为10.0.0.7/24与其他虚拟主机同是10.0.0.0/24网段,但是不在同一局域网,所以相互之间无法Ping通。生产网络的服务器地址为10.0.0.2/24--10.0.0.6/24,网关为防火墙的地址10.0.0.1/24,后面的截图是在实验环境中搭建的,未考虑防火墙因素,所以服务器的地址为10.0.0.1/24--10.0.0.5/24,网关为空,在此特别说明。

四、成本追加预算

公司现有4套WindowsServer2008R2企业版和2套SQLServer2008R2,其中作为见证服务器上的SQLServer可以使用微软免费的Express版,所以需要再购买一套WindowsServer2008R2。

五、操作步骤

本章重点是介绍NLB和SQL高可用在虚拟环境下的应用,所以安装ESXI和搭建域环境就不再赘述。服务器08Server1--08Server5对应的IP地址为10.0.0.1/24--10.0.0.5/24。

1.安装NLB服务

1)在08Server1和08Server2服务器角色中找到并安装IIS服务。

技术分享

2)在08Server1和08Server2上创建一个网站,将index.htm排在第1位。

技术分享

3)分别到08Server1和08Serve2的网站根目录下创建一个index.htm文件夹,为了方便后面区分,将08Server1的内容编写成Welcome to contoso1.com,08Serve2的内容编写成Welcome to contoso2.com。

技术分享

4)在08Server1功能中找到并安装网络负载平衡。

技术分享

5)打开网络和负载平衡管理器。

技术分享

6)新建一个NLB群集,此处需要注意:一定是将群集建好后,再添加成员服务器。

技术分享

7)为NLB群集配置一个IP地址,该地址统一对外提供服务,将收到的请求链接按比例分给群集内的各个服务器。

技术分享

8)设置NLB群集的FQDN名称,选择群及操作模式。注意:如果加入群集的服务器只有一块网卡,则一定要选择多播模式。

技术分享

9)待状态变为为“已聚合”,则表示NLB群集创建成功。

技术分享

10)再将08Server2添加到NLB集群中。

技术分享

11)成功添加后,状态同样会变为“已聚合”。

技术分享

12)在NLB群几内的服务器端口规则里可以设置负载均衡的比例。

技术分享

13)找一个Win7计算机,设置IP地址为10.0.0.100/24,将host文件中的www.contoso.com指向为NLB群集对外提供服务的IP地址,并在浏览器中访问测试。此时我们可以看到它连接到了08Server2服务器上。

技术分享

14)将08Server2服务器关机后再次连接,可以看到它已经重新定向到了08Server1服务器上。

技术分享

15)再将08Server1服务器关机,它又重新连接到了08Server2服务器上。

技术分享

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

标签:服务器   虚拟化   nlb   sql   高可用   

原文地址:http://arkling.blog.51cto.com/2844506/1684191

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!