files:
- path: /etc/lvm/profile/docker-thinpool.profile
filesystem: root
mode: 0644
contents:
inline: |
activation {
thin_pool_autoextend_threshold=80
thin_pool_autoextend_percent=20
}
- path: /opt/init-direct-lvm
filesystem: root
mode: 0544
contents:
inline: |
#!/bin/bash -ex
/usr/sbin/wipefs -f /dev/sdb
/usr/sbin/pvcreate -y /dev/sdb
/usr/sbin/vgcreate -y docker /dev/sdb
/usr/sbin/lvcreate --wipesignatures y -n thinpool docker -l 95%VG
/usr/sbin/lvcreate --wipesignatures y -n thinpoolmeta docker -l 1%VG
/usr/sbin/lvconvert -y --zero n -c 512K --thinpool docker/thinpool --poolmetadata docker/thinpoolmeta
/usr/sbin/lvchange --metadataprofile docker-thinpool docker/thinpool
/usr/sbin/lvs -o+seg_monitor
/usr/bin/rm -rfv /var/lib/docker
systemd:
units:
- name: direct-lvm.service
enable: true
contents: |
[Unit]
Description=Configure device for docker direct-lvm storage driver
ConditionFirstBoot=yes
Before=docker.service
[Service]
Type=oneshot
RemainAfterExit=yes
ExecStart=-+/opt/init-direct-lvm
[Install]
RequiredBy=docker.service
- name: docker.service
dropins:
- name: 10-direct-lvm.conf
contents: |
[Service]
Environment="DOCKER_OPTS=--storage-driver=devicemapper --storage-opt dm.fs=ext4 --storage-opt=dm.thinpooldev=/dev/mapper/docker-thinpool --storage-opt=dm.use_deferred_removal=true --storage-opt=dm.use_deferred_deletion=true"