温馨提示×

怎样排查debian overlay故障

小樊
33
2026-09-22 20:42:03
栏目: 智能运维

在 Debian 上,overlay(overlayfs)常用于 Live CD、容器(Docker)、initramfs、系统恢复等场景。排查 overlay 故障可以按“从底层到上层、从内核到配置”的顺序进行。下面是一套实用排查清单。


一、先确认基础环境

1. 内核是否支持 overlay

uname -r
cat /proc/filesystems | grep overlay

如果没有 overlay,需要:

  • 使用较新内核(Debian 8+ 基本都支持)
  • 确认内核未禁用 CONFIG_OVERLAY_FS

加载模块:

modprobe overlay
lsmod | grep overlay

二、确认挂载参数是否正确

2. 查看当前 overlay 挂载

mount | grep overlay
cat /proc/mounts | grep overlay

标准格式示例:

overlay on /merged type overlay (
  lowerdir=/lower,
  upperdir=/upper,
  workdir=/work
)

常见错误:

  • workdir 和 upperdir 在同一文件系统但不在同一父目录
  • lowerdir 不存在或不可读
  • workdir 非空

三、检查目录结构和权限

3. 目录要求(非常重要)

  • upperdir 必须可写
  • workdir 必须为空
  • lowerdir 可以多个,用 : 分隔
  • 所有目录必须属于同一文件系统类型(不能跨 tmpfs/ext4 混用)

示例检查:

ls -ld /lower /upper /work
df -T /lower /upper /work

四、查看具体错误信息

4. 手动挂载测试(最有用的方式)

mount -t overlay overlay \
  -o lowerdir=/lower,upperdir=/upper,workdir=/work \
  /mnt/test

常见错误及含义:

  • mount: invalid argument → 参数或目录结构错误
  • permission denied → SELinux / 权限 / 只读文件系统
  • cannot create directory → workdir 不可用

五、排查 Docker / 容器相关 overlay

5. Docker 使用 overlay2

docker info | grep -i storage

检查:

ls -l /var/lib/docker/overlay2

常见问题:

  • /var/lib/docker 在 不支持 overlay 的文件系统(如某些 NAS)
  • 磁盘满
  • inode 耗尽

查看 inode:

df -i /var/lib/docker

六、查看系统日志

6. dmesg / journalctl

dmesg | grep overlay
journalctl -k | grep overlay

典型日志:

  • overlayfs: failed to resolve lowerdir
  • overlayfs: workdir is not empty
  • overlayfs: upper fs does not support

七、Live CD / initramfs 场景

如果是 Debian Live:

  • 检查 boot=live
  • 检查 persistence 分区
  • 检查 overlay 是否在 initramfs 中启用

查看启动参数:

cat /proc/cmdline

八、常见故障速查表

现象 可能原因
挂载失败 workdir 非空
文件不显示 lowerdir 顺序错误
写入无效 upperdir 只读
容器起不来 Docker 存储驱动问题
重启后丢失 未使用 persistence

九、最小排错示例

mkdir -p /mnt/lower /mnt/upper /mnt/work /mnt/merged
mount -t overlay overlay \
  -o lowerdir=/mnt/lower,upperdir=/mnt/upper,workdir=/mnt/work \
  /mnt/merged

如果这一步能成功,说明系统层面没问题,问题在应用配置。


如果你能补充:

  • Debian 版本
  • 使用场景(Docker / Live / 自建 overlay)
  • 具体报错信息

我可以给你更精准的排查步骤。

0 踩