zfs remove vdev functionality

Nikolay Denev ndenev at gmail.com
Thu Nov 8 19:39:14 UTC 2012


On Nov 8, 2012, at 7:49 PM, Daniel Kalchev <daniel at digsys.bg> wrote:

> I was thinking on how to implement vdev removal on ZFS and came to this idea:
> 
> If we can have an per-vdev flag that prohibits new allocations on the vdev, but permits reads and frees - then we could mark so  the vdev we intend to remove form the zpool and issue an scrub-like command that will rewrite all blocks allocated form that particular vdev. Since ZFS is COW, this will effectively move all blocks off that "no write" vdev and we can now detach it.
> 
> All this could be implemented with the new ZFS feature flags, so no version bumps etc are necessary.
> 
> Is there something I didn't think of?
> 
> Daniel
> _______________________________________________
> freebsd-fs at freebsd.org mailing list
> http://lists.freebsd.org/mailman/listinfo/freebsd-fs
> To unsubscribe, send any mail to "freebsd-fs-unsubscribe at freebsd.org"

I don't think this will be that easy, because of snapshots, clones etc.
There was a project that you are probably aware of called BP Rewrite (block pointer rewrite),
that was interrupted by Sun-Oracle merger. It very well may be still being worked on in Sun, who knows :)
The closest thing to your idea that I seem to find is this : https://www.illumos.org/issues/1051

Cheers,
Nikolay


More information about the freebsd-fs mailing list