Reaction score: 99
phoenix said:Not currently. The "block pointer rewrite" feature is what's needed for this (online defragmenting) and a host of other features (migrating between vdev types, removing vdevs from the pool, etc).
It's under development and people are actively working on it, but it's not yet available as part of any ZFS release.
Keep pool space under 80% utilization to maintain pool performance. Currently, pool performance can degrade when a pool is very full and file systems are updated frequently, such as on a busy mail server. Full pools might cause a performance penalty, but no other issues. If the primary workload is immutable files (write once, never remove), then you can keep a pool in the 95-98% utilization range. Keep in mind that even with mostly static content in the 95-98% range, write, read, and resilvering performance might suffer.