ASM não monta o disk group após o reboot do servidor.

Hoje ao verificar um servidor recentemente instalado com Oracle Linux 7.9 e ASM 19.17 com ASMLib, verificamos que ao realizar qualquer reboot no servidor, o ASM não conseguia montar os discos.

Verão do SO e kernel:

[grid@srv01 ~]$ uname -a
Linux srv01 5.4.17-2136.316.7.el7uek.x86_64 #2 SMP Mon Jan 23 18:37:26 PST 2023 x86_64 x86_64 x86_64 GNU/Linux
 
[grid@srv01 ~]$ cat /etc/*-release | grep PRETTY
PRETTY_NAME="Oracle Linux Server 7.9"

Versão do ASM:

[grid@srv01 ~]$ asmcmd -V
asmcmd version 19.17.0.0.0

Discos usados no ASM com multipath para o DATA e RECO:

[root@srv01 ~]# multipath -ll
RECO01 (3600a0980384b5545464d42) dm-4 NETAPP  ,LUN C-Mode
size=100G features='4 queue_if_no_path pg_init_retries 50 retain_attached_hw_handle' hwhandler='1 alua' wp=rw
|-+- policy='service-time 0' prio=50 status=active
| `- 33:0:0:0 sdd                8:48   active ready running
`-+- policy='service-time 0' prio=10 status=enabled
  `- 34:0:0:0 sdc                8:32   active ready running
DATA01 (3600a0455244b5545464d43) dm-5 NETAPP  ,LUN C-Mode
size=100G features='4 queue_if_no_path pg_init_retries 50 retain_attached_hw_handle' hwhandler='1 alua' wp=rw
|-+- policy='service-time 0' prio=50 status=active
| `- 33:0:0:1 sdf                8:80   active ready running
`-+- policy='service-time 0' prio=10 status=enabled
  `- 34:0:0:1 sde                8:64   active ready running

Ao realizar um rescan dos discos, o ASM montava os disks groups DATA e RECO sem erros, ao realizar o reboot do servidor o problema ocorria novamente:

[root@srv01 ~]# /etc/init.d/oracleasm scandisks
[root@srv01 ~]# /usr/sbin/oracleasm listdisks

Ao analisar os logs, verificamos que o serviço do oracleasm.service iniciava primeiro ates do iscsid.service concluir, desta forma os discos ficavam indisponiveis para que o ASM pudesse realizar a operação de MOUNT dos disks groups:

/var/log/messages

Correção aplicada: Modificação do arquivo oracleasm.service, mudando a ordem de inicialização dos serviços para garantir que o CRS ohasd.service seja iniciado após o oracleasm.service ter descoberto com sucesso todos os discos do ASM:

[root@srv01 ~]# cat /lib/systemd/system/oracleasm.service
[Unit]
Description=Load oracleasm Modules
Requires=multipathd.service iscsi.service multi-user.target  <========
After=multipathd.service iscsi.service multi-user.target    <=========
[...]
 
[root@srv01 ~]# systemctl daemon-reload

Reboot do servidor para testar a correção de forma efetiva:

[root@srv01 ~]# init 6

Após a correção, os discos são montados no ASM sem erros após o reboot do servidor:

[grid@srv01 ~]$ asmcmd
ASMCMD> lsdg
State    Type    Rebal  Sector  Logical_Sector  Block       AU  Total_MB  Free_MB  Req_mir_free_MB  Usable_file_MB  Offline_disks  Voting_files  Name
MOUNTED  EXTERN  N         512             512   4096  4194304    102400   102296                0          102296              0             N  DATA/
MOUNTED  EXTERN  N         512             512   4096  4194304    102412   102316                0          102316              0             N  RECO/
ASMCMD> exit

Nota técnica de ajuda:

Oracle Linux 7: ASMLib-Managed Disks on Multipathed iSCSI Targets 
are not Discovered after Server Reboot (Doc ID 2214152.1)

Leave a Reply

Your email address will not be published. Required fields are marked *

search previous next tag category expand menu location phone mail time cart zoom edit close