Physical disks

Concept

Not yet checked against a primary source — how the pages are sourced

The raw drives, hard disks or SSDs, each with its own capacity and its own interface: SATA, SAS or NVMe. On its own a disk just holds data, with no protection and no help from anything above it. Every layer above exists to turn a set of them into something more useful than one disk at a time.

A physical disk is one device: a spinning hard drive or a solid-state drive, with a capacity, an interface, and an address space of its own, sectors numbered from 0 to the last (the segmentation entry says how an array maps its sectors onto these). It is the basic unit of everything on these pages: a drive group gathers disks, a span lays them out, a virtual drive is what they are presented as.

The interface is part of the path

The interface a disk speaks decides how it reaches the raid engine:

  • SATA and SAS disks plug into a backplane or directly into a controller, and their commands are carried by an HBA, which translates the disk protocol to what the host bus speaks.
  • NVMe disks speak PCIe themselves. There is no protocol to translate and no HBA in the way: the disk sits on the same bus as the CPU and the controller cards, which is what makes it fast and what makes it a special case in every layout that assumes a backplane.

A mixed set is allowed by the layers above, but the interface is chosen per disk and cannot be changed by anything above it.

What a disk contributes

To an array, a disk is capacity and one unit of parallelism. Its size sets what the layout can use: a striped span takes the same amount from every member, so a larger disk contributes only as much as the smallest, while a linear one takes each disk whole. Its speed is one disk's speed, and the striping above it is how several such speeds are added.

Sources

  • md(4) man page — RAID0 uses each device up to the size of the smallest in the zone; LINEAR catenates the whole of each