阅读量:2
Linux Overlay日志查看与分析指南
一、先明确 Overlay 的类型
- OverlayFS(文件系统层叠):用于联合挂载目录(如 Docker/Containerd 的镜像与容器层),问题多与挂载参数、磁盘空间、权限、底层文件系统健康相关。
- Overlay 网络(如 VXLAN 等隧道网络):用于跨主机容器网络,问题多与 VTEP、隧道接口、MTU、连通性、防火墙相关。
二、OverlayFS 的日志定位与查看
- 内核与系统日志
- 使用 journalctl 检索内核与挂载相关事件:
- 查看全部内核日志:
sudo journalctl -k - 按时间过滤:
sudo journalctl -k --since "2025-11-28 09:00:00" -u docker
- 查看全部内核日志:
- 查看系统日志文件:
- Debian/Ubuntu:
/var/log/syslog,如sudo tail -f /var/log/syslog | grep -i overlay - CentOS/RHEL:
/var/log/messages,如sudo tail -f /var/log/messages | grep -i overlay
- Debian/Ubuntu:
- 使用 journalctl 检索内核与挂载相关事件:
- 容器运行时与 Docker 相关
- 容器标准输出日志:
docker logs - 容器日志文件位置(JSON 驱动):
/var/lib/docker/containers// -json.log - 快速定位大日志:
sudo du -h --max-depth=1 /var/lib/docker/containers | sort -rh | head - 安全清理(不删容器):
sudo sh -c "truncate -s 0 /var/lib/docker/containers/*/*-json.log"
- 快速定位大日志:
- 容器标准输出日志:
- Containerd(Kubernetes 常见)
- 快照目录(存储层内容,不是文本日志):
/var/lib/containerd/io.containerd.snapshotter.v1.overlayfs/snapshots - 排查思路:先用
du找出大目录,再判断是镜像层、容器可写层还是应用日志写入导致。
- 快照目录(存储层内容,不是文本日志):
- 挂载与文件系统线索
- 检查挂载参数是否正确:
mount -t overlay -o lowerdir=...,upperdir=...,workdir=... /merged - 检查磁盘空间:
df -h /merged - 检查底层文件系统:
sudo fsck /dev/sdXY - 检查权限:
chmod -R 755&& chown -R user:group - 修复后重新挂载:
sudo mount -t overlay -o lowerdir=...,upperdir=...,workdir=... /merged
- 检查挂载参数是否正确:
三、Overlay 网络的日志定位与查看
- 系统日志
- 检索网络与内核日志:
sudo journalctl -k | egrep "vxlan|geneve|overlay|iptables|ebtables" - 查看系统日志文件:
- Debian/Ubuntu:
/var/log/syslog - CentOS/RHEL:
/var/log/messages
- Debian/Ubuntu:
- 检索网络与内核日志:
- 网络状态与连通性
- 查看隧道/桥接接口:
ip link show、bridge link show - 抓包分析:
sudo tcpdump -i-nn host - 连通性与路径:
ping、traceroute
- 查看隧道/桥接接口:
- 容器平台日志
- Kubernetes:
kubectl logs,必要时kubectl describe pod查看事件 - Docker:
docker logs
- Kubernetes:
- 关键检查点
- VTEP 地址配置与可达性、MTU 一致性(避免分片/丢包)、防火墙/安全组放行隧道与 VXLAN 端口。
四、常见故障与日志特征对照表
| 现象 | 优先查看 | 日志关键词 | 快速验证与修复 |
|---|---|---|---|
| 容器无法启动/挂载失败 | 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、docker system dfsudo du -h --max-depth=1 /var/lib/docker/containers | sort -rh | headsudo truncate -s 0 /var/lib/docker/containers/*/*-json.log
- Containerd/Kubernetes
sudo du -h --max-depth=1 /var/lib/containerd | sort -rh | headkubectl get pods -A -o wide、kubectl logs-c
- 网络与抓包
ip addr show、bridge link show、ip routesudo tcpdump -i(VXLAN 默认 UDP 4789)-nn -vv port 4789
- 挂载与磁盘
mount | grep overlay、df -h、ls -ldsudo fsck /dev/sdXY;修复后sudo mount -t overlay ... /merged
以上就是关于“Linux Overlay的日志如何查看和分析”的相关介绍,筋斗云是国内较早的云主机应用的服务商,拥有10余年行业经验,提供丰富的云服务器、租用服务器等相关产品服务。云服务器资源弹性伸缩,主机vCPU、内存性能强悍、超高I/O速度、故障秒级恢复;电子化备案,提交快速,专业团队7×24小时服务支持!
简单好用、高性价比云服务器租用链接:https://www.jindouyun.cn/product/cvm