What is os-prober
The os-prober package detects all operating systems available on the machine and returns the results in a generic machine-readable format. Sometimes os-prober may cause problems when probing some special disks (Ex: Oracle ASM disks). This post describes how to disable os-prober.
Disabling os-prober
os-prober is invoked by the command grub2-mkconfig when generating a new GRUB configuration file. Running grub update on a busy Oracle ASM LUNS with OS probe results in timeouts on ASM disks. You would see below errors in oracle trace files:
ORA-15080: synchronous I/O operation failed to write block 567864873 of disk 6 in >disk group REDO ORA-27061: waiting for async I/Os failed Linux-x86_64 Error: 1: Operation not permitted
To disable os-prober:
1. The variable GRUB_DISABLE_OS_PROBER in the file /etc/default/grub should be set to true. For example:
# vi /etc/default/grub GRUB_DISABLE_OS_PROBER=true
2. After the modification of /etc/default/grub, the GRUB configuration should be regenerated.
– On BIOS based systems:
# grub2-mkconfig -o /boot/grub2/grub.cfg
– On UEFI based systems:
# grub2-mkconfig -o /boot/efi/EFI/redhat/grub.cfg
Conclusion
From the grub info page regarding the behavior of the GRUB_DISABLE_OS_PROBER=true option:
'GRUB_DISABLE_OS_PROBER' Normally, 'grub-mkconfig' will try to use the external 'os-prober' program, if installed, to discover other operating systems installed on the same system and generate appropriate menu entries for them. Set this option to 'true' to disable this.
The command grub2-mkconfig scans all disks presented to the system when making the grub.cfg. If the system has a large number of disks this can take quite a while and the system will appear to hang. So it is advised to disable it when you have a busy oracle database system with a larger number of ASM disks.