Last year I set up a pair of servers for my employer, running FreeBSD 10.1 with a large pool of storage in each server. 12 x 2TB disks, in a zpool configured as two raidz2 vdevs of six disks each. One of these servers is a standby and is a replica of the active one.
We would like to create a backup on some type of separate storage to guard against the non-failure kinds of failures, such as administrator error.
Preliminary testing suggests that simply using the standby replica server to 'zfs send' a deduplicated stream (-D) to some external storage would be adequate, but I can't find any information on whether the memory requirements of sending a deduplicated stream are the same as the requirements for using dedup in the first place.
Does zfs send -D
have the same memory requirements for the DDT table as normal dedup with ZFS?
The question has been asked here.
And the answer is yes it needs more memory, because it has to keep track of which block have been sent and which havent. The amount of memory should be proportional to amount of data in the snapshot transferred.
Enabling dedup on the filesystem won't help performance/memory requirements. Enabling SHA256 cheksumms will help performance a little.
btw. the question is, do you make so many changes to the filesystem and have so slow link and have nicely deduplicable data, so that this will make a big difference for you, to make it even worth considering?