温馨提示×

ubuntu overlay如何启用服务

小樊
46
2026-09-30 22:13:54
栏目: 智能运维

在 Ubuntu 里,overlay(OverlayFS)本身不是一个“服务”,而是一种联合挂载文件系统。通常我们说“启用 overlay 服务”,一般有以下几种常见场景。下面按常见情况给你说明。


一、在 systemd 启动阶段启用 Overlay(initramfs / boot 阶段)

如果你是在系统启动时用 overlay 挂载根目录(例如只读根 + 可写层),需要:

1. 启用 initramfs 中的 overlay 支持

Ubuntu 默认内核已支持 overlay。

lsmod | grep overlay

若没有:

sudo modprobe overlay

2. 配置 initramfs(示例)

编辑:

sudo nano /etc/initramfs-tools/modules

添加:

overlay

然后更新:

sudo update-initramfs -u

⚠️ 这种方式常用于嵌入式 / 只读系统,配置复杂,需要写 initramfs hook。


二、作为 systemd 服务挂载 Overlay(推荐)

如果你只是在系统启动后挂载 overlay 目录(如 /merged),用 systemd mount 最规范。

示例:挂载 overlay 到 /mnt/merged

1. 准备目录

sudo mkdir -p /lower /upper /work /merged

2. 创建 systemd mount 单元

文件名必须对应挂载点路径:

mnt-merged.mount
sudo nano /etc/systemd/system/mnt-merged.mount

内容:

[Unit]
Description=OverlayFS Mount
After=local-fs.target

[Mount]
What=overlay
Where=/mnt/merged
Type=overlay
Options=lowerdir=/lower,upperdir=/upper,workdir=/work

[Install]
WantedBy=multi-user.target

3. 启用并启动

sudo systemctl daemon-reload
sudo systemctl enable --now mnt-merged.mount

查看状态:

systemctl status mnt-merged.mount
mount | grep overlay

三、在 Docker / 容器里使用 overlay(最常见)

如果你说的是 Docker 的 overlay2 存储驱动:

docker info | grep Storage

启用 overlay2(Ubuntu 20.04+ 默认)

确保:

cat /etc/docker/daemon.json

示例:

{
  "storage-driver": "overlay2"
}

重启:

sudo systemctl restart docker

四、手动临时启用(测试用)

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

五、常见误区

❌ overlay 不是 systemctl start overlay
❌ 没有名为 overlay 的“服务”
✅ overlay 是 内核文件系统,通过 mount 或 systemd 使用


如果你能说清楚你是:

  • 根目录只读 overlay?
  • Docker overlay?
  • 某个具体软件要求的 overlay?

我可以给你精确到配置文件级别的方案。

0 踩