Hang when importing pool
Freddie Cash
fjwcash at gmail.com
Tue Jul 31 15:31:35 UTC 2012
On Mon, Jul 30, 2012 at 11:31 PM, Karli Sjöberg <Karli.Sjoberg at slu.se> wrote:
> I´m really struggling with this. I have had a pool with imported filesystems from a Solaris system that had dedup activated. Then, when the time came to erase them, it just stalled. When rebooting, it stalled again at mounting filesystems, and since then, I´ve installed two USB drives to act as root pool with FreeBSD-9.0-RELEASE so that I could import the original pool in recovery, but it always stalls after a couple of hours. Looking at top, I could see that the 16GB RAM was maxed out, so I have heavily tuned down kmem, arc, etc:
You're running out of RAM during the import, as it loads the DDT.
Stuff a bunch more RAM into the machine (32 GB, 48 GB, even 64 GB).
Then you will be able to load the full DDT into RAM, finish the
aborted destroy process, and import the pool.
We've run into this three or four times now on systems with dedupe
enabled and only 16 GB of RAM. We've since upgraded all our boxes to
a minimum of 32 GB, with one having 64 GB.
ZFS dataset destruction with dedupe enabled takes *a lot* of time and
RAM, as the DDT needs to be updated for every block freed. And
rebooting in the middle of a "zfs destroy" operation means that the
operation needs to finish at pool import time.
--
Freddie Cash
fjwcash at gmail.com
More information about the freebsd-fs
mailing list