WebLogic Server wird nach einem Fehler nicht neu gestartet
Nach einem Knotenfehler kann WebLogic Server nicht gestartet werden.
Das WebLogic-Servicelog enthält eine Fehlermeldung wie die Folgende:
java.io.IOException: Error from fcntl() for file locking, Resource temporarily unavailable, errno=11
Ursache 1: NFSv3-Server enthalten kein Lock Leasing-Feature. Daher werden keine Sperrstatus gespeichert, und Sperren können nach dem Knotenfehler nicht freigegeben werden.
Lösung 1: Beantragen Sie das Entfernen von Dateisperren. Weitere Informationen finden Sie unter Dateisperren von einem Host entfernen, der nicht mehr verfügbar ist.
Ursache 2: Manchmal befindet sich der rpc-statd
-Service, der für die Sperre von NFSv3 erforderlich ist, nach dem Serverfehler in einem fehlerhaften Zustand. Dies kann überprüft werden, indem ein Beispielsperrtest mit dem Modul fcntl
ausgeführt wird. Beispiel:
$python3
>>> import fcntl
>>> f = open('/fss/path/testfile.txt', 'r') #Open an existing file as read mode (do not use 'w')
>>> fcntl.flock(f, fcntl.LOCK_EX | fcntl.LOCK_NB) #Throws "no lock available" error.
>>> exit()
Lösung 2: Starten Sie den rpc-statd
-Service neu.
-
Öffnen Sie ein Terminalfenster auf der Instanz, und verwenden Sie die folgenden Befehle als Root-Benutzer.
$sudo systemctl status rpc-statd $sudo systemctl stop rpc-statd $sudo systemctl start rpc-statd $sudo systemctl status rpc-statd
- Prüfen Sie, ob der
fcntl
-Beispielsperrtest ohne Fehler abgeschlossen wird. - Starten Sie den WebLogic-Server.
Ursache 3: NFSv3 verfolgt keine Sperreneigentümer. NFS hält die Sperre also unbegrenzt, wenn ein Sperreigentümer ausfällt. Nach einem Knotenfehler kann ein Neustartversuch des Typs WebLogic keine Sperre anfordern.
Lösung 3: Dies ist eine allgemeine Einschränkung unter NFSv3. In der Dokumentation von WebLogic sind sofortige Minderungs- und langfristige Designaspekte enthalten. Weitere Informationen finden Sie im Abschnitt Verifying Server Restart Behavior.