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


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

1. CentOS7 Overlay 存储现状

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

基于 docker 部署的 calico node 报文件操作错误,以及由此产生的 kubernetes pod 网络不通、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安装时默认没有加这个参数,在安装界面也没有修改的地方。建议另外准备一块磁盘或者分区,加参数 -n ftype=1 格式化为 xfs 格式,然后将 /var/lib/docker 挂载上去:

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

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM