news 2026/10/19 12:08:43

mongodb start operation timed out. Terminating. mongodb-27017.service: Failed with result ‘timeout‘.

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
mongodb start operation timed out. Terminating. mongodb-27017.service: Failed with result ‘timeout‘.

一、mongodb systemd failed

[root@cementindustrynode5 monit.d]# systemctl status mongodb-27017.service ● mongodb-27017.service - mongodb Loaded: loaded (/etc/systemd/system/mongodb-27017.service; enabled; vendor preset: disabled) Active: failed (Result: timeout) since Fri 2026-10-16 15:48:41 CST; 29s ago Process: 3547030 ExecStart=/mnt/allin_data/allin/mongodb-27017/bin/mongod --config /mnt/allin_data/allin/mongodb-27017/mongodb.conf (code=killed, signal=TERM) Main PID: 1042 (code=killed, signal=KILL) Oct 16 15:46:55 cementindustrynode5 systemd[1]: Starting mongodb... Oct 16 15:46:55 cementindustrynode5 mongod[3547030]: about to fork child process, waiting until server is ready for connections. Oct 16 15:46:55 cementindustrynode5 mongod[3547032]: forked process: 3547032 Oct 16 15:48:25 cementindustrynode5 systemd[1]: mongodb-27017.service: start operation timed out. Terminating. Oct 16 15:48:41 cementindustrynode5 systemd[1]: mongodb-27017.service: Failed with result 'timeout'. Oct 16 15:48:41 cementindustrynode5 systemd[1]: Failed to start mongodb.

从这段日志看,MongoDB 本身不一定启动失败,而是 systemd 等待 MongoDB “ready” 超时后把它杀掉了

关键点:

15:46:55 mongod about to fork child process, waiting until server is ready for connections. 15:46:55 forked process: 3547032 15:48:25 systemd start operation timed out. Terminating. 15:48:41 Failed with result 'timeout'

也就是:

systemd │ │ 启动 mongod ▼ mongod 父进程 │ └── fork → 3547032 │ ├── 初始化数据目录 ├── recovery ├── journal ├── WiredTiger └── 等待 27017 ready │ │ 超过 systemd TimeoutStartSec ▼ systemd TERM ▼ MongoDB 被杀

另外:

Main PID: 1042 (code=killed, signal=KILL)

这个1042很值得查,说明系统中可能原本就有一个 mongod 进程/旧 MongoDB 进程,不能直接假设当前只有一个 MongoDB


1. 先不要反复 systemctl restart

先执行下面这一组,确认 MongoDB 实际状态:

ps -ef | grep '[m]ongod' ss -lntp | grep 27017 pgrep -a mongod systemctl cat mongodb-27017.service cat /mnt/allin_data/allin/mongodb-27017/mongodb.conf

重点看:

dbPath logpath fork pidFilePath port bindIp

2. 最重要:直接看 MongoDB 日志

先从配置里面找日志:

grep -Ei 'dbPath|path|log|fork|pid|port' \ /mnt/allin_data/allin/mongodb-27017/mongodb.conf

如果是类似:

systemLog: destination: file path: /mnt/allin_data/allin/mongodb-27017/log/mongod.log

直接:

tail -200 /mnt/allin_data/allin/mongodb-27017/log/mongod.log

然后:

grep -Ei \ 'error|fatal|panic|fail|exception|recovery|repair|wiredtiger|lock|permission|disk|corrupt|timeout' \ /mnt/allin_data/allin/mongodb-27017/log/mongod.log | tail -100

MongoDB 卡在哪里,基本都能从这里判断


3. 检查数据盘

MongoDB 路径在:

/mnt/allin_data/allin/mongodb-27017

所以首先检查:

