TrueNASTrueNAS Nightly Development Documentation
This content follows experimental nightly development software. Pre-release software is intended for testing purposes only.
Use the Product and Version selectors above to view content specific to a stable software release.

Create Pool

TrueNAS uses ZFS data storage pools to efficiently store and protect data.

What is a pool?

Storage pools attach drives organized into virtual devices called VDEVs. Drives arranged inside VDEVs provide varying amounts of redundancy and performance. ZFS and VDEVs combined create high-performance pools that maximize data lifetime.

ZFS and TrueNAS periodically review and heal when discovering a bad block in a pool.

Reviewing Storage Needs

We strongly recommend that you review your available system resources and plan your storage use case before creating a storage pool. Consider the following:

  • Allocating more drives to a pool increases redundancy when storing critical information.
  • Maximizing total available storage at the expense of redundancy or performance entails allocating large-volume disks and configuring a pool for minimal redundancy.
  • Maximizing pool performance entails installing and allocating high-speed SSD drives to a pool.

Security requirements can mean the pool must be created with ZFS encryption.

RAIDz pool layouts are well-suited for general use cases and especially smaller (<10) data VDEVS or storage scenarios that involve storing multitudes of small data blocks.

dRAID pool layouts are useful in specific situations where large disk count (>100) arrays need improved resilver times due to increased disk failure rates and the array is intended to store large data blocks.

TrueNAS recommends defaulting to a RAIDz layout generally and whenever a dRAID vdev would have fewer than 10 data storage devices.

Determining your specific storage requirements is a critical step before creating a pool. The ZFS and dRAID primers provide a starting point to learn about the strengths and costs of different storage pool layouts. You can also use the ZFS Capacity Calculator and ZFS Capacity Graph to compare configuration options.

Creating a Pool

Click Create Pool to open the Pool Creation Wizard.

Pool Creation Wizard Fields (Click to expand)

This wizard screen lets you configure a VDEV using the Automated Disk Selection fields. To individually find and select disks for a VDEV, click Manual Disk Selection in the Advanced Options area.

Choosing a dRAID VDEV layout removes the Manual Disk Selection button and adds different options to the Automated Disk Selection area. It also removes the Spare VDEV section from the pool creation wizard and replaces it with the Distributed Hot Spares option in the Data VDEV section.

VDEV Layouts

  • Stripe

    Designates that each disk is used sequentially in the VDEV. Requires at least one disk and has no redundancy. A data VDEV with a stripe layout irretrievably loses all stored data if a single disk in the VDEV fails. Not recommended for data VDEVs storing critical data.

  • Mirror

    Denotes that each disk in the VDEV stores an exact data copy. Requires at least 2 disks in the VDEV. Storage capacity is the size of a single disk in the VDEV.

  • RAIDZ and dRAID

    Each of these layouts has 1, 2, and 3 options. The options indicate the number of disks reserved for data parity and the number of disks that can fail in the VDEV without data loss to the pool. For example, a RAIDZ2 layout reserves two additional disks for parity, and two disks can fail without data loss.

Automated Disk Selection - Stripe, Mirror, and RAIDZ layouts

SettingDescription
Disk SizeSelect the disk size from the list that displays. The list shows disks by size in GiB and type (SSD or HDD).
Treat Disk Size as MinimumSelect to use disks of the size selected in Disk Size or larger. If not selected, only disks of the size selected in Disk Size are used.
WidthSelect the number of disks from the options provided on the dropdown list.
Number of VDEVsSelect the number of VDEVs from the options provided on the dropdown list.

Automated Disk Selection - dRAID layouts

Similar to RAIDZ, dRAID layout numbers (1, 2, or 3) indicate the parity level and how many disks can fail without data loss to the pool.

TrueNAS defaults to allocating 10 disks minimum as dRAID VDEV in Children. If creating a data VDEV with fewer than 10 disks, using a RAIDZ layout is strongly recommended for better performance and capacity optimization.

