虚拟化环境下对公司业务服务器实现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主频率*个数*使用率

wKioL1XLRtPCXtX5AAQlpWklZtg434.jpg

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

三、设计思路

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

wKiom1XLWXXQpRVVAAIHkuDnNPs799.jpg

紫色背景为安装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,网关为空,在此特别说明。

四、License费用

公司现有4套WindowsServer2008R2企业版和2套SQLServer2008R2的License授权。NLB群集与SQL见证服务器共需要3个WindowsServer的License,作为SQL服务器与镜像服务器由于正常情况下只有一台对外提供服务,所以只需要1套SQL的License授权,而见证服务器上可以使用SQLExpress的免费版本,所以客户还需要购买一套WindowsServer2008R2授权。

五、操作步骤

本章重点是介绍NLB和SQL高可用在虚拟环境下的应用,所以安装ESXI和搭建域环境就不再赘述。服务器08Server1--08Server5对应的IP地址为10.0.0.1/24--10.0.0.5/24,为避免防火墙的干扰,将所有服务器上的防火墙都已关闭。

1.安装NLB服务

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

wKiom1XLYseBl6B0AAKGdBmEbMw130.jpg

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

wKioL1XLZOrzPRdkAAI8jcP09F0367.jpg

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

wKiom1XLYueR3yhKAAHy3VtdpBk939.jpg

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

wKiom1XLYubwFZiGAAKffG-EFMQ846.jpg

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

wKioL1XLZOvzK6GEAAEBUpPrsIU164.jpg

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

wKiom1XLYuixNMujAAIKrgxqYcI683.jpg

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

wKioL1XLZOyirG7ZAAIFyXttw-w222.jpg

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

wKiom1XLYuria3L7AAIEmjKIV5k167.jpg

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

wKioL1XLZO7BsA18AAKcZn81cQM416.jpg

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

wKiom1XLYuyxJpEaAALR233i8JI313.jpg

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

wKioL1XLZPCBgUhhAAMOsjs1xDs276.jpg

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

wKiom1XLYu7D2ChzAAPib4j4Tkk348.jpg

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

wKioL1XLZPKyVlBiAAJIIj4qja4907.jpg

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

wKioL1XLZPOQ_KilAAKWfYquGPQ681.jpg

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

wKioL1XLaxvASQKsAAJIIj4qja4451.jpg



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

相关实践学习
部署高可用架构
本场景主要介绍如何使用云服务器ECS、负载均衡SLB、云数据库RDS和数据传输服务产品来部署多可用区高可用架构。
负载均衡入门与产品使用指南
负载均衡(Server Load Balancer)是对多台云服务器进行流量分发的负载均衡服务,可以通过流量分发扩展应用系统对外的服务能力,通过消除单点故障提升应用系统的可用性。 本课程主要介绍负载均衡的相关技术以及阿里云负载均衡产品的使用方法。
相关文章
|
15天前
|
SQL API 流计算
实时计算 Flink版产品使用合集之在Mac M1下的Docker环境中开启SQL Server代理的操作步骤是什么
实时计算Flink版作为一种强大的流处理和批处理统一的计算框架,广泛应用于各种需要实时数据处理和分析的场景。实时计算Flink版通常结合SQL接口、DataStream API、以及与上下游数据源和存储系统的丰富连接器,提供了一套全面的解决方案,以应对各种实时计算需求。其低延迟、高吞吐、容错性强的特点,使其成为众多企业和组织实时数据处理首选的技术平台。以下是实时计算Flink版的一些典型使用合集。
|
8天前
|
弹性计算 缓存 负载均衡
【阿里云弹性计算】游戏服务器部署实战:利用阿里云ECS打造低延迟游戏环境
【5月更文挑战第24天】使用阿里云ECS打造低延迟游戏环境的实战指南,包括选择高性能处理器和SSD存储的实例,规划架构,选择近玩家的地域和可用区,部署软件,优化性能及监控。通过负载均衡、自动扩展和数据缓存提升体验,同时关注数据安全与网络安全。
53 4
|
17天前
|
PyTorch TensorFlow 算法框架/工具
【科研入门】搭建与配置云服务器的论文环境
本文介绍了如何搭建云服务器并配置论文代码环境,以AutoDL平台为例。首先,租用服务器并选择符合代码需求的镜像版本,如Python 3.7、TensorFlow 1.15和PyTorch。接着,启动服务器进入终端,克隆项目代码并使用Conda创建隔离的环境安装所需包。如果需在Pycharm中工作,还需在Pycharm内创建相同环境。最后,根据项目配置安装Tensorflow和PyTorch,遇到缺失包时通过`pip install`补充。完成配置后,可克隆服务器以备后续使用。遇到版本不兼容问题,可调整Conda环境的Python版本。
76 1
【科研入门】搭建与配置云服务器的论文环境
|
17天前
|
数据安全/隐私保护 Windows
使用Serv-U FTP服务器共享文件,实现无公网IP环境下远程访问-2
使用Serv-U FTP服务器共享文件,实现无公网IP环境下远程访问
|
17天前
|
存储 网络协议 文件存储
使用Serv-U FTP服务器共享文件,实现无公网IP环境下远程访问-1
使用Serv-U FTP服务器共享文件,实现无公网IP环境下远程访问
|
17天前
|
Java 应用服务中间件 网络安全
如何配置一个公司服务器的环境
如何配置一个公司服务器的环境
14 0
|
17天前
|
弹性计算 安全 Java
阿里云服务器配置、(xshell)远程连接、搭建环境、设置安全组、域名备案、申请ssl证书
以下是内容的摘要: 在阿里云购买服务器并进行基本配置的步骤如下: 1. **准备工作**: - 注册阿里云账号:访问阿里云官网并注册新账号,输入用户名、手机号和验证码。 - 实名认证:在个人中心进行实名认证,建议选择企业实名,因为个人实名可能无法索取企业发票。
|
17天前
|
安全 Java Linux
如何实现无公网IP及服务器实现公网环境企业微信网页应用开发调试
如何实现无公网IP及服务器实现公网环境企业微信网页应用开发调试
|
17天前
|
关系型数据库 MySQL Java
阿里云服务器搭建部署JavaWeb环境
以下是内容的摘要: 本文介绍了在阿里云上部署云服务器并配置Tomcat、JDK和MySQL的步骤。首先,需要注册阿里云账号并进行实名认证,然后选择合适的服务器配置并购买。接着,通过XShell和Xftp连接并上传Tomcat和JDK安装包到服务器,解压并配置环境变量。确保8080端口开放,并启动Tomcat。对于MySQL的安装,包括下载安装包、设置开机启动、修改密码、授权远程登录以及将本地数据库迁移至云服务器。最后,文章总结了整个过程并预告了后续关于项目部署的内容。
|
17天前
|
应用服务中间件 Linux 开发工具
如何在阿里云服务器快速搭建部署Nginx环境
以下是内容的摘要: 本文档主要介绍了在阿里云上购买和配置服务器的步骤,包括注册阿里云账号、实名认证、选择和购买云服务器、配置安全组、使用Xshell和Xftp进行远程连接和文件传输,以及安装和配置Nginx服务器的过程。在完成这些步骤后,你将能够在服务器上部署和运行自己的网站或应用。