如何在Ubuntu系统中使用Overlay文件系统

jopen 9年前

本文用最简洁的语言介绍了如何在Ubuntu系统上运行Overlay文件系统,正如作者所说:AUFS是过去时代的王者,现在新的国王是Overlay。看来Overlay以后将是Docker存储的首选。

在上周的Docker伦敦大会上面,Jérôme Petazzoni分享了「深度研究Docker存储驱动」的演讲,非常棒。如果这件事还没有令我足够信服,那么Jessie Frazelle则完全说服了我,她在Qcon组织的演讲中宣称:AUFS是过去时代的王者,现在新的国王是Overlay。在Jessie的演讲过程中,我打算为我自己搭建这样的一个环境,因为我没有办法找到一个比我现在写的这个更加简单明了的手册。

3.18 Kernel(3.18版本的内核)

OverlayFS之前已经加入到了Ubuntu内核中,但是那并不是我们想要的。Overlay(没有FS)是一个不同的内核模块,因此你需要安装3.18(或者以上)的内核:
cd /tmp/   wget http://kernel.ubuntu.com/~kernel-ppa/mainline/v3.18-vivid/linux-headers-3.18.0-031800-generic_3.18.0-031800.201412071935_amd64.deb  wget http://kernel.ubuntu.com/~kernel-ppa/mainline/v3.18-vivid/linux-headers-3.18.0-031800_3.18.0-031800.201412071935_all.deb  wget http://kernel.ubuntu.com/~kernel-ppa/mainline/v3.18-vivid/linux-image-3.18.0-031800-generic_3.18.0-031800.201412071935_amd64.deb  sudo dpkg -i linux-headers-3.18.0-*.deb linux-image-3.18.0-*.deb

我已经在Ubuntu14.04和12.04环境下测试成功了。

Docker

你需要安装Docker 1.4或者更高版本(我使用1.5版本做测试的),具体可以参考官方文档来安装。
在有了新的内核并且重新启动以后,现在需要在/etc/default/docker中给DOCKER_OPTS设置-s overlay:
# Use DOCKER_OPTS to modify the daemon startup options.  DOCKER_OPTS="-s overlay"

设置好以后,重新启动Docker服务,如果一切顺利的话,你可以从docker info命令中得到如下的信息:
$ sudo docker info  Containers: 0  Images: 0  Storage Driver: overlay  Backing Filesystem: extfs  Execution Driver: native-0.2  Kernel Version: 3.18.0-031800-generic  Operating System: Ubuntu 14.04.1 LTS  etc...

为了使Overlay正常跑起来,你可能需要在Ubuntu 12.04的环境下执行modprobe overlay。还有一点需要注意:如果 Docker 不能成功地使用 Overlay 作为存储后端,那么将会转为使用DeviceMapper(而不是AUFS)机制存储。

原文链接:Using Overlay file system with Docker on Ubuntu(翻译:刘凯宁 校对:李颖杰)
===========================
译者介绍
刘凯宁,中南大学信息管理与信息系统专业,本科三年级在读,热爱互联网,热爱软件开发技术。大一下开始编程,熟悉Java SE,PHP,Go,有若干小型商业项目实践经验(网站、微信平台、JavaSE实用软件)和软件公司实习经历(上海热璞科技,201407-201409)个人网站:刘凯宁;技术博客:C2P技术博客;QQ:929025296 ;很高兴和各位前辈交流!

来自:http://dockerone.com/article/237