ONTAP RAID & Disk Management Deep Dive
The layer beneath an aggregate: parity layouts, RAID groups, drive geometry, spares, rebuilds, root storage, and deliberate replacement.
The layer model
A physical aggregate contains one or more RAID groups. Each group combines data drives with parity drives; WAFL sees the aggregate rather than placing a file on a chosen disk. RAID-DP protects each group with two parity calculations and is the normal default. RAID protects drive availability—it is not backup.
cluster::> storage aggregate show -fields raid-type,raid-size,raid-status
aggregate raid-type raid-size raid-status
aggr_data raid_dp 24 raid_dp, normal
aggr_root raid_dp 16 raid_dp, normalraid-size is the configured maximum group size, not necessarily every group's current count. Use storage aggregate show-status for plex, group, and disk membership.
RAID types ONTAP exposes
| Type | Failure tolerance per group | Position |
|---|---|---|
RAID-DP (raid_dp) | Any two disks | Default general-purpose choice. |
RAID-TEC (raid_tec) | Any three disks | Extra protection for long reconstruction exposure. |
RAID4 (raid4) | One disk | Legacy/special configurations. |
RAID0 (raid0) | None | Restricted/special use. |
The CLI does not offer generic RAID 5/6 names. RAID-DP is broadly analogous to dual-parity RAID 6, but is ONTAP-specific. Official documentation describes RAID-TEC support from ONTAP 9.4—not 9.11.1. Platform rules still vary; check your version and Hardware Universe.
cluster::> storage aggregate modify -aggregate aggr_archive -raidtype raid_tec
Warning: Changing RAID type adds a third parity disk to each RAID group.
Do you want to continue? {y|n}: y
cluster::> storage aggregate show -aggregate aggr_archive -fields raid-type
aggregate raid-type
aggr_archive raid_tecGroups, disk types, and geometry
Current CLI disk classes include capacity, performance, archive, solid-state, array, and virtual; solid-state includes SSD, SSD-CAP, and SSD-NVM. AFF is all-flash and can use NVMe or SSD media. FAS can use supported HDD and flash configurations. FCAL/SAS labels remain in older estates, but support is model-, shelf-, firmware-, and release-specific.
cluster::> storage disk show -fields disk,owner,disk-type,container-type,usable-size
disk owner disk-type container-type usable-size
1.0.0 node1 SSD-NVM aggregate 1.75TB
1.0.23 node1 SSD-NVM spare 1.75TBA larger replacement can be right-sized to existing geometry, leaving extra capacity unusable. There is no universal 28-disk maximum: defaults and limits vary by RAID type, disk class, platform, and release.
cluster::> storage aggregate show-status -aggregate aggr_data
Plex /aggr_data/plex0, normal, active
RAID Group /aggr_data/plex0/rg0, normal
Position Disk Type Size Status
dparity 1.0.0 SSD-NVM 1.75TB normal
parity 1.0.1 SSD-NVM 1.75TB normal
data 1.0.2 SSD-NVM 1.75TB normalSpare pool and growth
A hot spare is owned capacity outside an aggregate. A sick drive can trigger Rapid RAID Recovery to copy readable blocks; a hard failure reconstructs missing data onto a compatible spare. Spare policy and partitioning vary. There is no documented storage aggregate add-spare command.
cluster::> storage aggregate show-spare-disks -owner-name node1
Original Owner: node1
Pool0
Disk Type Usable Physical
1.0.23 SSD-NVM 1.75TB 1.92TBBefore growth, inspect matching spares, RAID-group fill, and shelf fault domains. Adding disks is persistent and may form a new group.
cluster::> storage aggregate add-disks -aggregate aggr_data -diskcount 4
Info: disks 1.0.20, 1.0.21, 1.0.22, 1.0.23 will be added.
Do you want to continue? {y|n}: y
[Job 417] Job succeeded: Add disks completed.Failure, degraded state, and replacement
Degraded means redundancy is reduced but the group can serve data within its parity tolerance. Offline means the aggregate is not serving volumes. If a further fault exceeds tolerance, follow the aggregate-offline runbook.
cluster::> storage disk show -fields disk,container-type,state,owner
disk container-type state owner
1.0.7 aggregate broken node1
1.0.23 spare present node1
cluster::> storage aggregate show -aggregate aggr_data -fields raid-status,state
aggregate raid-status state
aggr_data raid_dp, reconstruct onlinecluster::> storage aggregate show-status -aggregate aggr_data
RAID Group /aggr_data/plex0/rg0, reconstruct
Disk 1.0.23: reconstructing, 63% completeFor a readable member, deliberate replacement copies to a compatible spare. Confirm both IDs and the supported FRU procedure first.
cluster::> storage disk replace -disk 1.0.7 -replacement 1.0.23 -action start
Info: Rapid RAID Recovery started from 1.0.7 to 1.0.23.Root aggregates and SyncMirror
Each node's root aggregate contains its root volume and system configuration. Root-data partitioning lets drives contribute root and data partitions. Do not assume a universal two-disk minimum; platform provisioning determines layout.
SyncMirror gives an aggregate two plexes in separate pools and writes both synchronously. -mirror true plus a mirror disk list creates it in supported configurations; it is central to MetroCluster and is not SnapMirror.
cluster::> storage aggregate create -aggregate aggr_mirror -node node1 -disklist 1.0.0,1.0.1,1.0.2 -mirror true -mirror-disklist 2.0.0,2.0.1,2.0.2
cluster::> storage aggregate show -aggregate aggr_mirror -fields mirror,raid-status
aggregate mirror raid-status
aggr_mirror true raid_dp, mirrored, normalRAID-TEC or RAID-DP?
DP spends two parity drives per group and TEC spends three. The third parity lowers the chance an additional fault during a long rebuild exhausts protection, at a capacity cost. Large HDDs, high utilization, slow rebuild conditions, or strict durability goals strengthen TEC's case. Flash and smaller/faster groups may favor DP. Simple independent-drive probability math understates correlated shelf, firmware, and environmental failures.
Operational rule
Keep compatible spares, alert on degradation immediately, and preserve rebuild headroom. Test HA, snapshots, replication, and backup recovery too.