Following is the storage hierarchy for the WAFL file system:
shares and LUNs
FlexVol volumes
aggregates
plexes
RAID groups
Disks (data, parity, spares) or LUNs from an external array
Disks are collected into RAID groups. Currently a RAID group containing Fibre Channel disks is limited to at most 28 disks (2 disk shelves). Either standard RAID 4 or RAID 6 is used for protection against single and double disk failures, respectively, in a RAID group. The V-Series product does not need to use physical disks, but instead can import LUNs from external arrays; it then treats them just as though they were disks (they even show up in disk_info commands and APIs). However, because the external array is presumed to be already offering RAID protection, the gateway product uses the imported LUNs in a RAID 0 configuration with no parity.
RAID groups are collected into plexes. The current maximum size of a plex is 16 TB.
Plexes are organized into aggregates. In a typical configuration, there is one plex per aggregate. Highly risk-averse environments use two plexes per aggregate. The two must be topologically identical, and are mirrored at the RAID level.
Aggregates are physical volumes. Prior to Data ONTAP 7.0, each physical volume had its own file system. This arrangement is still possible, but deprecated. When it is used, the resulting volume is called a traditional volumes.
Data ONTAP 7.0 introduced FlexVol volumes. In this system, the link between physical and logical storage is optional, and exists only for traditional volumes. FlexVol volumes are virtualized volumes that can be grown and shrunk, but have a minimum size of 20 MB. Any number of FlexVol volumes, up to a limit that is currently at 4,096 in Data ONTAP 7.2, can be provisioned on a single aggregate. The total nominal size of the FlexVol volumes in a given aggregate is arbitrary; it is perfectly reasonable to allocate 100 1 TB FlexVol volumes on a 16 TB aggregate, but a write to one of them that causes the total used space in the aggregate to exceed 16 TB will fail.
It might help in understanding FlexVol space usage to think of how quotas work. Administrators routinely provision 1,000 users with 10G quotas each on storage that amounts to one or two TB. The quotas represent a "promise" to the user that they can use space up to their quota. The amount of actual space used, though, is what the administrator tracks and provisions to. In the world of FlexVol volumes, the nominal size of the FlexVol volumes functions much like a quota. It is only a limit on the amount of space that can be used in a given FlexVol, not an indication of how much physical storage is backing it.
Related Topics