鲲鹏社区首页
中文
注册
开发者
我要评分
获取效率
正确性
完整性
易理解
在线提单
论坛求助

安装部署

  • 常规应用场景均需安装部署libvirt基础组件。
  • VSched服务包含vas-daemon和vas-cli两个二进制文件,文件用户和用户组均为root,文件权限均为500。
  • 服务部署路径为“/usr/local/vas/”
  • VSched调度策略支持静态绑核模式与动态绑核模式,默认为静态绑核模式。动态绑核模式参见VSched动态绑核模式部署
  1. 参照软件包获取,获取软件包BoostKit-boostvirt-vas-1.0.0.zip,解压获取boostvirt-vas-1.0.0.rpm。
  2. 在所有业务节点检查是否安装libsecurec。
    1. 执行以下命令检查节点是否已安装libsecurec。
      rpm -qa | grep libsecurec
    2. 若已安装libsecurec软件则继续后续操作步骤,若未安装可通过软件源进行安装。
      yum install libsecurec
  3. 在所有业务节点检查是否安装libvirt虚拟化软件,并进行配置。
    1. 安装libvirt虚拟化软件。
      yum install qemu libvirt edk2-aarch64
    2. 安装完成后,配置qemu.conf文件。

      修改“/etc/libvirt/qemu.conf”中的以下配置项:

      user = "root"
      group = "root"
    3. 完成配置后,重新加载配置。
      systemctl daemon-reload
    4. 重启libvirt服务。
      systemctl restart libvirtd
    5. 检查libvirt服务状态。
      重启后查看服务状态,确保服务处于“active (running)”状态。
      systemctl status libvirtd
  4. 在所有业务节点安装boostvirt-vas-1.0.0.rpm包。
    1. 查询环境上是否已安装boostvirt-vas-1.0.0.rpm。
      rpm -qa| grep vas-daemon

      若环境中已安装该rpm包,则需进行卸载以确保环境清洁。

      rpm -e boostvirt-vas-1.0.0
    2. 进入RPM包存储目录下并进行安装。
      rpm -ivh boostvirt-vas-1.0.0.rpm

      若UBS virt-awaresched的RPM包安装提示如下内容,需根据提示检查相应组件是否已安装部署,如未安装,则需安装相应组件。

      Failed dependencies
  5. 在业务节点完成安装后,可启动vas-daemon进程。
    1. 检查vas-daemon进程现状。
      systemctl status vas-daemon
      若服务未启动,可执行以下命令启动服务。
      systemctl start vas-daemon
    2. 可选:参照配置说明更改服务配置文件“/usr/lib/systemd/system/vas-daemon.service”
      [Unit]
      Description=virtual machine schedule daemon
      After=network.target
      
      [Service]
      Type=simple
      User=root
      Group=root
      RestartSec=5s
      CPUQuota=100%
      MemoryLimit=128M
      ExecStart=/usr/local/vas/bin/vas_daemon start server -smt true --sched-policy affinity --dynamic-util-thresh 85 --skip-cpuset "" --range-affinity true
      Restart=on-failure
      CapabilityBoundingSet=CAP_CHOWN CAP_DAC_OVERRIDE
      AmbientCapabilities=CAP_CHOWN CAP_DAC_OVERRIDE
      [Install]
      WantedBy=multi-user.target
    3. 更改完成后,保存并退出服务配置文件,执行以下命令加载配置。
      systemctl daemon-reload
    4. 重启服务。
      systemctl restart vas-daemon

