首页 > 其他 > 详细

GSLB全局负载均衡详解

时间:2018-06-14 23:54:55      阅读:424      评论:0      收藏:0      [点我收藏+]
#GSLB(Gobal Server Load Balancing)

GSLB(广域网服务器负载均衡)

使用DNS技术,并将负载均衡技术扩展至广域网范围。

GSLB提供以下重要功能和优势:

  • 在站点失效时,确保业务可用
  • 确保业务连续性和应用的可用性
  • 通过将客户访问导向最近的站点,提供更快的响应速度并改善用户体验
  • 通过将请求分布到多个站点,增加数据中心效率
  • 提供灵活的策略实现流量在多个站点的分布.

###GSLB部署模式:

  • 代理模式(DNS Proxy)

    设备能够对客户端请求的A和AAAA记录类型进行应答,但对其他记录类型,则转发至外部DNS服务器。

  • 服务器模式(DNS Server)

    设备对配置的GSLB域的查询请求直接进行应答。在服务器模式下,GSLB设备能够应答A、AAAA、MX、NS、PTR、SRV和SOA记录。对其他类型,会尝试代理模式。

GSLB协议运行在4149端口。同时支持TCP/UDP协议。

####GSLB配置概念:

  • zone 是一个DNS域,可配置一个或多个域。每个域包含一个或多个GSLB站点。
  • Service:Service即域服务,每个域可以配置一个或多个域服务.
  • Site:Site即站点,站点通常包括一组服务器,或被本地服务器负载均衡(SLB)设备管理的一组服务器。

###GSLB策略:
#####Policy 调度算法:

  • 健康检查—— 优先选用通过健康检查的服务IP。
  • Weighted-IP —— 根据Service-IP上手工配置的权重来分配请求,权重高的Service-IP比权重低的Service-IP分配更多的请求。
  • Weighted-Site —— 根据站点上手工配置的权重来分配请求。
  • Capacity —— 根据站点配置的最大会话容量值,优先选用可用会话数量较多的站点。
  • Active-Servers —— 优先选用当前活动服务器数量较多的站点。
  • Geographic —— 优先选用在地理位置上最接近的客户端的站点。
  • Connection-Load —— 优先选用新建连接数量未超过设定阀值的站点。
  • Num-Session —— 当站点会话数量没有超出配置的会话容量阀值时,优先选择有效会话数量较多的站点。
  • Admin-Preference —— 优先选择手工设定优先级最高的站点。
  • Least-Response —— 优先选择命中次数最少的站点。
  • Admin-IP TOP Only —— 基于手工设定的权重来选择站点。
  • 轮询 —— 按照请求的顺序依次选择站点。
  • 管理员别名—— 优先选择手工设定优先级最高的DNS CNAME记录类型。这个度量方法与Admin-Preference类似,但仅应用于DNS CNAME记录类型。
  • 加权别名 —— 按照CNAME记录类型上设置的权重值来选择CNAME解析结果。这个度量方法与Weight-IP类似,但仅应用于DNS CNAME记录类型。

默认情况下,只有健康检查、地域和轮询三种调度算法被启用,其它调度算法被禁用。

注意:
Alias-Admin-Preference在启用后,总是拥有最高的算法优先级.

  • Weight-IP和Weight-Site算法
    允许有倾向的使用指定的站点或IP地址。GSLB会根据设定的权重值,更多的选用权重值较高的IP地址或站点。

  • 终极算法(Tie-Breaker)

    GSLB设备使用轮询算法作为选择站点的终极算法,即便轮询算法在GSLB策略中被禁用。

  • Health Check

    健康检查调度算法检查真实服务器和服务端口的可用性。GSLB会优先选用那些真实服务器和服务端口能够正常应答健康检查的站点。

  • GSLB支持对以下应用类型的健康检查方法:

    ICMP(三层健康检查)、TCP、UDP、HTTP、HTTPS、FTP、SMTP、POP3、SNMP、DNS、RADIUS、LDAP、RTSP、SIP.可以在任何一个服务上使用默认的健康检查或配置新的健康检查。

  • 健康检查的优先级
  • GSLB设备上的健康检查按照以下级别和顺序进行:
    网关健康检查
    端口健康检查
    IP健康检查(Service-IP上的三层健康检查)

  • Geo-Location
    可以配置GSLB,使其在DNS中应答距离客户端地理上最近的站点VIP.
    Geo-Location的基本配置:

    启用基于地理位置的GSLB调度算法(该算法默认开启)。

    导入地理位置数据。可以从文件中导入地理位置数据,或单独配置地理位置映射关系。

  • Alias-Admin-preference和Weight-alias

    别名管理优先调度算法(Alias-Admin-preference)按照手工设定的管理优先级来选择CNAME记录。此算法可应用于DNS代理模式和DNS服务器模式。同样的,基于权重的别名调度算法(Weighted-Alias)选择具有较高权重的CNAME记录,也可应用于DNS代理模式和DNS服务器模式。

