Plan and rehearse a rolling driver update with a rollback
Task
Plan a firmware and driver update the way a production change is planned -- compatibility checked, order decided, rollback ready -- and rehearse the software half on lin-srv: update a kernel package, confirm it is running, then roll back to the previous kernel from the boot menu and prove that too.
Steps
- Write
lab/update/plan.csvwith headerorder,host,component,from_version,to_version,rollbackfor a fictional three-server cluster, updating one node at a time and never two members of the same cluster together. - On lin-srv, save
uname -rand the list of installed kernels tolab/update/before.txt. - Install the newest available kernel, reboot, and save
uname -rtolab/update/after.txt. If no newer kernel is available, install a second kernel flavour or version so there are two to choose between. - Reboot again, choose the previous kernel from the GRUB menu (Ubuntu hides it: hold Shift as the VM starts, or press Esc on UEFI, then open Advanced options), and save
uname -rtolab/update/rollback.txt. - Record in
lab/update/result.txtwhich kernel is now the default, and how you would make the older one the default if the new one were faulty.
Verify
These checks run in a POSIX shell: Terminal on macOS or Linux, and on Windows Git Bash (it comes with Git for Windows) or WSL. A stock Windows PowerShell or Command Prompt has no awk or grep, so there the first line fails.
awk -F, 'NR>1 {n++} END {print n" planned step(s)"}' lab/update/plan.csv
awk -F, 'NR>1 && $6=="" {m++} END {print m+0" step(s) with no rollback"}' lab/update/plan.csv
test "$(cat lab/update/after.txt)" != "$(cat lab/update/rollback.txt)" && echo rollback booted a different kernel
grep -c . lab/update/result.txt
Every planned step needs a rollback, so the second line must be zero. The kernel running after the rollback must differ from the one after the update, which proves you actually booted the previous version rather than rebooting into the same one.
Notes
Real server firmware is updated through the vendor's tools or the management controller, often from a bundled update image, and some updates cannot be rolled back at all. That is why the plan column exists: when there is no rollback, the plan has to say so, and the change needs more testing first.
This is an independent study companion for CompTIA Server+ SK0-005 and is not produced by or endorsed by CompTIA.