OBD-2014 : xxxx ’s cpu not support avx解决办法

环境: bclinux eulur 21.10

obd 3.3.2

oceanbase 4.2.1.11

在用obd 黑屏安装社区版oceanbase 4.2.1.11时 ,执行obd cluster start obtest 时提示OBD-2014 : xxxx ’s cpu not support avx ,正常inter/amd的cpu 是支持avx 指令的, 排查中虚拟机发现cpu的指令集中确实不存avx ,同时virtual-box中 启用vt-x/amd-v 也处理灰色不可用状态。

[root@docker ~]# lscpu 
Architecture:          x86_64
CPU op-mode(s):        32-bit, 64-bit
Byte Order:            Little Endian
CPU(s):                1
On-line CPU(s) list:   0
Thread(s) per core:    1
Core(s) per socket:    1
Socket(s):             1
NUMA node(s):          1
Vendor ID:             AuthenticAMD
CPU family:            25
Model:                 80
Model name:            AMD Ryzen 7 5800H with Radeon Graphics
Stepping:              0
CPU MHz:               3194.000
BogoMIPS:              6388.00
Hypervisor vendor:     KVM
Virtualization type:   full
L1d cache:             32K
L1i cache:             32K
L2 cache:              512K
L3 cache:              16384K
NUMA node0 CPU(s):     0
Flags:                 fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ht syscall nx mmxext fxsr_opt rdtscp lm constant_tsc art rep_good nopl nonstop_tsc extd_apicid pni pclmulqdq monitor ssse3 fma cx16 sse4_1 sse4_2 x2apic movbe popcnt aes xsave avx f16c rdrand hypervisor lahf_lm cr8_legacy abm sse4a misalignsse 3dnowprefetch sme retpoline_amd vmmcall fsgsbase bmi1  bmi2 invpcid rdseed adx clflushopt sha_ni arat

后续在排查过程中发现宿主机windows下安装了hyper-v 虚拟机组件功能 ,解决办法:

1)卸载 hyper-v 组件 重启windows

  1. 禁用 hyper-v 组件: cmd or power shell 窗口 管理员执行 ,并重启windows
bcdedit /set hypervisorlaunchtype off

之后选中“启用VT-x/AMD-V” 重启虚拟机 ,再次查看 avx ,发现已经有了

[root@docker ~]# lscpu |grep avx 
Flags:                 fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ht syscall nx mmxext fxsr_opt rdtscp lm constant_tsc art rep_good nopl nonstop_tsc extd_apicid pni pclmulqdq monitor ssse3 fma cx16 sse4_1 sse4_2 x2apic movbe popcnt aes xsave avx f16c rdrand hypervisor lahf_lm cr8_legacy abm sse4a misalignsse 3dnowprefetch sme retpoline_amd vmmcall fsgsbase bmi1 avx2 bmi2 invpcid rdseed adx clflushopt sha_ni arat

再次执行obd cluster start obtest 可以正常启动了。

2 个赞