虚拟机中使用obd web安装OceanBase时预检查提示cpu不支持avx,可实际cpu支持

【 使用环境 】测试环境
【 OB or 其他组件 】OceanBase社区版一键安装包
【 使用版本 】V4.3.5_bp1_hf1
问题描述】使用obd web安装OceanBase时预检查提示cpu不支持avx,可实际cpu支持avx指令
【复现路径】使用obd web部署提示 原因:OBD-2014 : 192.168.1.192’s cpu not support avx
【附件及日志】
[root@vgot-03 bin]# lscpu
Architecture: x86_64
CPU op-mode(s): 32-bit, 64-bit
Byte Order: Little Endian
Address sizes: 43 bits physical, 48 bits virtual
CPU(s): 8
On-line CPU(s) list: 0-7
Thread(s) per core: 1
Core(s) per socket: 1
Socket(s): 8
NUMA node(s): 1
Vendor ID: GenuineIntel
CPU family: 6
Model: 79
Model name: Intel(R) Xeon(R) CPU E5-2673 v4 @ 2.30GHz
Stepping: 1
CPU MHz: 2299.998
BogoMIPS: 4599.99
Hypervisor vendor: VMware
Virtualization type: full
L1d cache: 256 KiB
L1i cache: 256 KiB
L2 cache: 2 MiB
L3 cache: 400 MiB
NUMA node0 CPU(s): 0-7
Vulnerability Itlb multihit: KVM: Vulnerable
Vulnerability L1tf: Mitigation; PTE Inversion
Vulnerability Mds: Mitigation; Clear CPU buffers; SMT Host state unknown
Vulnerability Meltdown: Mitigation; PTI
Vulnerability Mmio stale data: Mitigation; Clear CPU buffers; SMT Host state unknown
Vulnerability Spec store bypass: Mitigation; Speculative Store Bypass disabled via prctl and seccomp
Vulnerability Spectre v1: Mitigation; usercopy/swapgs barriers and __user pointer sanitization
Vulnerability Spectre v2: Mitigation; Retpolines, IBPB conditional, IBRS_FW, STIBP disabled, RSB filling, PBRSB-eIBRS Not aff
ected
Vulnerability Srbds: Not affected
Vulnerability Tsx async abort: Not affected
Flags: fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 s
s syscall nx pdpe1gb rdtscp lm constant_tsc arch_perfmon nopl xtopology tsc_reliable nonstop_tsc cp
uid pni pclmulqdq ssse3 fma cx16 pcid sse4_1 sse4_2 x2apic movbe popcnt tsc_deadline_timer aes xsav
e avx f16c rdrand hypervisor lahf_lm abm 3dnowprefetch cpuid_fault invpcid_single pti ssbd ibrs ibp
b stibp fsgsbase tsc_adjust bmi1 avx2 smep bmi2 invpcid rdseed adx smap xsaveopt arat md_clear flus
h_l1d arch_capabilities
【备注】基于 LLM 和开源文档 RAG 的论坛小助手已开放测试,在发帖时输入 [@论坛小助手] 即可召唤小助手,欢迎试用!

根据您提供的信息,问题出现在使用 obd web 安装 OceanBase 时预检查提示 CPU 不支持 AVX 指令,但实际上您的 CPU 支持 AVX 指令。以下是可能的原因及解决方法:

可能原因

  1. 虚拟化环境限制:由于您在 VMware 虚拟机中运行,可能存在虚拟化环境未正确暴露宿主机的 AVX 指令集给虚拟机的情况。
  2. 操作系统内核不支持:某些较老的操作系统内核可能无法正确识别或启用 AVX 指令。
  3. OBD 预检查逻辑问题:OBD 的预检查逻辑可能存在误判。

解决方法

方法一:确认虚拟机是否正确暴露 AVX 指令

  1. 在 VMware 中,确保虚拟机配置已启用 AVX 指令集:

    • 打开 VMware 设置,选择您的虚拟机。
    • 编辑虚拟机设置,确保硬件配置中启用了 AVX 指令集(通常默认启用)。
    • 如果不确定,可以参考 VMware 官方文档或联系 VMware 支持团队。
  2. 在虚拟机中重新验证 CPU 是否支持 AVX 指令:

    lscpu | grep avx
    

    或者使用以下命令查看更详细的 CPU 特性:

    cat /proc/cpuinfo | grep avx
    

    如果输出中包含 avxavx2,说明虚拟机已正确暴露 AVX 指令。


方法二:更新操作系统内核

如果操作系统内核版本较旧,可能无法正确识别 AVX 指令。建议升级到最新稳定版内核:

# 对于 CentOS/RHEL 系统
sudo yum update kernel

# 对于 Ubuntu/Debian 系统
sudo apt update && sudo apt install --install-recommends linux-generic-hwe-18.04

更新完成后,重启系统以应用新内核:

sudo reboot

方法三:跳过 OBD 的 AVX 预检查

如果确认 CPU 实际支持 AVX 指令,但 OBD 仍然误报,可以通过修改部署配置文件跳过此检查:

  1. 使用以下命令编辑配置文件:

    obd cluster edit-config <deploy_name>
    
  2. production_mode 设置为 false,以跳过严格的生产环境检查:

    production_mode: false
    
  3. 保存配置并重新执行部署命令。


注意事项

  • 确认最低要求:OceanBase 社区版 V4.3.5 对 CPU 的最低要求包括 AVX 指令集支持。如果确实无法解决 AVX 支持问题,可能需要更换虚拟化平台或物理机。
  • 联系支持:如果上述方法均无效,建议将完整的日志信息提交至 OceanBase 官方问答区,获取进一步技术支持。

希望以上方法能够帮助您解决问题!

详情请参考:

  1. 错误码
  2. 通过 obd 图形化界面部署 OceanBase 集群
  3. OceanBase 安装部署工具 V2.2.0
  4. 常见问题汇总
  5. 集群诊断
2 个赞

OBD的版本是多少

OceanBase Deploy: 3.2.1

根据您提供的信息,您提到的“OceanBase Deploy: 3.2.1”可能是指 obd 工具的版本号。以下是关于此版本的一些相关信息和解答:

1. 确认 OBD 版本

您可以使用以下命令确认当前安装的 obd 版本:

obd version

如果输出显示为 3.2.1,则说明您正在使用该版本的 obd 工具。


2. OBD 3.2.1 的功能特性

根据已知的文档信息,虽然没有明确提到 3.2.1 的具体更新内容,但可以参考相近版本的功能特性(如文档片段 6 和文档片段 10)。以下是可能的功能特性总结:

  • 支持 OceanBase 社区版部署:适配 OceanBase-CE 数据库版本(例如 V4.3.3)。
  • 优化用户体验
    • 改善低性能机器的用户体验。
    • 新增最小启动规格检查,确保资源满足最低要求。
  • 增强部署灵活性
    • 支持通过图形化界面进行组件管理。
    • 支持在图形化界面下选择业务类型以部署 OceanBase 集群。
  • 测试工具支持
    • 提供 obd test sysbenchobd test tpch 命令,用于执行多场景和多线程测试。
    • 支持 TPC-H 测试时通过旁路导入数据。
  • 日志优化:日志自动脱敏,保护敏感信息。

3. 如果需要升级 OBD

如果您希望升级到最新版本的 obd,可以执行以下命令:

pip install --upgrade ob-deploy

或者从官方 RPM 包中获取最新版本(如文档片段 10 中提到的 V2.10.1)。


4. 如果您有具体问题

如果您对 OBD 3.2.1 的某个功能或使用方法存在疑问,请提供更详细的信息,例如:

  • 您的操作步骤。
  • 遇到的具体问题或错误信息。

我们将根据您的描述进一步提供帮助。

希望以上信息对您有所帮助!

更多信息请查看:

  1. OceanBase 安装部署工具 V1.6.2
  2. OceanBase 安装部署工具 V2.1.1
  3. OceanBase 安装部署工具 V2.10.1
  4. 升级 OceanBase 数据库
  5. 启动 OceanBase 集群
  6. OceanBase 安装部署工具 V2.10.0
  7. OceanBase 数据库升级检查
  8. 通过 OCP 部署 OceanBase 集群
  9. OceanBase 安装部署工具 V1.6.1

(小助手的答复已结束,如未能解决您的问题,请继续提问并等待其他同学的回复,谢谢!)

执行obd update升级下obd到322试一下

No updates detected. OBD is already up to date.
已经是最新了

启用远程镜像仓库升级,成功obd为3.2.2
预检查成功通过