On 11/16/2016 02:56 PM, Vivek Goyal wrote:
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.
Why exactly does this need to be opt-in? Why wouldn't we just change the default
on Fedora Server to use overlay2 instead of devicemapper?
I think I'm missing some key part of the problem here.