目录

Load Balance

Load Balance:负载均衡提供了一种有效的方法提高网络设备、服务器等设备的并发访问、保证网络服务的灵活性和可用性。

LB的原理:将一个网络服务所需要处理的大量数据均衡的分摊到多个操作单元上进行执行。

使用NLB来部署Web Farm集群

服务器集群 Cluster:通过集群的思想和方法让大量的服务器同时支撑一个服务,在客户端看来就像是只有一台服务器在运行。集群可以利用多台计算机进行并行计算从而获得很高的计算速度,也可以用多台计算机做备份,从而使得任何一个机器坏了整个系统还是能正常运行。集群化操作可以减少单点故障数量,并且实现了集群化资源的高可用性。

NLB(Network Load Balance):网络负载均衡,通过将多台IIS Web服务器组成Web Farm的方式,可以提供一个具备排错、负载平衡的高可用性能网站。当Web Farm接收到多个不同用户的连接请求时,这些请求会被分散的送到Web Farm中不同的Web服务器来处理,以此来提高访问效率。并且若Web Farm中有Web服务器因为故障而无法继续提供服务时,会由其他仍然能够正常运行的Web服务器来继续为用户提供服务,因此Web Farm还具有故障转移的功能。

Web Farm架构

  1. Web Farm内的每一台Web服务器的对外网卡各有一个静态IP地址。服务器通过这些静态IP对外发送流量。
  2. 创建一个NLB Cluster,将IIS Web Server加入到NLB Cluster中后,它们就会共享着同一个集群IP地址(虚拟IP地址)。并通过这个集群IP地址来接受用户的上网请求。
  3. 当NLB接受到这些请求后,会均衡的将这些请求交由NLB Cluster中的IIS Web Server处理。这样就达到了负载均衡的目的,增强了IIS Web Server的性能和可用性。

环境准备

准备服务器

  • Win08R2_PC1

    • Hostname=win08r2pc1
    • 网卡int1=192.168.1.100/24(StaticIP) \ 网卡int2=集群IP(先不设置)
    • DNS Service
    • IIS Web Service
    • FileService
  • Win08R2_PC2

    • Hostname=win08r2pc2
    • 网卡int1=192.168.1.200/24(StaticIP) \ 网卡int2=集群IP(先不设置)
    • IIS Web Service
  • Win7_pc1

    • Hostname=win7pc1
    • IP = 192.168.1.222/24
  • 虚拟网络VMNet1、VMNet2
    • Win08r2pc1和Win08r2pc2中的int1int2分别连接到Net1Net2

配置上述准备环境并测试能否成功通信

在Win08r2pc1中配置DNS服务

创建neishida.com,并在域内添加一条A记录(www.neishida.com <–> 192.168.1.8)

注意:192.168.1.8 为集群IP,即用户发送请求的目标IP。



测试:在Win7pc1中解析www.neishida.com的域名

在Win08r2pc1中部署File Service文件服务

File Service用于存储Web服务器的共享设置和共享网页内容。

Step1:在Win08r2pc1中新建一个本地安全用户,以便两台服务器的Web服务可以利用这个账号来连接文件服务器。

开始 –> 管理工具 –> 计算机管理 –> 本地用户和组 –> 添加新用户webuser(取消下次登陆修改密码,选择密码永不过期)

Step2:新建用于存放共享配置和共享站点网页文件的文件夹C:\\Webfiles,并赋予用户webuser完全控制权限



接着在共享文件夹Webfiles下创建两个文件夹configurationsContents分别用于存放共享配置文件和网页文件

Step3:将共享文件夹的所有者设定为webuser,否则可能会出现由于权限不足导致的配置文件无法访问。

在Win08r2pc1中部署IIS Web服务

Step1:添加IIS Web服务角色并设定使用ASP .NET为Web后端支撑

Step2:更改站点欢迎页面的优先级最高为default.aspx,可以有效的提高网站的访问效率。

Step3:在默认的站点目录%SystemDrive%\inetpub\wwwroot下创建测试网页文件default.aspx

写入下列asp代码:

<b>客户端的IP地址为:</b>
<%Response.Write(Request.ServerVariables("remote_addr"))%><br>
<b>Web Server的IP地址是:<b>
<%Response.Write(Request.ServerVariables("local_addr"))%>

Step4:在Win7pc1中访问http://192.168.1.100测试Web服务是否正常运行。

在win08r2pc2上部署IIS Web服务

与在win08r2pc1上部署web服务的步骤大致相同,但是不需要在win08r2pc2上写入default.aspx。

安装完成之后,在win7pc1上访问http://192.168.1.200测试web服务时候正常运行。

配置共享的站点文件夹

