mount options for /run should be the same as initramfs tools
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
systemd (Ubuntu) |
Fix Released
|
Undecided
|
Unassigned | ||
Xenial |
New
|
Undecided
|
Unassigned | ||
Bionic |
New
|
Undecided
|
Unassigned | ||
Cosmic |
In Progress
|
Undecided
|
Unassigned |
Bug Description
mount options for /run should be the same as initramfs tools
[Impact]
* /run is mounted with different options on initrd boots, and initrd-less boots. For consistency it should be the same
* In particular, this causes overuse of RAM on hosts with dense deployment of containers. Specifically, runtime journald takes up at most 10% or /run, which is capped at 10% of ram, thus 1% of total RAM. However, on initrd-less boots (like lxd launch ubuntu-daily:foo), /run takes up all of RAM, and thus run-time journal is now capped at 10% of RAM. Which is really bad when one deploys more than 10 containers...
[Test Case]
* Check total RAM on the host with `free -h`
* lxd launch ubuntu-
* In that container check the size of /run with `df -h | grep '/run$'`
* /run should roughly be 1/10th of the total RAM.
[Regression Potential]
* /run is meant to be small, and it is small on systems booted with initrd and everything works fine there. Reducing the default size of /run in the containers should not have averse impacts. The most notable change is that runtime journald is now capped 10x smaller in the containers, to the same size as on the hosts. If that is not enough, one should $ sudo mkdir /var/log/journal to have a larger persistent journal.
[Other Info]
* This issue got escalated as affecting production deployments in the Canonical datacentre.
Related branches
- Dimitri John Ledkov: Pending requested
-
Diff: 210 lines (+127/-2) (has conflicts)5 files modifieddebian/changelog (+70/-0)
debian/extra/dhclient-enter-resolved-hook (+9/-1)
debian/gbp.conf (+1/-1)
debian/patches/meson-rename-Ddebug-to-Ddebug-extra.patch (+41/-0)
debian/patches/series (+6/-0)
Changed in systemd (Ubuntu): | |
status: | New → Fix Committed |
Changed in systemd (Ubuntu Cosmic): | |
status: | New → In Progress |
description: | updated |
Changed in systemd (Ubuntu Cosmic): | |
status: | Fix Committed → In Progress |
Hmmmm... not sure if /run should be limited to 10%, or if runtime journald should be limited to 1%.