CentOS Overlay故障排查步骤
CentOS Overlay故障排查步骤
1. 检查内核版本
OverlayFS需要较新的内核支持,CentOS 7系统内核版本需≥3.10.0-514(支持overlay2
存储驱动)。通过uname -r
命令查看内核版本,若版本过低,需升级内核(如使用yum update kernel
)并重启系统。
2. 验证文件系统支持(重点:d_type)
OverlayFS要求底层文件系统支持d_type
(目录项类型),若使用XFS文件系统,需确认ftype=1
(支持d_type
)。通过xfs_info /path/to/device
(如/dev/sda1
)检查ftype
值,若为0
,需重新格式化文件系统(注意:格式化会清除数据!):
mkfs.xfs -n ftype=1 /dev/sda1
对于ext4文件系统,d_type
默认启用,无需额外配置。
3. 确认Docker存储驱动为overlay2
若使用Docker,需确保存储驱动为overlay2
(推荐)。通过docker info | grep -i storage
查看当前驱动,若不是overlay2
,修改/etc/docker/daemon.json
文件:
{
"storage-driver": "overlay2",
"storage-opts": ["overlay2.override_kernel_check=true"]
}
修改后重启Docker服务:systemctl restart docker
。
4. 检查SELinux设置
SELinux可能阻止OverlayFS正常工作,临时禁用SELinux测试:setenforce 0
,然后重启Docker服务。若问题解决,可修改/etc/selinux/config
文件(将SELINUX=enforcing
改为SELinux=permissive
)或通过semanage
命令调整策略(如允许Docker访问overlay目录)。
5. 检查磁盘空间
OverlayFS需要足够的磁盘空间存储数据,使用df -h
命令检查底层文件系统的可用空间(重点关注/var/lib/docker
等Docker默认存储路径),若空间不足,清理无用文件(如docker system prune -a
清理Docker镜像、容器)。
6. 验证OverlayFS挂载参数
OverlayFS的挂载参数(lowerdir
、upperdir
、workdir
)必须正确,且目录需存在、可访问。通过mount | grep overlay
查看当前挂载参数,确认:
lowerdir
:只读底层目录(如/var/lib/docker/overlay2/lower
);upperdir
:可写上层目录(如/var/lib/docker/overlay2/upper
);workdir
:工作目录(如/var/lib/docker/overlay2/work
)。
目录路径需使用绝对路径,且权限正确(如upperdir
需rw
权限)。
7. 查看系统日志定位错误
通过journalctl
或/var/log/syslog
查看与OverlayFS相关的错误信息(如overlayfs: failed to mount
),日志会提示具体原因(如权限不足、目录不存在、内核模块未加载)。例如:
journalctl -u docker --no-pager -n 50 # 查看Docker相关日志
grep -i overlay /var/log/syslog # 查找OverlayFS错误
8. 重新挂载OverlayFS
若修复了底层文件系统错误或调整了挂载参数,需重新挂载OverlayFS。首先卸载现有挂载(umount /mnt/overlay
),然后重新挂载:
mount -t overlay overlay -o lowerdir=/path/to/lower,upperdir=/path/to/upper,workdir=/path/to/work /mnt/overlay
若需永久生效,可将挂载信息添加到/etc/fstab
文件。
9. 检查内核模块加载
确保overlay
内核模块已加载,通过lsmod | grep overlay
查看。若未加载,手动加载:modprobe overlay
,并为系统启动时自动加载创建脚本(/etc/sysconfig/modules/overlayfs.modules
):
#!/bin/sh
/sbin/modinfo -F filename overlayfs /dev/null
if [ $? -eq 0 ];
then
/sbin/modprobe overlayfs
fi
赋予执行权限:chmod +x /etc/sysconfig/modules/overlayfs.modules
。
10. 排查网络问题(针对Overlay网络)
若为Overlay网络故障(如Docker Swarm),需检查:
- 物理网络连接(网线、交换机);
- 网络接口状态(
ip link show
,确保接口UP
); - 防火墙设置(
firewall-cmd --list-all
,开放8472/udp
端口,Overlay网络依赖该端口); - 路由表(
ip route
,确保默认网关正确)。
声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!
若转载请注明出处: CentOS Overlay故障排查步骤
本文地址: https://pptw.com/jishu/723236.html