3 ms·
I really liked the ZFS approach to rolling updates that we had in the Sun Storage Appliance: updates are `zfs send`s, and applying an update is `zfs recv`ing an
by cryptonector 3y ago
I really liked the ZFS approach to rolling updates that we had in the Sun Storage Appliance: updates are `zfs send`s, and applying an update is `zfs recv`ing an update, then you reboot into the new snapshot.
That requires:
- making / read-only (so there's
nothing to save from / on upgrade)
- having all configuration state move
out of /
- having all upgrade actions relating
to config files and so on be applied
to a clone of the dataset that has
that content
This way backing out an upgrade is trivial, and you can be very confident in the ability to back out.
This approach happens to be a very good idea for other things as well. Such as if you wanted to seal TPM keys to PCR values that bind all of /, well, you'd need a secure hash of all of / for that, and a Merkle hash tree filesystem (but not quite ZFS) can give you that.