Skip to main content

Unifi Controller startet nicht mehr

Fehler - /var/log/unifi/server.log :

[2024-03-07 03:17:19,025] <db-server> INFO  db     - Checking if database needs to be shut down
[2024-03-07 03:17:20,026] <db-server> INFO  db     - Database was not running
[2024-03-07 03:17:20,026] <db-server> INFO  db     - Database configuration, dir=/usr/lib/unifi/data/db, port=27117
[2024-03-07 03:17:20,114] <db-server> ERROR system - unable to exec
java.io.IOException: Cannot run program "bin/mongod" (in directory "/usr/lib/unifi"): error=0, Failed to exec spawn helper: pid: 755101, signal: 11
        at java.base/java.lang.ProcessBuilder.start(ProcessBuilder.java:1143)
        at java.base/java.lang.ProcessBuilder.start(ProcessBuilder.java:1073)
        at com.ubnt.ace.B.Ôo0000(Unknown Source)
        at com.ubnt.ace.B.Öô0000(Unknown Source)
        at com.ubnt.ace.B.oÖ0000(Unknown Source)
        at com.ubnt.service.system.z.Òô0000(Unknown Source)
        at com.ubnt.service.system.z$1.run(Unknown Source)
        at java.base/java.lang.Thread.run(Thread.java:833)
Caused by: java.io.IOException: error=0, Failed to exec spawn helper: pid: 755101, signal: 11
        at java.base/java.lang.ProcessImpl.forkAndExec(Native Method)
        at java.base/java.lang.ProcessImpl.<init>(ProcessImpl.java:314)
        at java.base/java.lang.ProcessImpl.start(ProcessImpl.java:244)
        at java.base/java.lang.ProcessBuilder.start(ProcessBuilder.java:1110)
        ... 7 common frames omitted
[2024-03-07 03:17:20,114] <db-server> INFO  db     - Starting database process...
[2024-03-07 03:17:20,205] <db-server> ERROR system - unable to exec
java.io.IOException: Cannot run program "bin/mongod" (in directory "/usr/lib/unifi"): error=0, Failed to exec spawn helper: pid: 755109, signal: 11
        at java.base/java.lang.ProcessBuilder.start(ProcessBuilder.java:1143)
        at java.base/java.lang.ProcessBuilder.start(ProcessBuilder.java:1073)
        at com.ubnt.ace.B.ô00000(Unknown Source)
        at com.ubnt.ace.B.oÔ0000(Unknown Source)
        at com.ubnt.service.system.z.Òô0000(Unknown Source)
        at com.ubnt.service.system.z$1.run(Unknown Source)
        at java.base/java.lang.Thread.run(Thread.java:833)
Caused by: java.io.IOException: error=0, Failed to exec spawn helper: pid: 755109, signal: 11
        at java.base/java.lang.ProcessImpl.forkAndExec(Native Method)
        at java.base/java.lang.ProcessImpl.<init>(ProcessImpl.java:314)
        at java.base/java.lang.ProcessImpl.start(ProcessImpl.java:244)
        at java.base/java.lang.ProcessBuilder.start(ProcessBuilder.java:1110)
        ... 6 common frames omitted
[2024-03-07 03:17:20,205] <db-server> INFO  db     - Database process stopped...
[2024-03-07 03:17:21,904] <stamgr> WARN  cache  - unable to retrieve settings in site 6432ba9476f22131549ac718
com.google.common.util.concurrent.UncheckedExecutionException: com.mongodb.MongoTimeoutException: Timed out after 10000 ms while waiting to connect. Client view of cluster state is {type=UNKNOWN, servers=[{address=localhost:27117, type=UNKNOWN, state=CONNECTING, exception={com.mongodb.MongoSocketOpenException: Exc>
        at com.google.common.cache.LocalCache$Segment.get(LocalCache.java:2055)
        at com.google.common.cache.LocalCache.get(LocalCache.java:3966)
        at com.google.common.cache.LocalCache.getOrLoad(LocalCache.java:3989)
        at com.google.common.cache.LocalCache$LocalLoadingCache.get(LocalCache.java:4950)
        at com.ubnt.service.system.OooO.ôöØ000(Unknown Source)
        at com.ubnt.service.system.OooO.oøØ000(Unknown Source)
        at com.ubnt.service.event.A.newreturnnew(Unknown Source)
        at com.ubnt.service.event.A.oöÓ000(Unknown Source)
        at com.ubnt.service.event.A.ÔõÓ000(Unknown Source)
        at com.ubnt.service.devmgr.classObject.StringdoObject(Unknown Source)
        at com.ubnt.service.system.newnew.ÖO0000(Unknown Source)
        at com.ubnt.ace.B$_OOo.run(Unknown Source)
        at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539)
        at java.base/java.util.concurrent.FutureTask.runAndReset(FutureTask.java:305)
        at java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:305)
        at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136)
        at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635)
        at java.base/java.lang.Thread.run(Thread.java:833)
