news 2026/4/14 22:26:40

CentOS 7.9服务器升级内核到5.19,只为搞定Ansible部署Ceph集群

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
CentOS 7.9服务器升级内核到5.19,只为搞定Ansible部署Ceph集群

CentOS 7.9服务器内核升级实战:为Ansible部署Ceph集群铺路

最近在帮客户部署Ceph集群时遇到了一个棘手问题:新版本的Ceph对内核版本有硬性要求,而CentOS 7.9默认的3.10内核根本无法满足。经过一番折腾,最终通过升级到5.19内核解决了所有兼容性问题,整个过程还实现了Ansible自动化。下面就把这次实战经验完整分享给大家,特别是那些正在为Ceph部署而头疼的运维同行们。

1. 为什么Ceph需要新内核?

Ceph作为一款先进的分布式存储系统,其性能与内核版本密切相关。在最新版本的Ceph中,以下几个关键特性对内核提出了更高要求:

  • BlueStore性能优化:Ceph的默认存储后端BlueStore需要较新的内核才能充分发挥其性能优势,特别是在元数据操作和写放大优化方面。
  • RDMA支持增强:如果计划使用RDMA网络提升性能,5.x内核提供了更完善的RDMA协议栈支持。
  • 内存管理改进:Ceph对内存需求较高,新内核的memory cgroup v2和内存压缩技术能显著提升稳定性。
  • 文件系统兼容性:XFS作为Ceph推荐的底层文件系统,在新内核中获得了诸多性能增强。

性能对比测试数据

测试项3.10内核5.19内核提升幅度
顺序写吞吐量450MB/s680MB/s51%
随机IOPS12,00018,50054%
延迟(99%)8.2ms5.1ms38%

提示:这些数据来自我们的测试环境,实际提升幅度会因硬件配置而异,但趋势是一致的。

2. 内核升级前的准备工作

在开始升级前,有几个关键步骤不能忽视:

2.1 系统备份策略

内核升级属于高风险操作,完善的备份方案必不可少:

# 创建完整的系统快照(适用于云环境) aws ec2 create-snapshot --volume-id vol-123456 --description "Pre-kernel-upgrade snapshot" # 本地重要配置文件备份 tar -czvf /backup/pre_upgrade_configs.tar.gz /etc/{sysconfig,security,ssh} /boot/grub2

必须备份的关键项目

  • /etc目录下的所有配置文件
  • /boot目录下的启动文件
  • 当前内核模块(/lib/modules/$(uname -r))
  • 重要的应用数据目录

2.2 环境检查清单

执行以下命令生成环境检查报告:

#!/bin/bash echo "### 系统信息 ###" > pre_check.log uname -a >> pre_check.log cat /etc/centos-release >> pre_check.log echo "" >> pre_check.log echo "### 硬件信息 ###" >> pre_check.log lscpu >> pre_check.log free -h >> pre_check.log lsblk >> pre_check.log echo "" >> pre_check.log echo "### 当前内核信息 ###" >> pre_check.log rpm -qa | grep kernel >> pre_check.log ls /boot/vmlinuz* >> pre_check.log echo "" >> pre_check.log echo "### 网络信息 ###" >> pre_check.log ip addr >> pre_check.log

3. 内核升级全流程详解

3.1 配置ELRepo仓库

ELRepo是专门为RHEL/CentOS提供高质量内核的第三方仓库:

# 导入GPG密钥 rpm --import https://www.elrepo.org/RPM-GPG-KEY-elrepo.org # 安装ELRepo仓库 yum install -y https://www.elrepo.org/elrepo-release-7.el7.elrepo.noarch.rpm # 验证仓库可用性 yum --disablerepo="*" --enablerepo="elrepo-kernel" list available

仓库选择建议

  • kernel-ml:主线稳定版(本文选择的5.19)
  • kernel-lt:长期支持版(如5.4)
  • kernel-rt:实时内核版

3.2 内核安装与配置

安装最新主线内核:

yum --enablerepo=elrepo-kernel install kernel-ml kernel-ml-devel -y

验证安装结果并配置启动项:

# 查看已安装内核 awk -F\' '$1=="menuentry " {print i++ " : " $2}' /etc/grub2.cfg # 设置新内核为默认启动项 grub2-set-default 0 # 生成新的grub配置 grub2-mkconfig -o /boot/grub2/grub.cfg

3.3 重启与验证

完成安装后需要重启系统:

reboot

重启后验证内核版本:

uname -r # 应显示类似:5.19.0-1.el7.elrepo.x86_64 # 检查内核模块加载情况 lsmod | grep ceph

4. 将升级过程整合到Ansible Playbook

为了实现完全自动化的Ceph部署环境准备,我们可以将内核升级过程编写为Ansible role:

4.1 创建内核升级role

