目录
目录README.md

kupdate

介绍

基于Rust的操作系统内核热升级过程工具

构建方式

cd src
cargo build

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

安装部署说明

将构建的kupdate可执行文件放入目标系统指定目录下

实验步骤过程:

安装需要的组件

yum install -y criu kexec-tools

设置kupdate开启自启动

systemctl enable kupdate
systemctl start kupdate

关闭selinux

vim /etc/selinux/config ####修改 SELINUX 选项SELINUX=disabled

修改GRUB,将quickkexec=128M追加到GRUB_CMDLINE_LINUX中

vim /etc/default/grub

更新GRUB配置

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

重启系统

reboot

向内核添加必要模块

modprobe pin_memory

从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

安装内核rpm包

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

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

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

修改kupdate配置文件

vim /etc/kupdate/kupdate-restore.yaml

添加下面配置

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

修改redis配置 添加配置到[Service]选项下

vim /usr/lib/systemd/system/redis.service

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

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

systemctl daemon-reload
service redis restart

内核升级

kupdate update 5.10.0-60.18.0.50.oe2203.aarch64

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

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