Linking files across clients with and without ZFS

Does urbackup hard-link identical files across clients?
Maybe this is dependent on whether you use the ZFS-option or not, because in ZFS you cannot hardlink a file across different file systems and every client has its own ZFS file system.

I think it should unless you choose to use symlinks and use the share_hashes option on the directories you are sharing between clients, I think… There is quite a bit of information about ZFS in the manual.

share_hashes:
https://www.urbackup.org/administration_manual.html#x1-640008.3.4

Symlinks:
https://www.urbackup.org/administration_manual.html#x1-750008.6

ZFS (also a suggestion for ZFS a little further below):
https://www.urbackup.org/administration_manual.html#x1-10700011.6.4

share_hashes work on btrfs at least, I know that since I used it in the past. But I also used symlinks instead of hardlinks.

How did you “use symlinks instead of hardlinks”? As far as I understood, urbackup always uses hardlinks for individual files, and uses symlinks only for whole directories of more than 10 identical files.

If you use the urbackup mode with out Copy-On-Write ZFS mode, all files of all clients are in one ZFS filesystem and it is possible to hardlink two identical files from two different clients. However in the COW-ZFS-mode, every client gets his own ZFS-filesystem, so it is not possible to hard-link identical files. Also - on the contrary to BRFS - ZFS does not support the reflink.

I’m guessing, if it works that way, that you uncheck (in web gui) advanced > Use symlinks during incremental file backups

The question is why you prefer hard-links over symlinks…

No, hard links are used from urbackup for all files and you cannot change this. The option “use symblinks” is just an addtional optional optimization for whole directories containing the unchanged same files. E.g. you have two identical folders with 1000 identical files. Then instead of of hardlinking 1000 files, urbackup moves the folder out of the standard backup folder and creates two symlinks to them.

See the manual 6.3 of the manual:

If the backup is incremental, “Use symlinks during incremental file backups” is enabled and a directory with more than 10 files or folders is unchanged, it is symbolically linked to the same folder in the last backup. Because the last backup will probably be deleted before the current backup, the folder is first moved to a pool directory (“.directory_pool” in the client folder) and then linked from both places. The reference count of the directory is increased/decreased every time another symbolic link is created/removed to that directory.

I.e. all files are hardlinked. But in ZFS-COW mode every client gets its own filesystem and hardlinking cannot not be done accross files systems. It could be done by reflinking, but this is not supported by ZFS either.

So it seems so me, that in ZFS-COW mode, files are NOT deduplicated across different clients.

That is not what I get from what you quoted, at all.

I use a different CoW filesystem, and it creates subvolumes and symlinks left and right… xD

I’m not sure what you are asking any more so I can not help.