Linux Overlay日志查看与分析指南
一、先明确 Overlay 的类型
二、OverlayFS 的日志定位与查看
sudo journalctl -ksudo journalctl -k --since "2025-11-28 09:00:00" -u docker/var/log/syslog,如 sudo tail -f /var/log/syslog | grep -i overlay/var/log/messages,如 sudo tail -f /var/log/messages | grep -i overlaydocker logs <container_id_or_name>/var/lib/docker/containers/<id>/<id>-json.log
sudo du -h --max-depth=1 /var/lib/docker/containers | sort -rh | headsudo sh -c "truncate -s 0 /var/lib/docker/containers/*/*-json.log"/var/lib/containerd/io.containerd.snapshotter.v1.overlayfs/snapshotsdu 找出大目录,再判断是镜像层、容器可写层还是应用日志写入导致。mount -t overlay -o lowerdir=...,upperdir=...,workdir=... /mergeddf -h /mergedsudo fsck /dev/sdXYchmod -R 755 <path> && chown -R user:group <path>sudo mount -t overlay -o lowerdir=...,upperdir=...,workdir=... /merged三、Overlay 网络的日志定位与查看
sudo journalctl -k | egrep "vxlan|geneve|overlay|iptables|ebtables"/var/log/syslog/var/log/messagesip link show、bridge link showsudo tcpdump -i <overlay_iface> -nn host <vtep_ip>ping <vtep_ip>、traceroute <vtep_ip>kubectl logs <pod_name>,必要时 kubectl describe pod <pod_name> 查看事件docker logs <container_id_or_name>四、常见故障与日志特征对照表
| 现象 | 优先查看 | 日志关键词 | 快速验证与修复 |
|---|---|---|---|
| 容器无法启动/挂载失败 | journalctl -k、`/var/log/syslog |
messages、mount` 命令输出 |
overlay、lowerdir、upperdir、workdir、EINVAL |
| 镜像/容器层占用突增 | du -h --max-depth=1 于 /var/lib/docker/overlay2 或 /var/lib/containerd/.../snapshots |
无特定文本关键词(属磁盘占用) | 识别大层/大文件,清理无用镜像/容器,必要时 truncate -s 0 容器 JSON 日志 |
| 节点磁盘告警 | find /var/ -size +100M -type f、du -sh * |
.log、.json |
定位大日志与应用写入路径,实施日志轮转与容量治理 |
| Overlay 网络不通 | journalctl -k、ip link、bridge link、tcpdump |
vxlan、geneve、MTU、drop、packet too long | 校验 VTEP、统一 MTU、抓包定位、放行防火墙与安全组规则 |
五、高效分析与排障命令清单
sudo journalctl -k --since today | grep -i overlaysudo tail -n 200 /var/log/syslog | grep -iE "overlay|vxlan|geneve"docker ps -a、docker logs <id>、docker system dfsudo du -h --max-depth=1 /var/lib/docker/containers | sort -rh | headsudo truncate -s 0 /var/lib/docker/containers/*/*-json.logsudo du -h --max-depth=1 /var/lib/containerd | sort -rh | headkubectl get pods -A -o wide、kubectl logs <pod> -c <container>ip addr show、bridge link show、ip routesudo tcpdump -i <iface> -nn -vv port 4789(VXLAN 默认 UDP 4789)mount | grep overlay、df -h、ls -ld <lowerdir> <upperdir> <workdir>sudo fsck /dev/sdXY;修复后 sudo mount -t overlay ... /merged