手册下载
H3C WLAN云集群技术最佳实践-6W102-整本手册.pdf (666.18 KB)
H3C 云集群技术最佳实践
Copyright © 2024 新华三技术有限公司 版权所有,保留一切权利。
非经本公司书面许可,任何单位和个人不得擅自摘抄、复制本文档内容的部分或全部,并不得以任何形式传播。
除新华三技术有限公司的商标外,本手册中出现的其它公司的商标、产品标识及商品名称,由各自权利人拥有。
本文中的内容为通用性技术信息,某些信息可能不适用于您所购买的产品。
在WLAN(Wireless LAN,无线局域网)网络中,通常使用多台设备冗余备份的方式提高网络的可靠性。H3C自主研发的云集群技术,采用物理和容器的双重虚拟架构,将两台AC虚拟化成一台AC,并在虚拟AC上运行基于Docker的容器应用,以保证一台AC故障时WLAN业务不中断。
云集群技术具有配置同步、管理简单和业务热备份三大优点,与传统的IRF备份技术相比,云集群不需要将整个操作系统进行虚拟化,具有资源消耗小、部署和迁移速度快、配置和维护简单等优势,解决了传统IRF管理复杂,系统不灵活的问题。
在对通信终端时间要求高的场景,如办公或生产场景下,使用两台AC做冗余备份。其中主AC故障后,AP和客户端可以无缝地在备AC保持工作,并且备AC可以使用实时备份的WLAN业务数据保证业务流量不断。
云集群分为两个层面:物理设备层面的集群(以下称为物理集群)和应用层面的集群(以下称为容器集群),二者的作用分别为:
· 物理集群:将两台物理设备(AC)虚拟化成一台。这样可以集合多台设备的硬件资源,实现多台设备硬件资源统一管理和调配,提高资源利用率,降低管理难度;还可实现硬件层面的备份,提高整个系统的高可靠性。
· 容器集群:将运行在物理设备上的Comware容器从逻辑上连接在一起,虚拟化成一个系统。这样可以集合多个Comware容器的软件处理能力,实现多个容器的协同工作、统一管理和不间断维护。
云集群中,物理设备和Comware容器一一对应,每台物理设备上运行一个Comware容器。其中物理设备之间组建物理集群,形成设备级的备份;Comware容器之间组建容器集群,形成业务级的备份。整个物理集群对应一个容器集群。如图1所示,两台设备组成物理集群,对上、下层设备来说,两台物理设备虚拟化成一台网络设备(对应图1中的容器集群)。所有成员设备上的资源归该虚拟网络设备拥有和统一管理。
云集群物理结构示意图如图2所示:
云集群物理结构中各组成部分的具体含义为:
· 在物理设备内部实现云集群功能的组件统称为云集群平台。云集群平台软件模块直接运行在标准发行版本的Linux系统上,各物理设备上的云集群平台软件模块之间通过三层通道通信,实现将物理设备虚拟化成一个物理集群。
· Comware容器是运行了Comware系统的容器,为设备提供基本的通信功能。容器运行在云集群平台软件模块之上,受云集群平台软件模块的管理。各物理设备上的容器通过LIPC(Leopard Inter-process Communication,内部进程间通信)/MBUS(Management Bus,管理总线协议)通道通信,实现将多个容器虚拟化成一个容器集群。
云集群逻辑结构示意图如图3所示:
云集群将物理设备虚拟化成物理集群和容器集群双重集群虚拟架构。其中云集群平台包含了Manager、Worker、Admin和Agent四个组件,各组件作用为:
· Manager组件:运行在参与物理集群管理的每个物理节点的宿主操作系统内,负责云集群平台的HA功能、建立集群和管理集群成员。它包括以下功能:
¡ 负责管理物理集群,建立物理集群,维护物理集群,管理集群成员,生成并更新集群拓扑。
¡ 负责管理容器集群,能根据物理集群中硬件资源的分布智能部署Comware容器,并选举容器集群的主用容器和从属容器。
· Worker组件:运行在每个物理节点的宿主操作系统内,负责物理节点和容器生命周期的管理,周期上报节点物理资源和状态,响应Manager的调度指令,并根据Manager的指令来创建和运行容器。
· Admin组件:运行在每个物理节点上,接收和处理主Comware容器的配置消息。负责管理设备运行模式、容器描述文件,发送执行容器部署的请求给Manager集群。
· Agent组件:运行在容器内部,用于上报容器内业务的健康状态,向业务模块通知集群和容器事件。
如图4所示为云集群平台组件在设备内部的运行位置。每台物理设备上电启动后,会自动运行组件。
(1) 成员设备的角色
物理集群中每台设备都称为成员设备,并作为物理集群的Manager运行,具体功能为:
¡ 管理、建立和维护物理集群,管理集群成员,生成并更新集群拓扑。
¡ 管理容器集群,根据物理集群中硬件资源的情况按需部署Comware容器,并选举容器集群的主用容器和从属容器。
Manager按照职责不同又分为Leader和Follower,初次创建物理集群的时候,由网络管理员的配置决定Manager中哪台设备作为Leader和Follower,具体职责为:
¡ Leader:作为主用Manager,负责管理和控制整个云集群,是整个云集群的控制中心。
¡ Follower:作为备用Manager,是Leader的备份,处理业务、转发报文的同时作为Leader的备份设备运行。
唯一标识一台物理设备,物理集群和容器集群均会使用成员编号进行搭建和维护。
(3) 成员IP(Member IP)
用于物理集群内部通信,即交互物理集群协议报文(物理集群的控制报文为三层IP报文)。物理集群内的所有成员设备必须配置成员IP地址,且所有成员设备的成员IP地址必须属于同一网段内,所有成员设备之间必须路由可达。
(4) 集群IP(Join cluster IP)
用于指导设备加入物理集群,需要管理员在设备上配置。集群IP可以是物理集群中已有任意成员设备的成员IP,建议配置为Leader的成员IP。初次搭建物理集群时,Leader上无需配置集群IP。未配置集群IP的设备会认为自己是Leader。
物理集群的控制报文为三层IP报文,物理集群要求成员设备的成员IP地址均配置在同一网段内,使用该网段来交互物理集群控制报文。物理集群的连接拓扑有两种:链形连接和星形连接,如图5所示。
当前,物理集群共用容器集群链路中的控制通道来传输物理集群控制报文。搭建容器集群网络,网络管理员需要在设备上通过命令行将物理接口和容器集群链路控制通道、数据通道绑定。云集群间将使用控制通道传输物理集群控制报文和容器集群控制报文,使用数据通道传输跨容器转发的数据报文。
初次建立物理集群,通过配置来确定各设备的身份。搭建集群时,请先完成集群规划,哪些设备参与物理集群的管理,哪台设备作为Leader,各成员设备的编号,以及集群内部通信使用的网段。
请为作为Leader设备配置以下参数,重启该设备,设备会认为自己是Leader:
· 成员编号(Member ID)
· 成员IP(Member IP)
新加入物理集群的设备,也通过配置来确定其身份。Follower设备需要配置以下参数:
· 成员编号(Member ID),必须集群内唯一
· 成员IP(Member IP),必须和Leader的成员IP为同一网段,且路由可达
· 加入的集群IP(Join-cluster IP),建议配置为Leader的成员IP,也可以是其它成员设备的成员IP
配置完Follower后重启该设备,设备读取配置。因为配置中存在“加入的集群IP”,设备便作为Follower启动并向“加入的集群IP”发送集群加入请求,Leader收到集群加入请求后,会单播回复加入成功。
如图6所示为新设备Device B加入物理集群Device A的启动流程,分为以下阶段:
(1) Device B根据配置文件,启动云集群平台Admin、Manager和Worker组件。
(2) Worker组件会自动启动Comware容器,Manager(Follower)组件和Worker组件自动向Leader注册,并启动集群加入定时器。
(3) Device A是物理集群中的Leader,回复Manager(Follower)和Worker加入成功。
(4) Leader按周期对外发送Hello报文(宣布自己是一台正常运行的Leader)。
(5) Device B收到Hello报文后,记录Leader的信息,并向Leader上报本地的物理资源信息。
(6) 如果网络管理员下发创建容器的指令,Leader会根据各成员设上报的资源情况调度Device B,在Device B上创建并启动容器。
(7) Device B的容器启动成功后,Worker会将容器的信息上报给Leader。
(8) Leader向Device B的云集群平台Manager组件同步物理集群的信息,以便Follower能作为Leader的备份;Leader向Device B的云集群平台Worker组件同步当前云集群中其它容器的信息。
物理集群搭建成功之后,Leader会根据连接情况绘制集群拓扑图。Leader和Follower之间通过交互Hello报文来维护物理集群关系。成员设备离开物理集群分为两种情况:一种是主动离开,一种是被动离开。
· 成员设备主动离开物理集群
管理员在cloud-cluster member视图下执行undo join-cluster命令将设备从物理集群中移除。该设备会给Leader发送离开集群报文,Leader会回复离开集群响应报文,然后将设备从物理集群设备列表和物理集群拓扑中删除。
· 成员设备被动离开物理集群
成员设备和Leader的成员IP之间路由不可达。控制报文无法达到对端。成员设备被动离开物理集群的流程如下:
a. Leader会按周期对外单播发送Hello报文,向Follower通告自己的状态。
b. Follower本地会创建定时器。如果在定时器超时前,收到Hello报文,则认为Leader运行正常,并回复Hello响应报文。
c. Leader收到Hello响应报文,则认为该Follower运行正常。如果Leader未收到某Follower的Hello响应报文,Leader会将Hello报文超时次数减1。如果Hello报文超时次数减到0,Leader还未收到该Follower的Hello响应报文,Leader则认为该Follower暂时离开了物理集群,会将Follower的状态设置为Offline。
d. Follower如果直到定时器超时仍未收到Leader的Hello报文,则认为Leader故障。
图7 成员设备被动离开物理集群流程图
物理集群运行过程中,物理集群中的Leader和Follower之间会周期互相单播发送Hello报文,来维护集群关系。如果直到Hello报文超时,一端仍未收到对端的Hello报文,则认为对端故障,会将对端状态设置为Offline。
一个物理集群形成后,由于成员设备之间相连的链路故障,导致Hello报文不可达,一个物理集群会分裂成两个物理集群,这个过程称为物理集群分裂。
如图8所示,分裂后的设备均作为Follower,不能管理物理集群上部署的容器。(业务由容器集群管理,物理集群分裂不会影响容器上业务的运行)
两个物理集群网络互联形成一个物理集群,这个过程称为物理集群合并。如图9所示,假设原本Device A和Device B构建了一个物理集群,其中Device B为Leader。当Device A和Device B之间的集群链路故障时,这个集群会分裂成两个集群r。当Device A和Device B之间的集群链路修复后,Device A和Device B之间能互相收到对方的投票请求报文,谁先收到投票响应,谁便当选为Leader,另一台设备则作为Follower。
图9 无Leader集群和无Leader集群合并
只有成员IP处于同一网段的物理集群才能合并为一个物理集群,成员IP处于不同网段的物理集群即便三层路由可达,也不会合并为一个物理集群。
(1) 成员容器的角色
容器集群中每个容器都称为成员容器。成员容器按照功能不同,分为两种角色:
¡ 主用容器(简称为主容器或Master):负责管理和控制整个容器集群。
¡ 从属容器(简称为从容器或Standby):处理业务、转发报文的同时作为主容器的备份容器运行。当主容器故障时,系统会自动从从容器中选举一个新的主容器接替原主容器工作。
一个容器集群中同时只能存在一台主用容器。当物理集群能正常工作时,主容器和从容器角色由物理集群中的Leader决定;当物理集群不能正常工作时,主容器和从容器均由角色选举产生。
(2) 成员容器编号(Container ID)
在容器集群中可能存在多个容器,成员容器的编号用来唯一标识一个容器。在云集群中,用成员设备的编号来唯一标识一台物理设备。成员容器运行在物理设备上,所以,成员容器的编号由物理集群的Leader统一分配。
(3) 容器集群域
域是一个逻辑概念,一个容器集群对应一个容器集群域。
为了适应各种组网应用,同一个网络里可以部署多个容器集群,容器集群之间使用域编号(DomainID)来区别。如图10所示,Device A和Device B组成容器集群1,Device C和Device D组成容器集群2。通过域编号划分不同的容器集群,可以保证两个容器集群的运行和业务互不干扰。
物理集群共用容器集群链路中的控制通道来传输物理集群控制报文。搭建容器集群网络,网络管理员需要在设备上通过命令行将物理接口和容器集群链路控制通道、数据通道绑定。云集群间将使用控制通道传输物理集群控制报文和容器集群控制报文,使用数据通道传输跨容器转发的数据报文。所以,容器集群的拓扑同物理集群的拓扑。
容器集群的连接拓扑有两种:链形连接和星形连接,如图11所示。
云集群平台Worker组件负责对容器的创建、删除。
ComwareV9容器是设备的基础容器,用于实现路由和转发功能,所以,设备缺省支持ComwareV9容器。目前,物理集群仅支持和ComwareV9容器联动并管理ComwareV9容器(例如决策ComwareV9容器集群中的主容器和从容器等)。物理集群上可以运行其它基于Docker技术的容器(Comware容器之外的容器),但不能组成容器集群。
容器集群构建流程如下:
(1) 设备上电后,自动启动ComwareV9容器,容器内的云集群平台Agent将容器的创建、删除事件通知云集群平台Worker组件。
(2) Worker组件将容器创建、删除事件转发给物理集群中的Leader。
(3) Leader根据节点物理资源情况,决定是否允许创建、删除容器。如果允许创建、删除容器,再确定容器的主从角色。先创建的容器为主容器,后创建的容器均为从容器。
(4) Leader通知Worker组件创建、删除容器。
(5) Worker组件创建、删除容器成功后,将创建、删除结果通知Leader。
(6) Leader更新维护的容器信息表(包括LIP、容器MAC等信息)和容器拓扑(包括Container ID、Member ID、容器MAC等信息),并将更新后的容器信息表和容器拓扑同步给云集群中的所有容器。
主容器角色选举会在以下情况下进行:
· 容器集群建立。
· 主容器离开或者故障。
· 容器集群分裂。
· 独立运行的两个容器集群合并为一个容器集群。
初次创建容器集群,或者重启整个容器集群,容器集群会按照容器启动的先后顺序,先启动的容器为主容器,其它后启动的容器为从容器。所以,容器集群整个重启后,可能会由其它容器当选为主容器。
主容器离开或者故障、容器集群分裂时,主容器角色选举过程中按照如下规则从前到后,依次比较,来选择主容器:
(1) 当前的主容器优先,即容器集群不会因为有新的成员容器加入而重新选举主容器,即使新的成员设备有更高优先级。该规则不适用于容器集群形成时,此时所有加入的设备都认为自己是主容器。
(2) 健康度取值越大的容器,优先当选为主容器。(容器健康度反映了设备真实的健康状态,周期获取。)
(3) 系统运行时间长的容器优先。在容器集群中,运行时间的度量精度为5秒,即如果设备的启动时间间隔小于等于5秒,则认为它们运行时间相等。
(4) CPU MAC地址小的容器优先。
通过以上规则选出的最优成员容器即为主容器,主容器确定身份后,会立即对外广播Hello报文,宣告自己的主容器身份和健康度等信息,其它容器收到该报文后,会停止角色选举,作为从容器运行。从容器会向主容器单播发送Hello报文,Hello报文中会携带本容器的角色、健康度等信息。主容器通过Hello报文收集到所有从容器的信息和拓扑,并将这些信息上报给Leader。容器集群信息更新完毕,主从容器间会周期发送Hello报文,来维护容器集群关系。
云集群支持双层选举主容器机制,提高了容器集群的可靠性和健壮性:
· 当物理集群正常运行时,由物理集群的Leader根据主容器角色选举规则来选举主容器。
· 当物理集群不能正常运行(没有Leader的时候)时,由容器集群自己根据主容器角色选举规则来选举主容器。
在角色选举完成后,容器集群形成,进入容器集群管理与维护阶段。
盒式设备虚拟化形成的容器集群相当于一台框式分布式设备,Master相当于虚拟设备的主用主控板,Standby设备相当于备用主控板(同时担任接口板的角色),如图12所示。
容器集群链路故障会导致一个容器集群分裂多个新的容器集群。这些容器集群业务配置冲突,例如管理IP、桥MAC、地址冲突等,导致故障在网络中扩大,影响网络中报文的转发。为了提高系统的可用性,当容器集群分裂时就需要一种机制,能够检测出网络中同时存在多个容器集群,并进行相应的处理,尽量降低容器集群分裂对业务的影响。MAD(Multi-Active Detection,多Active检测)就是这样一种检测和处理机制。MAD主要提供分裂检测、冲突处理和故障恢复功能。
云集群支持两种MAD:云集群平台MAD和容器内的LACP MAD。云集群优先采用云集群平台MAD,云集群平台MAD不工作时,采用LACP MAD。
图13 MAD类型比较
MAD类型 |
优势 |
限制 |
适用组网 |
云集群平台MAD |
物理集群自带功能,无需额外配置 |
对于支持物理集群链路共用容器集群链路,也支持专用物理集群链路的产品,只要物理集群链路up(物理集群未分裂),云集群平台MAD就能生效 |
所有云集群组网 |
LACP MAD |
· 检测速度快 · 云集群平台MAD的补充 |
需要使用H3C设备(支持扩展LACP协议报文)作为中间设备,每个成员容器需要和中间设备相连来传输LACP MAD检测报文 |
容器集群使用聚合链路和上行设备或下行设备连接 |
· 分裂检测
容器集群运行过程中,容器集群中的主容器和从容器之间会周期互相发送Hello报文,来维护集群关系。如果直到Hello报文超时,从容器仍未收到主容器的Hello报文,则认为主容器故障。
¡ 如果当前物理集群中有Leader,则Leader触发云集群平台MAD,云集群平台MAD判断容器集群发生了分裂并进行冲突处理。
如图14所示。物理设备Device A和Device B组成物理集群,每台设备上运行Comware容器,这些容器组成容器集群。当容器集群内部通信故障,如果直到Hello报文超时,从容器仍未收到主容器的Hello报文,则容器集群会分裂成容器集群1和容器集群2。但因为物理集群链路通畅,物理集群仍能正常工作。此时,就是云集群平台MAD来处理容器集群分裂。
图14 云集群平台MAD组网应用图
¡ 如果当前物理集群中无Leader,则未包含主容器的那个容器集群会根据主容器选举规则选举新的主容器。LACP MAD检测通过LACP(Link Aggregation Control Protocol,链路聚合控制协议)检测到同一容器集群域内有两个主容器,则认为容器集群发生了分裂。
如图15所示。物理设备Device A和Device B组成物理集群,每台设备上运行Comware容器,这些容器组成容器集群。当容器集群链路故障时,容器集群会分裂成容器集群1和容器集群2。物理集群链路共用容器集群链路,所以,物理集群也分裂了,物理集群中无Leader来处理MAD事件,由LACP MAD来处理容器集群分裂。
图15 LACP MAD组网应用图
· 云集群平台MAD冲突处理机制
云集群平台MAD检测到容器集群分裂,会进行以下冲突处理:
a. 健康度高的优先。
比较两个容器集群中主容器的健康度,健康度高的容器集群继续工作,其它容器集群迁移到Recovery状态(即禁用状态)。
b. Master运行时间长的容器优先。
c. Master的CPU MAC地址小的容器优先。
容器集群迁移到Recovery状态后会关闭该容器集群中所有成员容器上除保留端口以外的其它所有业务端口,以保证该容器集群不能再转发业务报文。保留端口可通过mad exclude interface命令配置。
· 容器内LACP MAD冲突处理机制
LACP MAD检测到容器集群分裂,会进行以下冲突处理:
a. 比较两个容器集群中主容器的健康度,健康度高的容器集群继续工作,其它容器集群迁移到Recovery状态(即禁用状态)。
b. 如果健康度相等,则主容器成员编号小的容器集群继续工作,其它容器集群迁移到Recovery状态。
容器集群迁移到Recovery状态后会关闭该容器集群中所有成员容器上除保留端口以外的其它所有业务端口,以保证该容器集群不能再转发业务报文。保留端口可通过mad exclude interface命令配置。
不管是云集群平台MAD还是LACP MAD,MAD故障恢复方式相同,包括两种:
(1) 修复故障链路,让分裂的容器集群自动合并。
(2) 如果链路仍未修复,但正常工作的容器集群也故障了,可执行mad restore命令启用Recovery状态的容器集群来应急。
容器集群链路故障导致容器集群分裂,从而引起多Active冲突。因此修复故障的容器集群链路,让冲突的容器集群重新合并为一个容器集群,就能恢复容器集群故障。
容器集群链路修复后,系统会自动重启处于Recovery状态的容器集群。重启后,原Recovery状态容器集群中所有成员容器以从容器身份加入原正常工作状态的容器集群,原Recovery状态容器集群中被强制关闭的业务接口会自动恢复到真实的物理状态,整个容器集群系统恢复,如图16所示。
请根据提示重启处于Recovery状态的容器集群,如果错误的重启了正常工作状态的容器集群,会导致合并后的容器集群仍然处于Recovery状态,所有成员设备的业务接口都会被关闭。此时,需要执行mad restore命令让整个容器集群系统恢复。
图16 MAD故障恢复(容器集群链路故障)
如果MAD故障还没来得及恢复而处于正常工作状态的容器集群也故障了(原因可能是设备故障或者上下行线路故障),如图17所示。此时可以在Recovery状态的容器集群上执行mad restore命令,让Recovery状态的容器集群恢复到正常状态,先接替原正常工作状态的容器集群工作。然后再修复故障的容器集群和链路。
图17 MAD故障恢复(容器集群链路故障修复前,正常工作状态的容器集群故障)
根据有没有启用MAD功能,容器集群合并分为以下两种情况:
· 如果物理集群能正常工作或者配置了LACP MAD功能,当容器集群链路故障,导致容器集群分裂时,云集群会让其中一个容器集群正常工作,另一个容器集群被禁用(处于Recovery状态)。如果这样分裂的两个容器集群之间的故障链路恢复,则这两个容器集群会自动合并。处于Recovery状态的容器集群会自动重启,并以从容器的身份加入当前正常运行的容器集群。
· 如果物理集群不能正常工作也未配置LACP MAD功能,当容器集群链路故障,导致容器集群分裂时,两个容器集群均正常工作(这种情况称为双主现象)。这种情况下,如果将两个容器集群之间的故障链路恢复,则这两个容器集群会自动合并。合并的时候会进行主容器竞选。竞选规则为:
a. 健康度取值越大的主容器获胜。
b. 系统运行时间长的主容器获胜。
c. CPU MAC地址小的主容器获胜。
主容器竞选获胜的容器集群继续工作,主容器竞选失败的容器集群自动重启并以从容器的身份加入竞选获胜的容器集群。
所有配置均提交给容器集群的Master设备处理,Master设备会将配置同步给容器集群中的Standby设备。对于物理集群的配置,Master会转化成系统内部的指令下发给物理集群。
容器集群的配置同步包括两个步骤:
(1) 初始化时,Master设备将配置批量同步给Standby设备。
(2) 稳定运行时,Master设备将配置实时同步给Standby设备。
协议运行在Comware容器内,协议热备份在容器集群中进行,负责将协议的配置信息以及支撑协议运行的数据(比如状态机或者会话表项等)备份到其它所有成员容器,从而使得云集群系统能够作为一台独立的设备在网络中运行。
以路由协议为例,如图18所示,云集群设备左侧网络使用的是RIP路由协议,右侧网络使用的是OSPF路由协议。当Master容器收到邻居路由器发送过来的Update报文时,一方面它会更新本地的路由表,同时它会立即将更新的路由表项以及协议状态信息发给其它所有成员容器,其它成员容器收到后会立即更新本地的路由表及协议状态,以保证云集群系统中各个容器上路由相关信息的严格同步。当Standby容器收到邻居路由器发送过来的Update报文时,Standby容器会将该报文交给Master容器处理。
当Master容器故障时,新选举的Master容器可以无缝地接手旧Master容器的工作,新的Master容器接收到邻居路由器过来的OSPF报文后,会将更新的路由表项以及协议状态信息发给其它所有成员容器,并不会影响云集群中OSPF协议的运行,如图19所示。这样就保证了当成员容器出现故障的时候,其它成员容器可以照常运行并迅速接管故障的容器功能,此时,域内路由协议不会随之出现中断,二三层转发流量和业务也不会出现中断,从而实现了不中断业务的故障保护和容器切换功能。
云集群采用聚合技术来实现集群链路的冗余备份。
首先,云集群将控制报文和数据报文分开,云集群的控制报文通过集群控制链路发送,云集群内跨设备的业务数据报文通过集群数据链路发送。建议集群控制链路和集群数据链路部署在不同的物理链路上,以便业务数据的突发不会影响控制报文的互通。
其次,将多个物理端口和集群控制链路绑定,云集群会自动将这些控制链路聚合;将多个物理端口和集群数据链路绑定,云集群会自动将这些数据链路聚合。同一聚合中的多条链路可以对报文进行负载分担,这样能够有效提高带宽,增强性能;同时,同一聚合中的多条链路之间互为备份,保证即使其中一条链路出现故障,也不影响云集群功能,从而提高了设备的可靠性。
客户端热备份功能需要与AP热备份功能配合使用,只有AP热备份功能和客户端热备份功能同时开启,客户端热备份功能才会生效。
AP热备份和客户端热备份的功能如下:
· 大型WLAN网络中通常需要多个AC来管理大量AP,各个AC独立工作管理难度大,且单台AC设备的故障将导致其下连接的无线网络服务中断。为了解决上述问题,可以将多台AC组成云集群,并在成员AC之间进行AP热备份,既能保证对AP进行统一管理,同时对AP的信息进行备份,又能保证在有AC出现故障时,保持AP在线和无线服务不中断。
· 开启AP热备份功能和客户端热备功能之后,Leader就能将其上连接的所有AP和客户端信息备份到Follower上。当Leader发生故障,Follower恢复Leader上的AP和客户端信息,使得客户端无需再次接入。
下面通过典型案例,介绍云集群的基本配置。
AC 1和AC 2通过直连链路建立云集群,AC 1作为主设备,云集群和核心交换机之间建立动态聚合链路,用于LACP MAD检测和业务报文的转发。
图20 云集群组网图
使用2台同型号的AC建立云集群。
如果通过其他组网方式升级为云集群,建议先清空AC的配置并重启设备,然后搭建集群组网,最后再配置其它业务。
云集群中成员设备的成员IP地址必须同网段,故云集群自身需要单独占用一个IP网段,且网络中不允许有其他设备业务IP是此网段,否则可能会导致云集群不通或业务异常,请依据实际情况提前规划。
· Core Switch 1和Core Switch 2为稳定运行的Comware V7 IRF系统。
· 请首先将AC 1和AC 2与交换机相连的业务接口通过shutdown命令关闭,防止在配置动态聚合前设备间产生环路,在集群建立完成并且动态聚合配置完成后再开启接口。
# 创建二层聚合接口1,并配置该聚合接口对应的聚合组工作在动态聚合模式下。
<Core> system-view
[Core] interface bridge-aggregation 1
[Core-Bridge-Aggregation1] link-aggregation mode dynamic
[Core-Bridge-Aggregation1] quit
# 将端口Ten-GigabitEthernet1/0/2加入到聚合组1中。
[Core] interface ten-gigabitethernet 1/0/2
[Core-Ten-GigabitEthernet1/0/1] port link-aggregation group 1
[Core-Ten-GigabitEthernet1/0/1] quit
# 将端口Ten-GigabitEthernet2/0/2加入到聚合组1中。
[Core] interface ten-gigabitethernet 2/0/2
[Core-Ten-GigabitEthernet1/0/2] port link-aggregation group 1
[Core-Ten-GigabitEthernet1/0/2] quit
# 开启聚合流量重定向功能。
[Core] link-aggregation lacp traffic-redirect-notification enable
(1) 配置设备在云集群中的成员编号
# 设备出厂默认的成员编号为1,故不需要配置。
(2) 配置设备在云集群中的成员IP
# 云集群中成员设备的成员IP地址必须同网段,故云集群自身需要单独占用一个IP网段,且网络中不允许有其他设备业务IP是此网段,否则可能会导致云集群不通或业务异常,请依据实际情况提前规划。本文以192.168.10.x/24举例。
[AC1-ccluster-member-1] member-ip 192.168.10.10 24
(3) 指定设备要加入的集群IP地址
# 集群IP地址即Leader的IP地址,本例中AC 1作为Leader,故不需要配置。
(4) 绑定云集群端口
# 云集群需要配置控制通道和数据通道的物理接口。在Gigabitethernet1/0/2和Gigabitethernet1/0/3上部署控制通道,以形成冗余备份。
[AC1-ccluster-member-1] cluster-link control bind interface GigabitEthernet 1/0/2
The system will shut down and then bring up the interface after activation the cloud cluster configuration. Continue? [Y/N]: y
[AC1-ccluster-member-1] cluster-link control bind interface GigabitEthernet 1/0/3
The system will shut down and then bring up the interface after activation the cloud cluster configuration. Continue? [Y/N]: y
# 在Ten-Gigabitethernet1/3/9上部署数据通道。为满足数据通道的带宽需求,推荐数据通道使用Ten-Gigabitethernet接口或至少2个Gigabitethernet接口。
[AC1-ccluster-member-1] cluster-link data bind interface Ten-GigabitEthernet 1/3/9
The system will shut down and then bring up the interface after activation the cloud cluster configuration. Continue? [Y/N]: y
[AC1-ccluster-member-1] quit
(5) 激活云集群配置
# 设备重启后配置生效。
[AC1] cloud-cluster configuration active
New cluster configuration:
cloud-cluster service-cluster domain 0
cloud-cluster hello cloud-timeout 3 service-timeout 5
cloud-cluster member 1
member-ip 192.168.10.10/24
join-cluster ip 192.168.10.10
role manager-worker
cluster-link control bind interface GigabitEthernet1/0/2
cluster-link data bind interface Ten-GigabitEthernet 1/3/9
The system will activate and save the configuration, and it might do a restart. Continue? [Y/N]:y
The current configuration will be written to the device. Are you sure? [Y/N]:y
Please input the file name(*.cfg)[flash:/startup.cfg]
(To leave the existing filename unchanged, press the enter key):test.cfg
(1) 配置设备在云集群中的成员编号
# 每台设备的成员编号必须在云集群内唯一,故将设备在云集群中的成员编号修改为2。在激活云集群配置后生效。
<AC2> system-view
[AC2] cloud-cluster member 1 renumber 2
This command will take effect after the cloud cluster configuration is activated. The command might result in configuration change or loss when it takes effect. Continue? [Y/N]: y
[AC2] cloud-cluster member 1
[AC2-ccluster-member-1]
(2) 配置设备在云集群中的成员IP
# 云集群中成员设备的成员IP地址必须同网段。
[AC2-ccluster-member-1] member-ip 192.168.10.11 24
(3) 指定设备要加入的集群IP地址
# 集群IP地址即Leader的IP地址,本例中AC 1作为Leader,IP地址为192.168.10.10。
[AC2-ccluster-member-1] join-cluster ip 192.168.10.10
(4) 绑定云集群端口
# 云集群需要配置控制通道和数据通道的物理接口。在Gigabitethernet1/0/2和Gigabitethernet1/0/3上部署控制通道,以形成冗余备份。
[AC2-ccluster-member-1] cluster-link control bind interface GigabitEthernet 1/0/2
The system will shut down and then bring up the interface after activation the cloud cluster configuration. Continue? [Y/N]: y
[AC2-ccluster-member-1] cluster-link control bind interface GigabitEthernet 1/0/3
The system will shut down and then bring up the interface after activation the cloud cluster configuration. Continue? [Y/N]: y
# 在Ten-Gigabitethernet1/3/9上部署数据通道。为满足数据通道的带宽需求,推荐数据通道使用Ten-Gigabitethernet接口或至少2个Gigabitethernet接口。
[AC2-ccluster-member-1] cluster-link data bind interface Ten-GigabitEthernet 1/3/9
The system will shut down and then bring up the interface after activation the cloud cluster configuration. Continue? [Y/N]: y
[AC2-ccluster-member-1] quit
(5) 激活云集群配置
# 设备重启后配置生效。
[AC2] cloud-cluster configuration active
New cluster configuration:
cloud-cluster service-cluster domain 0
cloud-cluster hello cloud-timeout 3 service-timeout 5
cloud-cluster member 2
member-ip 192.168.10.11/24
join-cluster ip 192.168.10.10
role manager-worker
cluster-link control bind interface GigabitEthernet2/0/2
cluster-link data bind interface Ten-GigabitEthernet 2/3/9
The system will activate and save the configuration, and it might do a restart. Continue? [Y/N]:y
The current configuration will be written to the device. Are you sure? [Y/N]:y
Please input the file name(*.cfg)[flash:/startup.cfg]
(To leave the existing filename unchanged, press the enter key):test.cfg
# 创建二层聚合接口1,并配置该聚合接口对应的聚合组工作在动态聚合模式下。
<AC1> system-view
[AC1] interface bridge-aggregation 1
[AC1-Bridge-Aggregation1] link-aggregation mode dynamic
# 开启LACP MAD检测功能。
[AC1-Bridge-Aggregation1] mad enable
You need to assign a domain ID (range: 0-4294967295)
[Current domain ID is: 0]: 1
The assigned domain ID is: 1
[AC1-Bridge-Aggregation1] quit
# 将端口Ten-GigabitEthernet1/3/10加入到聚合组1中。
[AC1] interface ten-gigabitethernet 1/3/10
[AC1-Ten-GigabitEthernet1/3/10] port link-aggregation group 1
[AC1-Ten-GigabitEthernet1/3/10] quit
# 将端口Ten-GigabitEthernet2/3/10加入到聚合组1中。
[AC1] interface ten-gigabitethernet 2/3/10
[AC1-Ten-GigabitEthernet2/3/10] port link-aggregation group 1
[AC1-Ten-GigabitEthernet2/3/10] quit
# 配置AP热备份功能
<AC1> system-view
[AC1] wlan ap-backup hot-backup enable global
This operation will enable fast switchover for AP backup.
# 配置客户端热备份功能
[AC1] wlan client-backup hot-backup enable
# 显示物理集群的相关信息,可以看到物理集群中有两台设备,AC 1是Leader,AC 2是Follower。
<AC1> display cloud-cluster
Manager list:
Member ID Role Member IP State Heartbeat(ms)
1 Leader 192.168.10.10 online 100
2 Follower 192.168.10.11 online 0
Worker list:
Member ID State Heartbeat(ms) Joined at
1 online 100 2023-02-12 06:13:28
2 online 200 2023-02-12 06:13:28
# 显示容器集群的相关信息,可以看到AC 1上的容器为Master,AC 2上的容器是Standby。
<AC1> display cloud-cluster service-cluster container
Container ID Slot ID Member ID Role Status
1 1 1 Master Online
2 2 2 Standby Online
云集群技术推荐使用表1所示的无线控制器。
产品型号 |
软件版本 |
WX3510X |
E1404P01及以上版本 |
WX3520X |
E1404P01及以上版本 |
WX3540X |
E1404P01及以上版本 |