问题

重启集群节点后,RDS 模块未加载。
因此,CRS 不能在任何节点上运行。
尝试加载模块时,会显示以下错误:

# modprobe rds_rdma
FATAL: Error inserting rds_rdma
/lib/modules/2.6.18-274.18.1.0.1.el5/updates/net/rds/rds_rdma.ko): Unknown symbol in module, or unknown parameter (see dmesg)

dmesg 输出显示以下条目:

rds_rdma: Unknown symbol rds_cong_map_updated
rds_rdma: Unknown symbol rds_conn_drop
rds_rdma: Unknown symbol rds_message_addref
rds_rdma: Unknown symbol rds_trans_unregister
rds_rdma: Unknown symbol rds_info_deregister_func
rds_rdma: Unknown symbol rds_send_get_message
rds_rdma: Unknown symbol rds_for_each_conn_info
rds_rdma: Unknown symbol rds_message_add_rdma_dest_extension
rds_rdma: Unknown symbol rds_wq
rds_rdma: Unknown symbol rds_atomic_send_complete
rds_rdma: Unknown symbol rds_conn_connect_if_down
rds_rdma: Unknown symbol rds_conn_destroy

当这个问题出现时。
集群同步服务 (CSS) 守护进程“ccsd”将不会启动,因此不允许 GI 完全启动。
以下条目记录在集群同步服务 (CSS) 守护程序跟踪文件“ocssd.trc”中

2017-10-25 20:13:23.776120 : SKGFD:922437376: ERROR: -8(OS Error -1 (open,sskgxplp,Invalid protocol requested (2) or protocol not loaded.,Error 0)
2017-10-25 20:13:23.776127 : SKGFD:922437376: ERROR: -10(OSS Operation oss_initialize failed with error 4 [Network initialization failed]
致命:插入 rds_rdma 时出错
https://onitroad.com 更多教程

解决方案

该问题是由于出现在 /etc/modprobe.d/network.conf 文件中的“install rds /bin/true”行与该模块的黑名单类似,但具有更高的优先级而引起的。

问题的解决方案是执行以下任何操作,主要目的是摆脱“安装 rds /bin/true”,以便在每次系统重新启动后加载模块。

  1. 删除文件 /etc/modprobe.d/network.conf 或者将其移动到另一个目录,如 /tmp。

或者

  1. 注释掉 /etc/modprobe.d/network.conf 中的行,如下例所示
# install rds /bin/true

然后我们可以继续重启系统并确保重启后加载 rds,如果未加载 rds,则通过运行加载模块:

# modprobe rds_rdma

或者

运行以下命令:

# depmod -ae current_kernel_version_running  -------> for example 2.6.18-274.18.1.0.1.el5
# modprobe rds_rdma
# reboot

一旦 rds 模块正确加载,CRS 就可以在集群的所有节点上启动。

日期:2020-09-17 00:12:23 来源:oir作者:oir