Storage Fundamentals
Computer storage keeps data beyond the lifetime of a process. Storage systems expose that data as blocks, files, or objects and combine media, controllers, networks, software, and protection policies into one service.
itStorage, backup, and data protection | OpenSkills.info
Course pathWalk it in order
Look it upDip in anytime
Go furtherLeaves this page
Don't Panic
Don't Panic — Storage Fundamentals
A storage service is what turns retained data into something an application can ask for again. The disk is only one member of the cast. There is also an interface, a namespace, a request path, media, caches, controllers, and a recovery plan. Calling all of that the disk is how an innocent-looking diagram becomes a small work of fiction.
The first fork in the road is the access model. Block storage gives a host numbered blocks, which leaves that host to create partitions and file systems. File storage gives clients named files and directories through a shared service. Object storage gives an application objects, identifiers, metadata, and an API. These are not three spellings for capacity. They decide who owns the namespace and which applications can use it without pretending to be something else.
Capacity also has a habit of putting on a false moustache. Raw capacity is installed media. Usable capacity has already paid for mirrors, parity, formatting, metadata, reserved space, and headroom. Performance is similarly uncooperative: IOPS, throughput, and latency only mean something beside request size, read and write mix, randomness, concurrency, queue depth, cache state, and working-set size. Averages can remain perfectly calm while tail latency is having a difficult afternoon.
The serious distinction is between availability, durability, and recovery. A service answering requests now is not the same promise as acknowledged data surviving a failure, and neither proves that lost or corrupted data can be restored. A failure domain is the set of components that fail together; copies inside one controller, power, network, site, software, or credential boundary are not independent for that failure. The Cheatsheet keeps the definitions close. The Slides show the choices as a system. Field Notes concentrates on the assumptions that fail in practice. The Reference tab is where exact product and protocol behavior stops being politely general.
Where this skill leads
Relevant careers
See how this topic contributes to broader role-level skill maps.
Sources
- https://www.snia.org/sites/default/files/dictionary/SNIADictionary.pdf
Supports
- Current vendor-neutral storage terminology
- Definitions for block, file, object, RAID, NAS, SAN, LUN, availability, and data protection
- https://www.snia.org/sites/default/files/certification/SNIA%20Storage%20Foundations%202-day%20description%202016.pdf
Supports
- Storage foundations scope including access models, performance, capacity, RAID, NAS, SAN, and protection
- https://docs.redhat.com/en/documentation/red_hat_enterprise_linux/10/html/managing_storage_devices/overview-of-available-storage-options
Supports
- Local and remote storage categories
- Block, file, LVM, iSCSI, Fibre Channel, NVMe, and multipath relationships
- https://fio.readthedocs.io/en/master/fio_doc.html
Supports
- fio job options for request pattern, block size, queue depth, direct I/O, output format, and file-backed test jobs
- https://www.ibm.com/history/ramac
Supports
- IBM 305 RAMAC and the first random-access disk drive in 1956
- https://www2.eecs.berkeley.edu/Pubs/TechRpts/1987/5853.html
Supports
- 1987 RAID technical report and its redundant disk-array model
- https://www.rfc-editor.org/info/rfc1094/
Supports
- NFS Network File System Protocol specification published in March 1989
- https://www.rfc-editor.org/rfc/rfc3720.html
Supports
- iSCSI Internet Standards Track protocol published in April 2004
- https://openzfs.org/w/index.php?mobileaction=toggle_view_desktop&title=History
Supports
- ZFS source release as part of OpenSolaris in 2005
- https://aws.amazon.com/s3/
Supports
- Amazon S3 launch on March 14, 2006 and its object-storage interface
- https://www.usenix.org/conference/osdi-06/ceph-scalable-high-performance-distributed-file-system
Supports
- Ceph distributed storage paper presented at OSDI in 2006
- https://www.nvmexpress.org/wp-content/uploads/NVMe-QA-021914.pdf
Supports
- NVM Express specification version 1.0 release on March 1, 2011
- https://nvmexpress.org/nvm-express-over-fabrics-specification-released/
Supports
- NVM Express over Fabrics specification release in June 2016
- https://docs.ceph.com/en/latest/architecture/
Supports
- Ceph block, file, and object interfaces over a common distributed storage cluster
- https://www.netapp.com/data-storage/ontap/
Supports
- NetApp ONTAP storage platform
- https://www.dell.com/en-us/shop/ipovw/powerstore-t-series
Supports
- Dell PowerStore block and file storage interfaces
- https://www.purestorage.com/products/storage/flasharray.html
Supports
- Pure Storage FlashArray block storage platform
- https://www.ibm.com/flashsystem
Supports
- IBM FlashSystem storage platform
- https://azure.microsoft.com/products/storage/blobs/
Supports
- Azure Blob Storage object-storage service
- https://aws.amazon.com/blogs/storage/implementing-restore-testing-for-recovery-validation-using-aws-backup/
Supports
- Restore testing as validation of recovery points
