Citrix NetScaler HA(高可用性)解析

来源 https://www.iyunv.com/thread-172259-1-1.html

1.1     NetScaler高可用概述

我们知道在高可用性环境中,一般需要2台相同型号的设备来完成高可用性环境的构建。高可用性环境的构建,可以确保NetScaler不至于成为系统的单点故障,保证后端的服务能够正常的不间断的提供服务访问。在两台NetScaler设备之间构建高可用(HA)集群时,两台NetScaler设备是通过UDP进行心跳信息检测的。NetScaler高可用集群中会存在一台主节点和一台辅助节点,主节点接管着所有的访问流量并管理着NetScaler所有的共享IP地址。辅助节点负责监视主节点的健康状况,以确保主节点的服务已启动并正在运行着。如果有问题,即主节点发生故障,那么该辅助节点就会接管着所有的访问流量并接管NetScaler所有的共享IP地址,保证对于后端服务的访问不会中断。

1.2     NetScaler HA体系结构
  下面是通用的NetScaler HA体系结构:

NetScaler所有的IP地址都是浮动的IP地址,并通过HA对成员进行共享,在HA中唯一的不共享的IP地址就是每台NetScaler设备的NSIP地址,即NetScaler的管理IP。并通过SNIP或着MIP和后端服务器进行通信,将前端请求的数据包交换传递给特定的所请求的服务器。
只有主的NetScaler(图中NetScaler 1)被使用。NetScaler 2的才会处于待机模式,并等待主节点发生故障。这两个节点交换数据包(HA同步)进行健康监测。

1.3     ARP/GARP/VMAC

NetScalers和其他网络设备一样使用ARP(地址解析协议)解析MAC地址来找到位于局域网上的其它设备的。例如,NetScaler设置了一个虚拟IP地址(VIP)。所有对VIP的请求数据包都会到达NetScaler的运行这个VIP服务的vServer网关,这时NetScaler将检查其自己的ARP缓存(位于预先解析的IP地址)对应的MAC地址。如果缓存为空,网关将通过LAN发送ARP广播包。相应的IP地址的设备将回复网关含有它的MAC地址的数据包。然后网关会把这个对于IP和MAC地址对应关系放入自己的ARP缓存中。

可以通过NetScaler的命令查看ARP表:

在HA环境中,尤其是在故障转移的时候,在网关ARP缓存表中的前一个MAC地址是之前NetScaler主设备的MAC地址。这可能会导致问题。要解决这个问题,新的主设备将所有的NetScaler HA拥有的IP地址(VIP,NSIPs等)发送GARP(Gratuitous ARP)广播数据包。网关将接收到这些数据包,并更新自己的ARP缓存表。
下面列出了几种情况下发送GARP的数据包的情况:
  • NetScaler 启动 (for MIP andSNIP)
  • 创建一个新的LB服务器
  • 添加新的IP
  • 设置新的VLAN
  • 故障转移

需要注意的是有一些防火墙不支持GARP流量,因此,我们需要配置VMAC为部署。当使用VMAC,MAC地址是在两个节点之间共享的,因此它是不使用GARP更新MAC表。

如果主节点要是关闭或者如果它停止响应请求,辅助节点会接管所以的请求继续进行服务。在主节点和辅助节点之间使用心跳相互监视,通过每个节点的IP地址进行发送。
默认情况下,有一些端口需要打开防火墙规则以允许在高可用性设置的时候,NetScaler节点之间的通信,端口如下:
  • UDP端口3003用于交换心跳的通信UP或DOWN状态
  • TCP端口3008是用于安全的高可用性配置同步
  • TCP端口3009用于安全命令传播和Metric Exchange Protocol(MEP)
  • TCP端口3010是用于高可用性配置同步
  • TCP端口3011是用于命令传输和MEP

NetScaler高可用这个功能需要我们有两个相同的型号和同一个系统的版本。运行HA时,如果型号不一致可能导致出现问题,例如,一个MPX5550和一个VPX 1000。如果是这样的配置出现问题Citrix并不会进行技术支持。

1.4     Netscaler HA设置选项说明

节点状态
  • STAYPRIMARY:此选项强制NetScaler设备停留在主节点模式。
  • STAYSECONDARY:此选项强制NetScaler设备留在辅助节点模式。
  • ENABLED:这是默认选项。该选项允许启用NetScaler的高可用性,对基于高可用性事件的NetScaler设备进行故障转移。
  • DISABLED:此选项禁用高可用性引擎。
故障保护
故障保护模式对两个节点的健康状况进行检查,确保一个节点始终是主节点。同时故障保护模式也是为了确保当一个主节点只有部分可用时,备份节点能够尽可能的处理流量。HA故障保护模式需要在每个节点上配置。
下面是产生的节点状态的HA的行为。

