On Wed, Nov 16, 2016 at 02:49:25PM -0500, Stephen Gallagher wrote:
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.
Ok, that sounds good. We are working on providing a knob to opt-in new
behavior. I think all you have to drop in config file will be something
like.
/etc/sysconfig/docker-storage-setup
STORAGE_DRIVER=overlay2
YET_TO_BE_NAMED_OPTION=VAL
So upstream default will continue to be devicemapper. We will have to
modify fedora workstation, fedora server and atomic host infrastructure
to opt-in for overlay2.
Vivek