automation-suite
2023.4
false
- 概述
- 要求
- 安装
- 安装后
- 集群管理
- 监控和警示
- 迁移和升级
- 特定于产品的配置
- 最佳实践和维护
- 故障排除
MongoDB Pod 处于 CrashLoopBackOff 状态或在删除后处于“等待 PVC 配置”状态
重要 :
请注意此内容已使用机器翻译进行了部分本地化。
Linux 版 Automation Suite 安装指南
Last updated 2024年9月5日
MongoDB Pod 处于 CrashLoopBackOff 状态或在删除后处于“等待 PVC 配置”状态
由于 PVC 损坏,MongoDB Pod 可能会卡在
CrashLoopBackOff
中。此问题的最可能原因是非正常关机。
遇到此问题时,日志将显示以下内容:
Common point must be at least stable timestamp
{"t":{"$date":"2022-05-18T09:37:55.053+00:00"},"s":"W", "c":"STORAGE", "id":22271, "ctx":"initandlisten","msg":"Detected unclean shutdown - Lock file is not empty","attr":{"lockFile":"/data/mongod.lock"}}
['currentState.Running' = false]
['currentState.IsVCRedistCorrect' = true]
['desiredState.ProcessType' != mongos ('desiredState.ProcessType' = mongod)]
Common point must be at least stable timestamp
{"t":{"$date":"2022-05-18T09:37:55.053+00:00"},"s":"W", "c":"STORAGE", "id":22271, "ctx":"initandlisten","msg":"Detected unclean shutdown - Lock file is not empty","attr":{"lockFile":"/data/mongod.lock"}}
['currentState.Running' = false]
['currentState.IsVCRedistCorrect' = true]
['desiredState.ProcessType' != mongos ('desiredState.ProcessType' = mongod)]
-
删除失败的 Pod。如果此解决方案不起作用,请继续执行后续步骤。
kubectl delete pod <pod-name> -n mongodb
kubectl delete pod <pod-name> -n mongodb - 获取故障 Pod 的损坏 PVC 的名称。
kubectl -n mongodb get pvc
kubectl -n mongodb get pvc -
删除发生故障的 Pod 的 PVC。
kubectl -n mongodb delete pvc <pvc-name>
kubectl -n mongodb delete pvc <pvc-name>注意:此时,PVC 应该会自动同步,并且 Pod 应该不会再遇到任何问题。如果未发生自动配置,则需要通过以下步骤手动执行该操作。 -
获取运行状况良好的节点的 PVC YAML。
kubectl -n mongodb get pvc <pvc-name> -o yaml > pvc.yaml
kubectl -n mongodb get pvc <pvc-name> -o yaml > pvc.yaml - 编辑名称并从 YAML 中删除
uuids/pvc-ids
。 -
删除卷名称和 UID,并将 PVC 重命名为已删除的 PVC 名称。
-
应用 PVC。
kubectl -n mongodb apply pvc.yaml
kubectl -n mongodb apply pvc.yaml - 应配置 PVC 并将其附加到 Pod 的 PVC,并且 Pod 不应再遇到任何问题。如果 Pod 未重新同步,则将其删除。