Last active
August 22, 2022 17:48
-
-
Save amshinde/d39e0db20642c1f228ba9b9f35bc2549 to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# Clear Linux install configuration | |
# | |
# /dev/sda1 / | |
# /dev/sda2 /boot | |
# /dev/sda3 (reserved partition for devicemapper) | |
# | |
DEVICE="/dev/sda3" | |
echo "Stopping docker" | |
sudo systemctl stop docker | |
echo "Launch lvmetad service" | |
sudo systemctl start lvm2-lvmetad | |
echo "Create physical volume" | |
sudo pvcreate -ff "$DEVICE" | |
echo "Create a volume group" | |
sudo vgcreate docker "$DEVICE" | |
echo "Create thinpool logical volume" | |
sudo lvcreate --wipesignatures y -n thinpool docker -l 95%VG | |
echo "Create thinpoolmeta logical volume" | |
sudo lvcreate --wipesignatures y -n thinpoolmeta docker -l 1%VG | |
echo "Convert the volumes to a thin pool" | |
sudo lvconvert -y \ | |
--zero n \ | |
-c 512K \ | |
--thinpool docker/thinpool \ | |
--poolmetadata docker/thinpoolmeta | |
#Edit profile | |
sudo vi /etc/lvm/profile/docker-thinpool.profile | |
activation { | |
thin_pool_autoextend_threshold=80 | |
thin_pool_autoextend_percent=20 | |
} | |
echo "LVM profile" | |
sudo lvchange --metadataprofile docker-thinpool docker/thinpool | |
echo "Monitoring logical volume" | |
sudo lvs -o+seg_monitor | |
sudo lvscan | |
sudo vgchange -ay | |
The above should set up the direct-lvm for devicemapper. You can then configure docker to use devicemapper by adding this | |
to /etc/docker/daemon.json | |
{ | |
"storage-driver": "devicemapper", | |
"storage-opts": [ | |
"dm.thinpooldev=/dev/mapper/docker-thinpool", | |
"dm.use_deferred_removal=true", | |
"dm.use_deferred_deletion=true" | |
] | |
} | |
In case, you want to revert the above changes, follow the below cleanup instructions | |
#================================ | |
#To cleanup: | |
#Remove logical volume: | |
$ sudo lvremove docker | |
Do you really want to remove active logical volume docker/thinpool? [y/n]: y | |
Logical volume "thinpool" successfully removed | |
#Should show empty | |
$ sudo lvdisplay | |
$sudo vgremove docker | |
Volume group "docker" successfully removed | |
#should show empty | |
$sudo vgdisplay | |
#Now remove docker graph driver directory | |
sudo rm -rf /var/lib/docker/devicemapper | |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment