苏研自研CloudOS简介及关键技术解析

刘玉红

产品经理,毕业于中科院信息工程研究所,就职于中国移动苏州研发中心云计算产品部;2015年7月至2017年7月从事分布式存储软件开发工作;2017年至今主要从事NFV虚拟层产品(CloudOS)研发及NFV前沿技术预研,参加集团NFV相关规范制定及技术评审等工作。

一、背景

在Internet之上,大量的应用运行在一个不断增长的异构底层网络上,由于缺乏集中处理能力,而网络协议又难以修改,导致专用网络中间件作为部署网络服务的首选方案得到了广泛应用。由于不同中间件的内部结构差异很大,又增加了维护管理的成本,且难以对硬件资源进行充分利用。

随着近几年网络技术的发展,计算规模不断扩大,传统中间件的不足更加显露出来:由于配置管理需要手工操作,产生了很高的部署和维护的人工成本,特别是目前云计算对于灵活性和扩展性的需求,导致了硬件的扩展及更新升级的额外开销。因此,减少中间件专用硬件设备的部署,而将网络功能软件化集成运行在通用硬件平台上成为了网络设备发展的趋势。

在这样的背景下,网络功能虚拟化(NFV-Network Function Virtualization)技术应运而生,其主要目的是:

实现网络功能的软硬件解耦,使得中间件被抽象为虚拟网络功能(VNF-Virtualized Network Function),可以运行于x86等通用性硬件平台上,能够按需进行定制,不仅大幅降低了硬件的性能需求,也为网络功能的弹性部署提供了技术基础。传统电信网络引入NFV实现云化,将大大增强网络功能和容量的灵活性,成为满足移动互联网时期市场和业务快速上线、频繁迭代、网络能力定制化的必然选择,也成为实现网络建设低成本、高效运营的主要策略之一。

二、自研CloudOS方案介绍

下一代网络转型背景下,苏研积极参与集团NFV技术研究和实验试点,并基于大云成熟的IaaS产品,开展电信级VIM和虚拟化产品研发,构建NFV CloudOS产品解决方案,以提高NFV网络架构的自主可控,降低建设运维成本。产品将符合《中国移动NFV虚拟层技术规范》对虚拟层在功能、性能、可靠性、兼容性、运维管理等多个方面的要求。系统整体架构如下:

CloudOS主要包括几个方面:

BC-Linux提供操作系统及Hypervisor,在通用操作系统基础上进行性能增强。

OpenStack升级至P版,BC-EC、BC-EBS、BC-VN、BC-SEC分别提供计算、存储、网络、安全解决方案。

BC-CloudMaster与BC-EPC整合提供资源管理、监控、告警等电信云运营、运维功能。未来逐浙融入容器化技术,提供Cloud-Native电信应用开放平台。

自研的电信云产品需要从EPC、Linux&OpenStack、部署工具、管理模块等4个方面、27个二级模块进行增强,新增近600项新研发内容,计划18年完成产品开发,具备商用能力。

三、电信云关键技术

不同于私有云,电信业务的差异化功能要求、高性能要求、高可靠要求,以及不断演进带来的云化、网络灵活定制等要求,为满足电信业务需求,传统的IaaS产品,需进行电信级技术增强,主要体现在以下几个方面:

1

电信级操作系统

云计算一般通过CPU、内存超分配技术以获取最大的系统吞吐,但同时也增强了应用的处理时延和不确定性。部分虚拟化网元(VNF)对系统时延有很苛刻的要求,因此有必要通过内核调优进行针对性提升。

实时内核的优势:

中断线程化,由内核线程处理中断,中断过程可被抢占

高精度时钟,精度达微秒(us)级

用实时互斥锁实现自旋锁,自旋锁保护的区域可抢占

通过优先级继承机制,保证高优先级进程优先运行

实验结果表明,实时内核提供确定的延迟时间,可确保网络时延、抖动均满足电信级要求。

2

电信级虚拟化层

NUMA、IO NUMA、CPU PINNING

主流服务器一般由多个NUMA节点组成,每个NUMA节点由多个CPU组成,并且具有本地内存和IO设备。NUMA节点可以直接访问本地内存和IO设备,也可以通过NUMA互联模块访问其他节点的内存和IO设备,但是访问本地内存和IO的速度远远高于远程访问速度。在NFV系统中,为了提升VNF的性能,需要保证VNF虚拟机的CPU、内存、IO设备在相同的NUMA节点上。

大页内存

TLB用于缓存虚拟地址到物理地址应射关系;在进行 虚拟地址到物理地址转换时,先查询TLB,若TLB命中则直接读取物理地址;否则需要查询页表,极大降低地址转换效率。使用大页内存技术,使TLB缓存可覆盖的物理地址变大,从而提高TLB命中率。

智能虚拟机调度

不同的VNF虚拟机有不同的虚拟化、转发平面需求,有些VNF有特殊的亲合性、反亲合性需求,虚拟机调度器需要综合考虑这些因素,将虚拟机调度到适合的主机上。

亲和性调度,使关联业务的虚拟机调度到同一节点,通过共享内存直接进行数据交互,提升关联业务的网络性能。

反亲和性调度,使相同业务的虚拟机分布到不同节点,减少虚拟机同时故障概率,保障NFV业务高可用。

特性虚拟机调度,允许用户自定义CPU绑定设置、NUMA设置、大页内存启停、DPDK设置、SRIOV设置,调度器自动选择最符合的节点,满足业务对大页、CPU绑定、DPDK、SRIOV需求。

以主机真实负载为基础,智能选择负载最低节点,保障物理机负载更为均衡,减少虚拟机间影响。

3

电信级转发平面

SR-IOV

基于硬件的虚拟化I/O性能解决方案,通过把I/O物理设备端口的功能虚拟化为多个,每个虚拟功能都被直接分配到一个虚拟机(pass-through) ,使虚拟机获得与硬件相接近的I/O性能,同时使一个PCIE设备在多个虚拟机之间高效共享。

DPDK

以太网驱动从内核态移至用户态,采用同步轮询机制取代内核中断机制,提高报文的接收和发送速率。

4

电信级VIM

CloudOS可靠性

全系统HA:

资源池管理平台、控制节点、存储节点、网络节点都采用HA部署,系统无单点

故障监控及恢复:

监控系统各组件的进程健康状态、自动重启故障组件,快速恢复系统正常运行

VM可靠性

本地复位:

云OS监控虚拟机操作系统,发现挂死或者异常,首先尝试在虚拟机所在的主机本地自动复位虚拟机

异地重建:

如果本地无法复位,则调度到冗余的主机上进行虚拟机重建

VNF业务可靠性

高可靠架构:

无状态、分布式

故障检测及恢复:

VNF应用软件进行基础设施层HA检测,利用更多的冗余实现故障快速倒换

部署:

故障单元反亲和部署、跨DC冗余

四、展望

苏研经过近几年积累,已形成了较完善的云计算产品体系,包括BC-Linux、BC-EC、BC-EBS、BC-VN、BC-OP、BC-EPC等,这些产品在一级私有云、移动公有云以及多个省公司项目中商用。同时,苏研积极参与开源社区,在Linux和OpenStack社区都有较显著的贡献,代表中国移动成为OpenStack SuperUser和黄金会员。这些工作构成了NFV虚拟化层产品CloudOS研发的基础,因此我们有理由相信苏研大云系列产品将在电信云操作系统层为公司NFV解决方案提供有力支持。

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20180604B1A27U00?refer=cp_1026
  • 腾讯「云+社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。

同媒体快讯

扫码关注云+社区

领取腾讯云代金券