对比分析:信创主流操作系统选型测试

发表时间: 2023-11-07 09:23

一.信创操作系统介绍

国内本土操作系统主要以Linux为基础进行二次开发为主,目前国内信创类服务器操作系统主要分为开源社区版和商业版两大类。开源社区版主要以欧拉OpenEuler、龙蜥OpenAnolins、OpenCloud等,商业版主要以麒麟KylinOS、统信UOS、其他(中科方德Delix、红旗)等为代表,以下表格为其主要发行版本对比:

(点击图片可放大)

二.信创主流操作系统对比

1. 当前国产操作系统发行周期对比

2. 各信创操作系统功能对比

3. 各信创操作系统性能对比

基于Intel x86测试

测试主机为浪潮 NF5270M4 , CPU 为 Intel(R) Xeon(R) CPU E5-2650 v4 @ 2.20GHz 24 核,内存为 DDR4-2400 MT/s Samsung 256G ,系统盘为 Intel-SSDSC2KB48 480GB 。

基于鲲鹏ARM测试

测试主机为华为 Taishan2280V2 , CPU 为 Kunpeng920-4826 96 核,内存为 DDR4-2933MT/s Samsung 256G ,系统盘为 HW-SAS3508 480GB 。

4. 各信创操作系统可迁移性对比

(点击图片可放大)

迁移步骤:

1)环境precheck

主要检查当前OS 环境的硬件、驱动、软件运行情况,梳理操作系统、业务程序运行架构及数据、用户数据等信息。

2)数据备份/系统备份

通过数据备份工具、系统备份工具做OS数据的备份工作。

3)OS适配验证

基于1和2步骤中所梳理出的软件、硬件情况,做OS适配验证,保障软件迁移前后兼容。

4)操作系统迁移

rpm源替换->包替换->内核重引导->重启->验证

5)迁移后观测

通过监控工具观测主机负载、运行状态等,以对比迁移前后异常。

5. 麒麟、统信OS生态对比


功能支持方面

生态适配方面

麒麟OS

往往因操作系统版本提供的功能与业务诉求不匹配,如:

①4.18版本centos kernel已支持btf_debug,但麒麟发行版本不具备;

②用户需要5.10版本kernel以支持如eBPF host routing 能力,但麒麟不发行5.10版本kernel;

③不支持原地迁移,没有完善的迁移工具支持,仅支持重装安装。

业务所需与系统、硬件环境不适配,如:

①麒麟+海光主机直接使用开源版本jdk+社区二进制版本hadoop安装执行卡顿超20s,通过更换jdk版本解决;

②麒麟操作系统上,无法安装Ambari的开源hadoop生态组件,缺失redhat-lsb,通过改包依赖解决;

③ARM架构下,麒麟版本container-selinux存在bug致使无法使用docker/containerd,升级新版解决;

④浪潮NF5280M5上安装麒麟报kernel panic,通过升级bios固件版本至4.1.18解决;

⑤麒麟+ARM下,安装pyltp、pyzmq等超50+组件时报错,通过修改源码解决;

⑥麒麟ceph版本自身依赖问题,系统提供python3,实则提供的ceph版本依赖python2。

统信OS

往往因操作系统版本提供的功能与业务诉求不匹配,如:

①4.18版本centos kernel已支持btf_debug,但统信4.19.0的kernel不支持;

②系统升级方面:从1002a平滑升级1020a暂不支持;

③1021a kernel中lrp属性中加上gateway_mtu参数后, CPU利用率飙升,通过禁用该参数后解决;

④依托开源社区,但部分开源社区功能如sysom、sysak等均不支持;

⑤不支持救援模式,运维在紧急修复时与CentOS不一致,源缺少debuginfo包,crash后无法定位问题。

业务所需与系统、硬件环境不适配,如:

①1002a上ceph14.2.16版本存在bug,导致ceph节点扩容失败,通过打入patch解决;

