52 lines
1.2 KiB
Markdown
52 lines
1.2 KiB
Markdown
|
# Update protocol
|
||
|
|
||
|
ZFS opens up new methods to safely update the system. These methods are described in this section in combination with general practises to maintain ZFS filesystems.
|
||
|
|
||
|
## Pre-update
|
||
|
|
||
|
To be able to rollback the system after a system update one may create a snapshot of the root filesystem.
|
||
|
|
||
|
```
|
||
|
# zfs snapshot tank/root/alpine@previous
|
||
|
```
|
||
|
|
||
|
> Tip: `zfs destroy` can be used to remove snapshots and `zfs list -t snapshot` can be used to list them.
|
||
|
|
||
|
## Update
|
||
|
|
||
|
Perform a system update.
|
||
|
|
||
|
```
|
||
|
# apk upgrade
|
||
|
# reboot
|
||
|
```
|
||
|
|
||
|
If the system does not behave accordingly after reboot, one may rollback to the previous snapshot and further investigate from there.
|
||
|
|
||
|
```
|
||
|
# zfs rollback -r tank/root/alpine@previous
|
||
|
```
|
||
|
|
||
|
## Post-update
|
||
|
|
||
|
To maintain the performance of the SSDs in the system, perform a trim on the zfs-pool.
|
||
|
|
||
|
```
|
||
|
# zpool trim --secure --wait tank
|
||
|
```
|
||
|
|
||
|
> Some devices may not support the option `--secure`, remove it then, if necessary.
|
||
|
|
||
|
Thereafter, perform a scrub on the zfs-pool which checks and repairs the data in the pool.
|
||
|
|
||
|
```
|
||
|
# zpool scrub tank
|
||
|
```
|
||
|
|
||
|
This may take a while, the progress can be checked with:
|
||
|
|
||
|
```
|
||
|
# zpool status tank
|
||
|
```
|
||
|
|
||
|
> A ZFS scrub only repairs if mirror or a zraid mode is used in the pool.
|