---
name: "zpool-split"
section: "8"
platform: "freebsd"
package: "base"
version: "16.0-CURRENT-20261027-61c70dc16a79"
release: "FreeBSD 16.0-CURRENT (2026-10-27)"
platforms: ["linux", "freebsd"]
url: "https://new.carta.tech/zpool-split"
---

# zpool-split(8)

split devices off ZFS storage pool, creating new pool

## NAME

**zpool-split** – split devices off ZFS storage pool, creating new pool

## SYNOPSIS

**zpool** **split** \[**-gLlnP**\] \[**-o** *property*=*value*\]… \[**-R** *root*\] *pool* *newpool* \[*device*\]…

## DESCRIPTION

Splits devices off *pool* creating *newpool*. All vdevs in *pool* must be mirrors and the pool must not be in the process of resilvering. At the time of the split, *newpool* will be a replica of *pool*. By default, the last device in each mirror is split from *pool* to create *newpool*.

The optional device specification causes the specified device(s) to be included in the new *pool* and, should any devices remain unspecified, the last device in each mirror is used as would be by default.

*newpool* gets a new GUID. On Linux, the filesystems of *newpool* thus get a new filesystem UUID at their first mount; see the **guid** property in [zfsprops(7)](/zfsprops/7.md) and the effect on overlayfs in the Filesystem UUIDs and Overlayfs section of [zpool-reguid(8)](/zpool-reguid/8.md).

- **-g**

  Display vdev GUIDs instead of the normal device names. These GUIDs can be used in place of device names for the zpool detach/offline/remove/replace commands.

- **-L**

  Display real paths for vdevs resolving all symbolic links. This can be used to look up the current block device name regardless of the */dev/disk/* path used to open it.

- **-l**

  Indicates that this command will request encryption keys for all encrypted datasets it attempts to mount as it is bringing the new pool online. Note that if any datasets have **keylocation**=**prompt**, this command will block waiting for the keys to be entered. Without this flag, encrypted datasets will be left unavailable until the keys are loaded.

- **-n**

  Do a dry-run ("No-op") split: do not actually perform it. Print out the expected configuration of *newpool*.

- **-P**

  Display full paths for vdevs instead of only the last component of the path. This can be used in conjunction with the **-L** flag.

- **-o** *property*=*value*

  Sets the specified property for *newpool*. See the [zpoolprops(7)](/zpoolprops/7.md) manual page for more information on the available pool properties.

- **-R** *root*

  Set **altroot** for *newpool* to *root* and automatically import it.

## SEE ALSO

[zpool-import(8)](/zpool-import/8.md), [zpool-list(8)](/zpool-list/8.md), [zpool-remove(8)](/zpool-remove/8.md)
