CERN从CentOS Linux转向Debian的迁移路径

Lobsters Hottest 新闻

摘要

为提升粒子加速器设施的运营效率,CERN正在将其部分系统从CentOS Linux迁移至Debian。

<p><a href="https://lobste.rs/s/3cfr3a/cern_s_migration_path_from_centos_linux">评论</a></p>
查看原文
查看缓存全文

缓存时间: 2026/09/08 15:05

# CERN从CentOS Linux向Debian的迁移之路 来源:https://lwn.net/SubscriberLink/1092512/0772b817c369632b/ > ### 欢迎来到LWN.net 以下内容为LWN订阅用户专享,由某位订阅用户提供给您。成千上万的订阅用户依赖LWN获取Linux及自由软件领域的最新资讯。如果您喜欢这篇文章,欢迎考虑订阅LWN(https://lwn.net/subscribe/)。感谢您访问LWN.net! 欧洲粒子物理实验室,通常简称为CERN(https://home.cern/),不仅是万维网的诞生地(https://home.cern/science/computing/the-birth-of-the-web/),还拥有全球规模最大、能量最高的粒子加速器——大型强子对撞机(https://en.wikipedia.org/wiki/Large_Hadron_Collider)(LHC)(https://www.wikipedia.org/wiki/Particle_accelerator)。正因如此,它的计算环境既独具特色,也引起了CERN外部人士的极大兴趣,他们希望从中找到可应用于自身需求的方案。近期在2026年温特图尔MiniDebConf会议(https://ch2026.mini.debconf.org/)上,CERN部分系统从CentOS Linux向Debian迁移的话题更是引发了广泛关注。 CERN员工Federico Vaga与Nikos Tsipinakis于8月30日做了题为“用Debian控制CERN的加速器”的演讲,配有视频(https://meetings-archive.debian.net/pub/debian-meetings/2026/MiniDebConf-Winterthur/ch2026-53-controlling-cerns-accelerators-with-debian.av1.webm)和演示文稿(https://salsa.debian.org/debconf-team/public/share/miniconfs/-/raw/main/2026-minidebconf-winterthur/slides/6-controlling-cerns-accelerators-with-debian.pdf)。遗憾的是我未能亲自到场,但很快便观看了演讲视频。 #### 系统运行基础 Vaga自2014年起在CERN工作,他自称是一名软件工程师兼开源软件爱好者,“但几乎没空做实质性贡献”。Tsipinakis则担任系统工程师,已在CERN工作约五年。他表示自己是多个开源项目的维护者,使用Debian已有十年时间,同时还是Debian软件包的维护者,任职时长约为七年。他希望未来能成为正式的Debian开发者(https://wiki.debian.org/DebianDeveloper?pow_referer=)。 他说,CERN的主要目标并非发明万维网之类的技术,而是“运营地球上规模最大的加速器集群”,并开展涉及LHC的实验。他展示了一张照片,上面是站在对撞机设备附近的人们:“从那些人的体型就能看出设备的巨大规模。这些系统极其庞大,用来探索那些肉眼无法观测的亚原子层面的物质。”这些系统会产生海量数据,随后会被传输到CERN的数据中心:“我们只存储从传感器获取的部分数据,否则数据量实在太大。”最终,会有数PB的数据被留存下来用于分析。 不过Vaga表示,本次演讲不会涉及CERN的数据中心,因为那里主要使用Red Hat Enterprise Linux(RHEL)或其衍生版本AlmaLinux。相反,他将重点介绍实际运行着整套加速器链、用于粉碎粒子以“探究其内部结构”的计算机及操作系统。该加速器集群分布在43平方公里以上的区域内,最深处埋藏在地下100米处。由于通过地面道路在各个区域之间移动十分困难,因此大部分加速器都建在地下:“我们需要设置交叉通道,避免粒子束和车辆发生碰撞。” 他展示了一张地图(见下图),标出了该加速器集群的位置。一个大的蓝色圆圈标出了LHC的对撞轨道,作为对比,日内瓦国际机场则用红色矩形标出。较小的蓝色圆圈是CERN集群中第二大的设备——超级质子同步加速器(https://home.cern/science/accelerators/super-proton-synchrotron/)(SPS)。 >![[显示CERN位置的地图]](https://static.lwn.net/images/2026/cern-map.png) 由于这是一个“极其特殊的系统”,不存在专门生产适配零件的工厂,CERN需要大量定制设备来运行这套集群,这些设备既由内部设计,也会与行业合作伙伴共同生产。该集群拥有超过36公里的粒子束管道,总计有17,000台设备,另有约70,000根电缆将这些设备与大约2,200台计算机相连,以便远程操控这些设备。Vaga表示,这些数字还在不断增长,因为CERN总有新的需求。和构成加速器设备的部件一样,用于控制所有设备的PCI卡等组件通常也在CERN内部设计。他说,CERN不仅仅是由硬件、电缆和管道构成的,它还由无数人为之付出努力。 > 我们这里的人员构成非常多样化。有软件工程师,像我们一样,还有系统管理员、机械工程师、化学工程师,以及负责设计隧道洞穴和建筑结构的土木工程师。所以我们几乎什么工作都得做。当然,还有科学家和物理学家,他们最终需要分析所有这些数据,为我们揭示生命的奥秘。 由于CERN拥有具备不同专业技能的多样化人才,再加上如此庞大且需求特殊的机器,因此它十分注重系统的稳定性。“所以我们需要一个极其稳定的系统,而要保持这种稳定性有时颇具挑战性。” #### CERN与Linux CERN从2008年开始使用Linux,最初是“在原有系统上添加了实时性补丁”;在此之前,它使用的是实时操作系统Microware OS-9(https://en.wikipedia.org/wiki/OS-9)和LynxOS(https://en.wikipedia.org/wiki/LynxOS)。起初,CERN基于RHEL 5,与位于伊利诺伊州巴塔维亚的6,000英亩规模的粒子物理与加速器实验室Fermilab(https://www.fnal.gov/)合作,开发了自己的Linux发行版,后来这个发行版演变成了基于RHEL 6的Scientific Linux(https://en.wikipedia.org/wiki/Scientific_Linux)。 Vaga表示,后来大家认为,与其重新开发自己的系统,不如为CentOS Linux这样的上游项目做贡献,“因为我们的系统并没有什么特别之处”。2022年4月,Fermilab的Pat Riehecky宣布停止开发Scientific Linux(https://lwn.net/Articles/786422/),转而支持CentOS Linux 8。“我们将与CERN及其他实验室合作,助力将CentOS打造成更出色的高能物理计算平台。” 之后,Vaga说,“我们在使用RHEL衍生版本时基本处于自动运行状态”。不幸的是,CentOS Linux 8的生命周期被大幅缩短(https://lwn.net/Articles/839257/):Red Hat宣布停止开发CentOS Linux,转而推出CentOS Stream。这引发了关于下一步该何去何从的疑问。他说虽然有数千种Linux发行版,但哪一种才能满足CERN的需求呢?“我们需要评估自己有能力在操作系统操作和配置上实现多高的控制程度与维护水平,以及该系统与现有基础设施的融合程度。” CERN首先考虑了基于RHEL的系统。CentOS Stream是首个显而易见的候选者,它无法保证与现有系统相同的稳定性,但也不如Fedora那样前沿。最终决定从CentOS Stream 9开始,计划后续升级到10版本。“不过我们清楚不能再出现意外状况,所以首先做的就是让我们的基础设施能更轻松地适配其他发行版,同时将Debian作为备用方案。” #### 从RHEL转向Debian 然而,Debian很快便成为了首选方案。Vaga表示,最终压垮骆驼的最后一根稻草是“一个简单的编译器标志”。具体来说,Red Hat决定为RHEL 9针对x86-64-v2微架构(https://developers.redhat.com/blog/2021/01/05/building-red-hat-enterprise-linux-9-for-the-x86-64-v2-microarchitecture-level)进行优化,而RHEL 10则针对x86-64-v3微架构进行优化。启用gcc的-march=x86-64-v2标志会对CERN造成严重影响。 Vaga的分析显示,CERN中47%的系统使用的是Intel Core Duo系列等较老的CPU,这些系统将无法运行针对v2架构优化的二进制文件,进而无法启动。“你会收到glibc的提示信息:‘我只能告诉你我无法继续运行了’。”另有17%的CERN系统使用v3优化后的二进制文件也无法启动。这意味着接近65%的系统将无法正常工作。 对于CERN而言,直接升级到新系统并非可行的方案。2010年之前生产的个人电脑通常配有充足的PCI插槽,但如今的电脑已不再如此。“能在台式机上装上几个PCI插槽已经算很幸运了”,他说。工业用系统或许会有两个插槽,“只要多花点钱”,但这仍然不够。“这意味着有些系统需要重新改造,一个系统可能需要三台计算机,这占用的机架空间比之前还要大。” CERN还使用VMEbus(https://en.wikipedia.org/wiki/VMEbus)单板计算机,而这些设备在CentOS环境下将会过时。“这些是我们控制系统的主力设备”。CERN已经设计了新一代的这类设备,“但由于某些地方发生战争、人工智能技术发展等因素,生产进度可能会变慢,价格也会上涨,诸如此类”。正如Tsipinakis在演讲后所解释的,CERN电子设备的规格是公开的,“但我不确定除了想要制造粒子加速器的人之外,是否还有其他人会对这些规格感兴趣”。这也意味着CERN需要为自身硬件编写大量定制的内核驱动程序,这使得维护系统稳定性“比仅有定制用户空间应用程序时要困难得多”,因为驱动程序中的任何漏洞都可能影响整个系统的稳定性。 因此,CERN面临着升级海量系统的任务,其面临的物流问题也比大多数机构更换旧设备要复杂得多。他提醒听众,CERN的系统分布在43平方公里的区域内,很多还位于地下。把新计算机装上运输车辆后,“你得进入地下,更换设备,重新布线,甚至可能误接两根电缆,而这些问题要等到系统调试时才会被发现,这种情况发生的频率可能比常规维护还要高”。 更糟糕的是,新增系统可能需要更多的机架空间,这甚至需要挖掘新的空间来容纳。此外,还需要两名电子工程师重新设计控制板,两名软件工程师开发新的驱动程序,还有两名技术人员负责实际更换系统。“这会逐渐造成混乱,与此同时,所有相关人员都必须保持满意,否则他们就无法正常工作。所以这非常具有挑战性。”Vaga表示,升级所需的总成本估计约为540万瑞士法郎,约合667万美元。 最终,将控制CERN加速器的计算机从基于RHEL的系统转向Debian更为合理,因为Debian是一种“通用操作系统,能够兼容尽可能多的硬件”。CERN今后将使用Debian,但会基于kernel.org的源代码自行构建内核,并内置所有所需的驱动程序。 #### 长期停机计划 转向基于Debian的系统还要求CERN调整系统部署方式。他说,CERN的系统中没有本地磁盘,GRUB引导加载程序通过FTP传输,其他组件则通过HTTP传输。所有相关文件都存储在GitLab的软件包注册表中,同时还有一项配置服务,可以显示系统的操作系统版本、内核版本以及所需安装的软件包。 Tsipinakis表示,一旦决定转向Debian,他们首先要查看其版本发布计划。由于加速器需要全天24小时、每周7天持续运行,因此无法在运行期间进行系统更新。他说,每年会有几次短暂的“技术停机时间”,但这些时间间隔太短,不足以完成一次大规模的发行版升级。“所以你可能会制定一个为期五年的计划”,他告诉听众,“但在CERN,我们的计划至少要覆盖15年,这样我们就能提前知道到2041年系统的运行状况。”他展示了一张图表(见下图),显示了CERN加速器集群的长期规划。 >![[CERN的长期规划]](https://static.lwn.net/images/2026/cern-schedule.png) 图表中的绿色区域表示加速器处于运行状态,蓝色区域是用于维护的短期技术停机时间,红色区域则是“我们所说的长期停机时间,也就是进行大规模硬件更换、重大软件更新等工作的时间”。目前CERN仍在使用CentOS Linux 7,计划是在2027年初部署Debian,并尽可能保持其稳定性,直到2033年加速器再次进入长期停机阶段。 随后他介绍了Debian的版本发布周期(https://www.debian.org/releases/)、其长期支持(LTS)周期(https://wiki.debian.org/LTS),以及由Freexian(https://www.freexian.com/)管理的扩展长期支持(ELTS)项目(https://wiki.debian.org/LTS/Extended?pow_referer=)。一个版本的常规生命周期为3年,作为LTS版本可再获得2年的支持,作为ELTS版本则可再获得5年的支持。这意味着如果需要的话,CERN可以一直使用Debian 13(“trixie”)直到2035年。“这对我们来说非常有用,因为如果在运行期间无法进行重大更新,这个计划就能为我们提供可靠的备用方案,让我们在整个周期内都使用同一版本的操作系统。” #### CERN的分层基础设施 在制定了将Debian的版本发布计划与自身需求相匹配的计划后,CERN还需要想办法在其基础设施上实际构建和部署Debian。此前,由于CERN的基础设施完全基于RPM体系,属于同质化环境,因此大多数CERN员工几乎没有任何使用Debian的经验。Tsipinakis表示,他们向Freexian寻求帮助。“于是他们派来了Seb(Sébastien Delafond),他为我们开展了为期四天的Debian培训”,内容包括软件包构建、托管APT仓库、管理构建仓库等内容。 Tsipinakis指出,CERN的基础设施分为三层,并非所有系统都会迁移到Debian上。第一层是所谓的“控制台”,也就是“分布在CERN各处的桌面计算机”。这些计算机由物理学家或加速器操作员使用,上面装有用Java或Python编写的应用程序,用于向加速器发送指令。“指令可能包括‘我需要将磁体强度调到这个数值,或者将粒子束的强度提高到那个水平’”等。这些系统目前运行的是AlmaLinux 10系统,搭配Xfce桌面环境。“它们会保持现状不变。” 第二层位于CERN的数据中心内;操作员向加速器发送指令后,这些指令会在数据中心被记录、验证并分析,以确保指令符合系统的安全参数。他说,这些系统目前运行的是RHEL 9,未来很可能会迁移到AlmaLinux 10上。 Tsipinakis表示,真正要迁移到Debian的是第三层:那些位于地下100米处的系统。 > 这些系统被称作前端计算机,这听起来似乎有些矛盾。不过对于电子工程师来说,连接磁体的那台计算机就是前端,其他所有计算机都属于后端。所以这些前端计算机……

相似文章

放弃 Scientific Linux 是个错误

Hacker News Top

文章认为,CERN 和 Fermilab 决定放弃 Scientific Linux 转而使用 CentOS 是个错误,因为它移除了一个关键的机构退出选项,这一点因最近向 Debian 的转向而凸显。

Debian 与塞壬

Lobsters Hottest

前 Debian 开发者反思 Debian 允许在开发中使用 LLM 的决策,担忧这可能会导致复杂性上升和对专有软件的依赖增加。

我的新家庭服务器软件选择

Lobsters Hottest

一篇个人博客文章,详细描述了作者为新家庭服务器选择操作系统和服务管理软件的经历,比较了Synology、TrueNAS、Debian以及使用Runit的Void Linux。