TrueNAS Early Release Documentation
This content follows TrueNAS 27 releases.
Use the Product and Version selectors above to view content specific to a stable software release.
Creating Pools
12 minute read.
TrueNAS uses ZFS data storage pools to efficiently store and protect data.
We strongly recommend that you review your available system resources and plan your storage use case before creating a storage pool. Considerations:
- 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.
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.
Beyond the data VDEV layout, consider whether your workload benefits from optional VDEV types such as cache, log, and special VDEVS.
- Cache VDEVs extend read cache (L2ARC) using SSD, which can be a more cost-effective way to improve random-read performance for large working datasets than adding system RAM, especially given the current cost of memory. See L2ARC for details on when L2ARC helps and how to size it.
- Log VDEVs accelerate synchronous writes using a dedicated SLOG device, which is useful for workloads with heavy sync-write activity (databases, some VM/iSCSI use cases).
- Special VDEVs store metadata, and optionally, small file data on faster storage, which improves overall pool responsiveness.
Determining your specific storage requirements is a critical step before creating a pool. Include the alternative VDEV options in your data VDEV layout, since adding them after pool creation has more limitations than configuring them up front.
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.
Security requirements can mean the data must be protected with additional encryption.
Encrypting the root dataset (pool-level encryption) creates a single point of failure. Losing one key makes the entire pool inaccessible.
Best practice Do not enable encryption during pool creation. Instead, create an unencrypted pool with individually encrypted datasets and zvols. This allows independent key management, selective unlock, isolated failures, and simplified recovery.
Click Create Pool to open the Pool Creation Wizard.
Enter a name of up to 50 lowercase alpha-numeric characters. The pool name contributes to the maximum character length for datasets, so it is limited to 50 characters. Use only the permitted special characters that conform to ZFS naming conventions. Names can have upper or lowercase alphanumeric characters, but use lower-case alpha characters to avoid potential problems with sharing protocols. Names can have special characters such as underscore (_), hyphen (-), colon (:), or a period (.), but do not begin a pool name with a special character.
You cannot change the pool name after creation.Select the encryption option for the pool. Select None to create an unencrypted pool. We recommend not encrypting the pool root dataset or the system dataset. If creating a second pool on your system and you want to encrypt this pool, select Software Encryption (ZFS). All datasets created with this option selected are also encrypted by default.
TrueNAS EnterpriseIf your Enterprise system is licensed for and has SED drives, you can select Self-Encrypting Drives (SED) to create a pool with SED drives and encryption. You can only select SEDs when using Self-Encrypting Drives (SED) encryption.
Enter and confirm the global SED password. This applies to all SED drives in the system.
(Enterprise systems only) Select the Enclosure Option to apply the dispersal strategy of your choice.
Enclosure Option only shows for TrueNAS Enterprise systems with connected 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.The dispersal strategy sets how the system adds disks by size and type to the pool VDEVs created using the Automated Disk Selection option. Enclosures mentioned in the options below refer to the disk enclosures in the expansion shelves and main system chassis.
No Enclosure Dispersal Strategy does not apply a dispersal strategy and 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. This option balances disk selection across all enclosures and available disks and 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. 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.
Create the required data VDEV.
Select the layout from the Layout dropdown list, then 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.
ZFS allows groups to span multiple rows, which means it does not require each row to contain a whole number of redundancy groups. This layout has several advantages over requiring whole groups in each row:
- Group count - Group count is not a relevant parameter when defining a dRAID layout. ZFS only needs the group width and all groups will have the desired size.
- Group widths - ZFS can support all possible group widths (greater than or equal to the physical disk count).
ZFS determines the number of groups by the least common multiple (LCM) of the group width (D+P) and the number of physical drives minus spares (C-S). The logic within dRAID is simplified when the group width is the same for all groups, although some aspects, such as computing permutation numbers and drive offsets, are more complex. This flexible layout ensures even distribution of data and parity while maintaining high performance and resilvering efficiency.
See vdev_draid.c for more information.
Click Save And Go To Review if not adding other VDEV types to the pool or click Next to move forward to the next wizard screen.
Add optional VDEVs to suit your storage redundancy and performance requirements.
Cache VDEV considerations:
- Multiple devices reduce latency. Adding more than one cache device lets L2ARC reads spread across them, improving performance over a single device.
- Device speed matters more than capacity. A cache device that is significantly faster than your data storage devices makes better use of its capacity for sequential or streaming workloads, prioritizes low-latency, and high-throughput devices like Enterprise-grade NVMe.
- Size relative to ARC. L2ARC is most effective for random read-heavy workloads where the working dataset exceeds available RAM (ARC) but fits in the cache VDEV. An undersized cache device relative to your dataset provides limited benefit.
- Redundancy not needed. Cache VDEVs are always striped. A failed cache device does not affect pool data integrity, so mirroring is unnecessary.
See L2ARC for more information on L2ARC behavior and how write rates are managed.
Spare VDEV consideration:
- Manual replacement versus dedicated spare. Relying on alerts and manually replacing a failed disk is an option instead of dedicating a disk as a spare. dRAID uses distributed hot spares, so adding a spare VDEV is not needed for dRAID layouts.
Log VDEV consideration:
- Supports planned sync-write-heavy workloads, such as for databases, VM, or iSCSI uses. Use a mirror layout for redundancy.
Special VDEV considerations:
- Fusion pool metadata performance tradeoff. Special VDEVs move metadata (and optional small files, via special_small_blocks) off the slower data VDEV onto the faster storage, which is the point of a fusion pool. Special VDEVs must tolerate at least as many drive failures as the data VDEV, and do not support dRAID layouts.
- Redundancy-matching versus the risk of not giving the special VDEV redundancy matching your data VDEV, which can result in making the entire pool inaccessible!
Click Create Pool on the Review wizard screen to add the pool.






