ONTAP RAID & Disk Management Deep Dive

The layer beneath an aggregate: parity layouts, RAID groups, drive geometry, spares, rebuilds, root storage, and deliberate replacement.

Aggregate with two RAID-DP groupsAGGREGATE → RAID GROUPS → DISKSrg0DATA · DATA · DATAPARITY · DPrg1DATA · DATA · DATAPARITY · DP
Each RAID group has its own parity and failure boundary; WAFL allocates through the aggregate.

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, normal

raid-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

TypeFailure tolerance per groupPosition
RAID-DP (raid_dp)Any two disksDefault general-purpose choice.
RAID-TEC (raid_tec)Any three disksExtra protection for long reconstruction exposure.
RAID4 (raid4)One diskLegacy/special configurations.
RAID0 (raid0)NoneRestricted/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_tec

Groups, 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.75TB

A 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 normal

Spare 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.92TB

Before 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 online
cluster::> storage aggregate show-status -aggregate aggr_data
RAID Group /aggr_data/plex0/rg0, reconstruct
 Disk 1.0.23: reconstructing, 63% complete

For 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, normal

RAID-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.

Official sources