AVX instructions error when updating or installing GravityZone
Starting with version 6.32.1-1, GravityZone upgrades its database management system from MongoDB 4 to MongoDB 6, which requires AVX instructions to ensure compatibility and optimal functionality. For details, refer to GravityZone hardware requirements and MongoBD Production Notes.
Advanced Vector Extensions (AVX) are additions to the x86 instruction set architecture that were first supported by the Intel Sandy Bridge processor in Q1 2011 and later by AMD Bulldozer processor in Q3 2011. The instruction set allows compatible processors to perform functions that are more demanding when used with compatible software. As AVX is hardware-dependent, software or firmware updates cannot introduce the feature if your CPU does not support it.
This article aims to explain you how to troubleshoot the AVX instructions error that occurs when trying to update or install GravityZone. If you have difficulties with the steps listed below, we recommend contacting your hypervisor provider for additional support.
Issue
When accessing the Configuration > Update > GravityZone roles page to perform a platform update, you may notice that the Update button is inactive. In addition, an error message informs you that the update requires enabling AVX instructions.
This error occurs either because the hardware of your environment is not compatible with AVX or because AVX instructions are not enabled at the hypervisor level. Without AVX instructions enabled, GravityZone cannot perform the update.
In a different scenario, when deploying the latest GravityZone image, you may receive en error message when trying to install the Database Server and Report Builder Database roles.
The error message for Database Server role is as follows: "AVX Instructions were not detected on the GravityZone image. To install the "Database Server" role, verify that the hardware is compatible and AVX instructions are enabled."
The error message for Report Builder Database is similar.
GravityZone installation process cannot continue without AVX instructions enabled.
Troubleshooting
To troubleshoot the AVX Instructions error that prevents GravityZone from updating or installing GravityZone, follow these steps:
1. Check the hardware and software requirements for AVX instructions
Hypervisors with the CPU families listed below are compatible with AVX. However, keep in mind that not all processors support the instructions set. In general, CPUs commercially named Core i3/i5/i7/i9 support them, while Pentium and Celeron CPUs before Tiger Lake do not.
CPUs compatible with AVX:
Intel: Alder Lake, Arrow Lake, Broadwell E, Broadwell, Cannon Lake, Cascade Lake, Coffee Lake, Comet Lake, Haswell E, Haswell, Ice Lake, Ivy Bridge E, Ivy Bridge, Kaby Lake, Lunar Lake, Meteor Lake, Raptor Lake, Rocket Lake, Sandy Bridge E, Sandy Bridge, Sapphire Rapids, Skylake, Skylake-X, Tiger Lake, Whiskey Lake.
AMD: “Heavy Equipment”, Bulldozer-based, Excavator-based, Jaguar-based, Piledriver-based, Puma-based, Steamroller-based, Zen 2-based, Zen 3, Zen 4, Zen+-based, Zen-based.
VIA: Nano QuadCore, Eden X4.
Zhaoxin: WuDaoKou-based processors (KX-5000 and KH-20000).
If you use VMware ESXi, KVM or Hyper-V hypervisors, pay attention to these specific requirements:
VMware ESXi: minimum supported version: 5.0 or equivalent. For details, refer to this article from VMware.
To upgrade your virtual hardware, refer to this article from VMware.
KVM: minimum supported CPU generation: Sandy Bridge.
For details and recommendations for CPU model configurations, refer to this article from QEMU.
Microsoft Hyper-V: compatibility mode must be disabled, as using it removes AVX support. For information about Hyper-V compatibility mode and its implications, refer to this article from Microsoft.
2. Enable AVX instructions on the hypervisor
If the hardware and your hypervisor are compatible, proceed to enable AVX instructions and retry to update the GravityZone appliance. If you encounter difficulties when trying to enable AVX at the hypervisor level, we recommend contacting your hypervisor provider who can guide you throughout the process.
If the hypervisor is not compatible, you first must migrate your virtual environment to an AVX-supported one. Only after that, you can proceed with the GravityZone update. If needed, contact your hypervisor provider to guide you through the migration process.
3. Check and update the GravityZone appliance
You can check if the instructions have been enabled on your GravityZone appliance and update your environment using the steps below:
Log in to the GravityZone console via SSH using your
bdadmin
and the associated password.Run the command:
cat /proc/cpuinfo | grep -c avx
If the result value is 0 the AVX instructions are disabled.
If the result value is greater than 0 the AVX instructions are enabled.
Note
Once you enabled AVX, we advise you to take snapshots of the GravityZone appliance.
Retry to update the GravityZone appliance.
In case of GravityZone installation, you can continue the process after enabling AVX instructions.