共识总结:
1、CentOS Stream模式演进原因:从CentOS Linux模式演进到CentOS Stream模式,是为了适应社区开发的快节奏,构建易于贡献与集成的机制,满足稳定应用、二次开发、场景化开发等多种需求,将所有社区整合成相互促进的生态系统。
2、CentOS Stream是稳定版本:CentOS Stream不是RHEL的BETA测试版,它也是稳定版本。1) Technically speaking, CentOS Stream and RHEL updates are two binary packages built from the same source. An update will be published to CentOS Stream if and only if it is published to the RHEL nightly builds. 2) An update is pushed to CentOS Stream if and only if it is published to the unreleased minor update of RHEL. RHEL customers later see each of these as a RHEL Errata update。
3、操作系统迁移选型主要考虑因素:1)显性和隐性的成本因素;2)多技术方向的选型验证测试;3)厂商或自身的服务支持能力;4)制定明确的迁移策略。
4、CentOS转到CentOS Stream或RHEL非常方便:1)从CentOS到CentOS Stream,只需要执行两条命令即可完成;2)从CentOS到RHEL,通过分析、转换和重启三个步骤即可完成。
一、CentOS为什么会转到CentOS Stream?
从CentOS Linux模式演进到CentOS Stream模式,是为了适应社区开发的快节奏,构建易于贡献与集成的机制,满足稳定应用、二次开发、场景化开发等多种需求,将所有社区整合成相互促进的生态系统。下图是Linux发行版开发模式的演进过程。
CentOS Stream不是RHEL的BETA测试版,是稳定版本。CentOS CentOS Stream和RHEL关系如下图:
CentOS转到CentOS Stream或RHEL非常方便:1)从CentOS到CentOS Stream,只需要执行两条命令即可完成;2)从CentOS到RHEL,通过分析、转换和重启三个步骤即可完成。
二、面对CentOS项目变更,企业需要考虑哪些问题?
首先,企业需要选择一个稳定的企业级Linux操作系统来替换CentOS,选型策略需要根据不同场景考虑全面谨慎。例如,有哪些Linux企业级操作系统发行版可以选择?各发行版的社区活跃程度如何?社区的技术支持情况如何?未来是否能获得长期的发展?金融行业目前的选择趋势如何?不同的应用负载如何选择Linux操作系统?
其次,企业需要做好从CentOS到新Linux版本的迁移。迁移需要考虑迁移风险,如版本的差异对上层应用软件的影响怎么评估?迁移过程对业务中断的影响怎么控制到最小?
最后,现在有更多的应用开始迁移到云原生环境,企业需要考虑:为拥抱云原生浪潮,企业操作系统应该如何做好支撑?
三、金融行业服务器操作系统如何选型和迁移?
在云原生技术浪潮的推动下,将有更多的企业生产关键应用基于Linux开放平台部署和运行。生产环境服务器操作系统关系到IT架构的整体稳定性与健壮性,选型需要慎之又慎。
金融行业服务器操作系统选型方向:
金融行业行业服务器操作系统选型应从服务和支持,产品生命周期,成本费用,多技术方向评估四个维度考虑。
服务和支持维度主要考虑四点:1)考虑产品缺陷和漏洞修复的及时 2)产品和解决方案的齐全(应用服务,云计算,数据服务,自动化) 3)技术支持团队能力响应及时,问题定位准确 4)同业应用案例丰富性
产品生命周期维度考虑操作系统的生命周期能够覆盖硬件的生命周期。
操作系统的生命周期示例
成本和费用维度考虑产品使用过程中付出的成本(软硬件兼容、工程师熟练程度等)以及订阅与服务费、license收费。
多技术方向评估包括对操作系统常用组件、容器、中间件、大数据、数据库、监控和自动化等技术方向的充分评估测试。如下表是以容器为例的测试场景和测试案例。
企业需要制定好迁移策略:成立迁移管理组织、进行搬迁评估、进行方案制定、测试与上线。需要遵循先管理后在线,先无状态再有状态,进行逐步迁移。注意大数据、容器、Java类应用优先迁移,C语言等需要编译部署的,结合应用更新换代完成迁移。
四、部分典型Q&A
Q1:红帽重新设计并推出了社区版本CentOS Stream,CentOS Stream有什么特点?企业有什么原因使用它?
A:CentOS Stream不是公测版本,当然无论是CentOS,CentOS Stream, 还是RHEL,都欢迎用户在使用之前对自己的工作负载测试,或者参与社区贡献,但公测不是初衷。CentOS Stream里添加的每一个补丁,都是被RHEL的质量保证部门测试过了,RHEL里肯定会包含这些补丁,所以,是不需要公测的。但对于某些硬件驱动厂商,你想把一个RHEL里没有的驱动加到RHEL里,做集成,那你可以针对CentOS Stream来测试你的驱动,但是对于广大最终用户来说,不需要去测试CentOS Stream本身的稳定性、安全性。即,如果你相信红帽的RHEL是稳定的,那你就不需要测CentOS Stream是否稳定。如果你认为RHEL也不是足够稳定,或者你的应用和操作系统的兼容性需要验证,那你就需要测试一下。因此,CentOS Stream的好处是你可以预先拿到RHEL里肯定会发布的补丁和更新。
Q2:CentOS Stream是不是滚动发行?稳定吗?
A:CentOS Stream不是滚动发行。滚动发行的发行版也有小版本,比如20.04,20.11这种,Fedora一年两个版本,比如Fedora28、Fedora29这些,都是滚动更新的版本。判断滚动和不滚动关键是看前后两个版本是不是有很好的继承性,及如果社区有什么,只管把最新的拿过来,就是滚动更新。如果锁定在社区的某个版本不变,之后所有更新都是基于此版本的企业级的工程化测试、改进、验证,那么,就不是滚动更新。因此,CentOS Stream不是滚动更新,是最新的RHEL,CentOS Stream里的每一个补丁,你必将在RHEL中看到,没有一个补丁是试探性的,都是验证过一定要加到RHEL里的。CentOS Stream也有发布时间,精确到天。CentOS Stream没有对于的基线版,只要是发布的CentOS Stream版本,它都是稳定的。
Q3:CentOS Stream跟现在的CentOS7、CentOS8在部署以及使用上有什么差异?
A:没有差异。
Q4:CentOS Stream的企业人才应该怎样培养?
A:CentOS Stream与CentOS是一样的,所以原来采用什么方式培养,可以继续保持不变。
Q5:RHEL和CentOS Stream在gating之前是各自更新代码,但是在gating时是必须经过相同的验证测试,这样理解对吗?
A:RHEL和Stream是同一份代码。社区提交的代码,需要经过Stream版本的一系列测试通过后,才在Stream上发布出来。同时该代码也会在RHEL版本中进行测试,通过后在RHEL版本中进行发布。
Q6:如何从CentOS平滑迁移至RHEL或CentOS Stream?
A:1)CentOS to RHEL有一个小工具叫convert2rhel,很方便。
2)CentOS Linux to CentOS Stream就是常贴的那两条命令:
[root@centos ~]# dnf swap centos-linux-repos centos-stream-repos
[root@centos ~]# dnf distro-sync
3)关于版本升级等问题,红帽也有另外升级的工具以及操作步骤,网上也能查到很多。
Q7:CentOS Stream发布周期快,在使用中发现问题,是否跳过该版本而是直接发布修复过的新版本到RHEL,那么CentOS Stream 就必须升级到RHEL相应的版本才能解决问题,是否会造成兼容性问题?
A:不会的。如果发现问题,会在Stream和RHEL中同时修复。
Q8:CentOS能简单的换成RHEL Developer吗?有具体步骤介绍么?
A:可以转换。如果是for team版本,可以联系红帽的销售,这是免费的。如果是个人用的版本,就直接在developers.com这个网站上注册一个用户,然后就有这个Developer版本了。
转换的步骤跟CentOS转到RHEL的步骤是一样的。
Q9:Redhat7官方技术支持服务到2023年,Redhat8和9小版本更新太快,大家是怎么做OS选型和OS版本、漏洞、补丁更新升级的?
A:1)一个大版本出来,会选择它后面发布的小版本,一般会避免选择点一点二这种前期的小版本。
2)漏洞和补丁跟着厂商。比如open ssl这种漏洞出来了之后,第一时间联系厂商;然后厂商给出解决方案,通过自动化手段批量解决漏洞问题。
3)如果有红帽订阅服务,可以咨询红帽售后支持人员,会根据用户的实际环境给出更新建议。4)无论是RHEL还是CentOS Stream,如果有一些重要的重大的安全漏洞,需要立刻更新,一般情况可以半年更新一次,一年更新一次,或者更长时间。
5)没有必要去追每一个小版本,可以选择有EOS的版本。