On 11/16/2016 03:09 PM, Vivek Goyal wrote: > On Wed, Nov 16, 2016 at 03:01:06PM -0500, Stephen Gallagher wrote: >> 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. > > I mean it will be devicemapper in upstream project. And distributions will > have to opt-in for overlay2. > > And I think one reason being that rhel uses same git tree and we don't > want to switch to overlay2 by default for rhel yet. > > overlay2 will be an experiment on fedora first as default and if it works > well, then change default upstream too. OK, when you said "opt-in", I was assuming you meant that from the user's perspective (as in having the user make an explicit choice). What you meant was that Server would carry a different default from the upstream project. That's easy enough to accomplish (we can do the same for Atomic as well). The packaging guidelines for this are here: https://fedoraproject.org/wiki/Packaging:Per-Product_Configuration Of course, that's only necessary if we want Server (and Atomic) to differ from Workstation and/or non-productized Fedora. If they're all going to switch to overlay2, then it's just a trivial matter.
Attachment:
signature.asc
Description: OpenPGP digital signature
_______________________________________________ devel mailing list -- devel@xxxxxxxxxxxxxxxxxxxxxxx To unsubscribe send an email to devel-leave@xxxxxxxxxxxxxxxxxxxxxxx