Alibaba Cloud Linux 4与Alibaba Cloud Linux 3的区别

更新时间:
复制 MD 格式

Alibaba Cloud Linux 4(简称 Alinux 4)是阿里云打造的 Linux 服务器操作系统发行版,基于龙蜥社区 Anolis OS 23 版本进行开发和深度定制。本文介绍 Alinux 4 相对 Alinux 3 在产品定位、模块/组件、内核能力、软件包等方面的主要区别,供 Alinux 3 用户在评估升级、做兼容性分析和迁移规划时参考。

产品定位与推荐场景

Alinux 4 不再追求 CentOS 兼容替代,而是采用全新的 6.6 版本内核并对核心工具链版本进行重新选型。其设计目标是面向异构算力支持、AI 算力优化、AI 运维可观测以及系统智能进化等方向。

产品代际定位对比

维度

Alibaba Cloud Linux 3

Alibaba Cloud Linux 4

发布年份

2021 年 4 月

2025 年 7 月

上游基础

Anolis OS 8

Anolis OS 23

CentOS 兼容

核心目标

不再承载 CentOS 兼容替代

核心动力

替代 CentOS、阿里云 8 代实例使能

AI 驱动、异构算力、智能进化

内核版本

5.10(ANCK)

6.6(ANCK)

包管理

dnf(兼容 yum)

dnf(同 Alinux 3,新一代仓库结构)

典型组件名

al8

alnx4

推荐使用场景

Alinux 4 推荐在以下场景使用:

  • Agent 负载场景:支持作为 Agent Runtime,提供安全防护及 Token 节省能力,全面支持阿里云及开源 Sandbox 框架运行环境的部署和调优,在启动速度和负载密度有独特优势。

  • 9 代及以后通算实例:可提供内核级的性能优化和特性使能。

  • 训练及推理场景:可提供训练及推理套件,实现训推场景的优化加速。

  • 国产实例类型:符合安全合规的要求,提供长达 13 年的生命周期维护。

全量组件对比情况

经过对 Alinux 3(3.13 版本基线)与 Alinux 4(4.0.2 版本基线)组件比对,相同组件占比约 58%。整体差异分布如下:

组件情况

组件个数

说明

Alinux 4 继承

1706

其中 1666 个组件完全相同,剩余 40 个为更换了组件名/提供者的同等能力组件。

Alinux 4 不再提供

1191

较多为多语言支持和 modules 包。

Alinux 4 新增

1109

多为产品策略和生态范围支持。其中 257 个为 perl 语言支持包,427 个为 python 语言支持包,40 个为 ocaml 支持和 gcc 多版本支持。

全量组件对比情况见Alinux3 和 Alinux4 全量组件对比清单.xlsx

模块/组件版本区别

系统功能变化说明

能力

Alibaba Cloud Linux 3

Alibaba Cloud Linux 4

差异说明

包管理

dnf-4.7.0

dnf-4.16.2

使用上无差别:同时提供 dnf 和 yum。高版本在安全、签名验证和性能方面进行了优化。

网络配置

NetworkManager-1.40.16

NetworkManager-1.44.2

默认增强容器网络与 WireGuard、DNS-over-TLS。

网络数据包过滤

nftables-1.0.4

nftables-1.0.8

进一步收敛 iptables 兼容层。

默认容器运行时

podman-4.9.4

moby-28.3.3 / containerd-1.7.29

更换 docker 提供者,同时提供可用的 containerd 组件。

Java 发行版

OpenJDK 1.8/11/17/21(社区版)

Alibaba Dragonwell 1.8/11/17/21/25

额外提供 25 版本的 JDK,默认通过 Dragonwell 实现 OpenJDK 加速。

默认 Python

python3.6(额外支持 3.11)

python3.11

3.11 具有明显的系统优化,包括 specializing adaptive interpreter、内联缓存等。

OpenSSL

OpenSSL 1.1.1(兼容旧 ABI)

OpenSSL 3.0.12(默认)/ OpenSSL 1.1.1q(同时提供)

OpenSSL 3.0.12 提供 FIPS 140-3、provider 架构、TLS 1.3 优先。

Cgroup

默认启用 Cgroup V1

默认启用 Cgroup V2

依赖 cgroup v1 的工具需适配。

注意:Alinux 4 默认提供 cgroup v2OpenSSL 3.0,使用旧版本 OpenSSL ABI(如 libssl.so.1.1)的二进制需要重新编译或安装兼容包;依赖 cgroup v1 路径的容器编排或监控工具需适配为 cgroup v2 统一层级。

组件升级说明

组件

类别

Alinux 3

Alinux 4

主要变更点

kernel

内核

5.10

6.6

ANCK 6.6 引入 io_uring 增强、ext4 性能优化、large folio、MGLRU、EEVDF/sched_ext、cgroup v2 cpuset 等大量上游能力。

glibc

基础

2.32

2.38

支持 Linux 5.8–6.3 新系统调用;优化 ARM64/RISC-V;malloc 增强;VDSO 加速。

libc++

基础

15.0.7

17.0.6

C++20 优化、C++23 引入新功能;容器与格式化优化。

