Author: Stephanie Daugherty Date: To: Roger Leigh CC: dng Subject: Re: [DNG] FW: support for merged /usr in Debian
On Sun, Jan 3, 2016 at 8:25 AM, Roger Leigh <rleigh@???> wrote:
> Regarding the comments people made about having separate / and /usr
> filesystems. While it was common historically, there is little or no
> practical benefit to doing so in 2016. Storage sizes make it unnecessary
> for pretty much all practical scenarios. The two are managed by dpkg as a
> coherent whole; they are logically inseparable. They serve the same
> purpose. Do reconsider whether it's actually necessary for you to do this,
> or whether it's merely habit. Some historical practices continue to have
> value; others, including this one, do not.
There's still numerous practical benefits.
1) emergency storage expansion in place on a mission critical system. One
of the quickest and safest ways to add disk space to such a system with
little to no downtime.is to add another drive, create a partition on that
drive for /usr, and then migrate everything under /usr there while using
the "critical" binaries in /bin and /sbin to finalize the move.
2) Backups - the traditional layout makes it easier to determine backup
schedules granularly by path. (most of /usr can potentially be excluded
entirely, as it can be recovered be reinstallation of packages)
3) split layout with separate partitions minimizes the chance that an out
of control process might fill up enough of the disk to render the system
unusable
4) split layout with separate partitions minimizes the chance of a
filesystem error impacting ability to boot single user
5) split layout with separate partitions minimizes the size of the root
partition that needs to be periodically checked by fsck
6) some sysadmins choose to mount /usr and other non-root filesystems
nosuid to minimize attack surface
7) split layout with separate partitions allows a root filesystem from the
current system to be used to cleanly reinstall or even change distributions
in place on a running system with minimal downtime.
Granted, a lot of these are corner cases, but, they are still practices
that may be employed by experienced sysadmins. I've had to implement a
separate /usr filesystem as an emergency fix in the last year and a half -
client had an eCommerce website with relatively low traffic. Black Friday
happened - filesystem was filling up faster than we could do something
about it, and we couldn't have lengthy downtime. Their website was served
off of a VPS, the provider could attach additional storage as new
filesystems, but didn't support resizing of existing ones. Breathing room
was obtained by adding a separate /usr and separate /var, and all of this
had to be done live. Having the necessary tools safely tucked away in /bin
and /sbin meant being able to cut over in seconds without risk of fucking
the system up to the point of needing a reboot.