undoing zfs deduplication

Freddie Cash fjwcash at gmail.com
Wed Aug 8 15:41:45 UTC 2012


On Wed, Aug 8, 2012 at 8:27 AM, Brian Gold <bgold at simons-rock.edu> wrote:
> I've got a system running 9.0-release w/ a zfs v28 pool. Within that pool I have 3 datasets, two of which have deduplication
> enabled. I've recently been having a lot of performance issues with deduplication and have determined that I need far more ram that
> I currently have in order to support dedupe. I don't have the budget for the ram necessary so I would like to move away from
> deduplication. I'm aware  that you can't simply turn dedupe off, you need to completely nuke the filesystem.
>
> What I'm wondering is, would it be possible for me to create new datasets within the same pool (I have a ton of available space) and
> use a combination of "zfs send" & "zfs receive" to migrate my deduped datasets and all of their snapshots (daily, weekly, & monthly)
> over to the new dataset?

Yes, that is the only option for "un-deduping" a filesystem.

zfs send/recv from the deduped filesystem to one with dedup=off.  Then
delete the deduped filesystem.

Note:  a "zfs destroy" will use a lot of RAM as it has to go through
an update all the DDT entries.  You may have to manually delete
individual snapshots, and then manually delete individual directories
in the filesystem, before destroying the actual filesystem.  You may
run into a situation where you don't have enough RAM/ARC to destroy a
deduped filesystem.

-- 
Freddie Cash
fjwcash at gmail.com


More information about the freebsd-fs mailing list