VSched动态绑核模式部署

  1. 配置grub.cfg。
    1. 打开/boot/efi/EFI/openEuler/grub.cfg文件。
      vi /boot/efi/EFI/openEuler/grub.cfg
    2. 按“i”进入编辑模式,在当前系统对应的启动子项末尾添加dynamic_affinity=enable。

      当前系统的启动子项可通过执行“cat /proc/cmdline”命令确认,此处以6.6.0-98.0.0.103.oe2403sp2.aarch64为例。

      linux   /vmlinuz-6.6.0-98.0.0.103.oe2403sp2.aarch64 root=/dev/mapper/openeuler-root ro rd.lvm.lv=openeuler/root rd.lvm.lv=openeuler/swap cgroup_disable=files apparmor=0 crashkernel=1024M,high smmu.bypassdev=0x1000:0x17 smmu.bypassdev=0x1000:0x15 arm64.nopauth console=tty0 dynamic_affinity=enable
    3. “Esc”键,输入:wq!,按“Enter”保存并退出编辑。重启操作系统后该命令行参数配置生效。
  2. 可选:获取并安装优化补丁,重新编译安装内核。
    表1 补丁代码获取

    补丁代码

    获取地址

    优化补丁代码

    sched: optimize dynamic affinity

    SP2版本补丁码

    Fix wrong CPU aff3 conversion between MPIDR and SYS_LSUDVMBM_EL2

    说明:

    若使用SP2版本则需安装SP2版本的补丁代码。

    1. 配置本地yum源,参见配置本地yum源

      本地源镜像文件获取地址:openEuler-24.03-LTS-SP2-everything-aarch64-dvd.iso

    2. 安装编译软件及其依赖。
      yum install gcc make patch kernel-source-6.6.0-98.0.0.103.oe2403sp2.aarch64 flex bison openssl-devel elfutils-libelf-devel dwarves rpm-build
    3. 进入编译目录,并修改目录下.config文件。
      cd /usr/src/linux-6.6.0-98.0.0.103.oe2403sp2.aarch64/

      将当前目录下的.config文件内容中如下配置行的内容置空:

      CONFIG_SYSTEM_TRUSTED_KEYS="certs/openeuler-cert.pem"

      修改后结果如下所示,修改完成后保存文件:

      CONFIG_SYSTEM_TRUSTED_KEYS=""
    4. 将补丁代码改入相应的文件后,执行以下命令编译并安装。
      make binrpm-pkg -j 128
      rpm -ivh /home/linux-6.6.0-98.0.0.103.oe2403sp2.aarch64/rpmbuild/RPMS/aarch64/kernel-6.6.0+-xxx.aarch64.rpm --force

      安装完成后重启操作系统,在BMC上可以在启动时选择启动内核,启动后执行以下命令查看BOOT_IMAGE是否为新编译内核。此处以vmlinuz-6.6.0+内核为例,返回信息中包含内核版本。

      cat /proc/cmdline
    5. 开启优化功能。
      echo 1 > /proc/sys/kernel/dynamic_affinity_cluster_sched
  3. 选核范围决策。

    DA_UTIL_TASKGROUP开关控制动态亲和CPU利用率阈值策略,默认开启。配置说明如表2所示。

    表2 DA_UTIL_TASKGROUP开关配置说明

    配置项

    执行命令

    说明

    开启

    echo DA_UTIL_TASKGROUP > /sys/kernel/debug/sched/features

    默认值为开启。

    开启状态下,通过检测任务组(taskgroup)在preferred_cpus中的利用率进行选核范围决策。

    关闭

    echo NO_DA_UTIL_TASKGROUP > /sys/kernel/debug/sched/features

    不使用组调度时建议关闭。

    关闭状态下,通过检测preferred_cpus的总利用率(即包括非taskgroup进程在preferred_cpus的使用量)进行选核范围决策。

  4. 配置VSched调度策略参数。
    1. 打开“/usr/lib/systemd/system/vas-daemon.service”文件。
      vi /usr/lib/systemd/system/vas-daemon.service
    2. 按“i”进入编辑模式,将参数affinity修改为dynamicAffinity。示例如下:
      ExecStart=/usr/local/vas/bin/vas_daemon start server -smt true --sched-policy dynamicAffinity --dynamic-util-thresh 85 --skip-cpuset "" --range-affinity true
    3. “Esc”键,输入:wq!,按“Enter”保存并退出编辑。
    4. 执行以下命令使配置生效。
      systemctl daemon-reload
      systemctl restart vas-daemon
    5. 查看服务状态,服务状态为“active(running)”即表示服务已启动。
      systemctl status vas-daemon