微笑笑西西
作者微笑笑西西·2024-02-27 12:00
系统管理/架构分析·某城市商业银行

银行行业信创操作系统运维差异对比——基于CentOS的麒麟和基于Debian的统信

字数 6090阅读 1375评论 6赞 6

操作系统是信息技术的核心基础,是数字经济的安全底座,发展国产操作系统对国家信息技术水平、自主创新能力和国家安全等多个方面具有重要意义,在当今国际政经大形势下,其紧迫性愈发凸显。

笔者所在单位为银行业第二批信创试点单位,在2021年就引进了服务器版麒麟和统信操作系统,主要应用于重要交易、管理类和OA办公类业务系统,并均已单轨运行。本文将从系统运维的角度,结合实践经验,对服务器版麒麟V10和统信V20(d版)操作系统运维差异进行对比,以期为广大同行提供服务器版信创操作系统运维参考。

同时,为保证差异化对比的中立客观,本文亦援引了“企业信创操作系统(麒麟和统信)两者差异化”调查统计的结果。该调查由笔者所在的twt社区“企业IT应用趋势项目创新联盟——信创操作系统课题组”发起,由企业用户群体对服务器版麒麟和统信操作系统从全面度、可靠性、性能、兼容性、持续优化等多个方面进行了投票,旨在推动行业用户达成群体共识,为更多企业落地信创操作系统提供选型决策参考。(该调查详见https://www.talkwithtrend.com/Article/269249 )。

一、上游软件版本对比

2021年至2022年底,我行的麒麟系统采用的是基于CentOS的麒麟V10 SP1系统,在CentOS停服之后,全网改造成了openEuler版的麒麟V10 SP2系统。统信系统则一直使用的基于Debian的统信V20(d版)系统。

在可靠性性方面,CentOS和Debian都是以稳定性著称,但经过麒麟和统信系统移植之后,在实际系统环境中运行表现还是有所差异。在前述“企业信创操作系统(麒麟和统信)两者差异化”调查“系统可靠性”维度投票结果中,麒麟系统可靠性加权平均分为8.2分,统信系统为6.6分,根据投票结果可得出,麒麟系统的可靠性较优于统信系统。

在版本缺陷更新方面,Debian有稳定的版本,并在一段时间内保持更新和维护。CentOS更侧重于稳定性和企业级支持,因此软件包可能相对较旧,更新通常较慢,但会提供关键的安全更新。在实际使用中,麒麟和统信都会主动协助我行进行系统补丁更新和升级,但麒麟公司会每月给客户发送安全漏洞补丁公告,统信公司则从未发送过相关公告。

在运维便捷性方面,两者都有丰富的社区资源,Debian使用APT(Advanced Package Tool)提供了大量预先编译的软件包,涵盖了各种应用程序和工具,并通过Debian软件仓库进行分发;CentOS使用YUM(Yellowdog Updater, Modified)进行软件包管理,其软件包源主要来自Red Hat软件仓库,虽然YUM/DNF在功能上不如APT强大,但它也相当可靠和方便。在我行实际运维过程中,两者都使用相同的基本文件/文件夹结构,但是基本文件/文件夹结构服务的位置有所不同,需要系统管理员加以区分。

二、运维实操对比

服务器版麒麟V10 SP2和统信V20(d版)由于上游依赖的软件架构不同,在实际运维过程中,也存在较大差异。以下将从系统软件检查和升级、软件包组管理、系统网络配置和系统源配置四个实操方面,介绍两款服务器版信创操作系统实际运维中的差异。

1.1 系统软件检查和升级对比

(1)麒麟系统
检查软件包:dnf check-update
升级软件包:dnf update kernel


(2)统信系统
检查软件包:sudo apt update(若已用root用户,可省略sudo)
升级软件包:sudo apt upgrade(若已用root用户,可省略sudo)

2.2 软件包组管理对比

2.2.1 软件包组列表

(1)麒麟系统
软件包组列表:dnf list all
Summary 选项可以显示软件包可用组的数量:
dnf groups summary

(2)统信系统
软件包组列表:apt list --upgradeable

2.2.2 软件包组安装

(1)麒麟系统
安装软件包:dnf install package_name
安装 telnet的软件包示例:dnf install telnet

安装软件包组,可以通过软件包租名称安装,也可通过包组id安装:
dnf group install “group name”
dnf group install groupid

(2)统信系统

安装软件包:sudo apt install package_name

安装apache2的软件包示例:sudo apt install apache2

安装多个软件包:sudo apt install <package_1> <package_2> <package_3>

2.2.3 软件包组删除

(1)麒麟系统
可以通过软件包组名或者软件包组 id 删除软件包。以 root 权限执行
dnf group remove group_name

(2)统信系统
删除软件包命令:sudo apt remove <package_name>

2.2.4 软件包组操作记录

(1)麒麟系统
显示以往 20 条 dnf 操作记录,可以使用以下命令。以 root 权限执行:
dnf history list 1..20

如果需要显示某条操作记录的详细信息,可以使用以下命令:
dnf history info {id}

(2)统信系统
查看apt的历史安装记录
cat /var/log/apt/history.log

2.3 系统网络配置方式对比

2.3.1 动态网络配置

(1)麒麟系统
打开终端,以网口 eth0 为例:

nmcli conn add connection.id eth0-dhcp type ether ifname eth0 ipv4.method auto

其中“eth0-dhcp”为连接的名字,可以根据自己的需要命名方便记忆和操作的名字,“ifname eth0”为配置的网口,根据自己的设备情况按需调整。

(2)统信系统
打开终端,以网口 eth37 为例:

nmcli con mofify ifname eth37 ipv4.method manual ipv4.address 192.168.153.23/24 ipv4.gateway 192.168.153.2 ipv4.dns 192.168.153.2

其中“有线连接 1”为连接的名字,可以根据自己的需要命名方便记忆和操作的名字;“ifname eth37”为配置的网口,根据设备情况按需调整;IP、子网掩码、网关根据实际网络按需配置。

2.2.2 静态网络配置

(1)麒麟系统

1)命令行配置
打开终端,以网口 eth0 为例:

