CephI · Storage FundamentalsStorage Fundamentals
DAS, SAN, NAS — topology is not the same as primitive
What you'll learn
- Separate the access topology axis from the storage primitive axis
- Place DAS, SAN, NAS, and Ceph correctly on both axes
- Explain why Ceph is not a SAN and which SAN assumptions break
- Identify the failure modes that belong to the topology rather than the primitive
Prerequisites
None — start here.
Verified against Ceph Tentacle 20.2.x · Ceph Squid 19.2.x (supported previous) · cephadm matches the verified Ceph release · podman 4.x · csi-rbd and csi-cephfs current · RBD / CephFS / RGW current (matches Ceph release) · Linux kernel 5.15+ (5.10 minimum) · Ubuntu 24.04 LTS (Ceph host baseline) · Debian 12 (Bookworm) (Ceph host baseline) · Rocky Linux / RHEL / AlmaLinux 9.x (Ceph host baseline) · Proxmox VE 9.x (cross-course integration) · Kubernetes 1.31+ (cross-course integration) · 2026-08-18
Why this matters in production
Storage vocabulary mixes two independent axes and almost nobody says which one they mean. “We need a SAN” is a sentence about topology. “We need block storage” is a sentence about the primitive. They are routinely used as synonyms, and the confusion has consequences: it is why experienced storage engineers arrive at a Ceph cluster expecting multipath, LUN masking, and a fabric, and why their first incident is diagnosed against the wrong mental model.
Getting the two axes apart is a five-minute exercise that prevents years of miscommunication.
Two axes, not one
The primitive is what the storage does: block, file, or object. Covered in the preceding lessons.
The topology is how the consumer reaches it:
- DAS — Direct Attached Storage. The disk is on the machine’s own bus: SATA, SAS, NVMe over PCIe. No network. One consumer.
- SAN — Storage Area Network. Block devices reached over a dedicated storage fabric: Fibre Channel, iSCSI, FCoE, NVMe-oF. The fabric is its own thing, with its own switches, zoning, and multipath.
- NAS — Network Attached Storage. A filesystem reached over a general network with a file protocol: NFS, SMB.
flowchart TD
subgraph Topology["How you reach it"]
DAS[DAS<br/>local bus]
SAN[SAN<br/>storage fabric]
NAS[NAS<br/>file protocol]
CEPH[Ceph<br/>IP network, native clients]
end
subgraph Primitive["What it does"]
B[Block]
F[File]
O[Object]
end
DAS --> B
SAN --> B
NAS --> F
CEPH --> B
CEPH --> F
CEPH --> O
Notice that the topology row constrains the primitive row but does not determine it. A SAN serves block. A NAS serves file. DAS serves block. Ceph is the one that serves all three, over an ordinary IP network, using clients that speak its own protocol.
Why Ceph is not a SAN
This is the comparison that causes real trouble, because RBD and a SAN LUN look identical from inside the VM. The differences are all below that line:
| SAN | Ceph RBD | |
|---|---|---|
| Transport | dedicated fabric (FC, iSCSI) | the IP network you already have |
| Path redundancy | multipath, host-side | replicas, cluster-side |
| Failure unit | controller, fabric, path, LUN | OSD, host, PG, MON quorum |
| Adding capacity | new tray, often a forklift | add OSDs, CRUSH rebalances |
| Where redundancy lives | in the array’s RAID | in CRUSH placement |
| What “degraded” means | a failed path or disk in a RAID set | PGs with fewer than size copies |
The practical consequences:
- There is no multipath to configure. A SAN engineer’s instinct
is to check paths when latency rises. In Ceph the equivalent
question is which OSD is slow, and the tool is
ceph osd perf, notmultipath -ll. - There is no controller to fail over. There is a MON quorum to maintain, and losing it stops the cluster in a way no SAN controller failure does.
- Capacity growth is incremental and self-balancing, which is genuinely better — and it means adding a node triggers hours of backfill that a SAN expansion would not.
Where NAS still wins
Honesty about the alternatives is part of the design conversation. A well-run NFS server on a single box is simpler than a Ceph cluster, has lower latency for small metadata operations, and needs one machine’s worth of operational attention. If the requirement is “twelve hosts share 8 TiB and it must be simple”, CephFS is a large answer to a small question.
Ceph earns its complexity when you need one or more of: capacity that outgrows a single chassis, failure tolerance without a second array, several primitives from one pool of hardware, or growth without forklift upgrades. If none of those apply, the honest recommendation may be a NAS.
Quiz
Knowledge check · 4 questions
Q1. A storage engineer joining the team asks which multipath configuration the Ceph cluster uses for its RBD volumes. What is the correct response?
Q2. DAS, SAN, and NAS describe how storage is reached, while block, file, and object describe what the storage does — so a system can be described by one term from each axis.
Q3. A team migrating from a Fibre Channel SAN to Ceph reports that VM disk latency is worse and asks which fabric setting to tune. Walk the conversation and the actual investigation.
Previous: FC SAN, 16 Gb fabric, dual-path, array with NVMe cache tier. Now: Ceph on 10 GbE shared between client and cluster traffic, 3-way replication, SATA SSD OSDs, no separate cluster network. VM p99 write latency went from 2 ms to 14 ms. The team is asking about queue depth and fabric buffer credits.
Q4. Give the Ceph equivalent of each of these SAN concepts: multipath, controller failover, LUN, and RAID rebuild.
Passing score: 75%. Answers are checked in this browser.
Production discipline
Say which axis you mean. When someone asks for a SAN, establish whether they need block storage or a fabric, because Ceph gives one and not the other. Carry the translation table into incidents: multipath becomes CRUSH placement, controller failover becomes MON quorum, LUN becomes image, RAID rebuild becomes recovery. And hold the single-writer rule for RBD absolutely — the SAN instinct to present one volume to two hosts is the one imported habit that destroys filesystems.
Cross-course references
- Linux: Part XIII (Disks and Block Devices) and Part XVII (RAID) for the local and array-side comparisons.
- Proxmox: Part VII (Shared Storage) covers the NAS and SAN options alongside Ceph.
- VyOS: the network design parts are directly relevant, since Ceph replaces a fabric with your IP network.