[经验交流] CentOS7 docker 使用 overlay 存储,centos7docker


关于 docker overlay 存储相比 device mapper 的优势,可以在 google 上搜索相关资料。在 ubuntu 16.04.2 上可以直接使用 overlay 存储,而在 CentOS7上需要进行预处理才能使用 overlay 存储。

1. CentOS7 Overlay 存储现状

CentOS7的内核是3.X,官方基于该内核构建了 overlay 存储驱动,但是不能直接加载,否则,docker 和 kubernetes 运行时会出现异常。如:

  • calico node 报文件操作错误
  • kubernetes calico 网络不通
  • kube-dns 部署失败

2. CentOS7 Overlay 启用方法

要在CentOS7中正确启用Overlay存储,可以参考 RedHat 的下述文档:

https://access.redhat.com/documentation/en-US/Red_Hat_Enterprise_Linux/7/html/7.2_Release_Notes/technology-preview-file_systems.html

简单来说,有以下几点:

2.1 xfs 文件系统

XFS文件系统格式化时必须加 -n ftype=1 参数

注:CentOS7安装时默认没有加这个参数,在安装界面也没有修改的地方。建议另外挂载一块磁盘或者分区,加参数 ftype=1 格式化为 xfs 格式:

mkfs.xfs -n ftype=1 /dev/sdbX

2.2 selinux

/etc/sysconfig/docker 去除 --selinux-enabled

2.3 内核驱动

echo 'overlay' > /etc/modules-load.d/overlay
reboot

 

相关内容

    暂无相关文章