libstdc++

基础

10.2.1

12.3.0

C++20 优化、C++23 初期支持;线程安全调整。

libvirt

虚拟化

8.0.0

9.10.0

虚拟化栈整体升级,对接更新 qemu。

qemu

虚拟化

6.2.0

8.2.0

支持新硬件平台与 virtio 增强;包名由 qemu-kvm 改为 qemu。

GCC

编译器

8.5

12.3

C++20/23 完善、static analyzer、新 ISA 指令集。

systemd

系统管理

239

254

统一 cgroup v2、Portable Services、Credential、BPF、OOM Policy 等。

OpenSSL

安全

1.1.1

3.0.12

FIPS 140-3、provider 架构、TLS 1.3 优先。

containerd

容器

未提供

1.7.29

新增独立 containerd 组件。

moby

容器

未提供(仅 podman)

28.3.3

新增 moby(Docker 开源引擎)。

内核新增重点特性

存储

io_uring

相比 5.10,6.6 内核在异步 IO 框架 io_uring 上持续增强:

特性

说明

Async buffered writes

在 fast path 增加 buffered 写支持,xfs 测试 ~3x 性能提升。

Task work lock contention

spin lock 改为 lockless list,多线程 task_work_add 性能提升约 20%。

Multishot completion batching

multishot 完成事件复用 IO_URING_F_COMPLETE_DEFER,RPS 由 8.3 M/s 提升到 19.3 M/s(~2.3x)。

SQ/CQ caching 优化

io_uring nop micro benchmark 提升约 9%。

新增能力

multishot accept/recvmsg/timeout、网络零拷贝、passthrough 直通、用户态块驱动 ublk 等。

ext4

覆盖块分配、inode 预分配、并发与锁、可扩展性等多方面:

特性

说明

Improve delalloc buffer write performance

移除 delalloc 写流程中不必要的 journal 操作,UnixBench 提升约 73%。

Speedup orphan file handling

引入 orphan file 替代 ondisk linked list,128 线程 micro benchmark 操作时间下降约 40%。

Improve fast_commit performance

ext4_fc_commit_dentry_updates 由 O(n²) 优化为 O(n),fs_mark 多目录小文件场景提升约 171x。

DIO 共享 inode lock 覆盖预分配块

预分配块覆盖写改为 i_data_sem 保护,4k 多线程 DIO 写性能约 4x 提升。

Inode preallocation list → rbtree

查找复杂度 O(n) → O(log n),sparse 写入提升 1x ~ 2x。

Speed up delalloc append write

追加写场景延迟 i_disksize 更新,32 线程并发追加约 34% 提升;Kafka 2.6.2 实测吞吐 +10%。

Enable large folio for regular files

基于 buffer head 在 mballoc/write_begin/writeback 上做 folio 改造,buffer IO 读写最多约 1.2x 提升。

内存

内存子系统覆盖成本优化、大内存管理、软硬协同等方向。

内存成本优化

特性

说明

HVO(HugeTLB vmemmap optimization)

释放 hugetlb 大页中不使用的 tail page struct,1T 大小的 1G hugetlb 可节省 16G 内存。

DAMON(Data Access Monitor)

基于区间采样和自适应区间调整,主动回收冷内存。

MGLRU 冷内存回收

更轻量级的内存 aging 与冷内存主动回收方案。

tmpfs 零页填充

tmpfs 稀疏文件零页复用,避免占用额外物理内存。

大内存管理(Large folio + Lock Scalability)

AI 与虚拟化大内存场景下,6.6 内核默认开启 Large folio,支持 ARM contiguous PTE、AMD THP,降低 TLB miss;彻底解决 5.10 时代仅能 workaround 的 mmap_lock scalability 问题。

内存软硬协同优化

特性

说明

Memory tiering

支持异构 CXL/PMEM 内存自动冷热分层管理。

Migration batch TLB flushing

批量化 TLB IPI,优化迁移路径性能。

NUMA balancing 支持大页

large folio 也参与 NUMA balance,访问本地大页提升业务性能。

代码段多副本(duptext)

将远程节点代码段复制到本地节点,避免跨 NUMA 访问。

调度

特性

说明

EEVDF

基于虚拟截止时间的调度,相比 CFS 在保证吞吐不变的同时,让延迟敏感任务响应更快。

sched_ext

新增 ext 调度类,通过 eBPF 程序实现自定义调度策略,针对不同业务场景定制最优调度器。

PSI 增强

per cgroup PSI 统计开关、irq/softirq 负载统计、非特权 poll psi event。

cgroup v2 cpuset 隔离

新增 isolated 模式(cpuset 范围内不做负载均衡,适合 DPDK 等独占场景)。

Group Identity 2.0

基于 CFS/EEVDF 的细粒度调度优化,简单高效规避超线程争抢。

Group Balance 2.0

解决 CPU share 化模式下亲和域问题与 cache/TLB 竞争干扰的动态调度方案。

差异化组件归类分析

Alinux 4 不再提供的组件