默认配置时,主节点负责所有流量。
两个节点都有自己的NSIPs但共享大部分配置,包括VIP,SNIP和MIP。
主节点上的更改被复制到辅助节点。(默认启用)
心跳(Hello间隔时间)为200ms。
  • 使用UDP数据包的端口3003。
  • 失效时间为3秒。
  • 当心跳包在3秒之后丢失就会发生故障转移。
故障保护默认是关闭的,开启需要在每个节点上配置。
默认情况下,通信并不加密,不走安全通道和协议:
  • HA对同步发生在端口3010(TCP)。
  • 安全HA对同步发生在端口3008(TCP)。
  • 命令传播发生在端口3011(TCP)。
  • 安全命令传播发生在端口3009(TCP)。
  • 1.5  Netscaler HA配置
为了建立一个高可用性主从节点,我们需要知道的其IP地址和默认的系统:用户名和密码。要求它们具有相同的RPC连接的用户名和密码,默认情况下,所有的NetScaler都必须相同。要建立一个高可用性对,去System | High Availability| Nodes,然后单击添加从节点之一。 这里我们提出了以下选项:
  • 远程IP地址(其他节点的NSIP)
  • 配置远程系统参与高可用性设置
  • 关闭接口的HA monitor
  • 自节点上打开INC(独立网络配置)
  • 远程系统的凭据
我们需要做的就是输入IP地址,配置远程NetScaler系统的信息,关闭接口的HA monitor,并输入NetScaler的用户名和密码。
在接口上关闭HA monitor意味着,NetScaler不会使用该接口从一个节点到另一个节点发送的HA探针。
最后一个选项是,INC,如果设备在不同的子网,那么需要独立的网络配置,因为常规的HA选项使用相同的网络配置。之后,我们已经填入了信息并点击OK,主节点会开始与辅助节点传播其信息和配置,成立了高可用性对,如下面的截图:

它也将开始同步文件,如SSL证书和应用防火、XML文件;您可以查看是同步的文件,不同的文件进程访问如下KB http://support.citrix.com/article/CTX138748 。
需要注意的是,有几个项目的同步是很重要的,而这些都是许可和ns.conf、rc.conf中的文件。你可以使用命令验证SSL同步情况,使用CLI命令:

因为它是建立HA对,所做到主节点的操作和配置更改都将传播到辅助节点。
我们可以看到从GUI或使用下面的命令查看HA的节点:

在命令行显示出现的信息中,如果该节点的接口的活动的,说明该节点是主(活动)节点。
我们也可以使用故障切换界面进行查看;如果我们NetScaler有多个网络接口连接在了不同的交换机,就可以用它们来故障转移到另一个接口。
例如,如果我们的NetScaler采用两个接口,其中接口1连接交换机1,接口2连接到交换机2,我们可以使用故障切换接口设置故障转移从NIC1到NIC 2,举个例子,交换机1关机。在一个大环境中,往往有跨越多个交换机的自动转移隧道自动处理。
在GUI中,我们可以在每个节点上单击鼠标右键,并配置如同步或强制故障转移。强制故障切换可以让我们进行手动故障转移,这个一般在我们需要升级的时候进行手动故障切换。
默认情况下,当主节点出现故障,辅助节点将接管并自动成为主节点;当主主节点重新联机,原来的主节点就会降级为辅助节点。如果在一个环境中,我们的HA同步状态出现问题,辅助节点本身并没有同步到新更改的信息,那么在这个时候,我们要进行升级,为了保险起见,我们可以在升级辅助节点的时候,设置辅助节点为STAYSECONDARY状态,即强制NetScaler设备留在辅助节点模式。这将保证主节点在审计重启之后还将保持为主节点,辅助节点还是辅助节点。
如果您在使用HA功能的时候出现了一些问题,我们可以使用nsconmsg功能。通过运行命令nsconmsg –d event,我们可以得到一些控制台中发生的事件信息。
默认情况下,NetScaler使用Gratuitous ARP(GARP)在发生故障转移后公布新的主节点的MAC地址。一些厂商如思科和一些老的防火墙厂商如瞻博网络不接受GARP请求数据包的类型。所以,如果您的环境中有不支持GARP的网络设备存在,且NetScaler的数据包需要通过该网络设备,那么就需要使用VMAC。关于GARP,通过登录到NetScaler的CLI和运行命令set network L2 param –garpReply enabled。这个命令需要在设置了一对高可用性组的NetScaler设备上使用。
如果我们的防火墙或路由器不支持GARP,我们可以配置NetScaler使用VMAC。 VMAC允许的NetScaler之间具有一个浮动MAC地址,因此绕开GARP的问题。这可以通过System | Network | VMAC进行配置。

