在 2022 云栖大会上,阿里云智能副总裁、阿里云基础产品负责人蒋江伟宣布龙蜥操作系统 Anolis OS 23 公测版正式发布,该版本是龙蜥社区联合生态企业共同打造,基于分层分类架构重新定义操作系统,满足全芯片场景的软硬协同能力,是龙蜥社区面向云时代打造的下一代操作系统。
在 2022 云栖大会龙蜥操作系统峰会上,龙蜥社区技术委员会主席、阿里云操系统技术总监杨勇讲述了 Anolis OS 23 的产品主特性,及其背后的技术趋势思考,产品定位和社区路线;龙蜥社区技术委员会副主席、统信软件服务器产线总经理孟杰讲述《基于分层分类的 Anolis OS 23 选型策略》;杭州西软信息运维中心总经理潘有年分享了《如何基于 Anolis OS 23 打造新一代云 PMS 架构》。以下为三位分享专家的演讲实录节选。
杨勇:下一代龙蜥操作系统 Anolis OS 23
首先介绍一下 Anolis OS 23 的产品主特性:
首先,是双内核架构,5.10 默认内核和 6.x 创新内核。其中,5.10 内核,是支持下一代数据中心芯片的产品化内核。6.X 内核,是目前技术委员会与社区理事单位未来研发的重点,正在持续的滚动选型中。
其次,面向芯片的工具链优化,是系统性能提升的关键。
再次,面向场景优化的周边方案和特性,共同围绕 Anolis OS 23 组成了周边产品矩阵。例如,这里的云原生套件 ACNS 和已经发布的 SiliconFastOS;除此之外,还包括安全可信、软硬协同设计、只读存储和容器存储等。
谈及社区下一代操作系统——Anolis OS 23 。在未来技术趋势方面,社区主要是围绕着下一代数据中心的技术趋势、下一代的云原生软件栈的需求、以及软硬协同的技术发展趋势展开。在产品定位方面,社区不但要考虑产业合规性,更要考虑到技术的领先性。
我们可以看到,云计算头部厂商都已经发布了下一代操作系统,业内面向下一代数据中心的新技术也在不断涌现。社区的技术路线一定是要具有前瞻性,面向未来的 3-5 年去看,其中非常重要的一点,就是做好开源软件供应链的合规。
孟杰:基于分层分类的 Anolis OS 23 选型策略
「分层分类」理论由龙蜥社区副理事长单位统信软件发起。在统信软件的主导下,社区的理事单位积极参与到理论的论证以及实验工作,希望通过分层分类的理论能够解决掉操作系统研发过程中的协同问题,以及操作系统产业协作问题。
众所周知,Linux 的魅力之一就在于其开源与开放,从而能够吸引更广泛的爱好者、开发者乃至用户参与其中,但同时,也正是由于开源社区的演进性发展、分散式自主开发或称为集市式的开发模式,带来了更多的不确定性和复杂性。
操作系统的本质是一个复杂而精密的大型软件,而技术架构对大型软件来讲是非常重要的。分层分类通过适当的抽象使得大家能够摒弃细节,把握大局和关注核心问题,同时也能够凝聚共识,并为软件当下的现状分析与未来的规划打下坚实的基础。有目标、有重点、有计划的研发操作系统,是我们赋予 Anolis OS 23 的期许,因此,在这个研发的过程中我们引入了结构化的思想,即操作系统分层分类思想,那么我们来看一下操作系统结构化有什么样的意义呢?
分层分类架构新思路,是在继承了自由开放的开源精神基础之上,基于当前操作系统软硬件产业链的现状、自下而上的反向解析、软件分层架构要求、场景自动聚类等架构原则,为下一代开源操作系统的开发奠定坚实的理论与技术基础。通过分层分类架构,Anolis OS 23 着重加强软件治理与关键软件识别、开源操作系统的合规治理与供应链管理,由模块的架构位置确定其承上启下的作用、更换的代价,改善整体架构的复杂度与技术风险。
从多个角度来讲,分层分类都有着非常重要的意义,例如,在选型方面,可以摆脱第三方的社区和厂商的依赖,从而实现对开源软件的自主选型;在构建方面,可以指导操作系统社区以及 OS 厂商进行开发实践,高质量构建操作系统版本;在产业协同的维度,可以牵引产业协同,深挖硬件潜能,提升用户体验;从供应链安全角度,更是开源软件供应链安全建设的一个重要前提。
操作系统结构化既然如此重要,那我们不能仅仅依赖专家经验来指导开发工作,因此我们需要对体系结构算法化,更加科学和规范地通过算法来实现这个理论。分层分类体系结构的核心问题是划分标准,中心思想是“垂直分层、水平分类、数据驱动、算法先行”。划分标准的核心问题一是要能够做到分层分类 ,二是要切合实际,我们将提供一套理论和算法作为划分标准的参考依据。
分层分类具有指导社区规划、协调产业分工、明确研发方向、确定关键软件的作用。分层分类理论不只为龙蜥操作系统或 Linux 发行版本提供理论指导,凡是有分层结构、需要支持多场景(或分类)的大型开源软件,都可以采用此思想和技术,由底至顶进行自动化分析,得到其架构。
针对操作系统涉及的软件,根据图论等理论借助机器学习等手段,对其在整体系统中的依赖关系与相对位置和使用场景自动进行分层分类,展现操作系统软件的整体架构,为操作系统的研发和维护提供理论指导。由于现存的开源操作系统发行版都是演进式的开发,体系结构较为混乱或者根本就没有体系结构一说,所以我们将在未来的几年里逐渐将该体系结构投射到龙蜥社区版 Anolis OS 和统信商业版 UOS 的研发过程中。
如图展示的是我们基于分层分类理论结合龙蜥社区的软硬件生态伙伴导出的分层图谱,它可以指导我们在社区开发中的研发协同与产业分工,例如,龙芯中科作为 CPU 厂商将主要负责操作系统中的 LoongArch 架构支持与硬件驱动的研发;统信软件作为 OS 厂商将更多的关注操作系统整体架构和工程实现,并结合自己的商业定位,二次开发商业版本并发行自己的商业版本,这样各厂商各司其职,分工协作,一起开发 Anolis OS,共建社区并分享社区成果。
在过去一年中,我们在龙蜥社区中和阿里云等伙伴,以及一些高校老师们一起去研究分层分类理论,跟大家简单汇报一下成果。首先,我们根据软件包对操作系统发行版的重要程度来进行分层,重要程度主要以依赖数量和距离为计算标准。基础操作系统的大体上分为四层:
1. 内核层:操作系统内核提供的服务,包括:内核相关进程调度,内存管理,存储/网络,以及硬件驱动/安全服务
2. 核心层:对操作系统启动运行和使用起关键作用的核心软件,如:核心命令行工具,编译调试工具,启动工具,glibc 库,包管理工具和 INIT
3. 系统层:扩展内核层,核心层功能服务,为用户和应用提供数据和服务的软件,如:监控工具,网络工具,安全库,时间服务,日志服务等
4. 应用层:供用户和应用使用的各类通用软件(与各类应用场景有交集),如:文本处理工具、开发手册、图片库、网络 RPC、蓝牙、高级编程语言等
从分类的维度,采用水平分类,一则根据软件包对外提供的服务划分为:库、服务、工具等;二则基于应用场景的分类,对不同应用场景中涉及到的组件进行分类。
最后我们来看一下分层分类理论在 Anolis OS 23 选型与维护中的实践。
Anolis OS 和其他 Linux 操作系统发行版的开发历程一样都有一个基本原则,即以 upstream 社区为源头,以操作系统为核心,充分吸收开源软件创新技术,由操作系统将分散、无序的开源软件进行规划和融合,形成一个可用、易用的操作系统发行版。
分层分类理论可以将分散、无序的操作系统开发工作拆解,Anolis OS 23 则是基于这样的思想进行组件的选型和维护。我们参照「分层分类」理论中的分层思想,从层级优先级高的软件包开始选型并重点制定维护策略。场景上参照「分层分类」理论中的分类思想,按应用场景维度分割,模块化地分批引入软件包。
潘有年:基于 Anolis OS 23 的新一代云 PMS 架构
当前 Anolis OS 23 公测版已正式发布,且已经应用于客户业务场景。杭州西软公司致力于为旅游行业客户提供全方位信息化解决方案,超 8600+ 用户遍布全国。依托总公司石基信息全球平台化发展战略,不断融合云端、移动、大数据等前沿科技,打造数据化酒店生态管理系统,主要服务的对象是国内的中高星级酒店、景区、综合旅游等板块。
西软 XMS 云平台已经运行超 6 年,2019 年完成 swarm 架构到 K8S 架构的改造,2022 年完成操作系统国产的改造。累计上线酒店超过 1500+,日均访问超 3 亿次。用户私有化(公有云、私有云等)部署约 3000 家。移动平台终端注册超 5 万台。经过近 30 年的技术沉淀和用户积累。当前用户超 8600+,产品销往全国和东南亚等。国内办事处和服务机构超 30 个。
当前新增和升级用户西软云部署下容器基础镜像都基于 Anolis OS 23,私有化部署在数据库、HA、中间件、应用容器化等全部采用 Anolis OS 23。西软 XMS 云平台基于 Anolis OS 23 做了兼容性级部署测试、云原生组件的兼容测试、中间件的(部分自定义组件)兼容测试、平台产品部署方案的可行性测试。
测试结果完全兼容,满足操作系统国产化要求,完全可以替换 CentOS。目前西软云平台华南、华北、华东、西南 4 区域节点下,超 150 台服务器已经完成龙蜥衍生版的 Alibaba Cloud Linux 3 的替换,并在今年 8 月等 3 测评通过。
峰会上,龙蜥社区理事长、阿里云研究员马涛表示,对于龙蜥社区未来的发展,下一代操作系统的打造是一个非常重要的工作。希望通过龙蜥社区的技术创新,联合所有理事单位和生态伙伴实现协同,能够帮助下一代龙蜥操作系统可以更好地解决掉产业以及将来可能会面临的一些问题,能够真正实现一个面向下一代的全场景的操作系统。
相关链接:
1、Anolis OS 23.0 公测版:
https://mirrors.openanolis.cn/anolis/23/isos/BETA/
2、龙腾计划 2.0—龙蜥社区生态发展计划: