Anolis OS 使用指南
Anolis OS 是由阿里巴巴发起、OpenAnolis 社区维护的 Enterprise Linux 兼容发行版。Anolis OS 7/8 分别与 RHEL 7/8 兼容;Anolis OS 23 则走独立演进路线(ANCK 6.6 内核)。它在保持 EL 生态兼容的同时,引入了 Cloud Kernel(ANCK)、LoongArch 架构支持等独有特性,是阿里云生态中的核心操作系统选择。
Anolis OS 版本与定位
Section titled “Anolis OS 版本与定位”| 版本 | 上游基础 | 生命周期 | 说明 |
|---|---|---|---|
| Anolis OS 7(当前 7.9) | RHEL 7 | 至 2029 年 | 兼容 CentOS 7,适合老系统迁移 |
| Anolis OS 8(当前 8.10) | RHEL 8 | 至 2031 年 | 兼容 CentOS 8 / AlmaLinux 8 |
| Anolis OS 23(当前 23.5) | 独立演进 | 滚动维护 | 自主技术路线,非严格 RHEL 兼容 |
Anolis OS 23 是 Anolis 社区的创新版本,采用了更激进的技术选型(如更新的工具链、独立的包版本管理),不再严格追求与 RHEL 的二进制兼容。阿里云上的「Alibaba Cloud Linux 3」基于 Anolis OS 8,「Alibaba Cloud Linux 4」则基于 Anolis OS 23。
与标准 EL 发行版的差异
Section titled “与标准 EL 发行版的差异”Anolis OS 最大的差异在于内核。除了标准的 RHEL 兼容内核,Anolis OS 还提供 Cloud Kernel(ANCK),这是其核心竞争力。
Anolis OS 8 的用户态软件包与 RHEL 8 保持高度一致,可以直接使用 RHEL/CentOS 8 的 RPM 包。Anolis OS 23 的部分包版本会领先于 RHEL 9。
- SELinux 默认处于 enforcing 模式(与 RHEL 一致)
- 防火墙默认使用 firewalld
- 网络管理使用 NetworkManager
- 在阿里云 ECS 上运行时,cloud-init 预配置了阿里云数据源
$ cat /etc/anolis-release$ sudo dnf update$ sudo dnf install nginxAnolis OS 8 仓库
Section titled “Anolis OS 8 仓库”$ dnf repolistAnolis OS 8 默认启用以下仓库:
| 仓库 ID | 说明 |
|---|---|
BaseOS | 基础操作系统包,与 RHEL 8 BaseOS 对应 |
AppStream | 应用流包,与 RHEL 8 AppStream 对应 |
PowerTools | 开发者工具包(对应 RHEL 的 CodeReady Builder) |
Plus | Anolis 社区额外维护的增强包 |
Extras | 额外的常用软件包 |
仓库配置文件
Section titled “仓库配置文件”$ ls /etc/yum.repos.d/$ cat /etc/yum.repos.d/AnolisOS-BaseOS.repoEPEL 支持
Section titled “EPEL 支持”Anolis OS 8 兼容 EPEL 仓库:
$ sudo dnf install epel-release -yAnolis OS 23 仓库差异
Section titled “Anolis OS 23 仓库差异”Anolis OS 23 的仓库结构有所不同,使用 os、update、extras 等仓库名:
$ dnf repolistCloud Kernel(ANCK)
Section titled “Cloud Kernel(ANCK)”Cloud Kernel 是 Anolis OS 的核心特性,全称为 Alibaba Cloud Linux Kernel(ANCK)。它基于上游 LTS 内核,针对云场景做了大量优化。
ANCK 与标准内核对比
Section titled “ANCK 与标准内核对比”| 特性 | 标准内核 (kernel) | ANCK (kernel-anck) |
|---|---|---|
| 基础版本 | RHEL 回移内核 | 上游 LTS + 阿里云补丁 |
| 更新频率 | 跟随 RHEL 节奏 | 独立更新,更频繁 |
| 云优化 | 通用配置 | 针对云虚拟化深度优化 |
| 新特性 | 保守引入 | 积极引入上游新特性 |
安装 ANCK
Section titled “安装 ANCK”在阿里云 ECS 上,Alibaba Cloud Linux 默认使用 ANCK。如果需要手动安装:
$ sudo dnf install kernel-anck$ rpm -qa | grep kernel$ sudo grubby --set-default /boot/vmlinuz-*anck*$ uname -r输出中包含 anck 字样表示正在使用 Cloud Kernel。
ANCK 主要优化特性
Section titled “ANCK 主要优化特性”容器与调度优化
Section titled “容器与调度优化”- Group Identity:为容器提供基于 cgroup 的调度优先级,确保高优先级任务的 CPU 时间
- CPU Burst:允许容器在短时间内突发使用超出 CPU 限额的资源,减少延迟毛刺
- Memory QoS:基于 cgroup v2 的内存 QoS 支持,精细控制容器内存行为
$ cat /sys/fs/cgroup/cpu/cpu.cfs_burst_us存储与文件系统
Section titled “存储与文件系统”- io_uring 增强:对 io_uring 的异步 I/O 框架做了额外优化
- ext4/XFS 优化:针对云盘场景的文件系统性能改进
- EROFS:增强型只读文件系统,适合容器镜像场景
- BBR 拥塞控制:默认可用的 TCP BBR 算法
- XDP 增强:eXpress Data Path 的性能改进
$ sudo sysctl -w net.core.default_qdisc=fq$ sudo sysctl -w net.ipv4.tcp_congestion_control=bbr$ echo "net.core.default_qdisc=fq" | sudo tee -a /etc/sysctl.d/99-bbr.conf$ echo "net.ipv4.tcp_congestion_control=bbr" | sudo tee -a /etc/sysctl.d/99-bbr.conf- China SM 国密算法:内核级别支持 SM2/SM3/SM4 国密算法
- KASLR 增强:内核地址空间布局随机化改进
sysAK 系统运维工具
Section titled “sysAK 系统运维工具”Anolis OS 提供 sysAK(System Analyse Kit)工具集,用于性能分析和故障诊断:
$ sudo dnf install sysak# 查看可用的诊断工具$ sysak list
# CPU 性能分析$ sudo sysak cpu_flamegraph -t 10
# 内存泄漏检测$ sudo sysak memleak -p <pid>
# I/O 延迟分析$ sudo sysak iolatAnolis OS 支持多种处理器架构,这是其相比其他 EL 兼容发行版的一个显著优势:
| 架构 | Anolis OS 8 | Anolis OS 23 | 说明 |
|---|---|---|---|
| x86_64 | 支持 | 支持 | Intel/AMD 64 位 |
| aarch64 | 支持 | 支持 | ARM 64 位(如鲲鹏、飞腾) |
| LoongArch | - | 支持 | 龙芯架构 |
| RISC-V | - | 实验性 | 正在适配中 |
在 ARM 服务器上使用
Section titled “在 ARM 服务器上使用”阿里云提供基于倚天 710(ARM 架构)的 ECS 实例(g8y/c8y/r8y 系列)。Anolis OS 在这些实例上有良好支持:
$ uname -m# 输出 aarch64 表示 ARM 64 位
$ cat /proc/cpuinfo | head -20ARM 实例上使用 Anolis OS 与 x86 基本一致,大部分命令和配置通用。少数软件可能尚未提供 ARM 版本,安装前确认仓库中是否有对应架构的包。
从 CentOS 迁移到 Anolis OS
Section titled “从 CentOS 迁移到 Anolis OS”CentOS 7 迁移到 Anolis OS 7
Section titled “CentOS 7 迁移到 Anolis OS 7”OpenAnolis 社区提供了官方迁移工具 anolis-migration:
$ sudo yum install -y yum-utils$ sudo curl -o /etc/yum.repos.d/anolis-migration.repo \ https://mirrors.openanolis.cn/anolis/migration/anolis-migration.repo$ sudo yum install -y anolis-migration$ sudo anolis-migration --check预检查会扫描以下内容:
- 当前系统版本和架构是否支持
- 已安装的第三方包是否兼容
- 内核版本和模块是否兼容
- 磁盘空间是否充足
$ sudo anolis-migration --migrate迁移过程会:
- 替换 CentOS 仓库为 Anolis OS 仓库
- 替换系统标识包(
centos-release→anolis-release) - 更新所有系统包到 Anolis OS 版本
- 重建 RPM 数据库
$ cat /etc/anolis-release$ rpm -qa | grep centos# 应该没有输出,表示所有 CentOS 包已被替换CentOS 8 迁移到 Anolis OS 8
Section titled “CentOS 8 迁移到 Anolis OS 8”流程与 CentOS 7 类似:
$ sudo dnf install -y dnf-utils$ sudo curl -o /etc/yum.repos.d/anolis-migration.repo \ https://mirrors.openanolis.cn/anolis/migration/anolis-migration.repo$ sudo dnf install -y anolis-migration$ sudo anolis-migration --check$ sudo anolis-migration --migrate迁移注意事项
Section titled “迁移注意事项”- 迁移前务必做好完整备份(快照、数据备份)
- 迁移过程中不要中断,否则可能导致系统不可用
- 第三方仓库的包(如 EPEL、Remi)需要在迁移后重新配置
- 自编译的内核模块需要在新内核上重新编译
- 迁移后建议重启系统以加载新内核
- 生产环境建议先在测试机上验证迁移流程
$ sudo reboot$ cat /etc/anolis-release$ uname -r$ systemctl is-system-running$ dnf check阿里云集成特性
Section titled “阿里云集成特性”在阿里云 ECS 上运行 Anolis OS / Alibaba Cloud Linux 时,有以下专属集成特性:
阿里云 agent 预装
Section titled “阿里云 agent 预装”Alibaba Cloud Linux 镜像预装了以下阿里云组件:
- cloud-init:实例初始化工具,配置了阿里云数据源
- aliyun-cli:阿里云命令行工具(部分镜像)
- aegis:阿里云安全 agent(云安全中心)
- cloudmonitor:云监控 agent
$ rpm -qa | grep -E "(cloud-init|aegis|cloudmonitor|aliyun)"内核热补丁(Kernel Live Patching)
Section titled “内核热补丁(Kernel Live Patching)”阿里云为 ANCK 提供内核热补丁功能,可以在不重启的情况下修复内核漏洞:
$ sudo dnf list available | grep kpatch$ sudo dnf install kpatch-patch-<kernel-version>针对阿里云实例的优化
Section titled “针对阿里云实例的优化”Alibaba Cloud Linux 在 ECS 上的默认配置针对阿里云做了调优:
- 虚拟化驱动优化:virtio 驱动调优,提升 I/O 性能
- 内存管理:针对 ECS 实例的内存回收策略调优
- 网络参数:TCP 缓冲区和拥塞控制针对阿里云网络调优
- 存储优化:云盘 I/O 调度和预读参数调优
$ sudo sysctl -a | grep alibaba$ cat /etc/sysctl.d/*ali* 2>/dev/null使用阿里云 Yum 源镜像
Section titled “使用阿里云 Yum 源镜像”在 ECS 实例上,Anolis OS 仓库默认指向阿里云内网镜像源,速度快且不消耗公网带宽:
$ dnf repoinfo BaseOS | grep "Repo-baseurl"如果在非阿里云环境使用 Anolis OS,可以将仓库指向公网镜像:
$ sudo sed -i 's|http://mirrors.cloud.aliyuncs.com|https://mirrors.aliyun.com|g' /etc/yum.repos.d/AnolisOS-*.repo$ sudo dnf makecacheANCK 内核与标准内核如何切换
Section titled “ANCK 内核与标准内核如何切换”$ sudo grubby --info=ALL | grep title# 切换到标准内核$ sudo grubby --set-default /boot/vmlinuz-4.18.0-xxx.el8.x86_64
# 切换到 ANCK$ sudo grubby --set-default /boot/vmlinuz-4.19.91-xxx.anck.x86_64$ sudo reboot第三方软件兼容性
Section titled “第三方软件兼容性”Anolis OS 8 与 RHEL 8 高度兼容,绝大多数为 RHEL/CentOS 8 编译的软件可以直接运行。如遇兼容性问题:
- 检查软件是否有针对 Anolis OS 的版本
- 使用 RHEL 8 版本的包通常可以直接安装
- 检查是否缺少依赖库
$ ldd /path/to/binary- 阿里云 ECS 实践 — 在阿里云 ECS 上部署 EL 发行版
- 发行版概览 — Enterprise Linux 发行版全景对比
- 从 CentOS 迁移 — 迁移路径总览
- Cloud-Init 配置 — Cloud-Init 详细配置指南