nmcli conn add connection.id eth0-static type ether ifname eth0 ipv4.method manual ipv4.address 192.168.1.10/24 ipv4.gateway 192.168.1.254 ipv4.dns 192.168.1.254

其中“eth0-static”为连接的名字,可以根据自己的需要命名方便记忆和操作的名字;“ifname eth0”为配置的网口,根据设备情况按需调整;IP、子网掩码、网关根据实际网络按需配置。

2)配置文件
通过ifcfg文件配置静态网络,以ens33网络接口进行静态网络设置为例,通过在root权限下修改ifcfg文件实现,在/etc/sysconfig/network-scripts/目录中生成名为ifcfg-ens33的文件中,修改参数配置,示例如下:

TYPE=Ethernet
PROXY_METHOD=none
BROWSER_ONLY=no
BOOTPROTO=none
IPADDR=192.168.0.10
PREFIX=24
DEFROUTE=yes
IPV4_FAILURE_FATAL=no
IPV6INIT=yes
IPV6_AUTOCONF=yes
IPV6_DEFROUTE=yes
IPV6_FAILURE_FATAL=no
IPV6_ADDR_GEN_MODE=stable-privacy
NAME=enp4s0static
UUID=08c3a30e-c5e2-4d7b-831f-26c3cdc29293
DEVICE=ens33
ONBOOT=yes

修改完之后,重启network生效systemctl restart network

(2)统信系统

1)配置文件
通过nmconnection文件配置静态网络,以ens37网络接口进行静态网络设置为例,通过在root权限下修改nmconnection文件实现,在/etc/NetworkManager/system-connections/目录中生成名为 有线连接1 .nmconnection的文件中,修改参数配置,示例如下:


修改完之后,重启network生效systemctl restart network-manager-service。

2)图形界面
控制中心-网络-有线网络2

2.4 系统源配置方式对比

(1)麒麟系统
利用yum源配置,文件路径:/etc/yum.repos.d/

(2)统信系统
利用apt配置,统信操作系统V20(d)系统源仓库: /etc/apt/sources.list
统信操作系统V20(d)系统源仓库商店源仓库地址:/etc/apt/sources.list.d/appstore.list

三、实际待优化对比

自我行使用服务器版信创操作系统以来,经历了适配阵痛期,碰到了很多已知或未知的问题,也有一些重要问题悬而未决,问题总结如下:

