IT博客汇
  • 首页
  • 精华
  • 技术
  • 设计
  • 资讯
  • 扯淡
  • 权利声明
  • 登录 注册

    使用kexec重新引导内核

    肥兔发表于 2022-09-12 13:32:00
    love 0
    kexec是Linux内核的一种机制,它允许从当前运行的内核启动新内核。kexec会跳过由系统固件执行的引导加载程序阶段和硬件初始化阶段,直接将新内核加载到主内存并立即开始执行。这避免了与完全重新启动相关的漫长时间,并且可以通过最小化停机时间来帮助系统满足高可用性要求。

    Debian默认支持kexec,所以在Debian下我们只要安装kexec-tools就行了。

    apt install kexec-tools
    

    检查当前的内核banb

    root@jp:~# uname -r
    5.10.0-17-amd64
    

    查找目前可用的内核版本

    root@jp:~# ls /boot/vmlinuz-*
    /boot/vmlinuz-5.10.0-16-amd64  /boot/vmlinuz-5.10.0-17-amd64  /boot/vmlinuz-5.10.0-18-amd64

    这里最新的是 /boot/vmlinuz-5.10.0-18-amd64

    先查看当前内核5.10.0-17-amd64的引导参数

    root@jp:~# cat /boot/grub/grub.cfg | grep 5.10.0-17-amd64
                    echo    'Loading Linux 5.10.0-17-amd64 ...'
                    linux   /boot/vmlinuz-5.10.0-17-amd64 root=UUID=f4d01b88-6693-437c-b63a-60631182ae60 ro  quiet
                    initrd  /boot/initrd.img-5.10.0-17-amd64
    

    用kexec加载最新内核5.10.0-18-amd64

    kexec -l /boot/vmlinuz-5.10.0-18-amd64 --initrd=/boot/initrd.img-5.10.0-18-amd64 --append="root=UUID=f4d01b88-6693-437c-b63a-60631182ae60 ro"
    

    执行当前加载的最新内核。

    kexec -e
    

    完成执行后重新登录SSH控制台并检查内核版本。

    root@debian:~# uname -r
    5.10.0-18-amd64
    
    


沪ICP备19023445号-2号
友情链接