目录
目录README.md

kupdate

介绍

基于Rust的操作系统内核热升级过程工具,它能在秒级的时延下,实现操作系统的内核升级,同时保持业务的状态。

构建命令

cargo build 
cargo build release

可用命令

1、启动kupdate服务

kupdate --server 1 

2、升级指定内核版本

kupdate update 内核名称

可执行文件

可执行文件存放在bin目录下

使用例子1

1、安装需要的组件

yum install -y  criu kexec-tools

2、修改GRUB,将quickkexec=128M追加到/etc/default/grub文件中的GRUB_CMDLINE_LINUX

3、更新GRUB配置

sudo grub2-mkconfig -o /boot/grub2/grub.cfg
sudo grub2-mkconfig -o /boot/efi/EFI/openEuler/grub.cfg

4、向内核添加必要模块

modprobe pin_memory

5、重启系统 reboot

6、从openEuler获取内核rpm包

wget https://dl-cdn.openeuler.openatom.cn/openEuler-23.03/everything/aarch64/Packages/kernel-6.1.19-7.0.0.17.oe2303.aarch64.rpm

7、安装内核rpm包

rpm -ivh --force kernel-6.1.19-7.0.0.17.oe2303.aarch64.rpm

8、安装并运行redis,设置开机自启动,启动redis并查看redis进程信息

yum install redis -y
systemctl enable redis
systemctl start redis
systemctl status redis

9、修改kupdate配置文件 /etc/kupdate/kupdate-restore.yaml添加下面配置

pids:
services:
  - redis
restore_net: false
enable_quick_kexec: false
enable_pin_memory: false
enbale_debug_mode: true

10、修改redis配置/usr/lib/systemd/system/redis.service 添加下列配置到[Service]选项下

StandardOutput=file:/root/log_redis.log
StandardError=file:/root/log_redis.log

11、更新systemd配置并且重新运行redis

systemctl daemon-reload
service redis restart

12、启动kupdate服务 kupdate --server 1

13、内核升级 kupdate update 6.1.19-7.0.0.17.oe2303.aarch64

关于
1.1 GB
邀请码
    Gitlink(确实开源)
  • 加入我们
  • 官网邮箱:gitlink@ccf.org.cn
  • QQ群
  • QQ群
  • 公众号
  • 公众号

©Copyright 2023 CCF 开源发展委员会
Powered by Trustie& IntelliDE 京ICP备13000930号