update
基于Rust的操作系统内核热升级过程工具
cd src cargo build
可执行文件放在了bin目录下
将构建的kupdate可执行文件放入目标系统指定目录下
实验步骤过程:
yum install -y criu kexec-tools
systemctl enable kupdate systemctl start kupdate
vim /etc/selinux/config ####修改 SELINUX 选项SELINUX=disabled
vim /etc/selinux/config
vim /etc/default/grub
sudo grub2-mkconfig -o /boot/grub2/grub.cfg sudo grub2-mkconfig -o /boot/efi/EFI/openEuler/grub.cfg
reboot
modprobe pin_memory
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 -ivh --force kernel-6.1.19-7.0.0.17.oe2303.aarch64.rpm
yum install redis -y systemctl enable redis systemctl start redis systemctl status redis
vim /etc/kupdate/kupdate-restore.yaml
pids: services: - redis restore_net: false enable_quick_kexec: false enable_pin_memory: false enbale_debug_mode: true
vim /usr/lib/systemd/system/redis.service
StandardOutput=file:/root/log_redis.log StandardError=file:/root/log_redis.log
systemctl daemon-reload service redis restart
kupdate update 5.10.0-60.18.0.50.oe2203.aarch64
©Copyright 2023 CCF 开源发展委员会 Powered by Trustie& IntelliDE 京ICP备13000930号
kupdate
介绍
基于Rust的操作系统内核热升级过程工具
构建方式
可执行文件放在了bin目录下
安装部署说明
将构建的kupdate可执行文件放入目标系统指定目录下
实验步骤过程:
安装需要的组件
yum install -y criu kexec-tools
设置kupdate开启自启动
关闭selinux
vim /etc/selinux/config
####修改 SELINUX 选项SELINUX=disabled修改GRUB,将quickkexec=128M追加到GRUB_CMDLINE_LINUX中
vim /etc/default/grub
更新GRUB配置
重启系统
reboot
向内核添加必要模块
modprobe pin_memory
从openEuler获取内核rpm包
安装内核rpm包
安装并运行redis,设置开机自启动,启动redis并查看redis进程信息
修改kupdate配置文件
vim /etc/kupdate/kupdate-restore.yaml
添加下面配置
修改redis配置 添加配置到[Service]选项下
vim /usr/lib/systemd/system/redis.service
更新systemd配置并且重新运行redis
内核升级
kupdate update 5.10.0-60.18.0.50.oe2203.aarch64