SettingDescription
Disk SizeSelect the disk size from the list that displays. The list shows disks by size in GiB and type (SSD or HDD).
Treat Disk Size as MinimumSelect to use disks of the size selected in Disk Size or larger. If not selected, only disks of the size selected in Disk Size are used.
Data DevicesData stripe width for the VDEV. Select the number of disks from the options provided on the dropdown list. TrueNAS recommends that dRAID layouts have data devices allocated in multiples of 2.
Distributed Hot SparesNumber of disk areas to actively provide spare capacity to the entire VDEV. These areas are active within the pool and function in of adding a Spare VDEV to the pool. It is recommended to set this to at least 1. The Distributed Hot Spares number cannot be modified after the pool is created.
ChildrenThe total number of disks to allocate in the dRAID VDEV. The field selection and options update dynamically based on the chosen dRAID Layout, Disk Size, Data Devices, and Distributed Hot Spares. Increasing the number of Children in the dRAID VDEV can reduce the options for Number of VDEVs.
Number of VDEVsSelect the number of VDEVs from the options provided on the dropdown list. Options are populated dynamically depending on the selections made in all the other fields.

Enclosure Option only shows for iXsystems-provided systems with expansion shelves.

You can rename your enclosure on the Enclosure Screen to include the rack and U number in the name, which helps identify the physical location while in the pool creation screen.
  1. Enter a name of up to 50 lowercase alpha-numeric characters. Use only the permitted special characters that conform to ZFS naming conventions. The pool name contributes to the maximum character length for datasets, so it is limited to 50 characters.

    You cannot change the pool name after creation.
  2. (Enterprise systems only) Select the Enclosure Option to apply the dispersal strategy of your choice. Only shows for iXsystems-provided systems with expansion shelves.

    No Enclosure Dispersal Strategy does not apply a dispersal strategy in how the system adds disks by size and type to the pool VDEVs created when using the Automated Disk Selection option. Does not show additional options. Disks added to the pool VDEVs are assigned in sequence based on disk availability and are not balanced across all enclosures.

    Maximum Dispersal Strategy applies a maximum dispersal strategy in how the system adds disks by size and type to the pool VDEVs created when using the Automated Disk Selection option. This balances disk selection across all enclosures and available disks. Does not show additional options. Disks added to the pool VDEVs are spread across all available enclosure disks.

    Limit Pool To A Single Enclosure applies a minimum dispersal strategy in how the system adds disks by size and type to the pool VDEVs created when using the Automated Disk Selection option. Select the expansion shelf option on the Enclosure dropdown. Disks added to the pool VDEVs are spread across the enclosure disks that align with the selection in Enclosure.

  3. Create the required data VDEV.

    Select the layout from the Layout dropdown list, then either use the Automated Disk Selection fields to select and add the disks, or click Manual Disk Selection to add specific disks to the chosen Layout.

    dRAID layouts do not show the Manual Disk Selection button but do show additional Automated Disk Selection fields. When configuring a dRAID data VDEV, first choose a Disk Size then select a Data Devices number. The remaining fields update based on the Data Devices and dRAID layout selections.

    The Pool Creation Wizard does not allow creating a dRAID pool with an arbitrary number of children, and enforces D+P=C at a minimum, and then increments by multiples of D+C. Where D is data devices, P is parity, and C is children.

    This layout has several advantages over requiring each row to contain whole number of groups:

    • Group count - Group count is not a relevant parameter when defining a dRAID layout. Only the group width is needed, and all groups have the desired size.
    • Group widths - All possible group widths (greater than or equal to physical disk count) can be supported.

    The logic within the dRAID is simplified when the group width is the same for all groups, although some of the logic around computer permutation numbers and drive offsets is more complicated.

    See vdev_draid.c for more information.

    Click Save And Go To Review if you do not want to add other VDEV types to the pool, or click Next to move to the next wizard screens.

  4. Add any other optional VDEVs as determined by your specific storage redundancy and performance requirements.

  5. Click Create Pool on the Review wizard screen to add the pool.