Docker配置direct-lvm模式

配置direct-lvm模式

 

1.  停止Docker

$ sudo systemctl stop docker

 

2.  安装依赖包

device-mapper-persistent-data,lvm2, and all dependencies

 

3.  创建物理卷/dev/xvdf来替换块设备

$ sudo pvcreate /dev/xvdf

 

4.  用vgcreate命令在同一个设备上创建docker卷组

$ sudo vgcreate docker/dev/xvdf

 

5.  用lvcreate命令创建thinpool(数据)和thinpoolmeta(元数据)两个逻辑卷

最后一个参数指定空闲空间的数量,以允许在空间运行低时自动扩展数据或元数据,作为临时的权宜之计。这些是推荐的值。

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

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

 

6.  用lvconvert命令把thinpool数据卷和thinpoolmeta元数据卷换为一个精简池,且此精简池使用原数据卷的名字

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

 

7.  通过lvm profile配置精简池的自动扩容

$ sudo vi/etc/lvm/profile/docker-thinpool.profile

 

8.  指定thin_pool_autoextend_threshold和thin_pool_autoextend_percent的值

thin_pool_autoextend_threshold:当达到使用空间的指定阈值(百分数)后,lvm就会试图尝试自动扩展可用的空间(100=禁用)。

thin_pool_autoextend_percent:当磁盘每次达到上面定义的阈值后,自动再扩展的百分比数(0=禁用)。

示例:

当磁盘使用达到80%时,再扩展当前容量的10%。更新/etc/lvm/profile/docker-thinpool.profile

activation {

  thin_pool_autoextend_threshold=80

  thin_pool_autoextend_percent=10

}

保存文件。

 

9.  用lvchange命令激活LVM profile

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

 

10. 对主机上的逻辑卷启用监视

如果没有这个步骤,即使在LVM配置文件出现时也不会发生自动扩展。

$ sudo lvs -o+seg_monitor

 

11. 备份Docker原有数据

如果曾经在这个主机上运行过Docker,或者如果/var/ lib/docker存在,那么将它移出后,Docker就可以使用新的LVM池来存储镜像和容器的内容了。

$ mkdir /var/lib/docker.bk

$ mv /var/lib/docker/*/var/lib/docker.bk

 

12. 编辑/etc/docker/daemon.json

配置devicemapper存储驱动程序所需的选项。如果该文件以前是空的,那么现在应该包含以下内容:

{

    "storage-driver":"devicemapper",

    "storage-opts": [

   "dm.thinpooldev=/dev/mapper/docker-thinpool",

    "dm.use_deferred_removal=true",

    "dm.use_deferred_deletion=true"

    ]

}

注意:

延迟删除选项,dm.use_deferred_deletion=true,在使用默认内核版本3.18时还不支持RHEL、CentOS或Ubuntu 14.04。

 

13. 启动Docker

systemd:

$ sudo systemctl start docker

service:

$ sudo service docker start

 

14. 查看Docker启动信息

$ docker info

 

15. 验证配置正确后,就可以删除/var/lib/docker.bk目录了

$ rm -rf /var/lib/docker.bk

 

16.参考文档:

https://docs.docker.com/engine/userguide/storagedriver/device-mapper-driver/#configure-direct-lvm-mode-for-production

 

你可能感兴趣的:(容器&容器云)