Changing disk identifiers in ZFS zpool

With ZFS on Linux, it often happens that zpool is created using disk identifiers such as /dev/sda. While this is fine for most scenarios, the recommended practice is to use the more guaranteed disk identifiers such as the ones found in /dev/disk/by-id. This blog post describes 3 methods how to change the disk identifiers in such zpool after it has been created. All this without migrating data, adding disks or having physical access to the machine.