一文读懂UBTurbo配置:从权限管理到安全参数的全面配置清单
【免费下载链接】ubturboUB Turbo is based on the hardware-enhanced hot and cold identification capabilities, providing hierarchical memory management, including memory migration, hot and cold data flow, etc, and accelerating application performance.项目地址: https://gitcode.com/openeuler/ubturbo
前往项目官网免费下载:https://ar.openeuler.org/ar/
UBTurbo是一款开源的节点内资源管理框架,具备配置读取、插件加载、日志打印和IPC通信能力,集成SMAP能力提供基础的多级内存调度服务。本文将从权限管理到安全参数,为您提供一份全面的UBTurbo配置清单,帮助新手和普通用户轻松完成UBTurbo的配置工作。
UBTurbo配置前的准备工作
在进行UBTurbo配置之前,需要完成一些准备工作,包括创建用户和组、检查依赖等。
创建ubturbo用户和组
使用如下指令在终端创建ubturbo用户和组:
SYSTEM_USER="ubturbo" SYSTEM_GROUP="ubturbo" # 一行初始化:先定义日志函数,再创建组和用户 ( log_message() { echo "[$(date +'%Y-%m-%d %H:%M:%S')] $1: $2"; } handle_error() { log_message "ERROR" "$1"; exit 1; } # 创建系统组(-r 表示系统组) if ! getent group "$SYSTEM_GROUP" > /dev/null; then groupadd -r "$SYSTEM_GROUP" || handle_error "Failed to create group $SYSTEM_GROUP" log_message "INFO" "Group $SYSTEM_GROUP created" else log_message "INFO" "Group $SYSTEM_GROUP already exists" fi # 创建系统用户(-r 系统用户,-g 指定组,-s 指定 shell) if ! getent passwd "$SYSTEM_USER" > /dev/null; then useradd -r -g "$SYSTEM_GROUP" -s /sbin/nologin "$SYSTEM_USER" || handle_error "Failed to create user $SYSTEM_USER" log_message "INFO" "User $SYSTEM_USER created" else log_message "INFO" "User $SYSTEM_USER already exists" fi )检查前置依赖SMAP
UBTurbo依赖SMAP,在配置UBTurbo之前需要检查SMAP是否安装。执行以下命令查询SMAP包是否安装:
rpm -qa | grep ubturbo-smap若返回如下信息,表示安装成功:
[root@controller ~]# rpm -qa | grep ubturbo-smap ubturbo-smap-*.aarch64如未安装SMAP,需先安装SMAP。
UBTurbo的目录结构
安装UBTurbo后,其目录结构如下:
| 目录 | 用途说明 | 权限 | 所属用户组 |
|---|---|---|---|
| /opt/os_turbo | 程序根目录 | 750 | ubturbo:ubturbo |
| /opt/os_turbo/bin | 可执行文件目录 | 500 | ubturbo:ubturbo |
| /opt/os_turbo/conf | 配置文件目录 | 700 | ubturbo:ubturbo |
| /opt/os_turbo/lib | 动态库目录 | 500 | ubturbo:ubturbo |
| /var/log/os_turbo | 日志目录 | 700 | ubturbo:ubturbo |
UBTurbo核心配置文件详解
UBTurbo的配置文件主要包括ubturbo.conf和ubturbo_plugin_admission.conf,下面将对这两个核心配置文件进行详细解读。
ubturbo.conf配置文件
ubturbo.conf是UBTurbo的主配置文件,主要包含日志等级等参数。
| 序号 | 参数 | 说明 | 取值 | 配置节点 | 应用场景 |
|---|---|---|---|---|---|
| 1 | log.level | 日志等级 | 默认值:INFO 取值范围:DEBUG、INFO、WARN、ERROR、CRIT | 所有节点 | 决定主进程和插件的日志输出等级。 |
ubturbo_plugin_admission.conf配置文件
ubturbo_plugin_admission.conf是插件准入配置文件,用于控制哪些插件可以被加载。
| 序号 | 参数 | 说明 | 取值 | 配置节点 | 应用场景 |
|---|---|---|---|---|---|
| 1 | rmrs | 内存碎片插件 | 默认值:777 | 所有节点 | 通算虚拟化场景 |
说明:
- 默认不启用任何插件,请依据业务场景在ubturbo_plugin_admission.conf中打开插件(取消对应插件的注释)。
- 在ubturbo_plugin_admission.conf中打开插件前,需保证对应的插件已执行其自身的安装步骤,否则UBTurbo及对应插件将启动异常。
- 插件准入配置文件ubturbo_plugin_admission.conf的说明如下:
- 只有在该准入配置中配置的插件才会被加载并初始化,未在该文件中配置的插件将不予加载。
- 配置中key对应插件的插件名称(需要与插件自身配置文件中的名称相对应),value为初始化函数中需要使用的moduleCode。
- moduleCode是唯一值。
- 进程启动成功后,通过执行以下命令来查询哪些插件已加载成功:
cat /var/log/ubturbo/ubturbo.log | grep "loaded successfully"
UBTurbo插件配置说明
UBTurbo支持多种插件,不同插件有各自的配置文件,下面以rmrs和ucache插件为例进行说明。
rmrs插件配置
rmrs插件的配置文件为plugins/rmrs/src/ubturbo_plugin/conf/plugin_rmrs.conf,主要参数如下:
| 参数 | 说明 | 取值 |
|---|---|---|
| turbo.plugin.name | 插件名称 | rmrs |
| turbo.plugin.pkg | 插件动态库 | librmrs_ubturbo_plugin.so |
| rmrs.ucache.enable | 是否启用ucache | false |
| demo.uint32 | 示例参数 | 100 |
ucache插件配置
ucache插件的配置文件为plugins/ucache/src/conf/plugin_turbo_ucache.conf,主要参数如下:
| 参数 | 说明 | 取值 |
|---|---|---|
| turbo.plugin.name | 插件名称 | ucache |
| turbo.plugin.pkg | 插件动态库 | libucache_os_turbo_plugin.so |
| migrate.migrateInterval | 迁移间隔时间(毫秒) | 1000 |
UBTurbo架构与配置关系
UBTurbo的架构如图所示,其中配置模块在整个架构中起着重要的作用,负责读取和管理各种配置参数。
SMAP作为UBTurbo的重要组件,其架构也与配置密切相关。SMAP的架构如图所示,通过配置可以控制SMAP的冷热识别、资源分配等策略。
UBTurbo服务管理
完成配置后,需要对UBTurbo服务进行管理,包括启动、停止、重启等操作。
启动服务
systemctl start ubturbo查询服务状态
- 查询服务当前状态,状态为active即表示服务已经启动:
systemctl status ubturbo - 查询服务对应进程,观察进程是否存在:
ps -ef | grep ubturbo
停止服务
systemctl stop ubturbo重启服务
systemctl restart ubturbo查看启动日志
观察进程是否正常启动。启动成功的标志:TurboMain::Run end.
journalctl -u ubturboUBTurbo软件包管理
UBTurbo软件包的管理包括升级和回退等操作。
升级
rpm -Uvh ubturbo-rmrs-*.aarch64.rpm回退
rpm -Uvh --oldpackage ubturbo-rmrs-*.aarch64.rpm说明:
- 配置文件在新的rpm包里相对之前的rpm有变化,且在本地没有被修改过。此时执行rpm -Uvhxxxx时,新rpm包里的配置文件会替换覆盖旧的文件。
- 配置文件在新的rpm包里相对之前的rpm有变化,且在本地被修改过。此时执行rpm -Uvh xxxx时,旧文件保持不变,新rpm包里的配置文件并重命名为xx.rpmnew,例如“/opt/os_turbo/conf/os_turbo.conf.rpmnew”。
- 配置文件在新的rpm包里相对之前的rpm没有变化,且在本地没有被修改过。此时执行rpm -Uvh xxxx时,新rpm包里的配置文件会替换旧的文件。(旧文件被删除)
- 配置文件在新的rpm包里相对之前的 rpm 没有变化,且在本地被修改过。此时执行rpm -Uvh xxxx时,新rpm包里的配置文件不会覆盖旧的文件,旧文件保持不变。
- 软件卸载,被修改过的配置文件会以.rpmsave后缀备份。备份的配置文件不删除,如以.rpmnew或者.rpmsave后缀的备份的配置文件。
UBTurbo配置中的权限与安全
在UBTurbo配置过程中,权限和安全是需要重点关注的方面。
目录和文件权限设置
UBTurbo的各个目录和文件都有明确的权限设置,如程序根目录/opt/os_turbo的权限为750,所属用户组为ubturbo:ubturbo。这样的权限设置可以保证只有授权的用户和组才能访问和修改相关文件,提高系统的安全性。
用户和组管理
通过创建专门的ubturbo用户和组,并将相关文件的所属用户组设置为ubturbo:ubturbo,可以实现权限的隔离和控制,避免非授权用户对UBTurbo的配置和运行造成影响。
配置参数的安全考虑
在配置UBTurbo的参数时,需要根据实际情况合理设置,避免使用过于宽松的参数,以防止安全风险。例如,日志等级的设置应该根据需求选择合适的级别,既要保证能够获取必要的日志信息,又要避免敏感信息的泄露。
UBTurbo配置示例:内存迁移策略
RMRS插件的内存迁移策略是UBTurbo配置中的一个重要方面,其基于冷热排序的迁移策略如图所示。
通过配置RMRS插件的相关参数,可以控制内存迁移的总量、各虚拟机数据的迁出比例等,从而实现对内存资源的有效管理和优化。
总结
本文从UBTurbo配置前的准备工作、核心配置文件详解、插件配置说明、架构与配置关系、服务管理、软件包管理、权限与安全以及配置示例等方面,为您提供了一份全面的UBTurbo配置清单。希望通过本文的介绍,能够帮助您轻松完成UBTurbo的配置工作,充分发挥UBTurbo在节点内资源管理方面的优势,提升应用性能。
【免费下载链接】ubturboUB Turbo is based on the hardware-enhanced hot and cold identification capabilities, providing hierarchical memory management, including memory migration, hot and cold data flow, etc, and accelerating application performance.项目地址: https://gitcode.com/openeuler/ubturbo
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考