On 11/16/2016 02:40 PM, Vivek Goyal wrote:
On Wed, Nov 16, 2016 at 02:32:46PM -0500, Daniel J Walsh wrote:
> We would like to change the docker container storage to default to
> Overlayfs2 in Fedora 26. But we have a problem on Atomic Host and
> Fedora Server distributions.
>
>
> Currently docker-storage-setup defaults to devicemapper and is hard
> coded to setup a thinpool of 40% of remaining disk. Otherwise it sets
> up loopback devices on the root file system. Devicemapper is nice
> since it works with thinpools and can automatically expand the storage
> if the disk space is getting used up.
>
> Moving to Overlay, we can more easily use the root file system directly,
> which would be fine for Fedora Workstation. We want to preserve the use
> of the remaining storage for Overlay on AH and Fedora Server, since
> this would give a user flexibility to switch back to using devicemapper
> if they had problems with the Overlay driver.
And being able to do so basically involves following.
- docker-storage-setup creates a logical volume from free space
- Creates a filesystem on that logical volume
- Mounts that logical volume on the directory which docker is going to
use.
mount /dev/docker-vg/foo /var/lib/docker/
- Now when docker users overlay2 graph driver, all the images, containers
and associated metadata will be stored outside the root filesystem and
onto /dev/docker-vg/foo logical volume.
> We can not as easily
> support the expanding disk for Overlay since we will not use using thinpool.
>
> We have looked at options to hard code OverlayFS with the defaults,
If we always mount /var/lib/docker on on /dev/vg/foo for overlay2 driver
this will be a regression w.r.t current behavior. So I would not
recommend changing current behavior. I think this should be an opt-in.
We are working on provide a config knob to elect this behavior and
atomic host and fedora server will have to opt-in somehow.
I think it will be easy for atomic host as they already drop something
in /etc/sysconfig/docker-storage-setup. Not sure how fedora server
variant will do it.
Today, Fedora Server relies on whatever is the default for docker-storage-setup.
We just tell Anaconda to reserve up to 15GiB by default for the / partition and
then it puts all remaining free space (on drives selected to be used by
Anaconda) into a single logical volume with no partitions.
It's a very easy thing for us to drop a different config file for
docker-storage-setup into place for Server. So if that's all we need to do, let
me know and I'll work it up.