这两种模式都需要进行额外的策略选项:

  • DNS 代理 — 启用“geoloc-alias“选项。在GSLB从DNS服务器获取DNS应答后,GSLB按照IP调度算法策略选择一个DNS A记录,然后尝试按照地理位置信息将CNAME记录插入DNS应答中。当GSLB插入CNAME记录时,如果别名调度算法被启用,GSLB可能会移除一些CNAME记录和相关的Service-IP。

  • DNS服务器 — 当DNS服务器模式可用时,启用“backup-alias”选项。如果没有DNS A记录返回,GSLB尝试插入所有的备用DNS CNAME记录。在插入时,如果别名调度算法被启用,GSLB尝试移除一些CNAME记录,并且不返回DNS A记录。这个选项同样需要在Service中配置“dns-cname-record as-backup”
  1. DNS Options
    DNS选项对DNS应答给客户端的IP地址列表提供额外的控制。
    在GSLB策略中,可以对以下DNS选项进行配置:
    • 为服务应用DNS操作(dns action)— 允许GSLB在Service配置中执行特定的DNS动作。
    • 只保留活动服务器(dns active-only)—— 移除Service中未通过健康检查的IP地址。
    • dns addition-mx —— 当L1000-GL设备配置为DNS代理或缓存模式时,在返回的A记录附属部分中,附加MX记录。
    • 自动构建DNS基础结构(dns auto-map)—— 启用自动映射功能,根据L1000-GL设备配置的IP资源自动创建A和AAAA记录,在VIP和Service-IP之间创建自动映射关系。
    • 失败时返回别名(dns backup-alias)— 当GSLB没有收到对服务查询的应答或没有活动的DNS服务器时,返回该服务配置的CNAME别名记录。这个选项对服务模式和代理模式均有效。
    • 失败时返回备用服务器(dns backup-server)— 如果主服务器失效,指定一个或多个能够应答给客户端的备份服务器
    • 缓存DNS服务器响应(dns cache)当应答客户端时,缓存并DNS解析结果,而不是对每一个客户端查询都发送新的DNS请求。
    • CNAME检测(dns cname-detect)禁用此选项将忽略CNAME应答。当该选项启用时,L1000-GL设备将对Zone及Service应用CNAME记录策略,而不是应用IP地址记录策略。
    • 域委派(dns delegation)启用子域委派。这个功能允许将父域的部分DNS域名委派给到一个独立的子域。这个子域由其它一台或多台服务器进行解析。
    • 返回外部IP地址(dns external-ip)返回Service上配置的外部IP地址。如果禁用此功能,将返回Service的内部IP地址。
    • 外部SOA(dns external-soa)用外部SOA记录来替换内部SOA记录,以阻止外部客户端获得那些本应对内部客户端有效的信息。如果禁用此功能,将会返回内部SOA信息。
    • 按地理位置应用DNS操作(dns geoloc-action)—— 按照客户端地理位置信息来处理DNS流量。这个选项应作为Service配置的一部分。
    • 基于地理位置返回别名(dns geoloc-alias)—— 用别名替换GSLB中配置的IP地址。
    • dns geoloc-policy 按地理位置应用DNS操作(dns geoloc-policy)—— 返回按照客户端地理位置信息配置的别名。
    • 提示(dns hint)—— 启用DNS应答附属部分的提示功能。针对客户端请求,提示通常为A或AAAA记录类型。这些记录提供了主机名和IP地址之间的映射。
    • 用GSLB服务IP替换DNS服务器响应的IP(dns ip-replace)—— 在Zone配置中,用Service中手工配置的IP地址进行替换。
    • dns ipv6 —— 启用对IPv6的AAAA记录的支持。
    • 日志记录(dns logging)配置DNS日志功能。
    • DNS代理配置(dns proxy block)阻止从内部DNS服务器发送出来的DNS查询。此功能仅工作在DNS代理模式下。
    • 只保留选中的服务器(dns selected-only)—— 仅返回选定的IP地址。
    • 服务器模式(dns server)对GSLB Zone中的服务,使L1000-GL工作在DNS服务器模式。
    • 粘连(dns sticky)—— 对于单个客户端发送至相同Service的所有DNS请求,返回相同的Service-IP地址。
    • DNS服务器响应TTL(dns ttl)—— 覆写DNS应答中设置的TTL值。

默认配置下,cname-detect和external-ip选项启用,其它DNS选项均禁用。
粘连(Sticky),服务器模式(Server),缓存dns响应(Cache),和代理模式(Proxy)选项的执行顺序.

如果启用了以下一个或多个选项,GSLB按照以下顺序进行执行:

  • (1) Sticky
  • (2) Server
  • (3) Cache
  • (4) Proxy

GSLB会选用按照第一个配置项确定的可用选项并应答客户端。
TTL覆写
基于当前的网络状态,GSLB确保为客户端提供的DNS应答中包含最优的一组IP地址。然而,如果DNS解析记录的TTL值太大,本地DNS会对该应答缓存一段较长的时间直至缓存过期。因此,尽管L1000-GL设备具有当前准确的解析结果,客户端仍会收到失效的信息。
为了确保客户端的本地DNS服务器不会过长的缓存DNS应答,可以配置GSLB设备,在DNS应答返回客户端之前,覆写其地址记录的TTL值。

在GSLB配置中,有两个地方可以覆写DNS应答的TTL值:

  • (1) 如果Service上指定了专门的GSLB策略,使用GSLB策略中设定的TTL值。
  • (2) 如果Service上没有专门的GSLB策略,但Zone配置中设置了TTL值,则使用Zone配置中的TTL值。
  • 默认配置下,TTL覆写功能未配置。

GSLB全局负载均衡详解

原文:http://blog.51cto.com/liyuanjie/2129541

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!