Provision Docker Storage on a Dedicated Block Device
Jump to navigation
Jump to search
Internal
Overview
Procedure
Provision an unformatted block device. For this example, it will be referred to as /dev/sdb.
Create one partition that spans the entire device. Either fdisk or sfdisk can be used. This is how the partition is created with fdisk.
The procedure will create a /dev/sdb1 partition.
Erase all signatures from the partition:
wipefs -a /dev/sdb1
Initialize the partition for use by LVM by creating a physical volume:
pvcreate /dev/sdb1
Create the volume group, conventionally named "docker_vg", using the partition prepared by the previous steps /dev/sdb1:
vgcreate docker_vg /dev/sdb1
lvcreate -y --type thin-pool --zero n -c 512K --poolmetadatasize 1041s -L 500M -n docker-pool docker_vg
Enable auto-extension (optional):
Store:
activation { thin_pool_autoextend_threshold=60 thin_pool_autoextend_percent=20 }
in /etc/lvm/profile/docker_vg--docker-pool-extend.profile and then:
lvchange --metadataprofile docker_vg--docker-pool-extend docker_vg/docker-pool
Verify that the LV is correctly created:
#lvs LV VG Attr LSize Pool Origin Data% Meta% Move Log Cpy%Sync Convert docker-pool docker_vg twi-a-t--- 500.00m 0.00 0.88 root main_vg -wi-ao---- 7.00g
Write /etc/sysconfig/docker-storage:
DOCKER_STORAGE_OPTIONS="--storage-driver devicemapper --storage-opt dm.fs=xfs --storage-opt dm.thinpooldev=/dev/mapper/docker_vg-docker--pool --storage-opt dm.use_deferred_removal=true"