Introdução
Como mencionei no meu post anterior “ASMlib v3: Novidades que Você Precisa Saber“, a partir do RedHat 9 o ASMlib v3 não usa mais o driver “kmod-redhat-oracleasm“, sendo necessário apenas ter a feature IO_URING habilitada no kernel.
Neste post eu demonstro o passo a passo para a instalação e configuração do ASMlib no RHEL 9, que difere um pouco do procedimento realizado no RHEL 8. É importante observar que o post foca apenas na parte do ASMlib, assumindo que outras etapas como criação e grupos e usuários já foram realizadas.
Downloads
Os pacotes do ASMlib v3 usados para RedHat são os mesmos do Oracle Linux, e eles tem exatamente os mesmos links para download, conforme podemos confirmar na nota Oracle ASMLib Software Update and Support Policy (Doc ID 1089399.1).
1) Download do oracleasmlib via eDelivery:
https://www.oracle.com/linux/downloads/linux-asmlib-v9-downloads.html#
Após acessar o link acima e clicar na opção de download, você será direcionado para o site do Oracle eDelivery.

DICA: Você pode clicar no nome do arquivo para baixá-lo diretamente ao invés de clicar no botão “Download”. Essa abordagem vale mais a pena para arquivos pequenos.
2) Download do pacote oracleasmlib-support no repositório do YUM
Você pode acessar a URL abaixo e pesquisar por oracleasm-support:
https://yum.oracle.com/repo/OracleLinux/OL9/addons/x86_64

