操作系统是基础软件的核心,随着国外科技的封锁、CentOS停服等事件 ,更体现 出国产信创操作系统发展的紧迫性和必然性。 在银行业中,选择信创操作系统时,需要考虑到 技术架构的 未来演进趋势 和 延展性 ,因此在做操作系统选型时需要做一个总体规划。这样才可以保证 未来的系统可与当前的操作系统兼容, 进而更好地满足银行业务的需求。
李先科 某城商行 系统架构师
社区互动委员:summit 某城商行系统架构师,zolaars 某银行系统运维工程师,pumi 某金融科技系统运维工程师,lyjiwy 某保险系统工程师。
国内本土操作系统主要以Linux为基础进行二次开发为主,目前国内信创类服务器操作系统主要分为开源社区版和商业版两大类。开源社区版主要以欧拉OpenEuler、龙蜥OpenAnolins、OpenCloud等,商业版主要以麒麟KylinOS、统信UOS、其他(中科方德Delix、红旗)等为代表,以下表格为其主要发行版本对比:
类别 | 主流OS品牌 | 简介 | 目前发行主流版本 |
---|---|---|---|
开源社区 | 欧拉(OpenEuler) | 华为贡献,成立于2019年,每半年发行版本,每2年发行LTS版本,已经捐赠开放原子基金会 | 20.03 LTS,22.03 LT |
开源社区 | 龙蜥(OpenAnolis) | 阿里贡献,成立于2020年9月,每半年一个小版本 | an7.9,an8.2,an8.4,an8.6 |
开源社区 | OpenCloud | 腾讯及其他20余家操作系能生态贡献,成立于2021年12月,即将进入开放原子基金会,每半年一个小版本 | oc8.5,oc8.6 |
商业版 | 麒麟(Kylinos) | 称为操作系统“国家队”,2019年底由天津麒麟和中标软件整合而来,该公司发布的银河麒麟操作系统V10,被评为“2020年度央企十大国之重器”。 | Kylin V10 SP1/SP2/SP3: 基于OpenEuler 20.03 LTS Kylin V10兼容版: 基于CentOS |
商业版 | 统信 (UOS) | 统信软件成立于2019年11月,2022年5月,该公司宣布将以深度(deepin)社区为基础,建设立足中国、面向全球的桌面操作系统根社区,打造中国桌面操作系统的根系统。 | UOS V20 10203a:基于Anolis8.2 UOS V20 1020e:基于OpenEuler 20.03 LTS UOS V20 1001c:基于CentOS7.6,主要面向金融市场 UOS V20 1xxd:基于Debian,适配国产处理器架构 |
商业版 | 其他 (中科方德等) | 中科方德背靠中科院软件所,能支持主流windows应用 |
1. 当前国产操作系统发行周期对比
Euler OS | AnolisOS | 统信商业OS | 麒麟商业OS | Rocky Linux | |
---|---|---|---|---|---|
上游发行版 | Euler | CentOS,RHEL | CentOS,OpenEuler,OpenAnolis | CentOS,OpenEuler,OpenAnolis | RHEL,Fedora |
上游社区 | Euler | Fedora | Fedora | Fedora | Fedora |
Major Release周期 | 2年 | 5年 | 5年 | 5年 | - |
Minor Release周期 | 0.5年 | 0.5年 | 0.5年升级发布/70天 | 1年升级发布/60天 | - |
标准维护周期 | 5年 | 5年 | 5年 | 5年 | - |
下一个版本 | 22.03 LTS (5.10内核) | 8.5 (4.19内核) | 1051a(4.19/5.10) | V10 SP3 (4.19内核) | 8.6(4.19内核) |
2. 各信创操作系统功能对比
功能分类 | 功能点 | UOS | KylinOS | AnolisOS | EulerOS |
---|---|---|---|---|---|
版本 | 对比版本号 | 1020a | kylnV10 SP1 0318 | Anollis Os 8.2 | 20.03 SP2 |
内核 | 版本 | 4.19.0175、4.18.0 | 4.19.91 LTS | 4.19.91 LTS,4.18.0 | 4.19 LTS |
语言 | JDK | Alibaba Dragonwell | Alibaba Dragonwell | 毕昇JDK | |
硬件兼容性 | 指令集 | AMD64、 ARM64、 MIPS64、 SW64、 Loongarch | AMD64、 ARM64、 MIPS64、 SW64、 Loongarch | X86_64、 ARM64、 Loongarch | X86_64、 ARM64、 Loongarch |
芯片 | 全系列国产处理器架构,主流服务器硬件 | 全系列国产处理器架构,主流服务器硬件 | 海光,兆芯、飞腾,鲲鹏,龙芯 | 海光,兆芯、飞腾,鲲鹏,龙芯 | |
国密支持 | SM2/SM3/SM4,商密、国密SSLVPN,国密X509 | SM2/SM3/SM4国密算法 | SM2/SM3/SM4,商密、国密SSLVPN,国密X509 | OpenSSL,加强SM3/SM4 | |
自主可控度 | 中 | 强 | 弱 | 强 | |
软件兼容性 | 常见云平台,大数据软件均兼容 | 常见云平台,大数据软件均兼容,兼容度弱于UOS,AnolisOS | 常见云平台,大数据软件均兼容 | 常见云平台,大数据软件均兼容,兼容度弱于其他 | |
特性支持 | BTF_DEBUG | 不支持 | 不支持 | 支持 | 支持 |
io_uring | 支持 | 支持 | 支持 | 支持 |
3. 各信创操作系统性能对比
功能分类 | 功能点 | UOS | KylinOS | EulerOS | AnolisOS |
---|---|---|---|---|---|
版本 | 对比版本号 | 1020a | kylinV10 SP1 0318 | 20.03 SP2 | Anolis OS 8.2 |
磁盘IO | 随机读-Sync-Direct- Buffer-SSD-4K | IOPS: 6546 速率25.6MB/s | IOPS :6327 速率:24.7MB/s | IOPS:7414 速率:28.0MB/s | IOPS:5503 速率:21.5MB/s |
随机写-AIO-NoDirect- Buffer-SSD-4M | 速率:292MB/ | 速率:292MB/s | 速率:278MB/s | 速率:278MB/s | |
顺序写-Sync-Direct- NoBuffer-SSD-64K | 速率:315MB/S | 速率:315MB/s | 速率:312MB/s | 速率:310MB/s | |
网络IO | 本地TCPLoopback (10GB) | 11.4484s 、916MB/s | 11.6287s、 902MB/s | 12.1264s、 865MB/s | 11.5251s、 910MB/s |
测试主机为浪潮 NF5270M4 , CPU 为 Intel(R) Xeon(R) CPU E5-2650 v4 @ 2.20GHz 24 核,内存为 DDR4-2400 MT/s Samsung 256G ,系统盘为 Intel-SSDSC2KB48 480GB 。
功能分类 | 功能点 | UOS | KylinOS | EulerOS | AnolisOS |
---|---|---|---|---|---|
版本 | 对比版本号 | 1020a | kylinV10 SP1 0318 | 20.03 SP2 | Anolis OS 8.2 |
磁盘IO | 随机读-Sync-Direct- Buffer-SAS-4K | IOPS:53200 速率:208MB/s | IOPS:196667 速率:769MB/s | IOPS:210000 速率:821MB/s | IOPS: 5504 速率:223MB/s |
随机写-AIO-NoDirect- Buffer-SAS-4M | 速率: 417MB/S | 速率:572MB/s | 速率:392MB/s | 速率:408MB/s | |
顺序写-Sync-Direct- NoBuffer-SAS-64K | 速率:438M8/s | 速率:1636MB/s | 速率:458MB/s | 速率:449MB/s | |
网络I0 | 本地TCPLoopback (10GB) | 13.263s | 13.788s | 13.580s | 13.302s |
场景化 | Java科学计算(Mflaps) | 921.74 | 913.52 | 930.52 | 928.15 |
测试主机为华为 Taishan2280V2 , CPU 为 Kunpeng920-4826 96 核,内存为 DDR4-2933MT/s Samsung 256G ,系统盘为 HW-SAS3508 480GB 。
4. 各信创操作系统可迁移性对比
功能分类 | UOS | KylinOS | AnolisOS | EulerOS |
---|---|---|---|---|
版本 | 1020a | kylinV10兼容版 | Anolis OS 8.2 | 20.03 SP2 |
迁移工具支持情况 | 图形化:支持centos8 命令行:支持centos7/8 | 命令行:支持centos8 | 命令行:支持centos7/8 | 无 |
迁移难度 | 低 | 低 | 低 | 高 |
成熟度 | 高 | 低 | 高 | - |
迁移方案完备性 | 高 | 中 | - | - |
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优选的趋势,尽管现在其还存在不少的问题,随着信创浪潮的袭来,相信国产信创操作系统在不久的将来也能逐步完善软硬件生态,让系统运行更丝滑、更完美。
——本文章数据来源于中国联通软件研究院信创操作系统测试数据
如果觉得我的文章对您有用,请点赞。您的支持将鼓励我继续创作!
赞18
添加新评论4 条评论
2023-11-03 14:13
2023-10-24 16:24
2023-10-24 15:55
2023-10-23 13:58