Caused by: com.mongodb.MongoTimeoutException: Timed out after 10000 ms while waiting to connect. Client view of cluster state is {type=UNKNOWN, servers=[{address=localhost:27117, type=UNKNOWN, state=CONNECTING, exception={com.mongodb.MongoSocketOpenException: Exception opening socket}, caused by {java.net.ConnectE>
        at com.mongodb.internal.connection.BaseCluster.getDescription(BaseCluster.java:180)
        at com.mongodb.internal.connection.SingleServerCluster.getDescription(SingleServerCluster.java:44)
        at com.mongodb.client.internal.MongoClientDelegate.getConnectedClusterDescription(MongoClientDelegate.java:144)
        at com.mongodb.client.internal.MongoClientDelegate.createClientSession(MongoClientDelegate.java:101)
        at com.mongodb.client.internal.MongoClientDelegate$DelegateOperationExecutor.getClientSession(MongoClientDelegate.java:291)
        at com.mongodb.client.internal.MongoClientDelegate$DelegateOperationExecutor.execute(MongoClientDelegate.java:183)
        at com.mongodb.client.internal.FindIterableImpl.first(FindIterableImpl.java:213)
        at com.ubnt.service.system.z.Stringnull(Unknown Source)
        at com.ubnt.service.system.z.Ó00000(Unknown Source)
        at com.ubnt.service.system.floatsuper.ØÕ0000(Unknown Source)
        at com.ubnt.service.system.OooO$2.o00000(Unknown Source)
        at com.ubnt.service.system.OooO$2.load(Unknown Source)
        at com.google.common.cache.LocalCache$LoadingValueReference.loadFuture(LocalCache.java:3533)
        at com.google.common.cache.LocalCache$Segment.loadSync(LocalCache.java:2282)
        at com.google.common.cache.LocalCache$Segment.lockedGetOrLoad(LocalCache.java:2159)
        at com.google.common.cache.LocalCache$Segment.get(LocalCache.java:2049)
        ... 17 common frames omitted
[2024-03-07 03:17:21,904] <stamgr> INFO  db     - waiting for db connection...
[2024-03-07 03:17:22,011] <discover> INFO  discover - [Internal] incomplete device information received
com.mongodb.MongoTimeoutException: Timed out after 10000 ms while waiting to connect. Client view of cluster state is {type=UNKNOWN, servers=[{address=localhost:27117, type=UNKNOWN, state=CONNECTING, exception={com.mongodb.MongoSocketOpenException: Exception opening socket}, caused by {java.net.ConnectException: C>
        at com.mongodb.internal.connection.BaseCluster.getDescription(BaseCluster.java:180)
        at com.mongodb.internal.connection.SingleServerCluster.getDescription(SingleServerCluster.java:44)
        at com.mongodb.client.internal.MongoClientDelegate.getConnectedClusterDescription(MongoClientDelegate.java:144)
        at com.mongodb.client.internal.MongoClientDelegate.createClientSession(MongoClientDelegate.java:101)
        at com.mongodb.client.internal.MongoClientDelegate$DelegateOperationExecutor.getClientSession(MongoClientDelegate.java:291)
        at com.mongodb.client.internal.MongoClientDelegate$DelegateOperationExecutor.execute(MongoClientDelegate.java:183)
        at com.mongodb.client.internal.FindIterableImpl.first(FindIterableImpl.java:213)
        at com.ubnt.service.system.z.Stringnull(Unknown Source)
        at com.ubnt.service.system.z.Ó00000(Unknown Source)
        at com.ubnt.service.devmgr.o0O0o.Õôö000(Unknown Source)
        at com.ubnt.service.devmgr.o0O0o.thisinterfaceString(Unknown Source)
        at com.ubnt.net.float.ÔÒø000(Unknown Source)
        at com.A.A.oOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO.Object.ô00000(Unknown Source)
        at com.A.A.oOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO.oOoO$1.run(Unknown Source)
        at java.base/java.lang.Thread.run(Thread.java:833)
[2024-03-07 03:17:22,011] <discover> INFO  db     - waiting for db connection...

Der Fehler sagt aus, das er Probleme mit der mongo db also der Datenbank gibt.

Zuerst muss der Dienst gestoppt werden:

service unifi stop

In einigen Fällen, in denen das Journal beschädigt ist, ist es hilfreich, den folgenden Befehl auszuführen, bevor die Datenbank repariert wird, um sie an einen anderen Ort zu verschieben

mv -vi /usr/lib/unifi/data/db/journal /usr/lib/unifi/data/db/journal-$(date -I)

Reparieren Sie die Datenbank mit diesem Befehl:

mongod --dbpath /usr/lib/unifi/data/db --logpath /usr/lib/unifi/logs/mongod.log --repair

Starten Sie schließlich den UniFi-Dienst neu

service unifi start

Hinweis: Wenn dieser Prozess als Root durchgeführt wurde, hat sich der Dateibesitz möglicherweise geändert. Dies kann geändert werden mit:

chown -R unifi:unifi /usr/lib/unifi/data/db/
chown -R unifi:unifi /usr/lib/unifi/logs/

Quelle:
https://help.ui.com/hc/en-us/articles/360006634094-UniFi-Repairing-Database-Issues-on-the-UniFi-Network-Application