Oh, that's is a long topic.
Cluster in hetzner is set up using udp, since hetzner does not support multicast.
Fore shared storage, i use NFS on every machine, but i use NFS storage only for live migration.
I move vm disks from ZFS to NFS, then migrate server, and then on new node, move disks...