Atualização 15/02/2024: Allan Graves comentou no meu post do Linkedin sobre a versão 3.0.0-7 ser requerida para usar o recurso ADVM. Atualizei o post usando essa versão liberada em 05/02/2025. Mas via de regra, sempre considere baixar a última versão que encontrar no repositório
Por não precisar de login, você também pode fazer o download diretamente via wget ou curl, como no exemplo abaixo:
curl -L -o oracleasm-support-3.0.0-7.el9.x86_64.rpm https://yum.oracle.com/repo/OracleLinux/OL9/addons/x86_64/getPackage/oracleasm-support-3.0.0-7.el9.x86_64.rpm
Pré Requisitos para RHEL
1) IO_URING
A feature IO_URING está como Technology Preview no RHEL 9.5 e não vem habilitada por padrão.
Para usar essa feature, é necessário habilitá-la manualmente alterando o parâmetro abaixo:
sysctl -w kernel.io_uring_disabled=0
2) Instalando o chkconfig
A instalação do pacote oracleasm-support tentará usar o comando chkconfig, garanta que ele já esteja previamente instalado no SO:
dnf install chkconfig
Instalação e Configuração
1) Instale o pacote oracleasm-support baixado do repositório do YUM:
dnf localinstall oracleasm-support-3.0.0-7.el9.x86_64.rpm
2) Instale o pacote oracleasmlib baixado do eDelivery:
dnf localinstall oracleasmlib-3.0.0-13.el9.x86_64.rpm
3) Inicie a configuração do ASMlib:
oracleasm configure -i
Exemplo:
[root@rhel9]# oracleasm configure -i
Configuring the Oracle ASM library driver.
This will configure the on-boot properties of the Oracle ASM library
driver. The following questions will determine whether the driver is
loaded on boot and what permissions it will have. The current values
will be shown in brackets ('[]'). Hitting <ENTER> without typing an
answer will keep that current value. Ctrl-C will abort.
Default user to own the driver interface []: grid
Default group to own the driver interface []: oinstall
Start Oracle ASM library driver on boot (y/n) [n]: y
Scan for Oracle ASM disks on boot (y/n) [y]: y
Maximum number of disks that may be used in ASM system [2048]:
Enable iofilter if kernel supports it (y/n) [y]:
Writing Oracle ASM library driver configuration: done
4) Inicialize o ASMlib manualmente para validar a configuração:
oracleasm init
Exemplo:
[root@rhel9]# oracleasm init
Mounting ASMlib driver filesystem: Not applicable with kernel 5.14.0
Setting up iofilter map for ASM disks: done
5) Verifique o status:
oracleasm status
Exemplo:
[root@rhel9 asm-demo]# oracleasm status
Checking if the oracleasm kernel module is loaded: no (Not required with kernel 5.14.0)
Checking if /dev/oracleasm is mounted: no (Not required with kernel 5.14.0)
Checking which I/O Interface is in use: io_uring (KABI_V3)
Checking if io_uring is enabled: yes
Checking if ASM disks have the correct ownership and permissions: yes
Checking if ASM I/O filter is set up: yes
Confirme que essa linha apresenta o valor yes:
Checking if io_uring is enabled: yes
6) Ative e inicie o serviço oracleasm no systemd:
systemctl enable oracleasm systemctl start oracleasm systemctl status oracleasm
Exemplo:
[root@rhel9]# systemctl enable oracleasm
Created symlink /etc/systemd/system/multi-user.target.wants/oracleasm.service → /usr/lib/systemd/system/oracleasm.service.
[root@rhel9]#
[root@rhel9]# systemctl start oracleasm
[root@rhel9]#
[root@rhel9]# systemctl status oracleasm
● oracleasm.service - Load oracleasm Modules
Loaded: loaded (/usr/lib/systemd/system/oracleasm.service; enabled; preset: disabled)
Active: active (exited) since Thu 2025-01-23 14:04:29 -03; 5s ago
Process: 15650 ExecStartPre=/usr/bin/udevadm settle -t 120 (code=exited, status=0/SUCCESS)
Process: 15651 ExecStart=/usr/sbin/oracleasm.init start_sysctl (code=exited, status=0/SUCCESS)
Main PID: 15651 (code=exited, status=0/SUCCESS)
CPU: 127ms
Jan 23 14:04:29 rhel9 systemd[1]: Starting Load oracleasm Modules...
Jan 23 14:04:29 rhel9 oracleasm.init[15651]: Initializing the Oracle ASMLib driver: OK
Jan 23 14:04:29 rhel9 oracleasm.init[15651]: Scanning the system for Oracle ASMLib disks: OK
Jan 23 14:04:29 rhel9 systemd[1]: Finished Load oracleasm Modules.
OPCIONAL: Teste a opção scandisks:
[root@rhel9 ~]# oracleasm scandisks
Reloading disk partitions: done
Cleaning any stale ASM disks...
Setting up iofilter map for ASM disks: done
Scanning system for ASM disks...
Caso a condição do “io_uring is enabled” esteja como “yes”, o status do serviço esteja como SUCCESS, e o resultado do comando scandisks não apresente nenhum erro, é um indicativo de que a instalação foi bem sucedida.
Próximos passos
A partir desse ponto, o processo para criação dos discos segue da mesma forma como o ASMlib v2, usando o comando “oracleasm createdisk”. Na hora de instalar e configurar o Grid Infrastructure, use o padrão “ORCL:*” como discovery string no OUI ou ASMCA.
Nos meus testes eu notei que apesar de ser possível selecionar os discos no OUI usando o padrão “/dev/disks/by-label”, o processo falha no final porque o ASMCA apresenta erro ao tentar criar diskgroup com um prefixo diferente de ORCL:*.
Maicon, boa tarde.
blz?
Pode me tirar uma dúvida?
Em que momento o ASMLIB 3.0 define o nome Disk Path ORCL?
É possível alterar esse nome padrão ORCL para algum outro?
Obrigado!
Olá Lucas,
Boa pergunta, eu também já tive essa dúvida.
Mas de fato não é algo configurável, já vem definido no código do ASMlib. E dentro do ASM em si, toda vez que usar “ORCL:*”, ele entende que é uma referência aos discos mapeados via ASMlib. O mesmo ocorre com o prefixo “AFD:*” para discos apresentados via ASMFD (Filter Driver).
Pingback: How to Update Your Existing ASM Installation to ASMlib v3 in Oracle Linux 8.10 – Blog do Dibiei