One thing I’ve come to really rely on with my Linux setup is use of the Software RAID to mirror my OS. Then when the time comes to upgrade, or do something potentially difficult to recover from I break the mirror, remove one of the drives, and run in degraded mode during the upgrade/whatever. If everything comes out fine, then I return the drive to the mirror and keep going. If not, I boot of the other drive, and re-mirror it.