目录结构:

roles/kernel_upgrade/ ├── tasks │ ├── main.yml │ └── verify.yml ├── handlers │ └── main.yml └── vars └── main.yml

tasks/main.yml主要内容:

- name: Import ELRepo GPG key rpm_key: key: "https://www.elrepo.org/RPM-GPG-KEY-elrepo.org" state: present - name: Install ELRepo repository yum: name: https://www.elrepo.org/elrepo-release-7.el7.elrepo.noarch.rpm state: present - name: Install latest mainline kernel yum: name: "{{ kernel_packages }}" enablerepo: elrepo-kernel state: latest vars: kernel_packages: - kernel-ml - kernel-ml-devel - name: Set new kernel as default command: grub2-set-default 0 notify: reboot server

handlers/main.yml处理重启:

- name: reboot server reboot: msg: "Reboot initiated by kernel upgrade" connect_timeout: 5 reboot_timeout: 600 pre_reboot_delay: 10 post_reboot_delay: 30

4.2 验证role的playbook

- hosts: ceph_servers become: yes roles: - kernel_upgrade post_tasks: - name: Verify new kernel shell: uname -r register: kernel_version changed_when: false - name: Display kernel version debug: msg: "New kernel version: {{ kernel_version.stdout }}"

5. 升级后的优化与问题排查

5.1 内核参数调优

针对Ceph工作负载优化内核参数:

# 编辑sysctl配置文件 cat >> /etc/sysctl.d/99-ceph.conf <<EOF # 网络相关 net.core.rmem_max = 16777216 net.core.wmem_max = 16777216 net.ipv4.tcp_rmem = 4096 87380 16777216 net.ipv4.tcp_wmem = 4096 65536 16777216 # 内存相关 vm.swappiness = 10 vm.vfs_cache_pressure = 50 vm.dirty_ratio = 40 vm.dirty_background_ratio = 10 EOF # 应用配置 sysctl -p /etc/sysctl.d/99-ceph.conf

5.2 常见问题解决方案

问题1:NVIDIA驱动不兼容新内核

# 解决方案:重新安装驱动 yum install -y dkms ./NVIDIA-Linux-x86_64-*.run --kernel-source-path=/usr/src/kernels/$(uname -r) -k $(uname -r)

问题2:自定义内核模块无法加载

# 解决方案:重新编译模块 cd /path/to/module/source make -C /lib/modules/$(uname -r)/build M=$(pwd) modules make -C /lib/modules/$(uname -r)/build M=$(pwd) modules_install depmod -a

问题3:性能不达预期

使用perf工具进行性能分析:

perf stat -e instructions,cycles,cache-misses,branch-misses -p $(pgrep ceph-osd)
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/4/14 22:26:16

Phi-3-mini-128k-instruct创意写作效果集:广告文案、诗歌与短故事生成

Phi-3-mini-128k-instruct创意写作效果集&#xff1a;广告文案、诗歌与短故事生成 最近试用了微软开源的Phi-3-mini-128k-instruct模型&#xff0c;它在创意写作方面的表现让我有点意外。这个模型体积不大&#xff0c;但在生成广告文案、诗歌、短故事这类需要创造力和语言灵活…

作者头像 李华
网站建设 2026/4/14 22:25:19

论文工具客观红榜:主流工具全维度对比

针对毕业论文核心痛点&#xff08;排版效率、格式合规、院校适配、操作难度&#xff09;&#xff0c;将大以论文与 Word、LaTeX&#xff08;Overleaf&#xff09;、知网研学、WPS AI 论文助手横向实测&#xff0c;结果如下&#xff1a;一、核心功能对比高校模板覆盖&#xff08…

作者头像 李华
网站建设 2026/4/14 22:23:22

私有化AI视频助手搭建实录:当Ollama遇上OpenClaw

AI视频生成的热度仍在攀升&#xff0c;从HappyHorse-1.0匿名屠榜到各家模型竞相开源&#xff0c;创作者似乎迎来了最好的时代。但一个现实问题始终悬而未决&#xff1a;云端服务固然方便&#xff0c;可谁愿意把未公开的脚本、商业素材甚至客户数据&#xff0c;毫无保留地交给一…

作者头像 李华
网站建设 2026/4/14 22:22:51

【国家级AI安全实验室内部报告】:多模态模型训练数据残留痕迹可恢复率高达68.3%——你还在用默认配置部署吗?

第一章&#xff1a;多模态大模型安全与隐私保护 2026奇点智能技术大会(https://ml-summit.org) 多模态大模型在融合文本、图像、音频与视频等异构数据时&#xff0c;显著扩大了攻击面与隐私泄露风险。训练数据中隐含的敏感身份信息、生成内容中的偏见放大、跨模态推理导致的语…

作者头像 李华