注:继统信基于龙蜥社区Anolis OS 8发行其Linux操作系统商业版——统信服务器操作系统V20后,龙蜥社区理事成员单位移动云也发布了基于龙蜥 Anolis OS 的BC-Linux V8.2 通用版操作系统。本文来自移动云,欢迎更多合作伙伴加入龙蜥社区。
概述
2020年12月CentOS项目组宣布CentOS 8将于2021年12月31日结束支持,这意味着从2022年开始,使用CentOS 8的用户,将无法得到来自官方的新硬件支持、bug修复和安全补丁。针对这一情况,移动云大云操作系统团队基于国内开源社区深度定制,推出了企业定制版操作系统BC-Linux V8.2版本。
本次发布的BC-Linux V8.2是基于龙蜥社区Anolis OS 8.2版本深度定制的X86服务器通用版操作系统,与RHEL 8、CentOS 8软硬件生态100%兼容。BC-Linux V8.2版本搭载了双内核,分别为标准内核4.19和BEK(BigCloud Enterprise Kernel)内核5.10,支持TCP层跟踪功能、离线调度算法、KATA安全容器、OS迁移工具、自动化部署工具等,在系统的性能、稳定性和安全性方面都做了深度优化和特性增强,具有高可用、高安全、高稳定等商业发行版本特点,为用户提供高效、专业的技术支持和服务。
特色功能介绍
双内核技术
BC-Linux V8.2支持双内核技术,增加了BEK内核,BEK内核基于内核社区长期支持版本5.10进行定制化开发及增强,满足客户对于高版本内核的使用需求,同时支持默认内核4.19版本,满足多场景需求;
ML/LT内核
提供对ML内核(mainline)及LT内核(longterm)的支持,并定期维护更新。
功能增强及系统性能优化
启动时间优化:完成内核启动时间深度优化,同环境下内核启动时间相比CentOS提升30%以上,系统启动时间相比CentOS提升10%以上;
内存使用率优化,提升物理机可用内存大小7%;
支持page owner特性,可用于定位内核内存泄漏和驱动使用大量内存等问题;
完整支持cgroup v2,提供多种 IO 隔离方案,包括buffer IO 限流(cgroup writeback),blk-iocost 权重控制等,解决长期以来IO不能彻底隔离的难题;
支持XDP(eXpress Data Path)高性能内核网络协议,绕开了传统TCP/IP内核协议栈,UDP性能提升1倍以上,近于DPDK等用户态网络方案的性能;
支持随机化空闲列表,提高了直接映射内存侧缓存的性能和利用率;
引入CPU离线调度算法框架,有效提升系统CPU利用率,支持离线在线业务混布;
新增实现TCP层服务监控功能,支持内核态采集TCP服务状态,可用于定位网络问题发现性能瓶颈;
IO性能增强:根据fio测试结果,BC-Linux V8.2相比CentOS 8.2在随机写性能方面增强15%左右,顺序读性能增强4%左右;
内存增强:根据ramspeed 和stream测试结果,BC-Linux V8.2内存综合性能较CentOS 8.2提升6%左右。
BC-Linux V8.2提供从CentOS 8系统到BC-Linux 8的迁移工具,帮助系统及应用的顺滑迁移,主要有以下优点:
支持用户从CentOS 8平滑迁移到BC-Linux 8,业务不受影响;
操作简单,执行单指令后工具自动化完成,无需人工干预;
帮助客户解决CentOS 8停服的烦恼,实现系统平稳过渡。
BC-Linux V8.2版本采用多种安全增强的手段提升系统的安全性。
可信计算
BC-Linux V8.2将TPM2.0模块和ACM作为可信根,对服务器进行可信启动静态度量,实现从服务器上电到操作系统启动之间的信任链,使用IMA(完整性度量框架),实现对可执行文件进行运行时动态完整性度量。
安全加固
BC-Linux V8.2集成安全加固功能,为BC-Linux操作系统提供了安全加固、系统软件包漏洞检测、rootkit入侵检测等功能,提供系统安全基线的一键化配置、回退、生成检测报告,快速系统漏洞扫描、报告输出等操作。
双因子认证
BC-Linux V8.2集成双因子认证功能,采用基于时间、事件和密钥三变量而产生的一次性密码来代替传统的静态密码,实现更加安全的用户认证。
BC-Linux V8.2版本通过内核热升级、进程热升级技术,分别从内核级、进程级实现了单节点的不停服升级,实现了全栈热升级,业务零中断。
进程热升级
进程热升级可以在无需重启应用程序,即可进行重要安全更新,实现秒级在线热修复,有效提高业务的高可用性。同时适用于所有进程热升级,操作简单方便,可靠性高;可多次重入,支持可持续的版本迭代热升级;支持反向操作,随时可选择恢复原始状态。
内核热升级
内核热升级能够动态的修复操作系统内核和模块的缺陷函数,无需重启系统即可升级内核,最大程度减少了系统宕机时间;可快速应用重要的以及安全相关的内核补丁,缩短漏洞修复时间;支持回滚操作,可快速恢复至升级前状态;不会造成系统任何性能损失。
为了更好地保障BC-Linux系统订阅用户得到全方位商业化的服务(如软件包安装及升级服务,技术支持和维护等),并使这些服务可以被授权和跟踪。BC-Linux V8.2默认集成授权管理工具,增加了DNF的授权管理插件,操作系统需要向DNF服务器进行授权认证才可以进行软件升级。
BC-Linux V8.2支持新一代容器-KATA安全容器,完成了KATA安全容器性能优化,首次在移动云内网镜像源场景应用上线。同时针对docker-ce及其组件进行了增强,具体包括:
完成了KATA安全容器性能优化,启动时间达到秒级,性能损耗不超过3%;
安全性增强,修复了CVE-2019-14271、CVE-2020-13401、CVE-2021-30465;
更新了containerd版本到1.5.2,提升稳定性和性能;
修复了部分漏洞,提升docker容器的稳定性。
BC-Linux V8.2提供了自动化部署工具bclinuxManTool,该工具基于PXE技术实现了无人值守、同时批量、灵活配置地部署多台服务器操作系统的功能。工具通过web界面与用户交互,提供灵活、便捷的配置功能,实现了远程、快速部署服务器集群的能力,具有以下特点:
支持同批次不同服务器,选择安装多种不同的Linux发行版镜像;
支持根据服务器角色,选择多种操作系统预装应用软件集;
支持灵活地预定义不同的磁盘分区,及各分区大小;
支持灵活的定制化脚本,实现操作系统安装后的系统配置(包括主机名、IP地址,应用软件配置等)。
BC-Linux 8与BC-Linux 7系列主要区别
BC-Linux 8系列操作系统相对于BC-Linux 7系列带来了诸多改进,主要有以下几点:
名称 |
BC-Linux 8 |
BC-Linux 7 |
内核版本 |
采用4.19-x版本内核,增加了诸如:5级内存页表、全面支持Cgroup V2、MD集群、内核early kdump等新功能 |
采用3.10-x版本内核 |
软件包管理工具 |
DNF(YUMv4),相比YUM v3有以下优点:优化性能支持模块化内容设计良好的稳定 API,用于与工具集成 |
YUM v3 |
编程语言版本 |
Python 3PHP 7.2Ruby 2.5Node.js 10 |
Python 2PHP 5.4Ruby 2.0.0 |
主要的软件仓库(Yum源) |
BaseOS --提供操作系统功能的核心组件,为所有安装提供基础操作系统的基础。AppStream --包括额外的用户空间应用程序、运行时语言和数据库来支持各种工作场景。 |
os -- 操作系统的基础软件仓库,包含大部分软件和工具updates -- os里面更新的软件包 |
网络配置 |
网络相关服务管理已经转移到NetworkManager不再是network;网络脚本已弃用,且不再默认提供,如果要使用可以安装“network-scripts”包;系统提供新的 ifup 和 ifdown命令行,后台通过nmcli工具调用NetworkManager;dhcp默认使用使用NetworkManager的internal插件而不是dhclient |
network和NetworkManager |
时间同步协议 |
chronyd,不再支持NTP |
chronyd与NTP都支持 |
TCP协议栈 |
拥有4.19版本的TCP协议栈,可以提供更高的性能、更好的可伸缩性和更稳定的性能;此外还有两种新的TCP拥塞算法。 |
3.10版本的TCP协议栈 |
网络数据包过滤(netfilter) |
nftables相比iptables数据包过滤工具有以下改进:查找表而不是线性处理IPv4 和 IPv6 使用同一个协议框架规则自动应用支持在规则集(nftrace)和监控追踪事件中调试和追踪 |
iptables |
优化性能
支持模块化内容
设计良好的稳定 API,用于与工具集成
YUM v3编程语言版本Python 3 PHP 7.2 Ruby 2.5 Node.js 10Python 2 PHP 5.4 Ruby 2.0.0主要的软件仓库(Yum源)BaseOS --提供操作系统功能的核心组件,为所有安装提供基础操作系统的基础。 AppStream --包括额外的用户空间应用程序、运行时语言和数据库来支持各种工作场景。os -- 操作系统的基础软件仓库,包含大部分软件和工具 updates -- os里面更新的软件包网络配置
网络相关服务管理已经转移到NetworkManager不再是network;
网络脚本已弃用,且不再默认提供,如果要使用可以安装“network-scripts”包;
系统提供新的 ifup 和 ifdown命令行,后台通过nmcli工具调用NetworkManager;
dhcp默认使用使用NetworkManager的internal插件而不是dhclient
network和NetworkManager时间同步协议chronyd,不再支持NTPchronyd与NTP都支持TCP协议栈拥有4.19版本的TCP协议栈,可以提供更高的性能、更好的可伸缩性和更稳定的性能;此外还有两种新的TCP拥塞算法。3.10版本的TCP协议栈网络数据包过滤(netfilter)nftables相比iptables数据包过滤工具有以下改进:
查找表而不是线性处理
IPv4 和 IPv6 使用同一个协议框架
规则自动应用
支持在规则集(nftrace)和监控追踪事件中调试和追踪
iptables
总结
此次BC-Linux V8.2版本发布,带来了诸多的改进,加入了新的特性与功能,提升了性能和稳定性,也是应对CentOS停止更新的举措之一。本次发布的x86_64版本镜像除了支持常见的x86服务器之外,还支持采用海光CPU、兆芯CPU的服务器以及大云磐石服务器。后续BC-Linux会继续与国内自主可控开源社区进行合作,持续推出Linux服务器操作系统,为移动云及各项目提供自主可控、安全稳定的统一操作系统技术底座。
原文链接
本文为阿里云原创内容,未经允许不得转载。