温馨提示×

CentOS驱动更新后重启必要吗

小樊
52
2025-11-22 02:00:13
栏目: 智能运维

结论与原则

  • 是否需要重启取决于驱动类型与更新方式:
    • 内核模块被替换或新增(如 NVIDIA 专有驱动、部分网卡驱动)通常要重启,或至少切换到已安装驱动的内核后才能生效。
    • 同一内核内的“可热插拔”模块(如部分 Broadcom NetXtreme II 驱动)可在运行中卸载并加载新模块,业务允许短时中断时可不重启。
    • 若更新了 initramfs/initrd,即便不立刻重启,后续重启也必须确保新 initramfs 被使用,否则可能仍加载旧驱动。

常见场景与是否需要重启

场景 是否必须重启 说明
NVIDIA GPU 专有驱动 通常需要 安装程序会构建内核模块并注册到当前运行内核;多数情况下需重启以完成加载与切换。
内核升级后 必须重启 新内核不会自动使用旧内核上已装的驱动模块,需重启到新内核;若未在新内核上重装驱动,会出现失效。
仅替换内核模块文件(如 igb) 不重启也可尝试 先 rmmod/modprobe 加载新 ko;但在 RHEL/CentOS 7 上常需执行 dracut --force 更新 initramfs,否则重启后可能仍加载旧版。
Broadcom NetXtreme II(bnx2)热更新 可不重启 支持运行中 rmmod/modprobe 切换;但异常情况下可能仍需重启恢复。
更新 initramfs/initrd 不重启立即生效 但后续重启必须确保使用更新后的 initramfs,否则旧驱动可能被重新带入。

不重启的可选做法

  • 同一内核热加载新模块
    • 示例(网卡):先安装新模块,再执行 rmmod <旧驱动>modprobe <新驱动>;注意这会造成短暂断网或业务中断。
  • 确保新 initramfs 被使用
    • CentOS 7 更新后执行:dracut --force,防止重启后回退到旧驱动镜像。
  • 多内核并存时切换到已装驱动的内核
    • 使用 grubby --info=ALL 查看已安装内核与默认项,必要时用 grub2-set-default <index> 设置默认启动内核,再重启到该内核以使用已装驱动。

验证与回退建议

  • 验证驱动是否生效
    • GPU:nvidia-smi 查看驱动与 CUDA 兼容版本。
    • 网卡:ethtool -i <接口名> 查看 driverversion
  • 回退与排障
    • 若重启后驱动“消失”或版本不对,优先检查默认启动内核是否为安装驱动时的内核,必要时用 grub2-set-default 调整并重启。
    • 若更新了 initramfs 但重启仍加载旧驱动,确认已执行 dracut --force 并选择了正确的默认内核。

0