update PPT
基于Rust的操作系统内核热升级过程工具,它能在秒级的时延下,实现操作系统的内核升级,同时保持业务的状态。
cargo build cargo build release
1、启动kupdate服务
kupdate --server 1
2、升级指定内核版本
kupdate update 内核名称
可执行文件存放在bin目录下
1、安装需要的组件
yum install -y criu kexec-tools
2、修改GRUB,将quickkexec=128M追加到/etc/default/grub文件中的GRUB_CMDLINE_LINUX
quickkexec=128M
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
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添加下面配置
/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]选项下
/usr/lib/systemd/system/redis.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
kupdate update 6.1.19-7.0.0.17.oe2303.aarch64
©Copyright 2023 CCF 开源发展委员会 Powered by Trustie& IntelliDE 京ICP备13000930号
kupdate
介绍
基于Rust的操作系统内核热升级过程工具,它能在秒级的时延下,实现操作系统的内核升级,同时保持业务的状态。
构建命令
可用命令
1、启动kupdate服务
2、升级指定内核版本
可执行文件
可执行文件存放在bin目录下
使用例子1
1、安装需要的组件
2、修改GRUB,将
quickkexec=128M追加到/etc/default/grub文件中的GRUB_CMDLINE_LINUX3、更新GRUB配置
4、向内核添加必要模块
5、重启系统
reboot6、从openEuler获取内核rpm包
7、安装内核rpm包
8、安装并运行redis,设置开机自启动,启动redis并查看redis进程信息
9、修改kupdate配置文件
/etc/kupdate/kupdate-restore.yaml添加下面配置10、修改redis配置
/usr/lib/systemd/system/redis.service添加下列配置到[Service]选项下11、更新systemd配置并且重新运行redis
12、启动kupdate服务
kupdate --server 113、内核升级
kupdate update 6.1.19-7.0.0.17.oe2303.aarch64