Long-Term Supported Versions

    How to Run

    Command

    • nvwa help

      Prints the help information. The printed information is as follows:

      NAME:
      nvwa - a tool used for openEuler kernel update.
      
      USAGE:
      nvwa [global options] command [command options] [arguments...]
      
      VERSION:
      0.1
      
      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)
      --version, -v  print the version (default: false)
      
    • nvwa update <kernel version>

      When the kernel is live upgraded to a version, the NVWA searches for the kernel image and ramfs in the /boot directory. The kernel must be named in the vmlinuz-<kernel version> format, and rootfs in the initramfs-<kernel version>.img format.

      Note that the upgrade may fail. If the upgrade fails, some processes or services that are dumped will stop running.

    • nvwa init

      Clears the running information generated by NVWA and modifies the systemd configuration. This command is used to clear the running information before the NVWA is executed or after the execution fails.

    Restrictions

    1. For services that need to be saved using NVWA, you need to set StandardOutput and StandardError in the configuration. The following uses Redis as an example:

      [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. To use the acceleration feature, you need to modify the cmdline and allocate proper memory. For details, click here.

    3. SELINUX needs to be disabled during the running process.

      Theoretically, you need to disable the NVWA service only after you run the NVWA update command and before you restart the system to restore the process. It is recommended that SELinux be disabled during the entire process.

    NVWA Acceleration Feature Description and Usage

    1. cpu park

      The cpu park command uses the kexec process to make the CPU stay busy waiting, so as to respond to the interrupt request sent by the primary core more quickly, and reduce the status changes.

      To use cpu park, you need to add "cpuparkmem=0x200000000" to cmdline. 0x200000000 is the start address of the memory that is not used by other programs. cpuparkmem occupies the memory space whose size is about 1 MB from this address.

      Note that if the memory is sufficient, it is recommended that the address range be after 4G(0x100000000). The first 4 GB is usually reserved by each system component, which is prone to conflict.

    2. quick kexec

      quick kexec accelerates image loading using kexec.

      To use quick kexec, you need to enable related options in the configuration file. For more information, see Configurations.

    3. pin_memory

      pin memory accelerates the storage and recovery of the CRIU.

      To use pin memory, you need to enable related options in the configuration file. For more information, see Configurations.

    Generated Log Information

    The logs generated by the kernel live upgrade tool consist of two parts:

    • Logs generated during running

      Run the service nvwa status command to view logs.

    • Logs generated while retaining the running information

      The logs are stored in the process/service folder in the path specified by criu_dir.

    Bug Catching

    Buggy Content

    Bug Description

    Submit As Issue

    It's a little complicated....

    I'd like to ask someone.

    PR

    Just a small problem.

    I can fix it online!

    Bug Type
    Specifications and Common Mistakes

    ● Misspellings or punctuation mistakes;

    ● Incorrect links, empty cells, or wrong formats;

    ● Chinese characters in English context;

    ● Minor inconsistencies between the UI and descriptions;

    ● Low writing fluency that does not affect understanding;

    ● Incorrect version numbers, including software package names and version numbers on the UI.

    Usability

    ● Incorrect or missing key steps;

    ● Missing prerequisites or precautions;

    ● Ambiguous figures, tables, or texts;

    ● Unclear logic, such as missing classifications, items, and steps.

    Correctness

    ● Technical principles, function descriptions, or specifications inconsistent with those of the software;

    ● Incorrect schematic or architecture diagrams;

    ● Incorrect commands or command parameters;

    ● Incorrect code;

    ● Commands inconsistent with the functions;

    ● Wrong screenshots.

    Risk Warnings

    ● Lack of risk warnings for operations that may damage the system or important data.

    Content Compliance

    ● Contents that may violate applicable laws and regulations or geo-cultural context-sensitive words and expressions;

    ● Copyright infringement.

    How satisfied are you with this document

    Not satisfied at all
    Very satisfied
    Submit
    Click to create an issue. An issue template will be automatically generated based on your feedback.
    Bug Catching
    编组 3备份