ZPOOL-SPLIT(8)

πŸ’– zpool-split πŸ’–

okay so bestie, welcome to zpool-split(8) from the System Manager's Manual β€” yes it's a section 8 page, yes it's about splitting devices off a ZFS storage pool and making a whole new pool out of them. sit down, hydrate, let's go 🫢


✨ NAME ✨

zpool-split β€” split devices off ZFS storage pool, creating new pool. it's giving "i'm taking my half and leaving" πŸ’…


🌸 SYNOPSIS 🌸

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

πŸ¦‹ DESCRIPTION πŸ¦‹

So here's the tea: this splits devices off pool, creating newpool. two conditions, no exceptions:

  • All vdevs in pool must be mirrors. every single one. no raidz besties allowed.
  • pool must not be in the process of resilvering. do not do this mid-resilver, i'm serious 😭

At the time of the split, newpool will be a replica of pool. iconic. 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. so like β€” you name some, the rest get the default treatment. periodt ✨


πŸŽ€ the flags πŸŽ€

  • -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. so useful, no cap πŸ‘‘
  • -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. detective energy πŸ”
  • -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. so like, it will literally just sit there. without this flag, encrypted datasets will be left unavailable until the keys are loaded. your call bestie πŸ™ˆ
  • -n β€” do a dry-run ("No-op") split: do not actually perform it. print out the expected configuration of newpool. rehearsal era, nothing gets touched 🌈
  • -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. they're a duo fr fr 🫢
  • -o property=value β€” sets the specified property for newpool. see the zpoolprops(7) manual page for more information on the available pool properties. customization slay ✨
  • -R root β€” set altroot for newpool to root and automatically import it. hands-free import, we love her πŸ’–

🌈 SEE ALSO 🌈


lowkey important: mirror vdevs only, and no resilver in progress. that's the whole vibe check. don't skip it πŸ’€

and that's the page!! brought to you by the fine folks at OpenZFS, dated July 11, 2022 β€” go split a pool, you've got this πŸ‘‘πŸ’–

πŸ“¦ where this page comes from