Le problème
Le module RDS ne se charge pas après le redémarrage des nœuds du cluster. Par conséquent, le CRS ne peut s'exécuter sur aucun des nœuds. Lors de la tentative de chargement du module, les erreurs suivantes s'affichent :
# 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)
La sortie dmesg affiche les entrées suivantes :
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
Lorsque ce problème se pose. Le démon "ccsd" des services de synchronisation de cluster (CSS) ne démarre pas, ce qui empêche GI de démarrer complètement. Les entrées suivantes sont consignées dans le fichier de trace du démon Cluster Synchronization Services (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]
La solution
Le problème est causé depuis la ligne "install rds /bin/true ” qui apparaît dans le /etc/modprobe.d/network.conf le fichier fonctionne comme une liste noire de ce module, mais avec une priorité plus élevée.
La solution au problème consiste à effectuer l'une des actions suivantes, dont l'objectif principal est de se débarrasser de "install rds /bin/true" afin que le module puisse se charger après chaque redémarrage du système.
1. Supprimez le fichier /etc/modprobe.d/network.conf ou déplacez-le dans un autre répertoire comme /tmp.
ou
2. Commentant la ligne dans /etc/modprobe.d/network.conf comme dans l'exemple ci-dessous
# install rds /bin/true
Ensuite, nous pouvons simplement redémarrer le système et nous assurer que rds est chargé après le redémarrage, si rds n'est pas chargé, chargez le module en exécutant :
# modprobe rds_rdma
ou
Exécutez les commandes suivantes :
# depmod -ae current_kernel_version_running -------> for example 2.6.18-274.18.1.0.1.el5 # modprobe rds_rdma # reboot
Une fois le module rds correctement chargé, CRS peut être démarré sur tous les nœuds du cluster.
Remarque :Le nom de fichier sous "/etc/modprobe.d/" pour le module rds dépend de ce que l'utilisateur souhaite utiliser. ex :"network.conf" ou "rds.conf"