CentOS Overlay配置步骤详解及注意事项
导读:CentOS Overlay配置步骤详解及注意事项 一 概念与适用场景 OverlayFS:Linux 内核提供的联合文件系统,将多个目录以“只读层 + 可写层 + 工作目录”的方式叠加,常用于构建只读基础镜像 + 可写层的场景(如容器镜...
CentOS Overlay配置步骤详解及注意事项
一 概念与适用场景
- OverlayFS:Linux 内核提供的联合文件系统,将多个目录以“只读层 + 可写层 + 工作目录”的方式叠加,常用于构建只读基础镜像 + 可写层的场景(如容器镜像层叠、构建缓存、临时修改只读目录等)。
- Docker Overlay 网络:用于跨主机容器通信的虚拟网络,底层通过VXLAN封装实现多主机容器互联,适合微服务、多主机编排等场景。
二 OverlayFS文件系统配置步骤
- 安装必要组件(用户态协助挂载)
- 安装:sudo yum install -y fuse-overlayfs
- 准备目录结构
- 建议布局:
- 下层只读:/mnt/overlay/lower
- 上层可写:/mnt/overlay/upper
- 工作目录:/mnt/overlay/work(内核要求,必须与 upper 位于同一文件系统)
- 挂载点:/mnt/overlay/mountpoint
- 示例:
- sudo mkdir -p /mnt/overlay/{ lower,upper,work,mountpoint}
- 建议布局:
- 挂载 OverlayFS
- 命令:
- sudo mount -t overlay overlay
-o lowerdir=/mnt/overlay/lower,upperdir=/mnt/overlay/upper,workdir=/mnt/overlay/work
/mnt/overlay/mountpoint
- sudo mount -t overlay overlay
- 命令:
- 验证
- 查看挂载与内容:
- mount | grep overlay
- ls -l /mnt/overlay/mountpoint
- 查看挂载与内容:
- 开机自动挂载(可选)
- /etc/fstab 添加:
- overlay /mnt/overlay overlay defaults,lowerdir=/mnt/overlay/lower,upperdir=/mnt/overlay/upper,workdir=/mnt/overlay/work 0 0
- 生效:sudo mount -a
- /etc/fstab 添加:
- 安全加固(可选)
- 在挂载选项中增加:noexec,nosuid,nodev(如:defaults,lowerdir=…,upperdir=…,workdir=…,noexec,nosuid,nodev)
三 Docker Overlay网络配置步骤
- 前提
- 系统:CentOS 7+
- 组件:安装并启动 Docker(建议启用 overlay2 存储驱动)
- sudo yum install -y docker
- sudo systemctl enable --now docker
- 创建 Overlay 网络(跨主机需每台主机都能加入同一网络)
- 基本:
- docker network create --driver overlay my-overlay
- 可附加(便于非 swarm 容器直连):
- docker network create --driver overlay --attachable my-overlay
- 指定子网与网关(可选):
- docker network create --driver overlay --subnet=10.0.0.0/24 --gateway=10.0.0.1 my-overlay
- 基本:
- 启动容器并连接
- docker run -d --name c1 --network my-overlay nginx
- 跨主机通信要点
- 所有主机加入同一 Docker 集群/网络,且网络名称一致
- 防火墙放行相关端口(如用于集群通信的端口,常见为 2375/2376 等,具体取决于你的配置与是否启用 TLS)
- 如需使用外部键值存储(如 Consul/etcd)进行集群发现,可在 /etc/docker/daemon.json 配置 cluster-store/cluster-advertise 后重启 Docker
- 验证
- docker network inspect my-overlay
- 进入容器互 ping(或测试端口连通性)
四 更新与维护
- 更新 OverlayFS 挂载参数
- 修改 /etc/fstab 后执行:
- sudo umount /mnt/overlay & & sudo mount -a
- 或临时重挂载:
- sudo mount -o remount,lowerdir=/new/lower,upperdir=/new/upper /mnt/overlay
- 注意:修改前备份 fstab;确保新目录存在且权限正确;workdir 必须与 upperdir 在同一文件系统。
- 修改 /etc/fstab 后执行:
- 更新 Docker Overlay 网络
- 变更网络(如子网、网关)通常需重建网络:
- docker network rm my-overlay
- docker network create [你的新参数] my-overlay
- 变更守护进程参数(如 cluster-store/cluster-advertise)后重启 Docker:
- sudo systemctl restart docker
- 变更前备份 /etc/docker/daemon.json
- 变更网络(如子网、网关)通常需重建网络:
五 注意事项与常见问题
- 内核与文件系统
- OverlayFS 需要内核支持;使用前可确认:modprobe overlay
- workdir 必须与 upperdir 位于同一文件系统,否则挂载失败。
- 存储驱动选择
- 生产环境优先使用 overlay2(而非旧的 overlay),在 /etc/docker/daemon.json 设置:
- { “storage-driver”: “overlay2” }
- 生产环境优先使用 overlay2(而非旧的 overlay),在 /etc/docker/daemon.json 设置:
- 安全
- 挂载选项建议加上 noexec,nosuid,nodev 降低风险
- 跨主机网络建议启用 TLS 加密,避免明文通信
- 防火墙与 SELinux
- 放行 Docker 相关端口(如 2375/2376 等),并确保 SELinux 策略允许 Docker 操作所需资源
- 性能
- Overlay 网络在跨主机场景会引入额外封装与延迟,高吞吐/低延迟场景需评估网络方案与参数调优
声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!
若转载请注明出处: CentOS Overlay配置步骤详解及注意事项
本文地址: https://pptw.com/jishu/756647.html
