I think I was overthinking it. Any hard link created by these apps will initially be on cache, and mover will move onto array disks. Presumably it is clever enough to move the file and then make the hard link on the same disk filesystem. This seems to be the case from looking at the output of "find /mnt/disk1/ -type f -not links 1", and therefore I can just use rsync with -H flag to move files from one disk to another preserving hard links. I think it is unlikely there are any hard links that span different disks but are hard-linked across the array filesystem.