共 1191 个组件,按引入原因分布如下:

  • 190 个多语言格式支持包:Alinux 4 仅支持中英文,其他语言暂不支持。

  • 108 个 Module 包(DNF Modular):Alinux 4 目前未支持 module 包形式。

  • 36 个驱动组件(kmod-*):Alinux 4 暂未提供,正在商议后续计划。

  • 30 个 mingw 编译工具链:Alinux 4 未提供 mingw 交叉编译环境。

  • 42 个 gcc 多版本:gcc-toolset-12/13 等;Alinux 4 已切换默认 gcc 版本。

  • 34 个 OCaml 支持:Alinux 4 未引入 OCaml 生态。

  • 9 个 Red Hat 产品组件:Alinux 4 为自研产品,无需引入。

  • 806 个其他应用组件:尚未明确分类,需应用侧逐项确认。

升级建议:业务方在迁移前请使用 rpm -qa 导出现有 Alinux 3 实例的软件包清单,与上述类别对比;如依赖 module 包、gcc 多版本工具链、mingw、OCaml、kmod-*、Red Hat 产品组件,需提前评估替代方案。

Alinux 4 上发生变更的组件

共 40 个组件在 Alinux 4 中以等价能力但不同包名/提供者形式存在。常见替换关系如下:

原 Alinux 3 组件

Alinux 4 等价提供者

说明

SDL 1.2.15

sdl12-compat 1.2.68

SDL 1.2 → SDL 2 兼容层

device-mapper-multipath 0.8.4

multipath-tools 0.9.5

提供者更换

fipscheck 1.5.0

libkcapi-fipscheck 1.4.0

FIPS 校验改用 libkcapi

glassfish-annotation-api / servlet-api

jakarta-annotations / jakarta-servlet

JavaEE → Jakarta EE 命名空间迁移

hardlink 1.3

util-linux-core 2.39.1

合并到 util-linux-core

java-1.8.0/11/17-openjdk

java-1.8.0/11/17-alibaba-dragonwell

默认 OpenJDK 替换为 Dragonwell

python3.11-* 系列(17 项)

python3-* 对应包

包名归一

qemu-kvm 6.2.0

qemu 8.2.0

包名由 qemu-kvm 改为 qemu

shadow-utils 4.6

shadow 4.14.3

包名调整

system-lsb 4.1

lsb-release 3.2

提供者变更

Alinux 4 新增独有组件(1109 项)

Alinux 4 相对 Alinux 3 新增的独有组件主要分布于以下方向:

  • 427 个 Python 语言生态包:围绕 python 3.11 默认运行时新增的 python3-* 模块。

  • 257 个 Perl 语言生态包:配合 perl 5.36 升级新增的 CPAN 模块打包。

  • 40 个 OCaml 与 gcc 多版本支持:通过其他途径提供新版工具链。

  • 385 个其它生态/产品策略包:来自 Anolis 23 / 龙蜥社区生态扩展。

兼容性与迁移建议

适用场景判断

建议如下场景优先评估升级到 Alinux 4:

业务场景

升级收益

AI 训练/推理(大模型、vLLM、SGLang)

6.6 large folio、Uncached IO、Cachefs、全栈 Profiling、分布式推理优化。

异构/国产硬件(海光、兆芯、鲲鹏、飞腾、国产 GPU)

Alinux 4 是阿里云国产化路线的下一代核心底座,原生使能。

9 代及以后的实例

新增指令集、平台驱动、调度优化。

大规模容器/混部

cgroup v2 默认、PSI per-cgroup、cpuset isolated、Group Identity/Balance 2.0。

对 OpenSSL 3.0、Python 3.11、GCC 12+ 有强需求

现代化基础设施开箱即用。

兼容性高风险项

  • OpenSSL 3.0:旧版 libssl.so.1.1 二进制不再默认提供,需重新编译或安装兼容包。

  • cgroup v2 默认:依赖 cgroup v1 路径的容器编排、监控 Agent 需适配。

  • Java 默认 Dragonwell:业务如严格依赖 OpenJDK 行为或 vendor 字符串,需在 OpenJDK / Dragonwell 之间显式指定。

  • Python 默认 3.11:Python 3.6 编译的 C 扩展、依赖 distutils 的旧脚本需要适配。

  • Module 包不再支持:使用 DNF Modular 的部署脚本需改造。

  • kmod-* 驱动:部分硬件驱动(ena、bnxt、hns3 等)目前在 Alinux 4 上未提供,需评估业务影响。

  • 包名变更qemu-kvm → qemushadow-utils → shadowsystem-lsb → lsb-releasepython3.11-* → python3-* 等命名空间迁移需要更新部署脚本。

推荐迁移路径

  1. 盘点:在 Alinux 3 实例上执行 rpm -qa > alinux3-pkglist.txt,对照本文差异化组件归类分析进行差异分析。

  2. 替换:对变更组件,在部署脚本里调整为 Alinux 4 等价包名。

  3. 评估:对"待逐项确认(806 个)"的组件,在测试环境验证其必要性。

  4. 试点:优先在 AI、混部、国产硬件场景的非核心业务上试点 Alinux 4。

  5. 规模化:试点稳定后再分批替换核心业务,必要时采用容器化作为过渡。