Page MenuHomePhabricator

Provide dedicated storage space to Docker for images/containers
Closed, ResolvedPublic

Description

was: "Move CI docker storage engine to device mapper"

This will allow Docker to utilize some of the LVM volume group for storing images and container filesystems and isolate it from the root OS filesystem.

Event Timeline

thcipriani triaged this task as Normal priority.

Change 459875 had a related patch set uploaded (by Dduvall; owner: Dduvall):
[operations/puppet@production] ci: Give Docker more space on large-disk instances

https://gerrit.wikimedia.org/r/459875

Configuring Docker to use the device mapper storage driver on CI instances is going to be trickier than it seemed. Docker wants its own LVM volume group (pointing it at the same one used for /srv causes Docker to fail startup). This means we'd have to re-partition /dev/vda and create an additional physical volume and volume group.

For now, I've submitted a patch that simply creates an additional logical volume on larger instances (it shouldn't affect the existing mediums) and mounts it at /var/lib/docker.

Additionally, there appear to be some issues with the direct-lvm driver on jessie when using thin pools (which is the recommended configuration for production use), so that's an additional blocker to switching to the DM storage driver.

https://github.com/moby/moby/issues/15629

Change 459875 merged by Alexandros Kosiaris:
[operations/puppet@production] ci: Allow Docker nodes to use a dedicated /var/lib/docker volume

https://gerrit.wikimedia.org/r/459875

Additionally, there appear to be some issues with the direct-lvm driver on jessie when using thin pools (which is the recommended configuration for production use), so that's an additional blocker to switching to the DM storage driver.

https://github.com/moby/moby/issues/15629

The CI Docker slaves are very simple, I guess we could build them with Stretch instead of Jessie? Will just have to check that the proper version of docker-ce package is provided for Stretch. Most probably the basic puppet catalogue will apply cleanly on Stretch.

dduvall renamed this task from Move CI docker storage engine to device mapper to Provide dedicated storage space to Docker for images/containers.Sep 13 2018, 5:51 PM
dduvall updated the task description. (Show Details)
dduvall closed this task as Resolved.