在 virtualBox + CentO S 7 的实验环境, 安装OCP预校验,失败
原因:[OBD-2014] XXX’s cpu does not support avx。
之前同样的环境,装过OCP,是可以的,现在打不开了,重装就报错了,是版本新加了校验吗?
有什么解决或者忽略的办法吗?
感觉日志定位错误太难了!!!不够简洁明了
在 virtualBox + CentO S 7 的实验环境, 安装OCP预校验,失败
原因:[OBD-2014] XXX’s cpu does not support avx。
之前同样的环境,装过OCP,是可以的,现在打不开了,重装就报错了,是版本新加了校验吗?
有什么解决或者忽略的办法吗?
感觉日志定位错误太难了!!!不够简洁明了
报错信息:
[OBD-2014] XXX’s cpu does not support avx
意思是:你当前机器的 CPU 不支持 AVX 指令集,而当前 OCP(OceanBase Control Plane)或 OBD(OceanBase Deployment) 的版本在安装或运行时做了 AVX 支持的校验,导致直接报错。
之前为什么可以装?
这是因为:
旧版本 OCP/OBD 并没有强制做 AVX 检测
但 新版本 出于性能或稳定性要求,加入了 AVX 检查,不符合就直接中断安装
所以你同样的环境,在旧版本中没问题,但现在遇到新版本的 AVX 检查,无法通过了。
是否有办法跳过 AVX 校验?
官方在 OceanBase 的 obd 工具中 目前没有提供跳过 AVX 检查的选项。这是一个硬件层面的校验。
但是如果你想尝试在不符合的环境中“强行”安装,有以下思路(非官方推荐):
1️ 换用旧版本:
找到之前成功安装的 OCP/OBD 版本(比如 3.x、4.x),用它继续部署。
这些版本通常没有 AVX 校验。
2️ 更换支持 AVX 的机器:
使用支持 AVX 的 CPU 机器部署(云上机器/虚拟机/物理机)。
如 Intel Sandy Bridge 及以上的 CPU 都支持 AVX。
3️ 二进制修改(风险较大):
理论上,可以尝试 patch 掉可执行文件里的 AVX 检查逻辑(例如修改 OBD Python 代码、或者二进制文件)。
但这会破坏完整性,也不推荐,且未来升级依旧可能出错。
使用之前能安装的软件包,现在安装也报 不支持 avx了