长期支持版本

    使用方法

    命令用法

    • nvwa help

      打印帮助信息,打印的信息如下:

      NAME:
      nvwa - a tool used for openEuler kernel update.
      
      USAGE:
      nvwa [global options] command [command options] [arguments...]
      
      COMMANDS:
      update   specify kernel version for nvwa to update
      init     init nvwa running environment
      help, h  Shows a list of commands or help for one command
      
      GLOBAL OPTIONS:
      --help, -h     show help (default: false)
      
    • nvwa update

      热升级到内核某一版本,nvwa会去/boot目录下寻找内核镜像和ramfs。kernel的命名格式需为vmlinuz-<kernel version>,rootfs命名格式需为initramfs-<kernel version>.img。

      需要注意的是,升级过程有可能会失败,如果失败,部分被dump的进程或者服务,将停止运行。

    • nvwa init

      清除nvwa产生的现场信息以及对systemd的配置修改,用于nvwa执行前或者执行失败后,对现场进行清理。

    使用限制

    1. 对于需要通过nvwa保存的service,其配置中需要设置标准输出(StandardOutput)和错误输出(StandardError),以redis为例:

      [Unit]
      Description=Redis persistent key-value database
      After=network.target
      [Service]
      ExecStart=/usr/bin/redis-server /etc/redis.conf --supervised systemd
      Type=notify
      User=redis
      Group=redis
      RuntimeDirectory=redis
      RuntimeDirectoryMode=0755
      StandardOutput=file:/root/log1.log
      StandardError=file:/root/log2.log
      [Install]
      WantedBy=multi-user.target
      
    2. 使用加速特性需要修改cmdline以及分配合适的内存,参见此处

    3. 运行过程中需要关闭SELINUX

      理论上,仅需要在执行nvwa update之后和系统重启nvwa恢复现场这段时间前关闭。稳妥起见,建议全程关闭SELINUX。

    加速特性说明及使用

    1. cpu park(加速内核重启过程)

      cpu park,是在使用kexec过程,使cpu进入一种忙等的状态,更快的响应主核发送的中断请求,减少状态的变化。

      使用cpu park,需要在cmdline中加入"cpuparkmem=0x200000000",其中0x200000000是一段未被其他程序使用的内存起始地址,cpuparkmem将占用从该地址开始,size为1M左右的内存空间。

      需要注意的是,在内存允许的情况下,此处的地址选择,建议范围在4G(0x100000000)之后,前4G通常被系统各组件预留,容易冲突。

    2. quick kexec(加速内核启动过程)

      quick kexec,是对kexec加载镜像过程中的一种加速。

      使用quick kexec,需要在配置文件中使能相关选项,更多信息参考<<安装与部署>>(配置介绍)

    3. pin_memory(加速现场保存恢复过程)

      pin memory,是对criu进行现场保存恢复过程中的一种加速。

      使用pin memory,需要在配置文件中使能相关选项,更多信息参考<<安装与部署>>(配置介绍)

    产生的日志信息

    内核热升级工具产生的日志分为两部分:

    • 运行过程产生的日志

      通过service nvwa status查看

    • 保留现场过程中产生的日志

      日志位于criu_dir指定的路径对应命名的进程/服务文件夹中

    文档捉虫

    “有虫”文档片段

    问题描述

    提交类型 issue

    有点复杂...

    找人问问吧。

    PR

    小问题,全程线上修改...

    一键搞定!

    问题类型
    规范和低错类

    ● 错别字或拼写错误;标点符号使用错误;

    ● 链接错误、空单元格、格式错误;

    ● 英文中包含中文字符;

    ● 界面和描述不一致,但不影响操作;

    ● 表述不通顺,但不影响理解;

    ● 版本号不匹配:如软件包名称、界面版本号;

    易用性

    ● 关键步骤错误或缺失,无法指导用户完成任务;

    ● 缺少必要的前提条件、注意事项等;

    ● 图形、表格、文字等晦涩难懂;

    ● 逻辑不清晰,该分类、分项、分步骤的没有给出;

    正确性

    ● 技术原理、功能、规格等描述和软件不一致,存在错误;

    ● 原理图、架构图等存在错误;

    ● 命令、命令参数等错误;

    ● 代码片段错误;

    ● 命令无法完成对应功能;

    ● 界面错误,无法指导操作;

    风险提示

    ● 对重要数据或系统存在风险的操作,缺少安全提示;

    内容合规

    ● 违反法律法规,涉及政治、领土主权等敏感词;

    ● 内容侵权;

    您对文档的总体满意度

    非常不满意
    非常满意
    提交
    根据您的反馈,会自动生成issue模板。您只需点击按钮,创建issue即可。
    文档捉虫
    编组 3备份