mirror of
https://git.proxmox.com/git/mirror_zfs.git
synced 2024-11-17 10:01:01 +03:00
b36069ab88
Reviewed-by: Brian Behlendorf <behlendorf1@llnl.gov> Signed-off-by: Ahelenia Ziemiańska <nabijaczleweli@nabijaczleweli.xyz> Closes #13228
154 lines
4.5 KiB
Groff
154 lines
4.5 KiB
Groff
.\"
|
|
.\" CDDL HEADER START
|
|
.\"
|
|
.\" The contents of this file are subject to the terms of the
|
|
.\" Common Development and Distribution License (the "License").
|
|
.\" You may not use this file except in compliance with the License.
|
|
.\"
|
|
.\" You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
|
|
.\" or http://www.opensolaris.org/os/licensing.
|
|
.\" See the License for the specific language governing permissions
|
|
.\" and limitations under the License.
|
|
.\"
|
|
.\" When distributing Covered Code, include this CDDL HEADER in each
|
|
.\" file and include the License file at usr/src/OPENSOLARIS.LICENSE.
|
|
.\" If applicable, add the following below this CDDL HEADER, with the
|
|
.\" fields enclosed by brackets "[]" replaced with your own identifying
|
|
.\" information: Portions Copyright [yyyy] [name of copyright owner]
|
|
.\"
|
|
.\" CDDL HEADER END
|
|
.\"
|
|
.\" Copyright (c) 2007, Sun Microsystems, Inc. All Rights Reserved.
|
|
.\" Copyright (c) 2012, 2018 by Delphix. All rights reserved.
|
|
.\" Copyright (c) 2012 Cyril Plisko. All Rights Reserved.
|
|
.\" Copyright (c) 2017 Datto Inc.
|
|
.\" Copyright (c) 2018 George Melikov. All Rights Reserved.
|
|
.\" Copyright 2017 Nexenta Systems, Inc.
|
|
.\" Copyright (c) 2017 Open-E, Inc. All Rights Reserved.
|
|
.\"
|
|
.Dd March 16, 2022
|
|
.Dt ZPOOL-REMOVE 8
|
|
.Os
|
|
.
|
|
.Sh NAME
|
|
.Nm zpool-remove
|
|
.Nd remove devices from ZFS storage pool
|
|
.
|
|
.Sh SYNOPSIS
|
|
.Nm zpool
|
|
.Cm remove
|
|
.Op Fl npw
|
|
.Ar pool Ar device Ns …
|
|
.Nm zpool
|
|
.Cm remove
|
|
.Fl s
|
|
.Ar pool
|
|
.
|
|
.Sh DESCRIPTION
|
|
.Bl -tag -width Ds
|
|
.It Xo
|
|
.Nm zpool
|
|
.Cm remove
|
|
.Op Fl npw
|
|
.Ar pool Ar device Ns …
|
|
.Xc
|
|
Removes the specified device from the pool.
|
|
This command supports removing hot spare, cache, log, and both mirrored and
|
|
non-redundant primary top-level vdevs, including dedup and special vdevs.
|
|
.Pp
|
|
Top-level vdevs can only be removed if the primary pool storage does not contain
|
|
a top-level raidz vdev, all top-level vdevs have the same sector size, and the
|
|
keys for all encrypted datasets are loaded.
|
|
.Pp
|
|
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
|
|
the other devices in the pool.
|
|
In this case, the
|
|
.Nm zpool Cm remove
|
|
command initiates the removal and returns, while the evacuation continues in
|
|
the background.
|
|
The removal progress can be monitored with
|
|
.Nm zpool Cm status .
|
|
If an I/O error is encountered during the removal process it will be cancelled.
|
|
The
|
|
.Sy device_removal
|
|
feature flag must be enabled to remove a top-level vdev, see
|
|
.Xr zpool-features 7 .
|
|
.Pp
|
|
A mirrored top-level device (log or data) can be removed by specifying the top-level mirror for the
|
|
same.
|
|
Non-log devices or data devices that are part of a mirrored configuration can be removed using
|
|
the
|
|
.Nm zpool Cm detach
|
|
command.
|
|
.Bl -tag -width Ds
|
|
.It Fl n
|
|
Do not actually perform the removal
|
|
.Pq Qq No-op .
|
|
Instead, print the estimated amount of memory that will be used by the
|
|
mapping table after the removal completes.
|
|
This is nonzero only for top-level vdevs.
|
|
.El
|
|
.Bl -tag -width Ds
|
|
.It Fl p
|
|
Used in conjunction with the
|
|
.Fl n
|
|
flag, displays numbers as parsable (exact) values.
|
|
.It Fl w
|
|
Waits until the removal has completed before returning.
|
|
.El
|
|
.It Xo
|
|
.Nm zpool
|
|
.Cm remove
|
|
.Fl s
|
|
.Ar pool
|
|
.Xc
|
|
Stops and cancels an in-progress removal of a top-level vdev.
|
|
.El
|
|
.
|
|
.Sh EXAMPLES
|
|
.\" These are, respectively, examples 14 from zpool.8
|
|
.\" Make sure to update them bidirectionally
|
|
.Ss Example 1 : No Removing a Mirrored top-level (Log or Data) Device
|
|
The following commands remove the mirrored log device
|
|
.Sy mirror-2
|
|
and mirrored top-level data device
|
|
.Sy mirror-1 .
|
|
.Pp
|
|
Given this configuration:
|
|
.Bd -literal -compact -offset Ds
|
|
pool: tank
|
|
state: ONLINE
|
|
scrub: none requested
|
|
config:
|
|
|
|
NAME STATE READ WRITE CKSUM
|
|
tank ONLINE 0 0 0
|
|
mirror-0 ONLINE 0 0 0
|
|
sda ONLINE 0 0 0
|
|
sdb ONLINE 0 0 0
|
|
mirror-1 ONLINE 0 0 0
|
|
sdc ONLINE 0 0 0
|
|
sdd ONLINE 0 0 0
|
|
logs
|
|
mirror-2 ONLINE 0 0 0
|
|
sde ONLINE 0 0 0
|
|
sdf ONLINE 0 0 0
|
|
.Ed
|
|
.Pp
|
|
The command to remove the mirrored log
|
|
.Ar mirror-2 No is:
|
|
.Dl # Nm zpool Cm remove Ar tank mirror-2
|
|
.Pp
|
|
The command to remove the mirrored data
|
|
.Ar mirror-1 No is:
|
|
.Dl # Nm zpool Cm remove Ar tank mirror-1
|
|
.
|
|
.Sh SEE ALSO
|
|
.Xr zpool-add 8 ,
|
|
.Xr zpool-detach 8 ,
|
|
.Xr zpool-labelclear 8 ,
|
|
.Xr zpool-offline 8 ,
|
|
.Xr zpool-replace 8 ,
|
|
.Xr zpool-split 8
|