docker 存储模式 aufs改device mapper

原创 2016年05月31日 19:32:09

1.保存文件并关闭docker守护进程

2.安装 LVM2 包,该包中包含逻辑分区所需的依赖文件

$ sudo apt-get install lvm2

3.选择一块空闲磁盘,并创建逻辑分区

$ sudo pvcreate /dev/xvdf

4.创建docker 分区组

$ sudo vgcreate docker /dev/xvdf

5.创建一个 thin pool 并命名为 thinpool.

In this example, the data logical is 95% of the ‘docker’ volume group size. Leaving this free space allows for auto expanding of either the data or metadata if space runs low as a temporary stopgap.

$ lvcreate --wipesignatures y -n thinpool docker -l 95%VG
$ lvcreate --wipesignatures y -n thinpoolmeta docker -l 1%VG

6.将该池转化为thinpool

$ lvconvert -y --zero n -c 512K --thinpool docker/thinpool --poolmetadata docker/thinpoolmeta

7.配置自动扩容文件

$ vim /etc/lvm/profile/docker-thinpool.profile

Specify ‘thin_pool_autoextend_threshold’ value.

The value should be the percentage of space used before lvm attempts to autoextend the available space (100 = disabled).

thin_pool_autoextend_threshold = 80

Modify the thin_pool_autoextend_percent for when thin pool autoextension occurs.

The value’s setting is the perentage of space to increase the thin pool (100 = disabled)

thin_pool_autoextend_percent = 20

8.Check your work, your docker-thinpool.profile file should appear similar to the following:

An example /etc/lvm/profile/docker-thinpool.profile file:

activation {
thin_pool_autoextend_threshold=80
thin_pool_autoextend_percent=20
}
9.提交lvm配置文件

$ sudo lvchange --metadataprofile docker-thinpool docker/thinpool

10.确认逻辑分区已经被显示

$ sudo lvs -o+seg_monitor

11.清理docker文件夹

$ rm -rf /var/lib/docker/*

12.将以下命令加入/etc/default/docker
–storage-driver=devicemapper –storage-opt=dm.thinpooldev=/dev/mapper/docker-thinpool –storage-opt dm.use_deferred_removal=true

13.If using systemd and modifying the daemon configuration via unit or drop-in file, reload systemd to scan for changes.

$ sudo systemctl daemon-reload

14.开启docker守护进程

$ sudo systemctl start docker

15.use lvs without options or lvs -a to see tha data and metadata sizes. To monitor volume group free space, use the vgs command.

16.查看自动扩容的日志

$ journalctl -fu dm-event.service

版权声明:本文为博主原创文章,未经博主允许不得转载。

剖析Docker文件系统:Aufs与Devicemapper

Docker在启动容器的时候,需要创建文件系统,为rootfs提供挂载点。最初Docker仅能在支持Aufs文件系统的Linux发行版上运行,但是由于Aufs未能加入Linux内核,为了寻求兼容性、扩...

修改CentOs7 上Docker默认文件系统DeviceMapper为OverlayFS

http://shanker.blog.51cto.com/1189689/1783910 最近一直在研究Mesos, Marathon跟Docker结合的容器云平台,Mesos 框架已经搭好,...

ubuntu下改docker devicemapper loop存储模式

1.擦去 /var/lib/docker。(警告:正如前面提到的,这个操作会把你所有的容器和镜像都删除掉。)$ rm -rf /var/lib/docker 2.创建存储目录:$ mkdir -p /...

Docker存储驱动devicemapper介绍和配置

devicemapper介绍 Device Mapper是Linux系统中基于内核的高级卷管理技术框架。Docker的devicemapper存储驱动就是基于该框架的精简置备和快照功能来实现镜像...

有容云-【原理】Docker存储驱动之AUFS

今天聊一聊Docker的Image(镜像)与Container(容器)的存储以及存储驱动之AUFS。...

Docker存储驱动之AUFS简介

简介  AUFS是曾是Docker默认的首选存储驱动。它非常稳定、有很多真实场景的部署、很强的社区支持。它有以下主要优点:   极短的容器启动时间。   有效的存储利用率。   有效的内存利用率...
  • styshoo
  • styshoo
  • 2017年03月01日 05:34
  • 692

Docker aufs存储驱动layer、diff、mnt目录的区别

Docker基础信息  首先,先查询Docker使用的后端存储。使用命令docker info,主要关注Storage Driver相关的部分。 $ docker info... Server Ve...
  • styshoo
  • styshoo
  • 2017年04月18日 07:00
  • 1917

使用 Device Mapper来改变Docker 容器的大小

作者:Jérôme Petazzoni ( Docker 布道师)译者:Mark Shao ( EMC 中国高级工程师)如果在 CentOS 、 REHL 、 Fedor 或者其他默认没有 AUFS ...

从aufs文件系统到docker镜像

概要1 aufs文件下系统是什么?有什么特性?2 aufs文件系统与docker镜像的关系。3 dockfile如何工作?4 docker镜像储存到哪里?储存的什么?5 docker镜像的储存过程简介...

Docker基础:文件系统之AUFS

为了更好的理解docker,除了namespace和cgroups之外,在docker中如何进行存储文件也是需要进行进一步理解的。在docker中叫做storage driver,在本文中将会介绍一下...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:docker 存储模式 aufs改device mapper
举报原因:
原因补充:

(最多只允许输入30个字)