thank you for your response. I managed to ask on Canonical forums and use lxc export and lxc import instead of lxc copy to preserve hardlinks.
I’ve also checked Incus and it seems very interesting, I in particular like the lxd-to-incus tool. Going to try it in a VM, and maybe also check if the incus copy behavior (not preserving hardlinks) is consistent with lxd.
Yeah, I’d expect incus copy to have the same issue.
The behavior will vary based on your storage pools. I suspect the issue will hit when rsync is used, which happens when the storage pool driver isn’t the same on the source and destination or when either is using the dir storage backend.
rsync does have an option to preserve hard-links so we’d have to check why we’re not passing it or if we’re passing why it’s not working. It could also be that we weren’t able to pass it due to either security concerns or performance issues, but we’d need to look into it.
So reproducing this on Incus and then filing an issue would be appreciated.