重启服务器后,未找到ASMLib 管理的磁盘
更多: zhilu jiaocheng

解决方案

查看系统日志 (/var/log/messages) 中的系统启动消息,很明显:
oracleasm.service 在 iscsid.service 完成使所有 iSCSI 目标完全可用/可操作之前启动,并且在 multipathd.service 添加至少一个到 iSCSI 目标的路径之前。

ohasd.service 在 oracleasm.service 之后启动,但没有发现 ASM 磁盘。

修改文件 /usr/lib/systemd/system/oracleasm.service 并将“Requires”和“After”行添加到 iscsid.service multi-user.target 以确保 oracleasm.service 在完成 iscsid.service 和 multipathd 后启动.service 和达到 multi-user.target 后即:

# cat -n /usr/lib/systemd/system/oracleasm.service
1 [Unit]
2 Description=Load oracleasm Modules
3 Requires=multipathd.service iscsid.service multi-user.target
4 After=multipathd.service iscsid.service multi-user.target
...

修改文件 /etc/systemd/system/oracle-ohasd.service 后添加 oracleasm.service 行以确保 CRS ohasd.service 在 oracleasm.service 成功发现所有 iSCSI 多路径 ASM 磁盘后启动,即:

# cat -n /etc/systemd/system/oracle-ohasd.service
...
5 [Unit]
6 Description=Oracle High Availability Services
7 After=syslog.target network-online.target remote-fs.target oracleasm.service
...

注意:如果 /etc/systemd/system/oracle-ohasd.service 不可用,请参考提供类似功能的 /etc/systemd/system/ohasd.service。

问题

在 CentOS/RHEL 7 中重新启动服务器后,在多路径 iSCSI 目标上,未发现 ASMLib 管理的磁盘。

Oracle Real Application Clusters (RAC) 服务器在 CentOS/RHEL 7 上运行并利用 ASMLib 管理的 iSCSI 多路径磁盘。
服务器重新启动时,不会在启动时自动发现 Oracle ASMLib 磁盘,从而导致 Oracle Cluster Ready Services (CRS) 无法启动。
但是,在服务器重新启动后不久手动运行 oracleasm scandisks 命令时,可以正确发现 ASM 磁盘。

以下是oracleasm的配置

# cat /etc/sysconfig/oracleasm
...
ORACLEASM_ENABLED=true
ORACLEASM_UID=oracle
ORACLEASM_GID=dba
ORACLEASM_SCANBOOT=true
ORACLEASM_SCANORDER=""
ORACLEASM_SCANEXCLUDE=""
ORACLEASM_USE_LOGICAL_BLOCK_SIZE=false
...
# cat -n /usr/lib/systemd/system/oracleasm.service
1 [Unit]
2 Description=Load oracleasm Modules
3 Requires=multipathd.service
4 After=multipathd.service
...
日期:2020-09-17 00:12:58 来源:oir作者:oir