Installing templates from Oracle for OVM and using ADVM/ACFS “AFD is not supported”

 

Perhaps you were installing the templates from Oracle for OVM, and you wanted to use ADVM/ACFS but you found this error:

WARNING (node:nodo01): AFD requested via CLONE_AFD_ENABLED=yes in params.ini, however the automated check (/u01/app/18.4.0/grid/bin/afddriverstate supported) returns that AFD is not supported on the running kernel (4.14.35-1818.3.3.el7uek.x86_64 - x86_64) hence disabling AFD and continuing with operations; to skip this check set CLONE_SKIP_AFD_COMPATIBLE_CHECK=yes in params.ini (see output below):
AFD-620: AFD is not supported on this operating system version: '4.14.35-1818.3.3.el7uek.x86_64'
AFD-9201: Not Supported

 

Well, it results obvious than the module ADVM/ACFS is not working correctly with your kernel version.

[root@nodo01 /]# afddriverstate supported
AFD-620: AFD is not supported on this operating system version: '4.14.35-1818.3.3.el7uek.x86_64'
AFD-9201: Not Supported

[root@nodo01 /]# acfsdriverstate supported
ACFS-9459: ADVM/ACFS is not supported on this OS version: '4.14.35-1818.3.3.el7uek.x86_64'
ACFS-9201: Not Supported

 

You can check your current kernel version in your operating system:

[root@nodo01 /]# uname -r
4.14.35-1818.3.3.el7uek.x86_64

 

Check the installed and available kernels in your machine:

[root@nodo01 /]# yum list *kernel-uek*
Loaded plugins: ulninfo
Installed Packages
kernel-uek.x86_64 4.1.12-124.20.3.el7uek installed
kernel-uek.x86_64 4.14.35-1818.3.3.el7uek installed
kernel-uek-firmware.noarch 4.1.12-124.20.3.el7uek installed
Available Packages
kernel-uek.x86_64 4.14.35-1818.5.4.el7uek ol7_UEKR5
kernel-uek-debug.x86_64 4.14.35-1818.5.4.el7uek ol7_UEKR5
kernel-uek-debug-devel.x86_64 4.14.35-1818.5.4.el7uek ol7_UEKR5
kernel-uek-devel.x86_64 4.14.35-1818.5.4.el7uek ol7_UEKR5
kernel-uek-doc.noarch 4.14.35-1818.5.4.el7uek ol7_UEKR5
kernel-uek-firmware.noarch 4.1.12-124.23.2.el7uek ol7_UEKR4
kernel-uek-tools.x86_64 4.14.35-1818.5.4.el7uek ol7_UEKR5

 

And now, you check the versions compiled for the module ADVM/ACFS:

[root@nodo01 /]# ls -l $GRID_HOME/usm/install/Oracle/EL7UEK/x86_64/
total 20
drwxr-xr-x. 3 oracle oinstall 4096 Feb 7 2018 3.8.13-35
drwxr-xr-x. 3 oracle oinstall 4096 Feb 7 2018 4.1.12
drwxr-xr-x. 3 oracle oinstall 4096 Oct 21 12:27 4.1.12-103
drwxr-xr-x. 3 oracle oinstall 4096 Jul 18 20:09 4.1.12-112.16.4
drwxr-xr-x. 3 oracle oinstall 4096 Jul 18 20:09 4.1.12-94.8.2

 

You can see that the highest module for ADVM/ACFS (4.1.12-112) is compatible with kernel 4.1.12-124:

[root@nodo01 /]# ls $GRID_HOME/usm/install/Oracle/EL7UEK/x86_64/4.1.12-112.16.4/4.1.12-112.16.4-x86_64/bin/oracleoks.ko | /sbin/weak-modules --verbose --dry-run --no-initramfs --add-modules | grep compatible
Module oracleoks.ko from kernel 4.1.12-112.16.4.el7uek.x86_64 is not compatible with kernel 3.10.0-862.14.4.0.1.el7.x86_64 in symbols:  filp_open revert_creds __init_rwsem _copy_from_user __bitmap_weight set_user_nice proc_create_data prepare_to_wait_event kernel_accept kernel_recvmsg kmem_cache_create vfs_writev kmem_cache_alloc_trace down_read_trylock __put_cred wake_up_process __stack_chk_fail make_kuid kmem_cache_alloc flush_signals vm_stat prepare_creds down_write init_net up_write cpu_present_mask kmem_cache_free inet_csk_delete_keepalive_timer lock_sock_nested current_task proc_mkdir inet_csk_reset_keepalive_timer vfs_readv kernel_read _copy_to_user make_kgid down_write_trylock down_read kthread_create_on_node override_creds __preempt_count vfs_fsync sock_create_kern filp_close remove_proc_entry sock_release send_sig kernel_sendmsg up_read kmalloc_caches cpu_tss kmem_cache_destroy release_sock module_layout
Module oracleoks.ko from kernel 4.1.12-112.16.4.el7uek.x86_64 is compatible with kernel 4.1.12-124.20.3.el7uek.x86_64
Module oracleoks.ko from kernel 4.1.12-112.16.4.el7uek.x86_64 is not compatible with kernel 4.14.35-1818.3.3.el7uek.x86_64 in symbols:  filp_open vscnprintf revert_creds __init_rwsem _copy_from_user finish_wait set_user_nice up proc_create_data prepare_to_wait_event __wake_up kernel_accept vsnprintf kernel_recvmsg kmem_cache_create vfs_writev _raw_spin_lock_irqsave _raw_spin_lock kmem_cache_alloc_trace down_read_trylock __put_cred wake_up_process schedule_timeout msecs_to_jiffies make_kuid pv_irq_ops kmem_cache_alloc flush_signals vm_stat prepare_creds down_write init_net up_write mod_timer down cpu_present_mask kmem_cache_free inet_csk_delete_keepalive_timer lock_sock_nested down_trylock current_task _raw_spin_unlock_irqrestore proc_mkdir inet_csk_reset_keepalive_timer vfs_readv del_timer_sync kernel_read wait_for_completion nr_cpu_ids _copy_to_user __init_waitqueue_head make_kgid down_write_trylock down_read jiffies kthread_create_on_node override_creds vfs_fsync prepare_to_wait_exclusive sock_create_kern init_timer_key filp_close remove_proc_entry sock_release current_kernel_time send_sig autoremove_wake_function _raw_spin_unlock kernel_sendmsg up_read complete_and_exit kmalloc_caches cpu_tss kmem_cache_destroy release_sock module_layout

 

Now, you need to fix the correct kernel in the start of the machine.

The default kernel for starting is:

[root@nodo01 ~]# grubby --default-kernel
/boot/vmlinuz-4.14.35-1818.3.3.el7uek.x86_64

 

You change it for the correct kernel 4.1.12-124 for using the module ADVM/ACFS (4.1.12-112):

[root@nodo01 ~]# grubby --set-default /boot/vmlinuz-4.1.12-124.20.3.el7uek.x86_64

 

Reboot the machine and check if the module for ADVM/ACFS is working correctly:

[root@nodo01 ~]# uname -r
4.1.12-124.20.3.el7uek.x86_64

[root@nodo01 ~]# export ORACLE_HOME=/u01/app/18.4.0/grid
[root@nodo01 ~]# export ORACLE_BASE=/u01/app
[root@nodo01 ~]# export PATH=$PATH:$ORACLE_HOME/bin

[root@nodo01 /]# afddriverstate supported
AFD-9200: Supported
[root@nodo01 ~]# acfsdriverstate supported
ACFS-9200: Supported

 

Adding value with Arumel!!