CentOS 7.9(发布于2021年4月20日)是 CentOS 7 系列的最后一个次要版本(EOL 已于2024年6月30日),其内核更新延续了 RHEL 7.9 的上游变更。相比 CentOS 7.8(对应 RHEL 7.8,内核为 3.10.0-1127.*),CentOS 7.9 升级至 *RHEL 7.9 内核 `3.10.0-1160.** 系列(具体为3.10.0-1160.el7及后续修订版,如-1160.2.2,-1160.31.1` 等)。
以下是 CentOS 7.9 相比 7.8 在内核层面的主要更新与改进(基于 RHEL 7.9 内核变更日志及 Red Hat 官方文档):
✅ 一、核心内核版本升级
| 版本 | 内核包名 | 主要内核版本 |
|---|---|---|
| CentOS 7.8 | kernel-3.10.0-1127.* |
3.10.0-1127.el7(2020年4月) |
| CentOS 7.9 | kernel-3.10.0-1160.* |
3.10.0-1160.el7(2021年4月) |
🔹 共新增约 300+ 内核补丁(cherry-picked from upstream stable kernels and RHEL-specific fixes),涵盖稳定性、安全、硬件支持与性能优化。
✅ 二、关键改进与新增特性
1. 安全性增强
- 新增/更新多个 CVE 修复(截至2021年初):
CVE-2020-14386:net: sock_diag —— 本地提权漏洞修复(严重)CVE-2020-27194:ext4 —— 释放后重用导致的拒绝服务/潜在提权CVE-2021-20225:btrfs —— 空指针解引用(DoS)- 强化
CONFIG_HARDENED_USERCOPY和CONFIG_FORTIFY_SOURCE=y编译选项,提升内存安全防护。
- 支持 Kernel Page Table Isolation (KPTI) 默认启用(缓解 Meltdown),并持续优化性能开销。
2. 硬件支持扩展
- 新增对新一代服务器硬件的支持:
- 更完善的 Intel Ice Lake-SP / Cooper Lake CPU 微码与调度器适配(如
intel_idle,cpupower) - AMD EPYC Rome/Milan 平台增强(ACPI P-state, PCIe AER, IOMMU)
- 新增/更新多款网卡驱动:
ice(Intel E810)、iavf(Intel Adaptive Virtual Function)qed(QLogic QL4xxx)、bnxt_en(Broadcom BCM574xx/588xx)驱动升级至更稳定版本
- 支持更多 NVMe 设备(PCIe 4.0 初步兼容性增强,如
nvme_core性能调优)
- 更完善的 Intel Ice Lake-SP / Cooper Lake CPU 微码与调度器适配(如
3. 存储与文件系统
- XFS:
- 支持
xfs_info -m显示元数据校验和状态(配合mkfs.xfs -m crc=1) - 修复
xfs_repair在特定损坏场景下的崩溃问题(RHBZ#189XXXX)
- 支持
- Btrfs:
- 稳定性大幅提升(修复
btrfs scrub挂起、balance 中断恢复异常等问题) - 增强 RAID5/6 重建可靠性(但仍标记为“技术预览”,不推荐生产环境 RAID5/6)
- 稳定性大幅提升(修复
- DM-Multipath / LVM:
device-mapper-multipath与内核dm-multipath模块协同优化,提升路径故障切换速度(尤其在 NVMe-oF 场景)- LVM cache(cache pool)稳定性增强,减少
lvconvert --cachesettings配置失败率
4. 网络栈优化
- TCP / UDP:
tcp_fastopen默认启用(需应用层支持),降低 TLS 握手延迟net.ipv4.tcp_slow_start_after_idle=0成为默认(避免空闲后慢启动,提升长连接吞吐)
- eBPF:
- 内核 BPF 子系统升级(
bpf_prog_load()安全检查强化,JIT 编译器加固) - 新增
bpf_get_current_cgroup_id()辅助函数,便于容器网络策略实现
- 内核 BPF 子系统升级(
- RDMA / RoCEv2:
mlx5_core驱动升级,支持 ConnectX-6 Dx 更好 QoS 与拥塞控制(DCQCN)
5. 虚拟化与容器支持
- KVM/QEMU:
kvm_intel模块增强嵌套虚拟化(Nested VMX)稳定性(尤其在 vCPU > 64 场景)- 支持
virtio-fs(实验性)—— 用户态文件系统共享(需额外安装qemu-kvm2.12+)
- cgroups v1 增强(因 RHEL 7 仍默认使用 cgroups v1):
memorycontroller 改进 OOM killer 精确性(避免误杀父进程)cpuacct统计精度提升(尤其在 SMT/hyperthreading 场景)
6. 调试与可观测性
perf工具链升级(perf-3.10.0-1160):- 支持 Intel PT(Processor Trace)采样解码(需硬件支持)
- 新增
perf script --call-graph dwarf支持更准确的用户态调用图
/proc/sys/kernel/kptr_restrict默认值调整(兼顾调试与安全)
⚠️ 注意事项
- ❗ 无 cgroups v2 默认支持:CentOS 7.9 仍以 cgroups v1 为主,cgroups v2 仅作为技术预览(需手动启用
systemd.unified_cgroup_hierarchy=1,且部分功能受限)。 - ❗ 无 eBPF 程序加载到 tc/bpf 的完整生产就绪支持:虽已合入基础框架,但高级功能(如
tc bpf多程序链、map 自动回收)在 7.9 中尚未完全成熟(RHEL 8+ 才全面落地)。 - ❗ 内核 ABI 保持向后兼容:所有
3.10.0-1160.*内核可直接替换3.10.0-1127.*,第三方 DKMS 模块(如 NVIDIA、ELRepo 驱动)通常需重新编译(检查dkms status并执行dkms autoinstall)。
✅ 验证方法(升级后确认)
# 查看当前内核版本
uname -r
# 输出示例:3.10.0-1160.88.1.el7.x86_64
# 查看内核变更日志(含补丁摘要)
rpm -q --changelog kernel | head -n 50
# 检查关键配置是否启用
zcat /proc/config.gz | grep -E "(HARDENED_USERCOPY|KPTI|TCP_FASTOPEN)"
# 或(若无 config.gz):
grep -r "CONFIG_TCP_FASTOPEN=" /boot/config-$(uname -r)
📌 总结
CentOS 7.9 的内核更新并非革命性升级,而是 RHEL 7 生命周期末期的一次关键加固与硬件现代化收尾:
✅ 显著提升安全性(批量 CVE 修复 + KPTI/USERCOPY 加固)
✅ 扩展对新一代 x86 服务器(Ice Lake/EPYC)、高速网卡(E810)、NVMe 的支持
✅ 增强 XFS/Btrfs/LVM/网络栈等核心子系统的稳定性与性能
✅ 为容器与虚拟化提供更可靠的底层支撑
💡 建议:若仍在使用 CentOS 7.9,请尽快规划迁移至 Rocky Linux / AlmaLinux 8/9 或 RHEL 8/9(CentOS Stream),因 CentOS 7 已于 2024-06-30 正式 EOL,不再接收任何更新(包括安全补丁)。
如需具体 CVE 列表、补丁编号或某子系统(如 btrfs 或 ice 驱动)的详细变更,我可进一步提供 Red Hat Bugzilla 链接或补丁摘要。
PHPWP博客