From 272db9613bac49f92d1b704b70e9551d9c2f2740 Mon Sep 17 00:00:00 2001 From: repent Date: Fri, 18 Apr 2025 02:54:43 +0000 Subject: [PATCH] =?UTF-8?q?=E5=91=BD=E4=BB=A4=E6=84=8F=E6=80=9D=E6=8F=8F?= =?UTF-8?q?=E8=BF=B0=E4=B8=8D=E5=87=86=E7=A1=AE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: repent --- ...05\344\270\216\351\203\250\347\275\262.md" | 114 +++++++++--------- 1 file changed, 60 insertions(+), 54 deletions(-) diff --git "a/docs/zh/docs/KernelLiveUpgrade/\345\256\211\350\243\205\344\270\216\351\203\250\347\275\262.md" "b/docs/zh/docs/KernelLiveUpgrade/\345\256\211\350\243\205\344\270\216\351\203\250\347\275\262.md" index f420e5c32..35afe1229 100644 --- "a/docs/zh/docs/KernelLiveUpgrade/\345\256\211\350\243\205\344\270\216\351\203\250\347\275\262.md" +++ "b/docs/zh/docs/KernelLiveUpgrade/\345\256\211\350\243\205\344\270\216\351\203\250\347\275\262.md" @@ -1,4 +1,5 @@ # 安装与部署 + 本章介绍如何安装和部署内核热升级工具。 @@ -17,21 +18,21 @@ ### 硬件要求 -- 当前仅支持arm64架构 +- 当前仅支持arm64架构 ### 软件要求 -- 操作系统:openEuler 24.03 +- 操作系统:openEuler 24.03 ## 环境准备 -- 安装openEuler系统,安装方法参考 《[安装指南](../Installation/installation.md)》 +- 安装openEuler系统,安装方法参考《[安装指南](../Installation/installation.md)》 -- 安装内核热升级工具需要使用root权限 +- 安装内核热升级工具需要使用root权限 ## 安装内核热升级工具 -本章介绍内核热升级工具的安装方法 +本章介绍内核热升级工具的安装方法。 安装内核热升级工具的操作步骤如下: @@ -63,7 +64,6 @@ # rpm --import /mnt/RPM-GPG-KEY-openEuler ``` - 4. 安装内核热升级工具 ```shell @@ -79,98 +79,104 @@ ## 部署内核热升级工具 -本章介绍内核热升级工具的配置部署: +本章介绍内核热升级工具的配置部署。 ### 配置介绍 -内核热升级工具的配置文件位于/etc/nvwa,配置文件包括: -- nvwa-restore.yaml +内核热升级工具的配置文件位于`/etc/nvwa`,配置文件包括: - 该配置文件用于指导内核热升级工具在内核热升级过程中如何保存和恢复现场,具体配置如下: +- `nvwa-restore.yaml` - + pids + 该配置文件用于指导内核热升级工具在内核热升级过程中如何保存和恢复现场,具体配置如下: - pids用于指明nvwa热升级过程中需要保留和恢复的进程,此处的进程通过进程号(pid)进行标识,需要注意的是,nvwa管理的进程在nvwa服务启动后,会被自动恢复。 + - `pids` + + `pids`用于指明nvwa热升级过程中需要保留和恢复的进程,此处的进程通过进程号(pid)进行标识。需要注意的是,nvwa管理的进程在nvwa服务启动后,会被自动恢复。 - + services + - `services` - services用于指明nvwa热升级过程中需要保留和恢复的服务。与pids的区别在于,内核热升级工具可以直接保存和恢复进程的状态,对于服务,内核热升级工具则需要依赖systemd进行相关操作。此处的服务名称,应该使用systemd中使用的服务名称。需要注意的是,对于nvwa管理的服务,是否要在nvwa启动时自动恢复,取决于systemd中有没有使能该服务,且当前支持的服务类型只有notify和oneshot。 + `services`用于指明nvwa热升级过程中需要保留和恢复的服务。与`pids`的区别在于,内核热升级工具可以直接保存和恢复进程的状态,对于服务,内核热升级工具则需要依赖systemd进行相关操作。此处的服务名称,应该使用systemd中使用的服务名称。需要注意的是,对于nvwa管理的服务,是否要在nvwa启动时自动恢复,取决于systemd中有没有使能该服务,且当前支持的服务类型只有`notify`和`oneshot`。 - + restore_net + - `restore_net` - restore_net用于指明是否需要内核热升级工具保存和恢复网络配置,如果网络配置有误,有可能导致恢复后网络不可用,默认关闭。 + `restore_net`用于指明是否需要内核热升级工具保存和恢复网络配置。如果网络配置有误,有可能导致恢复后网络不可用,默认关闭。 - + enable_quick_kexec + - `enable_quick_kexec` - enable_quick_kexec用于指明是否需要使能quick kexec特性,quick kexec是nvwa社区推出的,加速内核重启过程的一个特性。使用该特性,需要在cmdline中,加入"quickkexec=128M"。128指分配给quick kexec特性的内存大小,该内存将用于在升级过程中加载kernel和initramfs,因此大小需要大于升级过程中涉及到的kernel,initramfs大小之和。该特性默认关闭。 + `enable_quick_kexec`用于指明是否需要使能quick kexec特性。quick kexec是nvwa社区推出的,用于加速内核重启过程的一个特性。使用该特性,需要在cmdline中,加入`"quickkexec=128M"`。`128`指分配给quick kexec特性的内存大小,该内存将用于在升级过程中加载kernel和initramfs,因此大小需要大于升级过程中涉及到的kernel和initramfs大小之和。该特性默认关闭。 - + enable_pin_memory + - `enable_pin_memory` - enable_pin_memory用于指明是否需要使能pin memory特性,pin memory是nvwa社区推出的,加速进程保存恢复过程的一个特性。pin_memory特性暂不支持多进程应用备份恢复,使用该特性,需要在cmdline中,加入"max_pin_pid_num=10 redirect_space_size=2M pinmemory=200M@0x640000000"。 + `enable_pin_memory`用于指明是否需要使能pin memory特性。pin memory是nvwa社区推出的,用于加速进程保存恢复过程的一个特性。pin_memory特性暂不支持多进程应用备份恢复。使用该特性,需要在cmdline中,加入`"max_pin_pid_num=10 redirect_space_size=2M pinmemory=200M@0x640000000"`。 - 其中,max_pin_pid_num代表支持pin memory恢复的最大进程数目,redirect_space_size代表pin memory过程中重定向物理页所需要的预留内存空间,建议配置为pin memory总预留内存的1/100,pinmemory指明这段内存的起点和大小。从0x640000000开始的200M空间,是pin memory使用的全部内存空间,这段空间不应该被其他程序使用。 + 其中,`max_pin_pid_num`代表支持pin memory恢复的最大进程数目,`redirect_space_size`代表pin memory过程中重定向物理页所需要的预留内存空间,建议配置为pin memory总预留内存的1/100,`pinmemory`指明这段内存的起点和大小。从`0x640000000`开始的200M空间,是pin memory使用的全部内存空间,这段空间不应该被其他程序使用。 -- nvwa-restore.yaml的配置示例 -``` -pids: - - 14109 -services: - - redis -restore_net: false -enable_quick_kexec: true -enable_pin_memory: true -``` + `nvwa-restore.yaml`的配置示例: + ```yaml + pids: + - 14109 + services: + - redis + restore_net: false + enable_quick_kexec: true + enable_pin_memory: true + ``` -- nvwa-server.yaml +- `nvwa-server.yaml` - 该文件包含了内核热升级工具运行过程中,需要使用到的配置信息,具体如下: + 该文件包含了内核热升级工具运行过程中需要使用到的配置信息,具体如下: - + criu_dir + - `criu_dir` 用于指明内核热升级工具在保存现场过程中,存储产生的信息文件夹路径。需要注意的是,这些信息可能会占用较大的磁盘空间。 - + criu_exe + - `criu_exe` 用于指明内核热升级工具使用的criu可执行文件路径,除非是对criu进行调测,一般不建议修改。 - + kexec_exe + - `kexec_exe` 用于指明内核热升级工具使用的kexec可执行文件路径,除非是对kexec进行调测,一般不建议修改。 - + systemd_etc + - `systemd_etc` 用于指明覆盖systemd配置过程中,使用到的文件夹路径。该路径由systemd决定,一般不需要修改。 - + log_dir + - `log_dir` - 存放内核热升级工具产生的log信息,log模块当前未启用。内核热升级工具日志信息的查看,参考其他章节<<使用方法>> + 存放内核热升级工具产生的log信息,log模块当前未启用。内核热升级工具日志信息的查看,参考其他章节`\<<使用方法>>` -- nvwa-server.yaml的配置示例 - -``` -criu_dir: /var/nvwa/running/ -criu_exe: /usr/sbin/criu -kexec_exe: /usr/sbin/kexec -systemd_etc: /etc/systemd/system/ -log_dir: /etc/nvwa/log/ -``` + `nvwa-server.yaml`的配置示例: + ```yaml + criu_dir: /var/nvwa/running/ + criu_exe: /usr/sbin/criu + kexec_exe: /usr/sbin/kexec + systemd_etc: /etc/systemd/system/ + log_dir: /etc/nvwa/log/ + ``` ## 使能内核热升级工具 内核热升级工具的运行依赖配置文件,配置文件修改后应该重新运行内核热升级工具程序。 -安装成功后,可以通过systemd的相关命令来操作内核热升级工具 +安装成功后,可以通过systemd的相关命令来操作内核热升级工具: -+ 使能nvwa +- 使能nvwa + ```shell systemctl enable nvwa + ``` -+ 启动nvwa +- 启动nvwa + ```shell systemctl start nvwa - -+ 查看nvwa日志 + ``` +- 查看nvwa服务状态及相关信息 + + ```shell service nvwa status + ``` -+ 更多用法参考systemd用法 +- 更多用法参考systemd用法 \ No newline at end of file -- Gitee