On 03/11/2016 06:22 PM, Chris Murphy wrote:
On Fri, Mar 11, 2016 at 1:01 PM, Stephen Gallagher
<sgallagh(a)redhat.com> wrote:
> On 03/11/2016 01:54 PM, Chris Murphy wrote:
>> On Fri, Mar 11, 2016 at 11:07 AM, Stephen Gallagher <sgallagh(a)redhat.com>
wrote:
>>
>>> What does docker-storage-setup do if there are multiple VGs on the system?
Does
>>> it just pick one and use that, or does it take over them all?
>>
>> Ok this was faster than even considering looking for a stick...
>>
>>
https://github.com/projectatomic/docker-storage-setup/blob/master/docker-...
>
> FWIW, this file doesn't exist on my Fedora Server system anywhere. I wonder if
> this isn't in a released version yet. If it's not, then what I'm going to
say
> below may not be relevant... yet.
Docker isn't installed by default on Fedora Server, it only gets
installed if the user installs Docker.
I have docker installed, including docker-storage-setup.service. This file isn't
on my filesystem. Hence why I suggested we may be looking at a changed upstream
behavior here. Probably we can assume that this will be how it's done in F25 though.
> I don't think we necessarily need to go this far. I mean, the
> docker-storage-setup.conf strongly implies that it will use 40% of the available
> free space (or 2GiB, whichever is larger, I'm guessing) and leave the rest
> alone. I think that's probably not unreasonable to just leave as-is if we go the
> route of leaving most of the space free.
Ahhhh. So it does. OK so forget everything I said about
docker-storage-setup using all free space in the VG. See this is what
happens when you poke things with a stick. Different stick, different
results.
-bash-4.3# pvs
PV VG Fmt Attr PSize PFree
/dev/sda2 fedora lvm2 a-- 2.00t 1.19t
-bash-4.3# vgs
VG #PV #LV #SN Attr VSize VFree
fedora 1 3 0 wz--n- 2.00t 1.19t
-bash-4.3# lvs
LV VG Attr LSize Pool Origin Data% Meta% Move
Log Cpy%Sync Convert
docker-pool fedora twi-a-t--- 816.26g 0.01 0.03
root fedora -wi-ao---- 3.00g
swap fedora -wi-ao---- 2.00g
> So in general, I think we could probably opt for modifying the Server productimg
> package to drop the separate /home partition and instead create a single /
> partition with a minimum size of 2GiB and a maximum size of ??? (help me out
> here) and then just leave the rest empty.
Can it be a percentage? If so 20%? If not, 100Gib seems sane with
today's drives.
The PartSpec can't handle a percentage and we can't calculate it ourselves here
because the InstallSpec is only processed at anaconda launch (which means we
could only say "20% of what space was free when we booted" and not account for
space freed up manually later.
So probably best if we just set minsize 2GB and maxsize to something (I'm not
sure about 100GiB, mostly because a lot of servers are moving to small-but-fast
SSDs for their internal drives, but I'm open to suggestions).
> That said, in a server environment there may be a decent argument for having
> /var on a separate partition by default, if only so that out of control logs
> don't fill up the system partition.
I don't know that much of anything likes ENOSPC as a way of dealing
with out of control logs. If XFS project quotas weren't a pill popping
experience, I'd much rather use that, a warning in advance of the
quota being reached can be set. So another feature request for Cockpit
:-D
Would you mind filing some RFEs at
https://github.com/cockpit-project/cockpit ?
That will be the best way to track it.
I suggest the simple approach for Fedora 24, mimicking Cloud Atomic
with the size adjustments only.
I think there's sense in that.
For Fedora 25, see if it makes sense to put root (and maybe var) on
virtual size LVs drawn from an LVM thin pool by default; and/or a
basic Cockpit interface for quotas (which means storaged needs to know
about quotas first probably). This might mean a slight rethink for max
root and var virtual size LVs, the idea being to make them as big as
they'd ever practically need to be, and then double that number; and
also consider enabling the systemd fstrim timer by default (smarter
than fs shrink).
Not going to lie: my eyes crossed reading that. I think someone is going to need
to draw me a picture so I can follow.