环境: 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
- 禁用 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 可以正常启动了。