df -h /mnt/allin_data df -ih /mnt/allin_data du -sh /mnt/allin_data/allin/mongodb-27017 du -sh /mnt/allin_data/allin/mongodb-27017/*

尤其注意:

磁盘空间 inode WiredTiger 文件 journal

再检查:

mount | grep /mnt/allin_data findmnt /mnt/allin_data

如果这是 NFS/CFS/SeaweedFS 等网络存储,要特别注意

MongoDB 的 WiredTiger 数据目录不建议放在不满足 MongoDB 存储语义要求的网络文件系统上


4. 检查磁盘 I/O

这个现象很像:

MongoDB fork 成功,但是初始化/recovery 很慢,systemd 90 秒超时

执行:

iostat -xm 1 10

如果没有:

iostat

安装:

yum install -y sysstat

然后:

iostat -xm 1 10

重点看:

%util await r_await w_await

如果类似:

await 500 %util 100

甚至:

await 1000+

那么不是 MongoDB 配置问题,而是底层存储 I/O 卡住


5. 检查 MongoDB 进程到底有没有被 OOM Killer 干掉

执行:

dmesg -T | grep -Ei \ 'oom|out of memory|killed process|mongod'

以及:

journalctl -k --since "2026-10-16 15:40:00" | \ grep -Ei 'oom|memory|killed|mongod'

如果出现:

Out of memory: Killed process xxxx (mongod)

那就是内存问题

再:

free -h swapon --show vmstat 1 10

6. 检查是不是 MongoDB recovery

这是目前比较怀疑的一种情况

MongoDB 非正常停止以后重新启动:

mongod ↓ 读取 WiredTiger metadata ↓ 检查 journal ↓ recovery ↓ 恢复 checkpoint ↓ 完成 ↓ 27017 ready

如果数据库非常大,例如几百 GB / TB:

启动恢复可能超过 90 秒

systemd 就会认为:

MongoDB 启动失败

实际上 MongoDB 可能只是启动得比较慢

日志里如果看到:

Recovering log Recovering WiredTiger WT_SESSION recovery checkpoint journal

基本可以确定


7. systemd 超时很可能只有 90 秒

从日志看:

15:46:55

到:

15:48:25

正好:

90 秒

所以先确认:

systemctl show mongodb-27017.service | grep -E \ 'TimeoutStartSec|Type|KillMode|PIDFile'

很可能:

TimeoutStartUSec=1min 30s

8. 检查 systemd service

执行:

systemctl cat mongodb-27017.service

重点怀疑类似:

[Service] Type=forking ExecStart=/mnt/allin_data/allin/mongodb-27017/bin/mongod \ --config /mnt/allin_data/allin/mongodb-27017/mongodb.conf TimeoutStartSec=90

如果 MongoDB 配置:

processManagement: fork: true

那么:

systemd ↓ mongod ↓ fork ↓ parent exit ↓ child继续启动

Type=forking通常是合理的

但是如果 MongoDB 真正 ready 的时间超过 90 秒,systemd 就会干掉它


9. 可以先临时把 Timeout 调大

如果日志确认只是 recovery 慢,建议:

systemctl edit mongodb-27017.service

写:

[Service] TimeoutStartSec=10min TimeoutStopSec=10min

然后:

systemctl daemon-reload

确认:

systemctl show mongodb-27017.service | \ grep Timeout

应该看到类似:

TimeoutStartUSec=10min TimeoutStopUSec=10min

然后:

systemctl start mongodb-27017.service

观察:

systemctl status mongodb-27017.service

同时:

tail -f /mnt/allin_data/allin/mongodb-27017/log/mongod.log

10. 更关键:手工启动 MongoDB

如果仍然失败,我建议不要继续通过 systemd 猜

先停止:

systemctl stop mongodb-27017.service

确认:

pgrep -a mongod

如果还有:

kill <PID>

等几秒:

pgrep -a mongod

确认没有残留

然后用 MongoDB 原配置启动:

/mnt/allin_data/allin/mongodb-27017/bin/mongod \ --config /mnt/allin_data/allin/mongodb-27017/mongodb.conf

如果配置里已经:

processManagement: fork: true

那么终端可能直接返回

此时:

tail -100 \ /mnt/allin_data/allin/mongodb-27017/log/mongod.log

以及:

ss -lntp | grep 27017

11. 特别检查 PID 文件

日志里:

Main PID: 1042

但是本次启动:

mongod[3547030] forked process: 3547032

这个现象需要重点确认 PID 配置

执行:

grep -Ei 'pid|fork' \ /mnt/allin_data/allin/mongodb-27017/mongodb.conf

以及:

find /mnt/allin_data/allin/mongodb-27017 -type f \ \( -name '*.pid' -o -name 'mongod.pid' \) -ls

如果:

pidFilePath

指向一个旧 PID 文件,而这个 PID:

1042

对应其他进程,就可能造成 systemd / mongod PID 管理混乱

不要直接 rm PID 文件,先:

cat <pid文件> ps -fp 1042

确认 PID 1042 到底是谁


12. 检查 27017 是否被旧 MongoDB 占用

执行:

ss -lntp | grep ':27017' lsof -nP -iTCP:27017 -sTCP:LISTEN

正常应该看到:

mongod

如果是:

mongod 1042

说明很可能已经有一个 MongoDB

进一步:

ps -fp 1042 readlink -f /proc/1042/exe tr '\0' ' ' < /proc/1042/cmdline echo

这个非常重要

可能存在:

旧 mongod 新 mongod systemd

三者之间的 PID 管理问题


13. 检查 MongoDB 是否已经启动成功,只是 systemd 判断失败

直接:

/mnt/allin_data/allin/mongodb-27017/bin/mongosh \ --host 127.0.0.1 \ --port 27017 \ --eval 'db.adminCommand({ping:1})'

如果版本比较老,没有mongosh:

/mnt/allin_data/allin/mongodb-27017/bin/mongo \ --host 127.0.0.1 \ --port 27017 \ --eval 'db.adminCommand({ping:1})'

如果返回:

{"ok":1}

说明:

MongoDB 实际是好的,是 systemd service 定义有问题

这种情况下重点修:

Type= PIDFile= TimeoutStartSec= ExecStart= fork

而不是 MongoDB 数据库


14. 不建议现在执行这些操作

目前不要执行:

rm -rf WiredTiger*

不要执行:

mongod --repair

不要删除:

journal/

更不要:

rm -rf /mnt/allin_data/allin/mongodb-27017/*

因为如果是 WiredTiger recovery 问题,这些操作可能进一步破坏数据库

二、This replica set has a Primary-Secondary-Arbiter architecture, but readConcern:majority is enabled ","tags":["startupWarnings"]}

这个信息不是 MongoDB 启动失败的报错,而是一个startupWarnings(启动警告)

它的意思是:

Replica Set 是Primary + Secondary + Arbiter(PSA)架构,同时启用了readConcern: majority

为什么 MongoDB 会警告?

架构:

Replica Set │ ┌────────────┼────────────┐ ▼ ▼ ▼ Primary Secondary Arbiter P S A │ │ │ └──────────┴──────────────┘

其中:

  • Primary:保存完整数据,可读写
  • Secondary:保存完整数据,可提供读取/故障切换
  • Arbiter:不保存数据,只参与选举投票

PSA 的核心问题是:

真正保存数据的节点 = 2 投票节点 = 3

当readConcern: majority开启时,MongoDB 要考虑“多数节点已经确认”的语义

在 PSA 架构中,Arbiter不能确认数据已经写入磁盘/数据集,所以会产生这个 warning


这跟前面的启动超时有没有关系?

有可能相关,但不能仅凭这一条判断

如果MongoDB 日志是:

startupWarnings This replica set has a Primary-Secondary-Arbiter architecture, but readConcern: majority is enabled

那么它本身通常不会导致 mongod 启动失败

前面的真正问题仍然是:

15:46:55 started ↓ forked ↓ 等待 MongoDB ready ↓ 15:48:25 systemd TimeoutStartSec ↓ TERM ↓ MongoDB failed

所以现在应该继续找startup warning 前后真正的错误日志


建议检查 Replica Set 状态

MongoDB 启动成功后执行:

mongosh --port 27017

然后:

rs.status()

重点看:

PRIMARY SECONDARY ARBITER

例如:

cement-mongo-01 PRIMARY cement-mongo-02 SECONDARY cement-mongo-03 ARBITER

再:

rs.conf()

检查 majority

执行:

db.adminCommand({ getDefaultRWConcern: 1 })

可能看到:

{ "defaultReadConcern": { "level": "majority" }, "defaultWriteConcern": { "w": "majority" } }

PSA + majority 的实际影响

假设:

P = Primary S = Secondary A = Arbiter

正常:

P ───────── S │ │ └────── A ──┘

如果 Primary 挂掉:

P ❌ S + A │ │ └───┘ ↓ S 可以选举成为 Primary

这是 PSA 架构存在的主要意义

但是如果:

P 正常 S ❌ A 正常

那么:

P = 唯一的数据节点 S = offline A = 只有投票能力

这时候majority相关读写行为就可能受到影响


架构更建议

如果这是生产 MongoDB,最好:

MongoDB 3 Data Nodes ┌───────────────┐ │ Replica Set │ └───────┬───────┘ │ ┌───────┼───────┐ ▼ ▼ ▼ P S S

也就是:

Primary Secondary Secondary

而不是:

Primary Secondary Arbiter

因为:

P + S + S

三个节点都是真正的数据副本

而:

P + S + A

实际上只有两个数据副本


如果暂时必须使用 PSA

不建议因为这个 warning 就直接关闭readConcern: majority

先确认:

rs.status()

和:

db.adminCommand({ getDefaultRWConcern: 1 })

然后查看:

grep -Ei \ 'majority|rollback|recovery|WiredTiger|error|fatal|exception|failed' \ /mnt/allin_data/allin/mongodb-27017/log/mongod.log | tail -100

特别是现在这个启动超时问题

建议查看MongoDB 日志中这条 warning 前后约 100~200 行

因为如果同时看到类似:

Recovering WiredTiger Recovering log rollback No space left on device WiredTiger error Failed to start waiting for connections

就可以直接定位到底是:

① PSA warning
还是
② WiredTiger recovery 慢
还是
③ Replica Set 初始化/连接异常
还是
④ 磁盘 I/O 导致 systemd 90 秒超时

目前这条Primary-Secondary-Arbiter + readConcern:majority更像是伴随性的启动警告,不是前面Result: timeout的直接原因

三、error log

{"t":{"$date":"2026-10-16T15:48:30.367+08:00"},"s":"I", "c":"REPL", "id":4280506, "ctx":"initandlisten","msg":"Reconstructing prepared transactions"} {"t":{"$date":"2026-10-16T15:48:30.368+08:00"},"s":"I", "c":"REPL", "id":4280507, "ctx":"initandlisten","msg":"Loaded replica set config, scheduled callback to set local config"} {"t":{"$date":"2026-10-16T15:48:30.368+08:00"},"s":"I", "c":"REPL", "id":4280508, "ctx":"ReplCoord-0","msg":"Attempting to set local replica set config; validating config for startup"} {"t":{"$date":"2026-10-16T15:48:30.369+08:00"},"s":"I", "c":"REPL", "id":21315, "ctx":"ReplCoord-0","msg":"","tags":["startupWarnings"]} {"t":{"$date":"2026-10-16T15:48:30.369+08:00"},"s":"I", "c":"REPL", "id":21316, "ctx":"ReplCoord-0","msg":"** WARNING: This replica set has a Primary-Secondary-Arbiter architecture, but readConcern:majority is enabled ","tags":["startupWarnings"]} {"t":{"$date":"2026-10-16T15:48:30.369+08:00"},"s":"I", "c":"REPL", "id":21317, "ctx":"ReplCoord-0","msg":"** for this node. This is not a recommended configuration. Please see ","tags":["startupWarnings"]} {"t":{"$date":"2026-10-16T15:48:30.369+08:00"},"s":"I", "c":"REPL", "id":21318, "ctx":"ReplCoord-0","msg":"** https://dochub.mongodb.org/core/psa-disable-rc-majority","tags":["startupWarnings"]} {"t":{"$date":"2026-10-16T15:48:30.369+08:00"},"s":"I", "c":"REPL", "id":21319, "ctx":"ReplCoord-0","msg":"","tags":["startupWarnings"]} {"t":{"$date":"2026-10-16T15:48:30.369+08:00"},"s":"I", "c":"REPL", "id":4280509, "ctx":"ReplCoord-0","msg":"Local configuration validated for startup"} {"t":{"$date":"2026-10-16T15:48:30.369+08:00"},"s":"W", "c":"STORAGE", "id":4747501, "ctx":"initandlisten","msg":"Not starting periodic jobs as shutdown is in progress"} {"t":{"$date":"2026-10-16T15:48:30.369+08:00"},"s":"I", "c":"REPL", "id":6015317, "ctx":"ReplCoord-0","msg":"Setting new configuration state","attr":{"newState":"ConfigSteady","oldState":"ConfigStartingUp"}} {"t":{"$date":"2026-10-16T15:48:30.369+08:00"},"s":"I", "c":"REPL", "id":21392, "ctx":"ReplCoord-0","msg":"New replica set config in use","attr":{"config":{"_id":"mongo_repl","version":1,"term":61,"protocolVersion":1,"writeConcernMajorityJournalDefault":true,"members":[{"_id":0,"host":"cementindustrynode4:27017","arbiterOnly":false,"buildIndexes":true,"hidden":false,"priority":2.0,"tags":{},"slaveDelay":0,"votes":1},{"_id":1,"host":"cementindustrynode5:27017","arbiterOnly":false,"buildIndexes":true,"hidden":false,"priority":1.0,"tags":{},"slaveDelay":0,"votes":1},{"_id":2,"host":"cementindustrynode6:27017","arbiterOnly":true,"buildIndexes":true,"hidden":false,"priority":0.0,"tags":{},"slaveDelay":0,"votes":1}],"settings":{"chainingAllowed":true,"heartbeatIntervalMillis":2000,"heartbeatTimeoutSecs":10,"electionTimeoutMillis":10000,"catchUpTimeoutMillis":-1,"catchUpTakeoverDelayMillis":30000,"getLastErrorModes":{},"getLastErrorDefaults":{"w":1,"wtimeout":0},"replicaSetId":{"$oid":"66d1bb28aaf5b30dce579681"}}}}} {"t":{"$date":"2026-10-16T15:48:30.369+08:00"},"s":"I", "c":"REPL", "id":21393, "ctx":"ReplCoord-0","msg":"Found self in config","attr":{"hostAndPort":"cementindustrynode5:27017"}} {"t":{"$date":"2026-10-16T15:48:30.369+08:00"},"s":"I", "c":"REPL", "id":21358, "ctx":"ReplCoord-0","msg":"Replica set state transition","attr":{"newState":"STARTUP2","oldState":"STARTUP"}}

日志非常关键。现在基本可以确定:MongoDB 的 Replica Set 配置加载成功了,PSA warning 不是启动失败原因。真正的问题是 systemd 在 MongoDB 完成启动前把它终止了

从日志可以确定的事情

节点是:

cementindustrynode5:27017

Replica Set:

mongo_repl

架构:

cementindustrynode4 PRIMARY候选 priority=2 cementindustrynode5 SECONDARY priority=1 cementindustrynode6 ARBITER priority=0

也就是:

mongo_repl │ ┌──────────────┼──────────────┐ ▼ ▼ ▼ node4:27017 node5:27017 node6:27017 priority=2 priority=1 arbiter DATA DATA NO DATA P S A

关键时间线

日志:

15:48:30.367 Reconstructing prepared transactions 15:48:30.368 Loaded replica set config 15:48:30.369 Local configuration validated for startup 15:48:30.369 New replica set config in use 15:48:30.369 Found self in config 15:48:30.369 Replica set state transition newState: STARTUP2

这说明:

MongoDB 已经成功读取数据目录、加载 Replica Set 配置,并识别自己是cementindustrynode5

但是:

Not starting periodic jobs as shutdown is in progress

这个才是非常重要的一句

它说明:

MongoDB 收到了 shutdown 信号

结合之前 systemd:

15:48:25 systemd[1]: mongodb-27017.service: start operation timed out. Terminating.

可以把因果关系串起来:

15:46:55 systemd 启动 mongod │ ▼ fork 3547032 │ ▼ MongoDB 开始恢复/初始化 │ ├── Reconstructing prepared transactions ├── 加载 Replica Set ├── 验证 Replica Set └── 进入 STARTUP2 │ ▼ 15:48:25 systemd 等待 90 秒超时 │ ▼ systemd 发送 TERM │ ▼ MongoDB 开始 shutdown │ ▼ 15:48:30 Not starting periodic jobs as shutdown is in progress

所以现在结论非常明确:

systemd TimeoutStartSec 太短,是当前最直接的问题


1. 先修改 systemd 超时时间

执行:

systemctl edit mongodb-27017.service

增加:

[Service] TimeoutStartSec=10min TimeoutStopSec=10min

保存后:

systemctl daemon-reload

确认:

systemctl show mongodb-27017.service | grep -E 'TimeoutStart|TimeoutStop'

应该类似:

TimeoutStartUSec=10min TimeoutStopUSec=10min

然后:

systemctl start mongodb-27017.service

2. 不要马上判断“启动成功”

启动后立即观察:

systemctl status mongodb-27017.service

同时:

tail -f /mnt/allin_data/allin/mongodb-27017/log/mongod.log

重点等待:

waiting for connections

或者类似:

Listening on Waiting for connections

3. MongoDB 目前已经进入 STARTUP2

这一点很重要:

newState":"STARTUP2"

说明它不是卡在:

Replica Set config

也不是:

Found self

而是已经进入 Replica Set 启动阶段

MongoDB Replica Set 节点通常:

STARTUP ↓ STARTUP2 ↓ RECOVERING ↓ SECONDARY

或者最终:

STARTUP2 ↓ PRIMARY

取决于选举状态


4. PSA warning 暂时不用管

这几行:

WARNING: This replica set has a Primary-Secondary-Arbiter architecture, but readConcern:majority is enabled

只是警告。

你的配置:

"writeConcernMajorityJournalDefault": true

而且:

"getLastErrorDefaults": { "w": 1, "wtimeout": 0 }

这里其实还有一个值得注意的点:

默认 write concern 是w:1,并不是w:majority。

所以目前这条 PSA warning 不会解释你此次systemd timeout


5. 但生产环境建议解决 PSA

你现在:

node4 DATA node5 DATA node6 ARBITER

建议以后改成:

node4 DATA node5 DATA node6 DATA

即:

Primary Secondary Secondary

比:

Primary Secondary Arbiter

可靠很多

尤其这个 MongoDB 看起来是重要业务库,不建议长期 PSA


6. 现在还需要确认 STARTUP2 为什么这么慢

虽然 systemd timeout 已经基本定位,但还应该知道为什么启动超过 90 秒

日志中:

Reconstructing prepared transactions

说明启动过程中正在处理事务恢复

因此建议继续搜索:

grep -Ei \ 'recover|recovery|WiredTiger|checkpoint|journal|prepared|rollback|startup2|secondary|sync' \ /mnt/allin_data/allin/mongodb-27017/log/mongod.log | tail -200

再执行:

du -sh /mnt/allin_data/allin/mongodb-27017 du -sh /mnt/allin_data/allin/mongodb-27017/journal

以及:

df -h /mnt/allin_data df -ih /mnt/allin_data

7. 强烈建议检查磁盘 I/O

如果 MongoDB 数据量比较大,真正的问题可能是:

MongoDB recovery ↓ WiredTiger ↓ 磁盘 I/O 很慢 ↓ 启动 > 90 秒 ↓ systemd kill

执行:

iostat -xm 1 10

重点看:

await %util r_await w_await

如果看到:

await 500ms+ %util 100%

或者更严重:

await 1000ms+

那么需要进一步查底层存储


8. 启动后检查 Replica Set

MongoDB 成功启动以后:

mongosh --host 127.0.0.1 --port 27017

然后:

rs.status()

重点看 node5:

name: "cementindustrynode5:27017" stateStr: "SECONDARY"

如果 node4 当前是 Primary:

cementindustrynode4 PRIMARY cementindustrynode5 SECONDARY cementindustrynode6 ARBITER

这是正常的

也可以:

rs.printSecondaryReplicationInfo()

检查 node5 是否存在同步延迟


9. 建议直接操作

第一步

systemctl edit mongodb-27017.service

加入:

[Service] TimeoutStartSec=10min TimeoutStopSec=10min

然后:

systemctl daemon-reload systemctl start mongodb-27017.service

第二步

另开一个窗口:

tail -f /mnt/allin_data/allin/mongodb-27017/log/mongod.log

第三步

如果超过几分钟仍然没有:

waiting for connections

马上执行:

grep -Ei \ 'error|fatal|panic|exception|recover|recovery|WiredTiger|rollback|sync|oplog|startup2' \ /mnt/allin_data/allin/mongodb-27017/log/mongod.log | tail -200

以及:

iostat -xm 1 10

当前判断

项目判断
MongoDB 二进制✅ 能启动
数据目录✅ 能读取
Replica Set 配置✅ 正常
找到自身节点✅ 正常
Replica Setmongo_repl
node5 状态STARTUP2
PSA warning⚠️ 非致命
MongoDB 主体启动⚠️ 超过 90 秒
systemd❌TimeoutStartSec=90s
shutdown is in progresssystemd 超时后触发
当前最优先处理把 TimeoutStartSec 调大

所以暂时不要做--repair、删除WiredTiger*、删除 journal 等危险操作。日志证明 MongoDB 正在正常走启动流程,只是被 systemd 的 90 秒启动超时提前杀掉了

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/10/19 12:00:42

Rsync同步Shell脚本详解:从参数到排障的生产实践

做数据同步这事&#xff0c;说简单也简单&#xff0c;说麻烦也麻烦。简单的时候&#xff0c;A 目录拷到 B 目录&#xff0c;一条 cp 命令就完事&#xff1b;麻烦的时候&#xff0c;几十 GB 数据、上百万个小文件、源目录还在被业务频繁读写&#xff0c;这时候靠全量拷贝基本是拿…

作者头像 李华
网站建设 2026/10/19 11:58:31

做服务机器人三年:可靠与温度,比追求智能更重要

开头&#xff1a;三年下来&#xff0c;我反而没那么迷恋“智能”了 做服务机器人这个领域&#xff0c;满打满算已经三年。从最初看到一台设备能自主导航、能听懂几句人话就兴奋得不行&#xff0c;到如今每天面对无数个“为什么用户不买账”的瞬间&#xff0c;我对“智能”这两个…

作者头像 李华
网站建设 2026/10/19 11:55:52

STM32单片机 定时器TIM

分三个部分学习 第一部分,学习定时器定时基本功能,也就是定一个时间,然后让定时器每隔一个时间产生一个中断,来实现每隔一个固定时间执行一段程序的目的。比如要做个时钟、秒表、或者一些程序算法的时候,都需要定时中断的这个功能。 第二部分,学习定时器输出比较功能。…

作者头像 李华
网站建设 2026/10/19 11:47:09

REA:一条命令把整条逆向工程链路交给 AI Agent

REA&#xff1a;一条命令把整条逆向工程链路交给 AI Agent 【免费下载链接】rea Reverse engineer anything with agents, from app behavior down to native binaries. 项目地址: https://gitcode.com/GitHub_Trending/rea2/rea REA 是一条逆向工程链路的统一 MCP 服务…

作者头像 李华