Skip to main content
RunBook Academy

LinuxXVIII · Enterprise StorageStorage taxonomy

SAN vs NAS vs object storage - which one to choose

Foundation⏱ ~8 minbashlsblkmountdf

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

Not yet marked complete on this device.

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

Read-only / Safelsblk all
$ lsblk -o name,size,type,tran,mountpoint,rm
NAME   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
FamilyAccess protocolScaleBest for
Block (SAN)Fibre Channel, iSCSI, SASTB to PBDatabases, VMs, low-latency workloads
File (NAS)NFS, SMB/CIFSTB to PBFile shares, home directories, content management
ObjectS3, SwiftPB to EBBackups, archives, media, big data

SAN characteristics

Read-only / Safeby-path
$ ls -l /dev/disk/by-path/ | head -5
ip-10.0.0.10:3260-iscsi-... -> ../../sda
pci-0000:00:1f.2-ata-1 -> ../../sdb

SAN 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

Configuration changeNFS mount
$ mount -t nfs -o vers=4.1,proto=tcp server:/export /mnt/nfs

NAS 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).
Read-only / SafeS3 list
$ aws s3 ls s3://my-bucket/ 2>/dev/null | head
2026-01-15 10:23 backup-2026-01-15.tar.gz
2026-01-15 11:45 logs-2026-01-15.tar.gz

Knowledge check

Knowledge check · 3 questions

  1. Q1. What is the right storage family for a high-IOPS production database?

  2. Q2. Object storage is appropriate for high-IOPS production databases if the latency budget is in tens of milliseconds.

  3. Q3. Which of the following are correct storage family choices? Select all that apply.

Passing score: 75%. Answers are checked in this browser.