Em um ambiente Red Red Enterprise Linux 7.9 com Grid 19c após o restart da máquina alguns diskgroup não estão sendo montados devido a falta de discos.
NOTE: Instance updated compatible.rdbms to 10.1.0.0.0 for grp 3 (DGREDO). 2020-11-06T13:38:20.258524-03:00 SUCCESS: diskgroup DGREDO was mounted ORA-15032: not all alterations performed ORA-15017: diskgroup "DGRECO" cannot be mounted ORA-15040: diskgroup is incomplete ORA-15017: diskgroup "DGDATA" cannot be mounted ORA-15040: diskgroup is incomplete 2020-11-06T13:38:20.286790-03:00 ERROR: ALTER DISKGROUP ALL MOUNT /* asm agent call crs *//* {0:0:239} */ 2020-11-06T13:38:20.407035-03:00 NOTE: diskgroup resource ora.DGREDO.dg is online 2020-11-06T13:38:20.873938-03:00 Reconfiguration started (old inc 4, new inc 6) List of instances (total 3) :
Se listarmos os discos via oracleasm, é possível ver que nem todos os discos estão sendo listados. Após fazer um scan e listar novamente os mesmos são identificados e é possível montar os DGs com problema.
[grid@lamimdb01 trace]$ oracleasm listdisks DGDATA003 DGDATA004 DGDATA010 DGDATA011 DGDATA016 DGDATA017 DGDATA019 DGDATA022 DGDATA024 DGDATA025 DGDATA028 DGREDO001 DGREDO002 DGREDO003 DGREDO004 root@lamimdb01 ~]# oracleasm scandisks Reloading disk partitions: done Cleaning any stale ASM disks... Scanning system for ASM disks... Instantiating disk "DGDATA021" Instantiating disk "DGDATA013" Instantiating disk "DGDATA007" Instantiating disk "DGRECO001" Instantiating disk "DGRECO003" Instantiating disk "DGRECO004" Instantiating disk "DGRECO005" Instantiating disk "DGRECO006" Instantiating disk "DGRECO002" Instantiating disk "DGDATA030" Instantiating disk "DGDATA023" Instantiating disk "DGDATA015" Instantiating disk "DGDATA009" Instantiating disk "DGDATA002" Instantiating disk "DGDATA027" Instantiating disk "DGDATA020" Instantiating disk "DGDATA026" Instantiating disk "DGDATA018" Instantiating disk "DGDATA005" Instantiating disk "DGDATA029" Instantiating disk "DGDATA014" Instantiating disk "DGDATA008" Instantiating disk "DGDATA001" Instantiating disk "DGDATA012" Instantiating disk "DGDATA006" [root@lamimdb01 ~]# oracleasm listdisks DGDATA001 DGDATA002 DGDATA003 DGDATA004 DGDATA005 DGDATA006 DGDATA007 DGDATA008 DGDATA009 DGDATA010 DGDATA011 DGDATA012 DGDATA013 DGDATA014 DGDATA015 DGDATA016 DGDATA017 DGDATA018 DGDATA019 DGDATA020 DGDATA021 DGDATA022 DGDATA023 DGDATA024 DGDATA025 DGDATA026 DGDATA027 DGDATA028 DGDATA029 DGDATA030 DGRECO001 DGRECO002 DGRECO003 DGRECO004 DGRECO005 DGRECO006 DGREDO001 DGREDO002 DGREDO003 DGREDO004
Este problema ocorre devido ao asmlib estar fazendo a leitura dos discos antes que o iSCSI ou o FCoE tenham sido carregados.
Conforme doc da Red Hat Oracle ASM not scanning iSCSI or FCoE disks during boot basta aplicar o workaround abaixo para correção deste problema.
Após aplicar o workaround, o problema foi corrigido e os discos reconhecido no boot da maquina.
Environment
- Red Hat Enterprise Linux (RHEL) 7
- iSCSI initiator
- FCoE
- Multipath
- ASMLib
Issue
- Oracle ASM disks don't mount automatically thus manual intervention is required.
- Oracle ASM disks using iSCSI or FCoE and multipath not being scanned during the boot process.
Edit /lib/systemd/system/oracleasm.service
unit adding the following parameters:
iSCSI
[Unit] Description=Load oracleasm Modules Requires=multipathd.service iscsi.service <--- After=multipathd.service iscsi.service <--- [...]
FCoE
[Unit] Description=Load oracleasm Modules Requires=multipathd.service fcoe.service <--- After=multipathd.service fcoe.service <--- [...]
Comentários
Postar um comentário