Table of Contents
Problembeschreibung
Nach einem Ausfall meines iSCSI SANs kam es beim Starten der Knoten meiner Oracle 11g Release 2 RAC Testumgebung zu Timeouts beim Starten der Cluster Ressourcen, wie das Alertlog des ersten Knotens beispielhaft zeigt.
2010-12-19 20:30:24.714 [ohasd(2910)]CRS-2757:Timeout des Befehls ‘Start’ beim Warten auf Antwort von der Ressource ‘ora.mdnsd’. Details unter (:CRSPE00111:) in /u01/app/11.2.0/grid/log/rac01-1/ohasd/ohasd.log. 2010-12-19 20:30:25.322 [ohasd(2910)]CRS-2757:Timeout des Befehls ‘Start’ beim Warten auf Antwort von der Ressource ‘ora.gipcd’. Details unter (:CRSPE00111:) in /u01/app/11.2.0/grid/log/rac01-1/ohasd/ohasd.log. 2010-12-19 20:32:38.930 [ohasd(2910)]CRS-2757:Timeout des Befehls ‘Start’ beim Warten auf Antwort von der Ressource ‘ora.gpnpd’. Details unter (:CRSPE00111:) in /u01/app/11.2.0/grid/log/rac01-1/ohasd/ohasd.log.
Nach einer Analyse der weiteren Logdateien kam folgender Fehler im ocssd.log zum Vorschein.
cssd/ocssd.l10:2010-12-19 21:05:27.476: [ CSSD][2985642896]clssnmvDiskVerify: file is not a voting file, cannot recognize on-disk signature for a voting cssd/ocssd.l10-2010-12-19 21:05:27.476: [ CSSD][2985642896]clssnmvDiskVerify: Successful discovery of 1 disks cssd/ocssd.l10:2010-12-19 21:05:27.476: [ CSSD][2985642896]clssnmCompleteInitVFDiscovery: Completing initial voting file discovery cssd/ocssd.l10:2010-12-19 21:05:27.476: [ CSSD][2985642896]clssnmvFindInitialConfigs: No voting files found cssd/ocssd.l10-2010-12-19 21:05:27.477: [ CSSD][2985642896]################################### cssd/ocssd.l10-2010-12-19 21:05:27.477: [ CSSD][2985642896]clssscExit: CSSD signal 11 in thread clssnmvDDiscThread cssd/ocssd.l10-2010-12-19 21:05:27.477: [ CSSD][2985642896]###################################
Wie das Logfile zeigte wurden keine Voting Disks gefunden. Die Voting Disks befanden sich in der ASM Diskgruppe +CONFIG. Der folgende Befehl zeigt zusätzlich, dass keine Voting Disk gefunden wurde.
[grid@rac01-1 ~]$ /u01/app/11.2.0/grid/bin/crsctl query css votedisk Located 0 voting disk(s).
Lösung
Damit der Cluster wieder korrekt startet, muss eine neue Voting Disk angelegt werden. Da die Voting Disks in einer ASM Diskgruppe liegen sollen, müssen die Cluster Ressourcen gestartet sein, damit die Voting Disk hinzugefügt werden kann. Da aber keine Voting Disk zur Verfügung steht, muss einer der Knoten im exklusiven Modus gestartet werden. Im exklusiven Modus werden die Voting Disks nicht verwendet, es müssen aber alle anderen Knoten gestoppt werden.
Es werden nun die Oracle Daemons auf allen Knoten gestoppt.
[root@rac01-1 ~]# /u01/app/11.2.0/grid/bin/crsctl stop crs -f
Sollte das Stoppen der Dienste trotz Force-Option -f nicht möglich sein, kann folgende Alternative verwendet werden.
Zunächst muss verhindert werden, dass der Oracle ohasd Deamon automatisch nach dem Neustart des Servers gestartet wird.
[root@rac01-1 rac01-1]# /u01/app/11.2.0/grid/bin/crsctl disable has CRS-4621: Oracle High Availability Services autostart is disabled.
Anschließend muss der Server neugestartet werden. Nach dem Neustart bleiben alle Oracle Dienste gestoppt.
[root@rac01-1 rac01-1]# reboot
Nachdem alle Oracle Dienste auf allen Knoten gestoppt wurden, kann auf einen der Knoten der Cluster im exklusiven Modus gestartet werden.
[root@rac01-1 rac01-1]# /u01/app/11.2.0/grid/bin/crsctl start crs -excl
Im nächsten Schritt wird die neue Voting Disk hinzugefügt. Bei der Ablage der Voting Disks in einer ASM Diskgruppe wird nur der Parameter REPLACE unterstützt.
[grid@rac01-1 ~]$ /u01/app/11.2.0/grid/bin/crsctl replace votedisk +CONFIG Successful addition of voting disk 9e547339ce544ff4bf2d43021e74dd5f. Successfully replaced voting disk group with +CONFIG. CRS-4266: Voting file(s) successfully replaced [grid@rac01-1 ~]$ /u01/app/11.2.0/grid/bin/crsctl query css votedisk ## STATE File Universal Id File Name Disk group — —– —————– ——— ——— 1. ONLINE 9e547339ce544ff4bf2d43021e74dd5f (ORCL:DISK1) [CONFIG] Located 1 voting disk(s).
Nun kann der Cluster neugestartet werden. Dafür wird zunächst der exklusive Modus beendet.
[root@rac01-1 ~]# /u01/app/11.2.0/grid/bin/crsctl stop crs -f CRS-2791: Herunterfahren der von Oracle High Availability Services verwalteten Ressourcen auf “rac01-1” wird gestartet CRS-2673: Versuch, “ora.crsd” auf “rac01-1” zu stoppen CRS-2677: Stoppen von “ora.crsd” auf “rac01-1” erfolgreich CRS-2679: Versuch, “ora.crsd” auf “rac01-1” zu bereinigen CRS-2681: Bereinigen von “ora.crsd” auf “rac01-1” erfolgreich CRS-2673: Versuch, “ora.gpnpd” auf “rac01-1” zu stoppen CRS-2673: Versuch, “ora.cssdmonitor” auf “rac01-1” zu stoppen CRS-2673: Versuch, “ora.ctssd” auf “rac01-1” zu stoppen CRS-2673: Versuch, “ora.asm” auf “rac01-1” zu stoppen CRS-2673: Versuch, “ora.mdnsd” auf “rac01-1” zu stoppen CRS-2677: Stoppen von “ora.cssdmonitor” auf “rac01-1” erfolgreich CRS-2677: Stoppen von “ora.gpnpd” auf “rac01-1” erfolgreich CRS-2677: Stoppen von “ora.mdnsd” auf “rac01-1” erfolgreich CRS-2677: Stoppen von “ora.ctssd” auf “rac01-1” erfolgreich CRS-2677: Stoppen von “ora.asm” auf “rac01-1” erfolgreich CRS-2673: Versuch, “ora.cssd” auf “rac01-1” zu stoppen CRS-2677: Stoppen von “ora.cssd” auf “rac01-1” erfolgreich CRS-2673: Versuch, “ora.diskmon” auf “rac01-1” zu stoppen CRS-2673: Versuch, “ora.gipcd” auf “rac01-1” zu stoppen CRS-2677: Stoppen von “ora.gipcd” auf “rac01-1” erfolgreich CRS-2677: Stoppen von “ora.diskmon” auf “rac01-1” erfolgreich CRS-2793: Herunterfahren der von Oracle High Availability Services verwalteten Ressourcen auf “rac01-1” ist abgeschlossen CRS-4133: Oracle High Availability Services has been stopped.
Anschließend können auf allen Knoten die Cluster Dienste gestartet werden.
[root@rac01-1 ~]# /u01/app/11.2.0/grid/bin/crsctl start crs CRS-4123: Oracle High Availability Services has been started.
Optional: Sollte der ohasd Deamon für den Start deaktiviert worden sein, muss dieser nun wieder aktiviert werden.
[root@rac01-1 rac01-1]# /u01/app/11.2.0/grid/bin/crsctl enable has CRS-4622: Oracle High Availability Services autostart is enabled.
Der Cluster sollte nun wieder korrekt funktionieren.