我们需要将两个Web服务器共同使用共享文件夹c:\Webfiles来作为站点文件夹

win08r2pc1中的web共享配置

Step1:将win08r2pc1中的default.aspx文件复制到共享文件夹c:\Webfiles\Contents

Step2:将用户webuser加入到IIS_IUSRS组中。

Step3:将共享文件夹c:\Webfiles\Contents作为win08r2pc1的Web服务站点文件夹。

打开Web网站Default Web Site的基本设置 –> 在物理路径处输入 \192.168.1.100\Webfiles\Contents –> 点击连接为 –> 设定站点文件夹的指定访问用户为webuser

Step4:测试



完成配置之后,无论是在win08r2pc1还是在win08r2pc2中都只能通过用户webuser来访问共享的站点文件夹。

Step5:在win7pc1中再次输入http://192.168.1.100来访问网站。

Step6:配置Web1的共享设置

先将Web1的共享设置和密钥导出到共享文件夹c:\Webfiles\configurations中。

需要使用用户webuser的凭证来进行操作,并且需要为位置文件加密。

输入密钥密码后导出密钥

Step7:企业Web1的共享配置功能



此时在win08r2pc1中的Web服务密钥就会备份到本地计算机的%Systemroot%\System32\inetsrv\config文件夹中。

Step8:重启Web服务器使配置生效

win08r2pc2中的web共享配置

Step1:在win08r2pc2中创建一个用于访问共享站点文件夹的同名用户webuser,并让webuser隶属于IIS_IUSERS组。

Step2:将win08r2pc2的站点目录设置为\\192.168.1.100\Webfiles\Contents

Step3:在win7pc1中输入http://192.168.1.200测试是否能够正常访问win08r2pc2的web服务

Step4:设置win08r2pc2中的网站共享设置

Step5:重启IIS Web服务使配置生效

创建NLB集群

Step1:分别在win08r2pc1和win08r2pc2中安装网络负责均衡功能。

注意:每一台需要加入到集群中的服务器都需要安装NLB功能模块。

打开服务器管理器 –> 功能 –> 添加功能 –> 网络负载均衡

Step2:在win08r2pc1中新建集群

开始 –> 管理工具 –> 网络负载平均管理器 –> 右击网络负载平均群集 –> 新建群集 –> 输入主机 –> 点击连接 –> 选择int1 –> 下一步



其中优先级作为集群中主机的唯一标识符HostID,每一台主机只能有唯一的一个优先级。

Step3:设置虚拟IP:192.168.1.8

Step4:选择单播的集群模式



集群的操作模式

  • 单播模式:NLB集群中的每一台服务器中的MAC地址,都会被替换成同一个集群MAC地址。每一台服务器都会通过集群MAC地址来接收连接到Web Farm的请求。
  • 多播模式:多播的数据包会同时的传送到多台服务器中,这些计算机属于同一个多播组,它们拥有一个共同的多播MAC地址

Step5:点击完成,使用默认的端口规则

Step6:等待NLB将win08r2pc1聚合到集群中

Step7:将win08r2pc2添加到NLB集群中

在NLB管理器中右击192.168.1.8 –> 选择添加主机到集群 –> 在主机处填入win08r2pc2的IP地址或者Hostname –>选择网卡int1 –> 点击下一步

优先级默认为2

Step8:等待win08r2pc2聚合完成。

Step9:在win7pc1中访问http://www.neishida.com测试NLB是否正常运行

注意:如果出现了500 内部错误的话可以尝试Run –> iisreset来重启IIS Web服务。

NLB的高级管理

编辑端口规则

集群IP地址:选择适用于此规则的集群IP地址。默认为所有集群IP地址都应用此规则。

端口范围:此端口规则所涵盖的端口范围。

筛选模式

  • 多个主机:表示集群中所有的服务器都会处理进入集群的网络请求,共同来提供网络负载均衡和排错功能。集群中每一台服务器的负载比重默认都是一致的。我们也可以通过右击服务器名称 –> 主机属性 –> 端口规则选项卡 –> 编辑来为每一台服务器设定不同的负载比重。

  • 单一主机:表示此规则有关的流量都交由单一的服务器来处理。
  • 禁用此端口范围:所有与此端口规则相关的流量都会被NLB集群阻挡。