(1)麒麟系统
我行大多数信创系统使用的是麒麟操作系统,麒麟有现在信创操作系统普遍存在的不足,就是二线/三线支持能力不够,碰到深层次的问题往往没有解决方案,仅基于上游Centos系统进行二开,对于系统底层和内核理解不够透彻深入。在前述调查中的“信创操作系统需要优化的点有哪些方面?”投票中,得分最高的前两项分别为“系统健壮性是否符合行业业务连续性要求”和“已知问题的解决能力及二线支持能力”,投票结果从侧面印证了信创系统的健壮性、对已知问题的解决能力和二线支持能力函需提升。

下面列举我行关于麒麟系统的两个典型遇到的问题。

1)物理机和虚拟机操作系统异常重启问题
操作系统异常重启是个常见的问题,最终大多能追溯根本原因,但放在信创操作系统上,这却成了一个无解问题。

出问题的是我行浪潮FT2500服务器,在01:46左右出现自动重启,如下图所示:

分析本次重启前后的日志,01:45:59 记录最后一条日志,01:57:44 开始启动。rc.local 的日志大概3秒一条,也就是说 01:45:59 到 01:46:02 之间发生了自动重启,现有日志无法判定重启原因。

以上两个图是重启前后内存和 CPU 的情况,可以看到重启前后内存使用率很低,CPU负载也很低,由此可判断不是资源不足导致的重启。

综上,当前日志没法判定自动重启原因。经过麒麟、服务器硬件和行内专家共同研究决定,采取以下3个预防性措施:

一是在FT2500平台部署kdump(搜集系统dump)和netconsole(网络串口日志,搜集内核panic相关内容),等待问题复现之后可搜集更多日志分析重新原因;

二是根据飞腾平台最佳实践,添加iommu.passthrough=on参数,由于FT2500CPU对GICD和SMMU的支持存在问题,配置BIOS设置打开兼容模式,并关闭SMMU启用;

三是预防性更换服务器主板,并升级BIOS和BMC至最新版本,修复已知问题。

采取预防性措施之后系统已稳定运行1年,目前问题尚未复现。虽然问题根源尚未找到,但由此也还是提醒选型采用FT2500服务器搭载麒麟V10操作系统(目前SP1和SP2均出现此类问题)的银行,统一进行飞腾平台最佳实践调优,打开BIOS设置打开兼容模式,并关闭SMMU启用,同时升级BIOS和BMC至最新版本。

2)HBA卡适配问题
在鲲鹏服务器+华为doradoV6存储POC性能测试项目中,利用麒麟V10 SP2系统自带HBA卡驱动,向外置盘进行FIO压测,IOPS始终无法超过10万,但该款华为存储为NVMe SSD磁盘,IOPS最少可达30万。我行协调了麒麟操作系统、华为服务器、华为存储工程师到现场进行HBA卡驱动调优,但测出的结果暂时还不尽如人意,需要进一步探索提升。

现在分布式架构盛行,也许信创服务器连存储的场景并不多见,但分布式架构问题也日益凸显,如机房空间占用率高、设备用电量大、软件授权费用高昂、一主多副本导致资源闲置浪费等,很多银行已重启存算分离架构,那势必需要进行信创服务器HBA驱动优化和存储多路径软件适配,信创操作系统函需适应多种不同形态架构,以不变应万变。

(2)统信系统
笔者认为,服务器版统信操作系统V20(d版)最大的问题是全面度和生态兼容性问题,在前述调查中的“系统全面性和兼容性”维度投票中,麒麟系统全面度和兼容性加权平均得分分别为8.4和7.8分,统信系统分别为5.3分和7分,统信系统整体低于麒麟系统。

就我行目前上线的业务系统而言,只有5%左右的应用优先选用统信操作系统,不管何种架构的信创服务器,兼容麒麟操作系统的还是占大多数。虽说统信V20(d版)是基于debian进行的二次开发,但在实际运用中确实有点“水土不服”,不论是交易类的统一C端、企业网银,还是管理类的OA办公,在操作系统选择上,统信目前还不是应用厂商的首选。为了系统的健壮和稳定性,在服务器端,我行还是优先采用应用厂商推荐的麒麟操作系统,这种实际情况也与社区投票的结果相吻合。因此建议服务器版统信操作系统V20(d版)多关注生态上下游应用端适配问题,在银行业可以产出更多关键业务系统案例。

