umbrella: sled-agent and GZ must support read-only root #4292
Labels
enhancement
New feature or request.
mvp
security
Related to security.
Sled Agent
Related to the Per-Sled Configuration and Management
Milestone
This ticket covers a collection of work, probably mainly in sled-agent, that is required to support and operate correctly with the root filesystem (that ZFS dataset mounted at
/
) that is read-only at runtime. Currently, the root filesystem is immutable but can be modified at runtime; upon a subsequent boot, the fixed contents created at build time are restored but the filesystem is then mounted read-write and can be modified by software such as sled-agent and svc.configd in the usual manner.It is highly desirable to have the root filesystem be read-only at runtime as well. One of the most significant reasons is that then one needn't worry about running the rootfs out of space, which can make various services fail, lose log and error data vital to debugging, and be very difficult to diagnose without manual intervention on the Unix shell (a hard no-no in a quality revenue product). A read-only root also provides some additional security and reliability: not only will we know the contents at boot, we will have greater confidence that the contents are the same at all times.
There are several classes of work required here:
svcadm _smf_repository_switch
, on an ephemeral but read-write backing store.There are probably some additional classes that will make themselves known in specific instances. This is a bit finicky to work on because some software may try to write to files in the root filesystem only in certain paths that are not especially easy to find. It can be made easier by minimising the set of software that ever runs in the GZ, which has many other benefits besides.
Additional specific tickets should probably be filed. Additional tags will probably be needed as the scope of work is better understood.
The text was updated successfully, but these errors were encountered: