Clarify 'zpool remove' restrictions

Update zpool(8) to clarify what type of vdevs may be safely
removed and that the existence of any top-level raidz device
which is part of the primary pool will prevent device removal.

Reviewed by: Matthew Ahrens <mahrens@delphix.com>
Signed-off-by: Tim Chase <tim@chase2k.com>
Signed-off-by: Brian Behlendorf <behlendorf1@llnl.gov>
Closes #7880 
Closes #7893
This commit is contained in:
Brian Behlendorf 2018-09-17 17:28:18 -07:00 committed by GitHub
parent 5140a58f3b
commit 2ced3cf0b2
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -1926,8 +1926,10 @@ result in partially resilvered devices unless a second scrub is performed.
.Ar pool Ar device Ns ...
.Xc
Removes the specified device from the pool.
This command currently only supports removing hot spares, cache, log
devices and mirrored top-level vdevs (mirror of leaf devices); but not raidz.
This command supports removing hot spare, cache, log, and both mirrored and
non-redundant primary top-level vdevs, including dedup and special vdevs.
When the primary pool storage includes a top-level raidz vdev only hot spare,
cache, and log devices can be removed.
.sp
Removing a top-level vdev reduces the total amount of space in the storage pool.
The specified device will be evacuated by copying all allocated space from it to
@ -1938,8 +1940,10 @@ command initiates the removal and returns, while the evacuation continues in
the background.
The removal progress can be monitored with
.Nm zpool Cm status.
This feature must be enabled to be used, see
.Xr zpool-features 5
The
.Sy device_removal
feature flag must be enabled to remove a top-level vdev, see
.Xr zpool-features 5 .
.Pp
A mirrored top-level device (log or data) can be removed by specifying the top-level mirror for the
same.