②在Huawei 2288 V3机器上安装1002a,不断重启报xfs error,通过升级新kernel解决;

③ARM架构下,统信版本container-selinux存在bug致使无法使用docker/containerd,升级新版解决;

④因统信在操作系统内置了license,访问yum源慢,通过禁用license模块解决;

⑤centos8迁移uos 1020a,sshd无法启动,因缺失相关ssh加密算法,禁用该算法解决;

⑥nvme不兼容,针对此类情况,先拔掉这两块盘,再安装。

6. 影响操作系统的因素

分享一下当前主流信创操作系统的特性情况:

▪ 业务连续性

统信、麒麟、龙晰、欧拉都具备较为活跃的社区、技术实力,均具备支撑业务系统使用及演进的能力。

▪ 场景适配度

当前麒麟、欧拉在鲲鹏ARM生态支持较优,在多核生态软件方面性能表现好,选型时可以在不同的场景下开展更多针对自身业务场景的测试对比。

▪ 信创要求

现阶段欧拉、麒麟自主可控性更高,但生态尚未成熟,迁移难度较大;统信、龙晰的自主可控稍弱,但迁移更方便,从长远考量,逐渐应过渡至原生国产信创的开源/商业OS。

▪ 稳定性、安全性、成熟度

商业OS公司在安全修复能力、响应支撑成熟度方面要强于开源社区,但整体均具备24小时感知上游CVE,高危漏洞7日修复能力。商业OS经大规模验证,开源版本验证较少 。

▪ 成本因素

开源OS 能够显著降低IT系统成本,推荐 非核心业务系统优先选用成熟版本开源系统,如欧拉和龙晰。

三.如何评价一个操作系统的优劣?

我们在日常做操作系统选型,一般可以从如下几个方面进行考虑评估:

功能:

① 是否满足日常生产建设需求

② 是否兼容企业常见软件

③ 生态是否完善

性能:

① 是否达到对等现状环境性能级别

② 是否提供性能优化方案

安全性:

① 是否满足等级保护

② 是否满足企业安全规范

③ 是否满足CVE修复要求

支撑能力:

① 问题支撑及时率

② 问题解决率

③ 产品更新活跃度

④ 产品需有长期演进版本

硬件兼容性:

① 是否支撑多CPU平台

②是否兼容国产整机型号


四.企业该如何规划引入一个操作系统?

企业在规划引入一个操作系统,以我行为例,一般有如下几个步骤:

第一, 明确引入操作系统的目标和范围。操作系统引入是一个复杂、长期更替的过程,在引入前期需分析自身需求,如引入操作系统替换范围、影响度评估、稳定和兼容性评估等。

第二, 借鉴同行、并行运行。调研、参考同行业单位已经在生产较长期使用过的操作系统品牌、版本,同时挑选某一版本在边缘业务系统从开发测试多轮回归测试、压测、系统补丁漏洞升级等到生产多版本操作系统并行运行,同时与原厂商建立良好的售后支持关系,发现问题后能够快速解决问题。

第三, 系统升级前做好验证。生产环境稳定运行一定时间后,即可逐步将原有系统下线,将业务完全切换至新操作系统平台,新操作系统生产环境的补丁、漏洞升级务必先在测试环境验证后再执行且升级前做好数据备份。

第四, 建立OS基版和知识库。应该建立行内的基版OS,包括基版OS参数优化、依赖包安装、安全基线配置等等。建立知识库,保证出现类似问题能够快速解决。


五.总结

信创操作系统选型仍需根据自身业务特点来评估,不同业务场景需要选择与其匹配的OS,没有哪款操作系统能覆盖一个企业所有的应用场景。操作系统是承载企业业务运行的基础底座,信创操作系统是未来企业OS优选的趋势,尽管现在其还存在不少的问题,随着信创浪潮的袭来,相信国产信创操作系统在不久的将来也能逐步完善软硬件生态,让系统运行更丝滑、更完美。