Windows 08 R2_NLB负载均衡(图文详解)的更多相关文章

  1. Windows 2008 R2_NLB网络负载均衡(图文详解)(转)

    目录 前言 软件环境 DNS域名服务器 DNS服务器原理 DNS域名空间 DNS区域 DNS服务器的类别 DNS查询模式 缓存文件 配置DNS服务器 DNS服务的应用 新建子域 在DNS正向解析中新建 ...

  2. DELL R720服务器安装Windows Server 2008 R2 操作系统图文详解

    DELL R720服务器安装Windows Server 2008 R2 操作系统图文详解 说明:此文章中部分图片为网络搜集,所以不一定为DELL R720服务器安装界面,但可保证界面内容接近DELL ...

  3. Nginx 负载均衡原理简介与负载均衡配置详解

    Nginx负载均衡原理简介与负载均衡配置详解   by:授客  QQ:1033553122   测试环境 nginx-1.10.0 负载均衡原理 客户端向反向代理发送请求,接着反向代理根据某种负载机制 ...

  4. Nginx + Tomcat 负载均衡配置详解

    Nginx常用操作指南一.Nginx 与 Tomcat 安装.配置及优化1. 检查和安装依赖项 yum -y install gcc pcre pcre-devel zlib zlib-devel o ...

  5. [转帖]Nginx服务器的六种负载均衡策略详解

    Nginx服务器的六种负载均衡策略详解 咔咔侃技术 2019-09-11 17:40:12 一.关于Nginx的负载均衡 在服务器集群中,Nginx起到一个代理服务器的角色(即反向代理),为了避免单独 ...

  6. 集群之LVS(负载均衡)详解

    提高服务器响应能力的方法 scale on  在原有服务器的基础上进行升级或者直接换一台新的性能更高的服务器. scale out  横向扩展,将多台服务器并发向外响应客户端的请求.优点:成本低,扩展 ...

  7. Tomcat负载均衡原理详解及配置(Apache2.2.19+Tomcat7.0.12)

    结构图 JAVA项目一般直接用Tomcat作为Web服务器.为了增加tomcat的性能和稳定性,我们一般采用balance和session同步机制. 下图列出了我们常用也是最简单的解决方案. 说明 1 ...

  8. IPVS和Nginx两种WRR负载均衡算法详解

    动机 五一临近,四月也接近尾声,五一节乃小长假的最后一天.今天是最后一天工作日,竟然感冒了,半夜里翻来覆去无法安睡,加上窗外大飞机屋里小飞机(也就是蚊子)的骚扰,实在是必须起来做点有意义的事了!    ...

  9. haproxy支持的负载均衡算法详解

    目前haproxy支持的负载均衡算法有如下8种: 1.roundrobin 表示简单的轮询,每个服务器根据权重轮流使用,在服务器的处理时间平均分配的情况下这是最流畅和公平的算法.该算法是动态的,对于实 ...

随机推荐

  1. 老牌激活工具 — Microsoft Toolkit 2.5.1正式版【转】

    老牌激活工具 — Microsoft Toolkit 2.5.1正式版  Microsoft Toolkit 2.5.1是一个一键激活MS Office 及 win系统的工具.原理就是利用KMS来激活 ...

  2. dex2jar反编译大文件内存溢出的问题

    @echo off REM better invocation scripts for windows from lanchon, release in public domain. thanks! ...

  3. UITableView 支持左右滑动(一)

    原理如下: SwipeTableView subView 1 :  UIScrollView作为容器, 主要负责左右滑动, 每个tableView的顶部设置相同的contentInset subVie ...

  4. linux下载文件到本地命令

    版权声明:本文为博主原创文章,遵循 CC 4.0 by-sa 版权协议,转载请附上原文出处链接和本声明.本文链接:https://blog.csdn.net/mengda_lei/article/de ...

  5. CSS属性去除图片链接时的虚线框

    CSS 之outline (轮廓)是绘制于元素周围的一条线,位于边框边缘的外围,可起到突出元素的作用.outline 属性是一个简写属性,用于设置元素周围的轮廓线.注释:轮廓线不会占据空间,也不一定是 ...

  6. 抓包工具charles下载安装(MAC版)

    什么是charles? charles是一个HTTP代理服务器,HTTP监视器,反转代理服务器,当浏览器连接Charles的代理访问互联网时,Charles可以监控浏览器发送和接收的所有数据.它允许一 ...

  7. appium报错及解决方案

    [已解决]mac上手动打开appium报错:“Could not find aapt Please set the ANDROID_HOME environment variable with the ...

  8. Python 2 将死,你准备好了吗?

    Python 软件基金会宣布,到 2020 年元旦,将不再为编程语言 Python 2.x 分支提供任何支持.这一天将标志着一出延续多年的戏剧的高潮:Python 从较旧的.功能较弱的.广泛使用的版本 ...

  9. css控制文本对齐

    h1 {text-align:center;} p.date {text-align:right;} p.main {text-align:justify;} text-decoration 属性用来 ...

  10. shell脚本对代码执行时间的计时

    时间秒: $(date +%s) 算数表达式: $(($cost_time/60)) $(($cost_time%60)) #!/bin/bash # ccache is from epel mirr ...