ComwareV7体系结构技术白皮书Copyright2014杭州华三通信技术有限公司版权所有,保留一切权利.
非经本公司书面许可,任何单位和个人不得擅自摘抄、复制本文档内容的部分或全部,并不得以任何形式传播.
本文档中的信息可能变动,恕不另行通知.
i目录1概述12ComwareV7体系结构·22.
1ComwareV7系统构成·22.
2模块化32.
3分布式42.
3.
1分布式架构·42.
3.
2分布式计算·52.
4高可用性·62.
4.
1高可用性架构·62.
4.
2进程级GR82.
4.
3系统高可用性·92.
5虚拟化102.
5.
1IRF(N:1)102.
5.
2MDC(1:N)132.
5.
3Hybrid(N:M)142.
6ISSU·152.
6.
1升级方式152.
6.
2ISSU过程·152.
6.
3增量升级162.
6.
4软重启·172.
7EAA182.
8数据中心特性·202.
8.
1TRILL·202.
8.
2以太网互联·202.
8.
3EVB212.
8.
4FCoE213ComwareV7主要特点·223.
1统一的系统223.
2全面的虚拟化·233.
3高性能233.
4高可靠性·233.
5弹性·233.
6开放性24ii3.
7延续性2411概述Comware从诞生之日起就定位在用于网络设备的网络操作系统,所有功能都是针对网络设备设计,更加有针对性.
Comware包含了设备上全部软件功能,使得设备上只需要使用Comware单一系统就可以支持设备的全部软件功能.
另外从低端到高端,以及各种类型的网络设备均只使用Comware单一的网络操作系统,保证了功能的一致.
在此前提下,Comware的发展主要有两个方面:功能的不断丰富:针对网络技术的发展以及设备应用场合的变化,增加新功能的支持,以适应不断变化的用户需求.
体系结构的不断完善:使得系统更加简洁、通用及开放,以适应不同类型设备的要求以及网络设备的发展.
Comware发展到V5版本已经是一个非常完善的单进程多任务的网络操作系统,在非常广泛的网络设备上得到了使用.
要更进一步发展,就是要实现完全的模块化,以解决单进程无法解决的问题;同时提高系统的开放性.
ComwareV7就是为了解决这些问题开发的全新的系统.
其采用多进程的实现方式,实现了完全的模块化.
通过模块化使得系统在可靠性、虚拟化、多核多CPU应用、分布式计算、动态加载升级等方面都有了很大的改进.
同时,ComwareV7使用了主流的Linux操作系统,使得网络操作系统从一个封闭的专用系统向更加通用、开放转变.
ComwareV7在一些细节上也进行了改进,例如使用抢先的调度,提高了系统的实时性.
ComwareV7还对功能进行了完善.
其完善了虚拟化功能,增加了N:1的虚拟化功能;进一步完善了ISSU机制,使得接口板软件升级也可以做到业务不中断;完善了辅助CPU、OAA等功能,使得设备更加容易扩展功能.
ComwareV7也增加了对包括TRILL、EVB、EVI在内的多种新技术的支持,使得使用ComwareV7的设备更加便于数据中心等网络的部署.
22ComwareV7体系结构2.
1ComwareV7系统构成图1ComwareV7体系结构ComwareV7包括4个平面:管理平面、控制平面、数据平面和基础设施平面.
1.
基础设施平面基础设施平面在操作系统的基础上提供业务运行的软件基础,包括操作系统基础服务和业务支撑功能.
基础服务功能是与业务无关的各种软件功能,包括Linux操作系统的各种基本功能,C语言库函数,数据结构操作,标准算法等.
业务支撑系统是整个系统业务运行的基础,为Comware各进程提供软件和业务基础设施,后面提到的各种系统架构中涉及的基础功能均在这部分提供.
2.
数据平面数据平面提供数据报文转发功能,包括本地报文的收发,即IPv4/IPv6协议栈、socket、基于各层转发表的数据转发功能等.
3.
控制平面控制平面运行路由、MPLS、链路层、安全等各种路由、信令和控制协议,生成各种转发表项以控制数据平面的转发行为.
4.
管理平面管理平面对外提供设备的管理接口,如Telnet、SSH、SNMP、HTTP和WebServices等.
通过管理平面,实现人机交互,对ComwareV7进行设置、监控、管理.
ManagementPlaneControlPlaneDataPlaneInfrastructureplane32.
2模块化图2ComwareV7模块化体系结构ComwareV7采用模块化设计,实现了全面的模块化功能.
ComvareV7基于Linux内核,各个网络服务功能分别运行各自的进程,实现模块化.
Linux天然支持多进程的调度,进程间运行空间隔离,单个进程的异常不会影响系统其他部分,提高了系统的可靠性.
Linux中各线程采用抢先的调度,保证各种服务及时得到处理.
同时Linux在多核、多CPU以及SMP(SymmetricalMulti-Processing,对称多处理)技术方面也有很好的支持,可以发挥多CPU的作用.
模块化的设计使得ComwareV7的体系结构完全不同于以前版本,在很多方面有了新变化.
进程隔离ComwareV7中各个特性均运行于独立的进程,相互内存隔离,提高了系统的可靠性.
同时对每个进程还可以分别管理,这种精细化的管理更利于系统整体的稳定和性能.
多核支持ComwareV7对多核的支持不再仅限于数据平面,可以全面的支持Multi-coreCPU及SMP技术.
模块化的实现,使得可以通过Linux的调度直接完成线程间的并行运行,从而发挥多CPU的作用,可以通过增加CPU个数提高系统整体性能.
通过运算性能的提高,使路由更快的收敛;同时在出现在异常时,减少了恢复时间,增强系统可用性.
ComwareV7系统还支持将指定进程集合运行在专用的CPUSet上,为关键任务的运行提供资源保障.
配合线程的抢先调度,及合理的优先级设置,保证系统CPU负荷高时,有实时性要求的功能仍然可以及时响应事件进行处理.
通过控制平面支持多核,可以在多核上完成以前必须由辅助CPU完成的功能,减少了对硬件的依赖,简化了软件运行.
按需运行MDCManagerMulticastIPCProcessruntimeMonitorHighAvailabilityFrameworkChassis/systemManagementDistributedInfrastructureHardwareDriversLinuxKernelLDPRSVP‐TEVPLSL2VPNL3VPNMPLSOAM…802.
1xLLDPMSTPLACPGARPIGSP…FTPSSHDHCPRadiusSNMPHTTPD…RIPOSPFv2IS‐IS4BGP4GRIPFRR…MDC1#……RIPngOSPFv3IS‐IS6BGP4+GR…UserspaceKernelspacePIMDMPIMSMPIMSSMMSDPAnycastRPMVPN…LDPRSVP‐TEVPLSL2VPNL3VPNMPLSOAM…802.
1xLLDPMSTPLACPGARPIGSP…FTPSSHDHCPRadiusSNMPHTTPD…RIPOSPFv2IS‐IS4BGP4GRIPFRR…MDCn#RIPngOSPFv3IS‐IS6BGP4+GR…PIMDMPIMSMPIMSSMMSDPAnycastRPMVPN………4模块化以后,进程可以做到动态加载,只加载运行需要的功能,当前未使用的功能完全不占用系统资源,提高系统性能.
同时由于不使用的功能完全不运行,使得这些功能既不会影响系统运行,也不会遭受攻击,提高了系统的安全性.
模块升级模块化后可对单个特性进行升级,使得升级操作对系统的影响降到最小.
模块化对系统的扩展性也有很大好处,在不影响系统运行的情况下可以很容易地添加新功能.
裁减性模块化的结构使得ComwareV7中各个进程是分别独立的可执行程序,这样每个特性天然就是相互独立存在的,因此裁减变得更加简单,无需重新编译,只需要将所需功能打包即可完成裁减.
多包发布如果产品需要,ComwareV7的版本可以以多个包的形式发布.
即一个基础包及多个功能包.
与裁减类似,这也是模块化带来的便利.
基于功能的License还可以基于功能提供License,使得Comware软件使用更加灵活,避免无关功能的干扰.
开放接口ComwareV7模块化的结构确保可以运行各种应用程序,同时还可以以动态链接库的形式提供编程接口,这些为用户提供了编写在ComwareV7系统上运行的第三方程序的可能,即ComwareV7开放编程接口,供用户编写个性化的、在ComwareV7系统上运行的程序.
这种方式比以前的OAA功能更加灵活.
2.
3分布式2.
3.
1分布式架构ComwareV7虽然支持各种硬件形态,以及虚拟化等不同分布式结构的设备,但只有单一的分布式架构.
ComwareV7的分布式架构将系统抽象为逻辑上全连接的多节点协同工作的体系结构.
节点分为具有全部功能的主控系统节点及只有节点本地处理功能的接口板系统节点.
此软件系统架构与拓扑无关.
这样保证软件在各设备处理一致,增强了软件适应多种网络设备的扩展性及稳定性.
5图3ComwareV7分布式逻辑结构ComwareV7的分布式架构与以前架构最大的区别在于所有的主控系统节点不再是原来一主多备的形式,而是多个主控系统负载分担.
由于实现了模块化,各进程分别运行,因此各个控制进程可以分别运行在不同的节点,实现控制平面分布式.
2.
3.
2分布式计算在ComwareV7的分布式架构下,通过合理的进程划分及协同工作,可以实现多种分布式运算方式,最大限度的利用系统资源,有效提高系统整体性能.
1.
按相关硬件分布每一个单板上都有一些功能仅仅是对本单板的控制,相关处理可以在单板上运行,实现分布式计算.
例如链路层协议与接口相关,可以分布到各个接口所在单板自治运行.
图4分布式计算一2.
按特性分布一些功能是针对整个系统提供服务的,这种功能一般运行在主控系统,例如路由协议、VLAN功能.
很多系统将这样的服务运行在同一主控板,而其他主控板作为备份.
这种方式对主用主控板的压力很大,限制了系统整体的处理能力.
ComwareV7可以将这些功能运行于不同的主控系统.
即每个主控系统既是主用主控板也是备用主控板,运行一些服务的主进程,同时运行另外一些服务的备用进程.
运行的具体位置可以由用户指定,也可以由分布式架构层根据当前运行情况自动决定.
这样……1I/O1231I/O2231I/O3236将各全局服务的主程序分布到不同的主控系统,可以有效的分担各CPU的压力,提高系统的整体性能.
图5分布式计算二3.
特性分布计算以特性服务为粒度的分布式计算,在一些场合仍然不能发挥系统整体性能,例如只有一两个服务在大量使用,而其他服务占用CPU比例很少,这样无论将这一两个服务运行在哪个CPU上都会造成分布处理的不均衡,降低并行处理效果.
为了解决这个问题,ComwareV7中一些计算量大的全局服务可以实现单一特性的分布式计算.
一种方式是通过进一步拆分子功能,将子功能分布到不同主控系统运行,实现单一全局服务的分布式计算.
但多数情况下功能内部的子功能间数据交互比较多,不利于并行处理.
另一种常用的方法是针对不同控制对象分布到不同处理节点进行分布式处理.
由于不同对象间的相关性比较小,因此具有很好的并行效果,有效提高系统性能.
例如,BGP协议可以根据不同的Peer,分布到不同节点处理.
图6分布式计算三2.
4高可用性2.
4.
1高可用性架构系统的高可用性的目标是减少系统出现的故障,并在出现故障时减少对系统业务的影响.
ComwareV7通过迅速感知系统中各种服务进程发生的故障,并且快速恢复服务,从而提高系统的可用性.
系统可用性是涉及系统中各个服务进程的功能,需要各进程配合实现,ComwareV7为此设计实现了一种高可用性架构,为各进程服务,确保各进程提高可用性,并为各种进程的高可用性确定了统一的标准.
11Main2Main123876248571Main1235461Main2235461Main3235467ComwareV7高可用架构中,各种服务进程可以使用三个系统功能:可靠的进程间通信、高可用性控制、实时数据库.
图7高可用性架构2.
可靠的进程间通信——IPCComwareV7提供了可靠的进程间通信.
完成可靠的跨节点的进程间单播、组播通信,保证在主备进程间,以及不同进程间可靠高效的数据同步.
同时提供了通信的迁移功能,通信的一端迁移时可以无损切换.
即,一个进程在软件升级等场景进行可控的倒换时,与此进程进行通信的进程不感知此倒换的发生,转而与倒换后新的进程通信,所有通信数据连续不丢失.
3.
高可用性控制——HA高可用性控制功能维护各组主备进程,进行主备选举,对进程进行异常监控,发现异常及时进行主备倒换,并恢复故障的进程.
高可用性控制功能还提供主备进程间专用的备份通道.
4.
实时数据库——DBMDBM(Databaseinmemory,内存数据库)为嵌入式实时数据库,为各进程提供可靠的进程外的数据存储.
进程实时将变化数据更新到数据库,数据在进程退出或异常时不丢失.
数据库可在进程重新运行时用于数据恢复.
node1node2DBMHAProcess(active)图中红色箭头为HA系统的控制消息,蓝色箭头为进程间消息ProcessProcess(standby)IPCIPCDBMHA8图8内存数据库DBM示意图此数据库为内存数据库,保证数据高效存取,采用Non-SQL数据库设计,彻底解决数据库性能问题.
数据库在为各进程的高可用性提供服务的同时,自身也具有高可靠性.
一方面其支持自动的数据备份,保证主备倒换时数据的一致;另一方面,在需要的时候可以将数据持久化保存到其他存储介质中,确保在更加恶劣的情况下数据不丢失.
数据库的存储方式对应用透明,使得高可用性架构更加通用,适用于不同的设备形态,并且扩展性更强.
2.
4.
2进程级GRComwareV7中各后台守护进程均需要使用高可用性架构,实现自身功能的高可用.
ComwareV7采用进程级的GR技术,实现进程级的高可用性.
即每个进程运行过程中进行备份,重启时,与此进程相关的软硬件均不删除此进程的相关数据,待进程重新运行,恢复自身数据后,与相关软、硬件进行数据平滑,保证运行状态一致,继续运行.
整个重启过程中业务不中断,系统其他部分功能不受影响,邻居设备不感知此过程.
异常重启的服务只在重启期间不提供服务,重启后马上恢复服务,且不影响重启前正在进行中的服务.
进程级GR的冗余备份有两种方式:数据的备份和进程的备份.
根据备份方式不同,进程级GR分为单进程的GR和主备进程的GR.
单进程的GR:进程运行过程中将必要的数据进行备份,备份数据保存在本地的内存数据库中.
当系统发现进程故障时,自动重启.
进程重新启动后使用备份的数据恢复运行,最后与系统中其他相关进程交互数据,以弥补重启期间可能缺失的变化事件,完成整个恢复过程.
这种方式对系统的要求少,占用资源少,一般用在盒式设备的进程或分布式设备接口板的进程上.
node1DBMIPCProtocolStackProcessnode2IPCdataDBMdata9图9单进程GR主备进程的GR:提供备份进程的运行,实时接收主进程的状态,以随时准备接替主进程运行.
当系统发现主进程故障后自动重启,但无需等待其重启,备进程将升级为主进程,直接接替工作.
当故障进程重启完成后,将工作在备状态,以备进程身份运行.
这种方式相对于单进程的GR,恢复时间更短,可用性更高,但占用资源稍多,一般分布式系统的主控板进程使用此方式.
图10主备进程的GR通过支持进程级的GR,使得系统中的各进程可以自行进行平滑的重启恢复.
这不仅提高了系统可用性,而且不会对网络上其他节点的协议运行造成影响.
如果是路由协议进程发生异常重启,通过路由进程的GR,不会影响数据平面,网络上其他设备也不会感知此异常的发生,实现NSR功能.
2.
4.
3系统高可用性当更恶劣的故障发生,需要重启系统时,可以通过主备系统的倒换实现高可用性.
即同时在主用主控板及备用主控板运行主用系统及备用系统,当主用系统发生故障时,自动进行倒换,备用系统直接接替其工作.
原来的主用系统重启后,重新以备用系统身份运行.
系统级的高可靠性在网络操作系统中是产生比较早的技术.
随着新技术的不断产生,需要使用系统级高可靠性的场合越来越少,另一方面系统级倒换对系统运行的影响范围也越来越小.
以前,系统级的倒换基本上是解决软件故障的唯一办法.
随着进程级GR功能的出现,大部分的软件故障可以通过进程级的GR修复,无需进行整系统的倒换.
这样大大减小了需要系统级倒换的场景,提高了整个系统的可用性.
另外随着技术的发展,目前的主备系统与传统意义上的主备系统也有很大区别.
在ComwareV7上,实现了控制平面分布式功能,可以将控制进程的主进程运行在不同的控制单元上,即原来意义上的主、备系统上均运行了部分控制进程的主进程.
当一个主控单元发生故障时,只有运行在发生故障的控制单元上的主进程才会受到影响.
这样大大减小了系统级倒换对整个系统的影响范围.
Process1HAProcess2ProcessnProcess1HAProcess2ProcessnHAProcess2ProcessnProcess1HAProcess2ProcessnProcess1HAProcess2ProcessnProcess1HAProcess2ProcessnHAProcess1Process2ProcessnactivestandbyHAProcess2ProcessnHAProcess1Process2ProcessnProcess1HAProcess2ProcessnHAProcess1Process2Processnactiveactivestandbystandbyactiveactivestandby10图11控制平面分布式对高可用性的影响ComwareV7的MDC技术可以将一个设备虚拟成多个逻辑设备使用.
支持MDC后,每个控制节点被虚拟成了多个虚拟控制系统.
在一个虚拟系统出现故障,需要系统倒换时,也不会影响其他逻辑设备的运行,进一步减少了系统级倒换对设备的影响.
2.
5虚拟化对于系统虚拟化有两种相反的方式,一种是将多个物理设备虚拟为一个逻辑设备,称为N:1的虚拟化;另一种是将一个物理设备虚拟为多个逻辑设备,称为1:N的虚拟化.
ComwareV7同时支持这两种虚拟化,并且支持两种虚拟化的混合使用.
2.
5.
1IRF(N:1)IRF堆叠是将多台设备通过堆叠口连接在一起形成一台虚拟的逻辑设备的技术.
此逻辑设备在管理上可以看作是单一实体,用户使用Console口或者Telnet方式登录到IRF中的成员设备,可以对整个IRF进行管理和配置.
逻辑设备在网络中也相当于一台单一的设备运行,无论对控制协议还是数据转发来说,都是网络中的单一节点.
IRF是一种通用的N:1虚拟化技术,可以应用于多种类型的网络设备,进行多种形式的虚拟化:可以进行同种设备的虚拟化:将多个盒式设备进行堆叠,形成一个分布式的设备,每个盒式设备相当于逻辑的分布式设备的一个主控板;将多个分布式框式设备进行堆叠,形成具有更多的主控板、接口板的分布式设备;进行核心设备的级联.
可以进行异种设备的虚拟化:将盒式设备与其他设备连接,作为逻辑设备的一个接口板使用.
1Main123546Main2Main3781235467812354678Main2Main31235467812354678Main2Main312354678123546781Main1235467811图12IRF虚拟化IRF技术忽略拓扑的差异,将各种方式连接的多个物理设备虚拟为有多个主控系统和接口板系统的普通分布式设备.
由于IRF技术产生的逻辑设备与普通分布式物理设备相同,因此在功能上没有任何损失,可以支持普通设备的全部功能.
并且每个功能在IRF逻辑设备与普通物理设备上没有任何差异,用户可以像使用普通设备一样使用IRF生成的逻辑设备,这样给用户的管理和维护带来很大的方便.
IRFIRFIRF多台盒式设备堆叠多台分布式式设备堆叠异种设备堆叠12图13IRF形成的逻辑设备由于通过IRF技术可以将较低端的设备虚拟成为一个相对高端的设备使用,因此IRF同时具有了高端设备和低端设备的优点.
一方面可以像高端设备一样具有更高的端口密度和带宽,以及主备主控板冗余保护的功能,具有更高的可用性.
另一方面成本却像低端设备一样低廉.
IRF虚拟化保留了被虚拟化的物理设备的全部能力,对原有设备能力的发挥没有任何限制.
例如,对于分布式设备,本身就具有主备主控板的冗余保护功能,将分布式设备堆叠时,原有的主备主控板保护功能仍然起作用,IRF技术只是在原有可用性功能的基础上进一步提高了系统可用性.
IRF链路故障会导致一个IRF变成两个新的IRF,这两个IRF拥有相同的IP地址等三层配置,会引起地址冲突,导致故障在网络中扩大.
ComwareV7可以通过LACP、ND、ARP、BFD等多种方式快速检测出这种故障,以避免冲突的发生.
总之,IRF作为一种N:1虚拟化技术,可以简化网络,使得网络更加易于管理,同时具有强大的扩展能力,保护用户投资,对系统的可靠性、性能也有很大提升.
IRF技术在支持设备类型的广度上,以及功能的全面性上也有自己的特点.
MainMainI/OI/OI/OI/OMainMainI/OI/OI/OI/OMainMainMainMainMainMainI/OI/OI/OI/OMainMainI/OI/OI/OI/OMainMainI/OI/OI/OI/OMainMainI/OI/OI/OI/OMainMainI/OI/OI/OI/OMainMainI/OI/OI/OI/OI/OI/OI/O132.
5.
2MDC(1:N)图14MDC虚拟化MDC技术是一种完全的1:N虚拟化技术.
从软件上看,其将网络操作系统的数据平面、控制平面、管理平面进行了完全的虚拟化,形成多个虚拟的逻辑设备.
各用户态进程每个逻辑设备独立启动运行,各逻辑设备虽然共用一个内核,但内核中逻辑设备间数据也是分离的.
在硬件上,不仅可以将端口、单板划分到独立的逻辑设备使用,对每个逻辑设备占有的存储空间、CPU等资源也进行了划分.
使得逻辑设备非常接近于一个单独的物理设备.
逻辑设备上具有完全的设备功能,甚至可以像重启一台物理设备一样,单独重启一个逻辑设备,而不影响物理设备上其他逻辑设备的正常运行.
MDC的软件架构如图14所示.
ComwareV7的模块化实现,保证每个逻辑设备可以分别运行自己的控制协议进程,每个逻辑设备的控制平面完全隔离,独立运行.
一个逻辑设备的进程异常,对其他逻辑设备完全不会造成影响.
另外每个逻辑设备还有单独预留的内存空间,既保证了每个逻辑设备有基本的内存空间可以正常运行,又不会由于一个逻辑设备过渡占有内存而影响其他逻辑设备的运行,进一步为设备正常工作提供了保障.
在数据转发方面,各逻辑设备有独立的转发表及协议栈,每个物理端口可以被一个逻辑设备独占使用,因此各逻辑设备的数据流不会相互干扰.
每个逻辑设备还有单独的配置文件和管理用户,可以对逻辑设备独立管理.
逻辑设备的管理用户只能登录到对应的逻辑设备,对此逻辑设备进行控制,而对其他逻辑设备没有管理权限.
当对一个逻辑设备进行管理时,完全不会影响其他逻辑设备的运行.
由于管理用户只对一个逻辑设备进行控制,也简化了管理环境,降低了维护难度.
在对逻辑设备进行管理时,无论命令形式,还是命令的效果,都与使用一个独立的设备没有区别,这样方便了用户使用,减少了学习、培训成本.
另外每个逻辑设备内有各自的基础设施功能,保证各程序在逻辑设备内运行与在物理设备上运行没有差异.
总之,各逻辑设备软件完全隔离.
即使是用于管理的缺省MDC也无法直接控制其他逻辑设备,只能登录到其他逻辑设备的控制台,对其他逻辑设备进行管理.
每个逻辑设备的硬件资源由缺省MDC统一管理,分配给其他逻辑设备使用.
其中,管理网口由于只有一个,但每个逻辑设备均需要使用,因此管理网口被自动虚拟化成了每逻辑设备的管理网口.
在缺省MDC中创建一个新的逻辑设备,为其指定运行的槽位、分配使用的接口、CPU等资源后就可以启动一个新的逻辑设备运行.
然后登录到这个逻辑设备上进行配置,使能所需功能.
逻辑设备运行时只会看到分配给此逻辑设备的资源,只在指定的槽位上运行,数据同步也只会在逻辑设备内的各单板之间进行,与此逻辑设备不相关的单板不会收到此逻辑设备的任何信息.
MDC14图15逻辑设备数据同步使用MDC技术产生的逻辑设备如同一个独立的设备,其具有独立设备的全部功能.
逻辑设备具有与物理设备相同的高可用性功能,可以进行逻辑设备内进程的GR,以及逻辑设备内系统级的倒换恢复,不会影响其他逻辑设备运行.
每个逻辑设备可以使用VRF功能,在逻辑设备上划分出多个独立的VPN路由、转发表,以及使用VLAN功能划分多个VLAN,形成多重的虚拟化,进一步提升设备的虚拟化能力.
各逻辑设备提供的功能不受其他逻辑设备影响,例如不同逻辑设备可以创建相同的VLAN.
使用MDC技术可以方便地将一个物理网络虚拟成多个不同用途网络使用,适用于划分不同安全等级的网络、提供独立的网络服务以及网络预部署等场合.
同时,使用MDC技术还可以用于网络技术培训,将一台设备虚拟为多台设备供多人分别使用,可以有效的提高设备使用效率,降低成本.
2.
5.
3Hybrid(N:M)ComwareV7还支持两种虚拟技术的混合使用,可以将物理设备组合成需要的逻辑设备使用.
即,可以将多个设备通过IRF技术形成一个大的虚拟的逻辑设备,再通过MDC技术将此逻辑设备进一步分割为多个虚拟设备使用.
图16虚拟化的混合使用IRFMDC15这两个技术一起使用可以最大限度的整合设备资源,将设备按照组网需要虚拟成逻辑设备使用,提高设备的使用效率.
另一方面通过两种虚拟化技术一起使用可以同时获得两种技术的优点.
例如,使得每个逻辑设备同时获得IRF的主备主控板保护,相对于使用单个设备组网,提高了可用性.
两个技术的混合使用,还提高了系统的扩展性和使用的灵活性.
在已经使用MDC技术的设备上,可以通过IRF技术在不改变网络部署的情况下扩展设备的端口数、带宽及处理能力.
而在已经使用IRF技术的场合,再使用MDC功能时也无需重新构建网络,可以直接在IRF的基础上使用MDC功能,部署新的网络,对现有网络不产生任何影响.
2.
6ISSUISSU即不中断业务升级.
与出现故障的不可预知不同,系统软件升级是一种人为因素.
由于全部在操作员的控制下进行,因此与出现故障相比,系统升级对系统冲击更小.
2.
6.
1升级方式1.
补丁补丁用来修复某个缺陷的程序包.
ComwareV7支持对软件各个部分添加补丁.
添加补丁无需重启系统任何部分,对系统运行没有影响.
当然对于功能的升级一般不通过补丁方式进行.
2.
功能包升级ComwareV7为了方便用户使用,可以将整个ComwareV7软件分为多个软件包,即包含一个基础软件包和多个功能包.
这样一般的升级只需要加载功能包,使得升级更有针对性,减少了对系统不必要的影响.
3.
基础包升级当版本差异涉及基础包时需要进行基础包的升级.
有些低端产品功能单一,也可以不划分功能包与基础包,只有一个包发布,这样每次升级时都相当于基础包升级.
2.
6.
2ISSU过程对于集中式产品以及分布式的单主控板场景,ISSU时直接针对所有单板升级.
对于有主备板保护的分布式场景,ComwareV7的ISSU通过依次升级各板保证升级过程的平稳、可靠进行.
通过主控板的交替升级,始终保证至少一个主控系统对整个系统进行控制.
16图17ISSU过程升级时首先对备板进行升级,完成后进行主备倒换,同时完成主板及各个接口板的升级,在此过程中均可以进行回退,恢复使用原有版本.
如果确定使用新的版本,最后需要进行确认,完成整个升级过程.
2.
6.
3增量升级由于ComwareV7系统采用了模块化的设计,多数情况并不需要重启整个软件进行升级,只需要升级受影响的模块.
这样使得上面ISSU过程中的各个步骤对系统冲击更小,可以在系统运行过程中完成软件升级,达到更加完美的ISSU.
ComwareV7的这种升级称为增量升级,其可以在升级时自动比较出升级版本与当前版本的差异.
如果差异不涉及核心部分,可以在系统运行过程中直接进行差异部分的升级,否则才进行整个软件的重启升级.
在增量升级时涉及的新增功能不会对当前系统运行造成任何影响,而对于正在运行功能的升级通过进程级的GR完成,以保证升级时业务不中断.
图18增量升级示意图mainoldslaveoldiooldiooldiooldmainoldslavenewiooldiooldiooldslavenewmainnewionewionewionewslavenewmainnewionewionewionewactivateslaveactivatemaincommitrollbackProcess1HAProcess2ProcessnHAProcess1Process2ProcessnactivestandbyHAProcess2ProcessnHAProcess1Process2ProcessnProcess1HAProcess2ProcessnHAProcess1Process2ProcessnactiveactivestandbystandbyactiveactivestandbyProcess1HAProcess2ProcessnHAProcess2ProcessnProcess1HAProcess2ProcessnProcess1activestandbyHAProcess2ProcessnHAProcess1Process2Processn17如上图,进程1升级时,在分布式场景与集中式场景都不会对其他进程的运行造成影响,而进程1自身通过进程级的GR技术,平滑升级.
2.
6.
4软重启如果升级涉及软件核心部分,对每个单板升级需要经历停止整个软件运行、开始运行新版本软件的过程.
依靠ISSU过程中保证的至少有一个主控板正常运行,全局控制可以通过系统级的高可用性技术达到业务不中断.
而如何保障升级过程中被升级单板本地的业务不中断是ISSU中很关键又是比较困难的一点.
以前的技术都是尽量将这个时间缩短,但无论将时间缩短到什么程度,硬件转发都要经历一次中断,完成新老版本软件控制权的交替.
ComwareV7采用了一种软重启技术,从根本上解决了这个问题.
在软件升级过程中,硬件状态一直保持不变,按照原有转发表项进行数据转发.
即使数据包需要经过软件重启的单板,在此过程中也不会影响系统中未重启部分软件的数据收发.
因此不影响系统其他部分的控制功能.
对于升级部分的软件,重启前将状态数据保存到非易失存储介质中,当新版本软件开始运行后,ComwareV7软件通过版本间兼容的数据恢复,继续程序的运行,直接接管对硬件的控制.
更进一步的,为了防止升级过程中,由于控制程序短暂停止工作,造成不必要的网络动荡,ComwareV7还增加了协议代理功能,在整个系统中选择一个正常运行的单板启动协议代理服务,对升级软件中时间敏感的协议,临时交由代理服务帮助处理.
软重启过程如下:(1)运行时各进程根据需要将运行状态数据实时保存到数据库中.
(2)软重启前将数据持久化,即将数据保存到非易失存储介质中.
启动代理服务,通知代理接管部分控制功能.
完成数据接收位置的切换,将本板硬件接收的到本机的数据报文重定向到其他单板,以保证重启过程中未重启部分正常的报文收发.
(3)进行软件重启,停止老版本软件运行,加载运行新版本软件.
重启过程中由于硬件未复位,因此流量不中断.
重启前的准备保证了其他板控制不中断,协议代理完成重启板协议保活.
(4)新版本启动后,数据库恢复先期保存到非易失存储介质中的数据.
(5)各进程启动,从数据库恢复数据,通知代理不再接管处理,继续重启前的运行.
应该本地接收的数据切换回本版CPU处理.
图19软重启过程通过以上软重启技术,使得整个升级过程转发业务不中断,未重启部分控制不中断,重启部分控制协议可恢复.
123456HADBM123456HADBMagentHADBMagent123456HADBM78agentReloadSoftwareagent18对于集中式设备或者没有备板保护的主控板软件升级时,因为没有其他主控板参与ISSU,软重启时无法借助主控板完成代理功能,因此需要在ISSU前做好准备工作.
对于有保活机制的协议适当延长保活报文的间隔时间,或关闭相关功能.
另外路由等三层协议需要启用协议GR功能,以便在软重启后与周边设备配合恢复表项.
集中式软重启过程如下图:(1)运行时各进程根据需要将运行状态数据实时保存到数据库中.
(2)软重启前将数据持久化,即将数据保存到非易失存储介质中.
(3)进行软件重启,停止老版本软件运行,加载运行新版本软件.
重启过程中由于硬件未复位,因此流量不中断.
(4)新版本启动后数据库恢复先期保存到非易失存储介质中的数据.
(5)各进程启动,从数据库恢复数据.
图20集中式软重启过程2.
7EAAEAA是集成在网络操作系统上的一系列相关功能部件的总称.
它允许用户订阅感兴趣的系统软硬件部件的事件,例如接口DOWN、处理事件的策略等.
当订阅的事件发生时,EAA会执行用户定义的策略,并能通过email等形式将现场信息发送到技术支援或用户邮箱.
事实上EAA是一个开放的自动化架构,由多个部件组成,主要有RTM、RTN、RTD和Scheduler.
RTM(Real-TimeeventManager,实时事件管理):EAA核心引擎,负责管理事件订阅和策略执行.
RTN(Real-TimeNotify,实时消息通知):主要负责信息组装和email通知.
RTD(Real-TimeDetector,实时健康诊断):主要对关键系统软硬件组件进行健康诊断,尽量在故障发生前或者故障发生初期发现故障.
RTD检测到软硬件故障时,可以触发RTM执行相关策略,例如尝试自动修复、收集第一现场信息等.
Scheduler:实现类似Linuxcron/atd的功能,能够一次性或者定时执行job.
123456HADBM123456HADBMHADBM123456HADBM78ReloadSoftware19图21RTM架构RTM的架构如图21所示:事件源:是软硬件部件,它们会触发事件,例如comsh命令执行触发命令执行事件、syslog产生日志时会触发syslog产生事件.
目前,RTM支持的事件源如表1所示.
其它事件源将会根据需要陆续添加到RTM框架中.
表1RTM支持的事件源序号事件源功能简述1comsh支持comsh命令行帮助事件(tab、)支持comsh命令行执行事件支持命令行正则表达式匹配允许定制是否执行匹配命令2syslog支持syslog严重级别匹配支持syslog消息体正则表达式匹配3ifmgr支持接口统计值阈值事件4oir支持板卡热插拔事件5process支持进程启动、停止、异常、重启事件6snmp支持SNMPOID取值阈值事件7snmpnotification监控指定trap产生、取值,并触发事件允许定制丢弃或者发生匹配的trap消息策略执行:RTM根据用户订阅对事件源触发的事件进行过滤匹配,符合用户订阅条件时会触发策略执行部分执行策略脚本.
策略脚本可以是comsh命令行脚本,也可以是TCL脚本.
RTM还支持多种动作,如:reboot、cli、syslog、trap、switch-over等.
RTM是一种开放的框架,用户能够很容易将动作添加到RTM框架中.
事件源策略执行RTMcomshscriptTCLscriptcomshsnmpServicemanagerifmgrsyslog20总之,有了EAA,网络系统不再是简单执行管理员动作的机器,而是被赋予了更多的智能,可以根据管理员预先定义的规则,自动应对更复杂的局面,作出更为灵活多变的响应,大大提升了系统的可维护性.
2.
8数据中心特性随着数据中心网络应用越来越广泛,传统的网络技术虽然可以满足其基本要求,但是为了更好地满足数据中心网络的需要,网络操作系统还必须支持一些专门针对数据中心网络的技术.
2.
8.
1TRILL数据中心对于二层以太网络有更高的要求,包括更大的网络规模、更好的带宽利用以及快速可靠的网络变化的应对.
传统的二层网络使用STP(SpanningTreeProtocol,生成树协议)消除网络中的环路,防止报文在环路网络中不断增生和无限循环.
STP协议为了避免环路,对冗余链路进行阻断,不可避免地导致了链路利用不充分、非最优路径转发的问题.
同时,为了避免链路拓扑变化引起广播风暴的可靠性差问题,必须通过三层网络进行网络分割,导致其实际组网规模受限.
另外,由于所有终端的地址都要被学习到STP路径经过的所有交换机上,导致了STP网络中MAC地址学习泛滥.
因此,二层网络一般被限制在一个小范围的区域内使用.
尽管对于管理大型的数据中心来说,2层交换可以提供灵活的适应性,但相比于稳定的、可扩展、高性能的3层路由解决方案来说,2层交换也同时带来了上面所述的种种缺点.
但三层路由解决方案配置复杂,网络缺少灵活性.
相对于原始网络规划,其对现有数据中心的任何改变都是复杂的,需要很多配置并且具有不可复制性.
这阻止了数据中心灵活地适应虚拟化技术的要求.
TRILL技术是一种改变传统数据中心网络构建方式的新的技术创新.
它把3层路由的稳定、可扩展、高性能的优点引入了适应性强但性能受限、组网范围受限的2层交换网络,建立了一个灵活的、可扩展的、可升级的、高性能的新的2层架构.
用户可以使用采用了TRILL技术的二层交换设备来构建大型的、高性能的、可扩展的、灵活支持动态迁移的现代数据中心网络.
TRILL将路由协议IS-IS的设计思路引入到二层技术中,同时对IS-IS进行了必要的改造,形成TRILLIS-IS协议.
在组网方面,TRILL网络的核心设备为RBridge(路由桥),众多RBridge组成TRILL网络.
RBridge之间通过运行TRILLIS-IS协议来感知整个TRILL网络的拓扑.
每个RBridge使用SPF(ShortestPathFirst,最短路径树算法)生成从自身到TRILL网络中其他RBridge的路由转发表项,用以完成数据报文的转发.
2.
8.
2以太网互联为了做到高可靠性和冗余部署,当今大多数数据中心跨越多个位于不同地理位置的物理站点,在这些站点部署类似的业务,在这些站点之间进行二层互通.
为了做到站点间的资源动态调配和管理,虚拟机在数据中心之间要能够自由迁移,由于虚拟机迁移过程对用户透明,不能改变IP地址,因此必须在分布于异地的站点之间实现二层网络互联.
对于以太网二层网络互联,已经有VPLS、EoMPLS等多种技术.
ComwareV7又提供了另外一种更适合数据中心网络的EVI技术.
21EVI是一种先进的"MACinIP"技术,用于实现基于IP核心网的L2VPN.
EVI基于现有的网络,给分散的物理站点提供灵活的二层互联功能.
EVI解决方案简单、成本低廉、扩展性好,在解决网络互联的同时,又可以隔离各网络本地故障,更加适应数据中心网络的需要.
2.
8.
3EVBEVB是一种应用于数据中心的网络自动化部署技术,用于简化虚拟服务器的流量转发,对虚拟服务器的网络交换、流量管理和策略下发进行集中控制,并能在虚拟机迁移时实现网络管理和策略的自动迁移.
随着数据中心业务日益增加,用户需求不断提高,数据中心的规模和功能日趋复杂,管理难度也越来越高.
在这一背景下,整合数据中心、降低数据中心的管理成本,充分挖掘现有资源能力以适应更高的业务需求,成为企业数据中心的重要任务.
对数据中心资源进行虚拟化,成为目前数据中心整合的重要趋势.
数据中心的虚拟化有多个方面的虚拟化技术,其中最主要的是服务器虚拟化.
将服务器虚拟成多个虚拟机后,引入了虚拟机与外部网络以及虚拟机之间的流量交换问题.
这种交换功能显然不是服务器设备的特长.
EVB(EdgeVirtualBridging,边缘虚拟桥接)技术可以用来解决上述问题.
EVB的主要思路是将虚拟机内的流量交换和处理(包括同一物理服务器上的虚拟机之间的流量交换),都交于服务器的边缘交换机完成,从而使流量的管理和监管成为可能,也使服务器内部的交换网络的部署和管理能够统一处理.
EVB的功能由服务器和边缘交换机协同完成.
ComwareV7提供了边缘交换机上的EVB功能,以满足网络设备部署于数据中心网络的需要.
2.
8.
4FCoE采用FCSAN(StorageAreaNetworks,存储网络)技术的数据中心一般包括独立的LAN(LocalAreaNetwork,局域网)网络和SAN网络.
LAN网络应用于传统的以太网/IP业务,SAN网络应用于网络存储.
为了同时为LAN网络提供服务,并通过SAN网络完成存储功能,服务器需要使用独立的以太网卡和FC适配网卡,且IP交换机和FC交换机及其对应网络连接线也是独立的.
这就使得网络需要使用较多的交换机和网卡及线缆,对应的设备投资及维护工作量都比较大,可扩展性比较差.
FCoE协议可以很好的解决上述问题.
FCoE是FCoverEthernet的简称,它是将FC协议承载在以太网上的一种协议.
在FCoE解决方案中,服务器只使用支持FCoE协议的以太网卡即可,而支持FCoE协议的FCF(FCoEForwarder)交换机可以同时替换传统IP交换机和FC交换机,使网卡、交换机和连接线缆的数量大为减少,同时简化了网络运行的维护工作量,降低了总体成本.
ComwareV7全面的支持FCF以及NPV交换机的各种功能.
223ComwareV7主要特点3.
1统一的系统图22统一的网络操作系统ComwareV7支持包括L2、L3、存储、MPLS、虚拟化在内的全面的网络功能.
因此,针对不同的网络设备,ComwareV7均可以提供满足其特定要求的功能.
例如针对数据中心、云计算等设备,ComwareV7支持IP网络与存储网络的融合,可以提供数据中心以太网功能、虚拟化和高可用性等功能;针对运营商网络设备,ComwareV7支持高可靠性,提供大容量高性能的路由、全面的MPLS特性以及丰富的设备监控、管理功能;针对比较小的盒式设备,ComwareV7可以提供其需要的简单功能,具有占用资源少、功能丰富的特点.
由于ComwareV7全面的功能、性能支持,因此ComwareV7可以用于集中式、分布式、多框分布式等多种硬件结构设备,适用于路由器、交换机以及数据中心交换机等各种网络设备.
所有使用ComwareV7的网络设备,均可以仅仅使用ComwareV7单一系统就可以支持设备的全部功能,不需要使用不同系统,也无需额外运行其他系统.
统一的系统使得各种设备运行完全相同的软件,有相同的功能和协议.
这样可以对其进行一致的部署和管理,降低了网络复杂度和管理难度.
相同的特性功能也保证了网络上各设备完全兼容.
同时,由于使用统一的系统,用户只需要学习ComwareV7一个系统,就可以正确使用所有设备的软件功能.
统一的系统也方便各种功能的融合,各种功能可以一起使用,既没有额外不必要的限制,也可以组合出新的功能,扩展使用范围.
RoutersSwitchesDataCenterSwitchesVirtualizationInfrastructure233.
2全面的虚拟化ComwareV7同时支持N:1的虚拟化技术IRF,及1:N的虚拟化技术MDC.
不仅如此,还支持两个技术一起使用的Hybrid虚拟化技术.
3.
3高性能模块化提高资源利用效率由于使用模块化架构,不使用的功能可以不运行,完全不占用系统资源.
支持多核、多CPU数据平面、控制平面支持多核功能,使得通过增加CPU个数可以方便地提高系统整体性能.
为进程保留CPU资源,可以确保一些进程对性能的要求,减少了有性能要求的功能对硬件的特殊要求,扩展了功能的应用范围.
分布式计算ComwareV7通过支持控制平面分布式计算,将以前的主备冗余备份方式,改为负载分担方式,提高了系统资源的使用效率,使得在同等硬件条件下系统整体性能得到了提高.
3.
4高可靠性故障隔离软件模块化技术使软件的各个部分做到故障隔离.
ComwareV7的模块化设计,保证一个进程的异常不会影响其他进程以及内核的正常运行.
软件的故障也可以通过自行恢复,不影响硬件的运行.
进程级GR通过完善的进程级GR技术,保证异常进程可恢复,并且不影响系统业务.
系统级高可用仍然保留了主备板的倒换功能,同时通过控制平面分布式功能,减少了单板的主备倒换对整个系统的影响.
ISSUComwareV7支持包括主控板、接口板在内的全面的ISSU功能.
分布式多主控、分布式单主控、集中式、IRF等各种场景均支持ISSU.
最新的增量升级及软重启技术,确保升级时业务不中断.
3.
5弹性裁减ComwareV7具有全面的功能,也很容易进行功能裁减,只保留需要的功能.
模块化的结构使得ComwareV7无需重新编译就可以将需要的功能打包成各种适应用户需求的软件版本.
新功能模块化的ComwareV7可以方便地增加新功能.
由于每个功能均独立运行,因此新功能的添加对设备当前的运行完全没有影响.
特性升级24可以在软件运行过程中通过ISSU完成特性升级,一方面不会影响系统其他部分的运行,另一方面对升级的特性也可以做到不中断业务.
设备扩展支持IRF技术,可以方便地扩展设备端口和增加带宽,在保护用户现有投资的同时,提高设备能力.
3.
6开放性开放接口传统的网络操作系统为封闭的系统,有专用的系统概念和处理流程,缺乏开放性.
而ComwareV7使用通用的Linux操作系统,回归了主流的软件实现方式.
提供开放的标准编程接口,可供用户利用ComwareV7提供的基础功能,实现自己的专用功能.
TCL脚本ComwareV7内嵌了TCL功能,用户可以利用TCL脚本语言直接编写脚本.
用户还可以利用ComwareV7提供的命令行、SNMPGet、SET操作以及ComwareV7公开的编程接口等实现所需功能.
EAA可以在系统发生变化时进行所需动作.
在提高系统可维护性的同时,满足用户一些个性化需求.
buyvm的第四个数据中心上线了,位于美国东南沿海的迈阿密市。迈阿密的VPS依旧和buyvm其他机房的一样,KVM虚拟,Ryzen 9 3900x、DDR4、NVMe、1Gbps带宽、不限流量。目前还没有看见buyvm上架迈阿密的block storage,估计不久也会有的。 官方网站:https://my.frantech.ca/cart.php?gid=48 加密货币、信用卡、PayPal、...
欧路云(oulucloud) 商家在前面的文章中也有陆续介绍过几次,这不今天有看到商家新增加美国Cera线路的VPS主机,而且有提供全场八折优惠。按照最低套餐最低配置的折扣,月付VPS主机低至22元,还是比较便宜的。不过我们需要注意的是,欧路云是一家2021年新成立的国人主机商,据说是由深圳和香港的几名大佬创建。如果我们有介意新商家的话,选择的时候谨慎且月付即可,注意数据备份。商家目前主营高防VP...
digital-vm在日本东京机房当前提供1Gbps带宽、2Gbps带宽、10Gbps带宽接入的独立服务器,每个月自带10T免费流量,一个独立IPv4。支持额外购买流量:20T-$30/月、50T-$150/月、100T-$270美元/月;也支持额外购买IPv4,/29-$5/月、/28-$13/月。独立从下单开始一般24小时内可以上架。官方网站:https://digital-vm.com/de...