四、总结

国外操作系统生态已经发展了几十年,要追赶上是一项艰巨的重任。但在国家政策牵引和市场推动下,信创操作系统近几年突飞猛进,全面发展,已逐渐具备了承载银行关键业务系统的能力。虽然目前服务器版信创操作系统还存在较多难关需要攻克,但无论是麒麟还是统信,在服务支持和配合度方面都很不错,充分体现了信创操作系统大厂潜心服务金融客户的态度和决心。

国产化替代是未来中国IT发展的主旋律,笔者呼吁:监管层面能够给予全栈信创金融系统一定的差错容忍度,使信创生态不再游离于金融业外围交易和管理类系统之中,向全面接管业务连续性要求较高的核心和关键交易类系统扩展;金融业也应该给予信创生态孵化和深耕的土壤,切实做到真试真用,促进金融信创上下游生态不断更新迭代;多方合力,加速缩小与国外同等类型操作系统产品的差距,提高金融业的自主可控能力,规避外部技术制裁和风险,提升金融业信息安全水平和核心竞争力,推动金融业数字化转型。

如果觉得我的文章对您有用,请点赞。您的支持将鼓励我继续创作!

6

添加新评论6 条评论

匿名用户
2024-03-21 14:46
基于CentOS的麒麟和基于Debian的统信? 都是基于openEuler吧?

微笑笑西西: @匿名用户 我们行用的麒麟的是,统信的不是,但统信应该也有基于centos的版本

2024-03-22 17:15
侯守立侯守立课题专家组系统运维工程师某保险公司
2024-03-08 22:05
针对两个国产操作系统的运维差异,作者进行了详细的对比,案例分享也比较典型,对公司实施信创改造有不错的借鉴意义。作者在信创改造实践过程中,是否有遇到国产操作系统的小版本与国产基础应用软件的兼容性问题?

微笑笑西西@侯守立 有的,我们事先做了基础软件的兼容性测试,搭建最佳实践基础平台,所有要上信创的业务系统都在这个平台上做适配开发

2024-03-22 17:13
wanggengwanggeng系统运维工程师某银行
2024-03-08 09:16
对比整体还是非常客观的,有助于我们在使用信创操作系统上的选择以及版本的选择参考。
pysx0503pysx0503系统工程师第十区。散人
2024-03-07 15:56
非常直观的对比。信创系统的推广虽然势在必行。但是对于众多的IT从业者来说其实还是有些迟疑的。毕竟操作系统的稳定是整个信息化的基石,大家都没办承受一点不稳定的因素可能产生的影响。这也使得信创推进缓慢。相信随着越来越多的应用案例,应用和生态的普及会让国产系统逐渐完善,让 大家也对国产系统有坚定的信心。
wangzimingsq88wangzimingsq88软件开发工程师本钢矿业公司
2024-03-06 14:04
基于CentOS的麒麟和基于Debian的统信,是否还有其他版本?若能将效果对比用短视频对比一下,效果会更佳

微笑笑西西@wangzimingsq88 统信还有基于centos的版本,但我们行没有用到。不会做短视频,还是要向大家多学习

2024-03-22 17:17
xjwangbo100xjwangbo100联盟成员系统架构师哈密市商业银行
2024-02-29 10:21
作者分享的信创操作系统运维差异对比对我行的信创改造非常有帮助,关于麒麟系统,我行也发现一个头疼的问题,就是ftp服务没有相应的安装包进行安装,对于依赖ftp服务的上下游系统比较头疼,后期也希望作者多分享此类的文章,共同学习 共同进步 。

微笑笑西西@xjwangbo100 是的 所以我们都用sftp 对于ftp部分我们还要多学习多探讨一下

2024-03-22 17:15
Ctrl+Enter 发表

本文隶属于专栏

技术路线选型
不同趋势领域都有不同技术路线,不同行业的应用规模也有不同技术路线。通过对同一场景下不同技术路线的对比分析,帮助用户选择最适合企业发展需要的技术路线。

作者其他文章

趋势联盟联盟文章

相关文章

相关问题

相关资料

X社区推广