下面我们就来定义一个虚拟路由器ID,例如100,并将其绑定到一个接口,这样的话VIP请求就会从该地址而来。虚拟路由器ID只是用作在VMAC中的标识符。这样做了之后,HA节点将复制这个虚拟的地址进行使用,HA节点之间使用的MAC是共享的同一个。我们可以去Network | Interfaces看VMAC面板,HA使用的虚拟MAC就在其中显示。

Citrix NetScaler HA(高可用性)解析相关推荐

  1. Citrix NetScaler 全局负载均衡解决方案

    Citrix NetScaler 全局负载均衡解决方案 思杰(Citrix)系统亚太有限公司 2008年5月 目 录 第1章 项目概述... 3 第2章 思杰系统(Citrix)公司简介... 4 2 ...

  2. Citrix Netscaler负载均衡算法

    Citrix Netscaler负载均衡算法 http://blog.51cto.com/caojin/1926308 众所周知,作为新一代应用交付产品的Citrix Netscaler具有业内领先的 ...

  3. Citrix Netscaler版本管理和选择

    Citrix Netscaler版本管理和选择 来源 http://blog.51cto.com/caojin/1898164 随着Citrix Netscaler的快速发展,有很多人在维护设备时经常 ...

  4. VMware vSphere5.0 HA高可用性原理

    HA(hight availability)是ESXi服务器集群提供的功能,主要目的是当虚拟机运行所在的物理主机.虚拟机操作系统.虚拟机中的应用程序发生故障时,能保证虚拟机快速重启.对外提供的服务不中 ...

  5. 攻击者滥用 Citrix NetScaler 设备 0day,发动DDoS放大攻击

     聚焦源代码安全,网罗国内外最新资讯! Citrix 发布安全紧急通告,警告客户称其 NetScaler 应用交付控制器 (ADC) 设备中存在一个安全问题,可被攻击者滥用,针对多个目标发动 DDoS ...

  6. Citrix NetScaler

    思杰 NetScaler产品 Citrix NetScaler应用交付解决方案将传统数据中心产品的各项特性与功能整合至一个单独的网络设施中,其中包括负载平衡.缓存.SSL加速.攻击防御和SSL VPN ...

  7. Citrix Netscaler log client ip address

    Citrix Netscaler log client ip address 背景: Citrix Netscaler 默认不记录用户访问端的IP地址,需要开启相应的log. 目标: 在Netscal ...

  8. 虚拟化(Citrix Netscaler)双因素身份认证解决方案

    一.场景分析 Citrix NetScaler 是优化Web应用交付的综合解决方案,可以加速Web应用交付速度,同时保护Web应用不受安全威胁的攻击,安全级别较高. 二.问题分析 1.密码设置简单,非 ...

  9. 让“云”无处不在-Citrix Xenserver之六 高可用性: High Availability

    让"云"无处不在-Citrix Xenserver 六.高可用性: High Availability 马博峰 2011年8月 -------------------------- ...

最新文章

  1. Linux环境源码编译安装SVN
  2. 关于c语言的字符常量
  3. java异步处理同步化_java 异步查询转同步多种实现方式:循环等待,CountDownLatch,Spring Even...
  4. 【unity基础系列】1、unity Texture Type设置为Advanced时纹理的格式列表
  5. Mybatsi注解开发-基础操作
  6. php 类似微信下拉菜单,微信小程序模拟下拉菜单开发实例
  7. 橱柜高度与身高对照表_170身高和橱柜高度对照表 详细解析
  8. 表格细线边款(HTML、CSS)
  9. 【去除教育】去除打印教育戳记插件
  10. bootice添加黑苹果引导_Clover(四叶草)引导多系统(Linux亦可),黑苹果引导教程
  11. SODB RBSP EBSP的区别
  12. VRay(一)材质基础
  13. 刘涛入职阿里,年薪超过欧阳娜娜!揭秘阿里巴巴的明星员工和职级薪资!
  14. PhotoScan软件进行无人机数据处理流程
  15. Blender物理效果教学:如何自制“牛顿摆”
  16. Onedrive 1T|5T 网盘获取
  17. 关联分析法,超详解!进来秒懂!!
  18. 全同态加密(FHE):BV方案、密钥切换、模约化、自举
  19. PA 调试心得(一个电容引发的问题)
  20. Mixly----利用超声波传感器控制LED灯

热门文章

  1. 实例化,构造方法,this指针及其static关键字
  2. DEll R730服务器 安装系统 设置管理口地址
  3. linux 什么是源代码目录结构,Linux源代码目录树结构Linux -电脑资料
  4. client软件怎么卸载 nac_Oracle Client Uninstall 卸载
  5. doc转pdf java_在java中将.doc转换为.pdf(免费)
  6. Mac安装office 2019
  7. 【Android Studio 3.5.3】安装编译环境,Android adb 安装及使用
  8. RabbitMQ七种工作模式实现测试代码
  9. 无人机三维A*算法(包含山脉和禁飞区)
  10. 中兴王炜:模块化数据中心将替代传统数据中心