In md we can scan or assemble an array using UUID:
mdadm --assemble "/dev/md/raid5" --uuid "b9a09187:a1ac838f:b4e90395:d6293c19"
And in ZFS, we have a service for that purpose:
rc-service zfs-import start # OpenRC on Alpine Linux
Is it safe to use device name such as /dev/sda and /dev/sdb to create md and ZFS RAID array? If the names are changed after a reboot, will the command mdadm --assemble and the service zfs-import be able to read the filesystem header on each disk and detect them?