LinuxXVIII · Enterprise StorageStorage taxonomy
SAN vs NAS vs object storage - which one to choose
What you'll learn
- Distinguish SAN, NAS, and object storage
- Match the storage type to the workload
- Recognise when each is the wrong choice
- Plan a storage tier that mixes them
Prerequisites
Verified against Ubuntu 24.04 LTS · Debian 12 (Bookworm) · RHEL 9.x · Rocky Linux 9.x · AlmaLinux 9.x · Linux kernel 6.1 LTS / 6.6 LTS · systemd 255+ · OpenSSH 8.7p1 (RHEL 9) / 9.6p1 (Ubuntu 24.04) · nftables 1.0.x · chrony 4.x · Pacemaker 2.1.x · Corosync 3.1.x · 2026-08-09
Enterprise storage comes in three families: block (SAN), file (NAS), and object. Each has a different access protocol, a different scale model, and a different cost profile. Choosing the right one for the workload is a fundamental architectural decision.
The three families
$ lsblk -o name,size,type,tran,mountpoint,rmNAME SIZE TYPE TRAN MOUNTPOINT RM
sda 100G disk / 0
sdb 1T disk /data 0
mpath0 5T mpath /mnt/nfs 0
loop0 100M loop /mnt/iso 0| Family | Access protocol | Scale | Best for |
|---|---|---|---|
| Block (SAN) | Fibre Channel, iSCSI, SAS | TB to PB | Databases, VMs, low-latency workloads |
| File (NAS) | NFS, SMB/CIFS | TB to PB | File shares, home directories, content management |
| Object | S3, Swift | PB to EB | Backups, archives, media, big data |
SAN characteristics
$ ls -l /dev/disk/by-path/ | head -5ip-10.0.0.10:3260-iscsi-... -> ../../sda
pci-0000:00:1f.2-ata-1 -> ../../sdbSAN characteristics:
- Block-level access - the OS sees raw devices (or multipath devices).
- Low latency (sub-millisecond for FC, single-digit ms for iSCSI).
- High throughput (multi-GB/s per link).
- High IOPS (millions per array for modern all-flash).
- Expensive per TB compared to NAS.
- Mature multipath support (device-mapper-multipath).
NAS characteristics
$ mount -t nfs -o vers=4.1,proto=tcp server:/export /mnt/nfsNAS characteristics:
- File-level access - the OS sees a filesystem.
- Network-mounted - shared by many clients.
- Moderate latency (single-digit ms for local network).
- Moderate throughput.
- Mature caching on the client side.
- Lower cost per TB than SAN.
Object storage characteristics
Object storage (S3, Swift, Azure Blob) is the modern choice for unstructured data at scale:
- HTTP-based access (REST API).
- Effectively infinite scale (PB to EB).
- Higher latency (tens of ms typical).
- Eventual consistency model.
- Pay-per-use pricing (cloud).
- No traditional filesystem interface - tools must use the S3 API or a FUSE shim (s3fs, goofys).
$ aws s3 ls s3://my-bucket/ 2>/dev/null | head2026-01-15 10:23 backup-2026-01-15.tar.gz
2026-01-15 11:45 logs-2026-01-15.tar.gzKnowledge check
Knowledge check · 3 questions
Q1. What is the right storage family for a high-IOPS production database?
Q2. Object storage is appropriate for high-IOPS production databases if the latency budget is in tens of milliseconds.
Q3. Which of the following are correct storage family choices? Select all that apply.
Passing score: 75%. Answers are checked in this browser.