Storage Architecture Explained: Block, File, Object, DAS, NAS and SAN

Storage Architecture Explained: Block, File, Object, DAS, NAS and SAN

Storage is one of the foundations of modern IT infrastructure. Databases, virtual machines, application logs, container volumes, websites, backups, analytics platforms, and business documents all depend on reliable storage.

But storage architecture is much more than choosing between an HDD and an SSD.

Modern infrastructure design must consider how block storage, file storage, object storage, DAS, NAS, SAN, RAID, SSDs, NVMe, IOPS, throughput, latency, caching, snapshots, replication, backups, and disaster recovery work together. Pasted markdown

A simple application may appear to use storage like this:

Application
     |
     v
Filesystem
     |
     v
Disk

A production environment can be much more sophisticated:

Applications
     |
     +---------------+---------------+
     |               |               |
     v               v               v
Block Storage    File Storage    Object Storage
     |               |               |
     +---------------+---------------+
                     |
                     v
              Storage Platform
                     |
              Replication Layer
                     |
                  Backups
                     |
              Disaster Recovery

Storage therefore connects directly to server design, databases, virtualization, clustering, high availability, networking, cloud infrastructure, and disaster recovery.

For broader infrastructure context, see Servers & Infrastructure Explained and Virtualization Explained.

What Is Storage Architecture?

Storage architecture describes how an IT system stores, organizes, accesses, protects, replicates, monitors, and recovers data.

A modern data storage architecture must answer questions such as:

  • Where is the data physically stored?
  • How does an application access it?
  • How quickly can it be read or written?
  • What happens when a disk fails?
  • What happens when a storage controller fails?
  • Can another server access the same data?
  • Is the data replicated?
  • Can deleted or corrupted information be restored?
  • Can the system recover if an entire storage platform, data center, or cloud region becomes unavailable?

A basic server may look like:

Application
     |
     v
Operating System
     |
     v
Filesystem
     |
     v
Local SSD

An enterprise architecture may look like:

Applications
     |
     v
Virtualization Cluster
     |
     v
Storage Network
     |
     v
Storage Cluster
     |
     +-- SSD Performance Tier
     +-- Capacity Tier
     +-- Snapshots
     +-- Replication
     +-- Backup
             |
             v
        Recovery Site

There is no universally correct architecture.

A transactional database may prioritize very low write latency, while a video archive may prioritize capacity and cost. The storage design should therefore start with workload requirements rather than a specific product or vendor. Pasted markdown


Understanding the Storage I/O Path

When an application writes data, that operation may pass through several layers.

Application
     |
     v
Operating System
     |
     v
Filesystem
     |
     v
Block Layer
     |
     v
Device Driver
     |
     v
Storage Controller
     |
     v
Physical Storage

Network storage adds even more components:

Application
     |
     v
Filesystem / Storage Client
     |
     v
Network Protocol
     |
     v
NIC
     |
     v
Network
     |
     v
Storage Controller
     |
     v
Physical Media

This explains why a storage-performance problem is not always a disk problem.

Latency may originate from:

  • The application
  • Filesystem
  • Operating system
  • Hypervisor
  • Network
  • Storage queue
  • Controller
  • Replication process
  • Physical media

For network-attached storage, understanding Computer Networking Explained and TCP/IP Explained is especially useful because technologies such as NFS, SMB, iSCSI, and cloud storage services depend on network connectivity. Pasted markdown


Volatile vs Persistent Storage

One of the first distinctions in architecture is between volatile and persistent data.

RAM is generally volatile:

Power Off
   |
   v
RAM Data Lost

Persistent storage retains information after power is removed:

SSD / HDD
   |
   v
Power Off
   |
   v
Data Remains

Applications frequently use both.

Application
     |
     +-- RAM
     |     Temporary state
     |
     +-- Persistent Storage
           Durable state

This distinction is especially important for databases, virtual machines, and containerized applications. Pasted markdown


Block vs File vs Object Storage

Three of the most important storage models are:

Block storage

File storage

Object storage

They solve different problems.

Block Storage

Block storage divides capacity into individually addressable blocks.

Block Device
     |
     +-- Block 0001
     +-- Block 0002
     +-- Block 0003
     +-- Block 0004
     +-- ...

At this layer, the storage platform does not necessarily care whether the bytes belong to:

database.db
photo.jpg
server.log

A filesystem or database structure can then organize those blocks.

Files
  |
  v
Filesystem
  |
  v
Block Device

Block storage is commonly used for:

  • Operating-system disks
  • Virtual-machine disks
  • Database volumes
  • Transaction logs
  • Applications requiring predictable low-level I/O

File Storage

File storage organizes information into files and directories.

/
+-- home
|   +-- user
|       +-- document.txt
+-- images
|   +-- photo.jpg
+-- backups
    +-- backup.tar

The filesystem tracks information such as:

  • File names
  • Directories
  • Permissions
  • Ownership
  • Timestamps
  • File size
  • Allocation information

File storage may be local or shared through protocols such as NFS and SMB.

For practical Linux filesystem administration, see Linux Server Administration.

Object Storage

Object storage uses another model.

Data is stored as independent objects.

Bucket
   |
   +-- Object A
   +-- Object B
   +-- Object C
   +-- Object D

An object can combine:

Object Data
     +
Object Identifier
     +
Metadata

Applications typically interact with object storage through APIs.

It is especially useful for large collections of:

  • Images
  • Videos
  • Website assets
  • Logs
  • Backups
  • Archives
  • Data-lake datasets

Object storage is one of the major storage models used in Cloud Computing.

Object Storage Is Not Simply a Filesystem

An object key might appear hierarchical:

images/2026/server-room.jpg

but this does not mean the underlying platform behaves exactly like a traditional POSIX filesystem.

Applications designed around file locking, directory semantics, in-place random modification, or filesystem permissions may need a different architecture.

Block vs File vs Object Storage Comparison

Feature Block File Object
Fundamental unit Block File Object
Organization Raw blocks Hierarchical filesystem Object namespace
Typical access Device/block protocol Local FS, NFS, SMB API
VM disks Excellent Possible Usually not direct
Databases Common Workload-dependent Usually not primary DB storage
Shared documents Limited Excellent Application-dependent
Images/videos Possible Good Excellent
Large archives Possible Possible Excellent
Metadata Limited at block layer Filesystem metadata Rich object metadata
Scaling model Volumes Filesystems/shares Massive object collections

There is no universally superior model.

The correct question is:

Which storage model matches the application’s access pattern, performance, durability, availability, and operational requirements?

The original article makes this block/file/object distinction one of its central architectural decisions. Pasted markdown


DAS vs NAS vs SAN

Storage can also be classified by how it connects to servers.

Direct-Attached Storage — DAS

DAS is storage directly attached to an individual server.

Server
   |
   v
SSD / HDD / NVMe

Common examples include SATA, SAS, and NVMe devices installed directly in a host.

A major advantage is simplicity.

CPU
 |
 v
PCIe / Storage Controller
 |
 v
Storage Device

The I/O path can be short and very fast.

However, local storage creates an availability challenge.

Server A
   |
   v
Local NVMe

If Server A fails, another server may not automatically be able to access that local drive.

Network-Attached Storage — NAS

NAS provides file-level storage over a network.

Server A --\
Server B ---- Network ---- NAS
Server C --/

Common protocols include:

  • NFS
  • SMB

Clients access files and directories rather than raw storage blocks.

Client
   |
   v
NFS / SMB
   |
   v
Network
   |
   v
NAS
   |
   v
Filesystem
   |
   v
Physical Storage

NAS is frequently useful for:

  • Shared directories
  • User home directories
  • Media repositories
  • Backup targets
  • Shared application files

Storage Area Network — SAN

A SAN generally provides network-based block storage.

Server A --\
Server B ---- Storage Network ---- Storage Array
Server C --/

The operating system may see the remote resource similarly to a local block device:

/dev/sdb

The host can then create a filesystem, logical volume, or database structure on top of it.

SAN technologies can include:

  • Fibre Channel
  • iSCSI

A simplified architecture:

Servers
   |
   v
HBAs / NICs
   |
   v
SAN Fabric
   |
   v
Storage Controllers
   |
   v
Storage Pool
   |
   v
SSD / HDD / Flash

SAN architectures have traditionally been important for virtualization, databases, and enterprise block storage. Pasted markdown

DAS vs NAS vs SAN Comparison

Architecture Typical Access Storage Network Host Sees
DAS Direct block access No Local block device
NAS File-level access Yes Files/directories
SAN Network block access Yes Remote block device

One practical question is:

Who manages the filesystem?

With NAS, the storage platform normally manages the filesystem.

With SAN or other block storage, the host often receives a block device and manages the filesystem or application data structure itself.


What Is a LUN?

A Logical Unit Number, or LUN, represents a logical block-storage resource presented by a storage platform.

Example:

Storage Pool
     |
     +-- LUN 01 -> Database Server
     +-- LUN 02 -> Virtualization Cluster
     +-- LUN 03 -> Backup Server

The underlying storage could consist of many disks, flash modules, RAID groups, or storage nodes.

The host receives a logical block device without necessarily needing to understand the physical layout underneath it. Pasted markdown


HDD vs SSD vs NVMe

HDD Storage

Hard disk drives store information magnetically on rotating platters.

Mechanical movement introduces seek latency.

HDDs can still be useful when:

  • Capacity matters more than latency
  • Sequential performance is sufficient
  • Cost per unit of storage is important

SSD Storage

SSDs use flash memory instead of rotating media.

Because there is no mechanical seek operation, SSDs can provide dramatically better random I/O performance than HDDs.

Typical workloads include:

  • Databases
  • Virtualization
  • Application servers
  • Frequently accessed datasets

NVMe Storage

NVMe is designed for high-performance non-volatile storage and is commonly used with PCI Express.

CPU
 |
 v
PCIe
 |
 v
NVMe SSD

NVMe can support substantial parallelism and low-latency I/O.

However, interface type alone does not determine workload performance.

You still need to evaluate:

IOPS + throughput + latency + I/O size + workload pattern + queue depth. Pasted markdown


Storage Performance

Storage performance cannot be represented accurately with one number.

A complete performance analysis should consider:

  • IOPS
  • Throughput
  • Latency
  • I/O size
  • Random vs sequential access
  • Read/write ratio
  • Queue depth
  • Concurrency
  • p95/p99 latency

IOPS, Throughput and Latency

What Is IOPS?

IOPS means Input/Output Operations Per Second.

If a storage system completes:

20,000 operations

during one second, the workload is approximately:

20,000 IOPS

But “20,000 IOPS” alone tells us very little.

The workload could consist of:

4 KB random reads
8 KB random writes
64 KB sequential reads
70/30 mixed read/write

These workloads can behave very differently.

IOPS and I/O Size

Suppose:

10,000 IOPS

with 4 KB operations.

The approximate data rate is:

10,000 x 4 KB
≈ 40 MB/s

With 64 KB operations:

10,000 x 64 KB
≈ 640 MB/s

The same IOPS figure can therefore correspond to very different throughput.

Storage Throughput

Throughput measures data transferred over time.

Common units include:

MB/s
GB/s

Throughput is especially important for:

  • Backups
  • Large media transfers
  • Bulk imports
  • Analytics
  • Video processing

Storage Latency

Latency measures how long an individual I/O operation takes.

Application
     |
     | Read
     v
Storage
     |
     | Response
     v
Application

If an I/O completes in two milliseconds, the observed latency is about:

2 ms

For transactional applications, latency can matter more than peak throughput. Pasted markdown


Random vs Sequential I/O

Sequential access reads or writes neighboring blocks:

Block 100
Block 101
Block 102
Block 103

Random I/O accesses scattered locations:

Block 918
Block 17
Block 4102
Block 83

Mechanical HDDs are particularly sensitive to random workloads because the read/write head must physically seek between locations.

SSDs greatly reduce this penalty.

Database workloads often generate substantial random I/O, which is one reason SSD and NVMe platforms can significantly improve database performance.

Writes can also be more expensive than reads because they may involve:

  • Journaling
  • Parity
  • Replication
  • Metadata updates
  • Flash garbage collection

For this reason, storage benchmarks should resemble the actual application workload. Pasted markdown


Queue Depth and Tail Latency

Applications can issue multiple I/O requests simultaneously.

Request 1 --\
Request 2 ---\
Request 3 ---- Storage
Request 4 ---/

Modern NVMe devices are designed to handle significant parallelism.

But very deep queues can also increase latency.

A benchmark showing enormous IOPS with unrealistic queue depth may not represent a normal application.

Average latency can also hide serious problems.

For example:

Average latency = 2 ms

may appear excellent.

But:

p99 latency = 400 ms

means a small percentage of requests are extremely slow.

Those slow requests can still create visible application delays.

Production monitoring should therefore consider latency percentiles rather than only averages. Pasted markdown


RAID Explained

RAID — Redundant Array of Independent Disks — combines multiple storage devices into a logical storage structure.

Different RAID levels use combinations of:

  • Striping
  • Mirroring
  • Parity

to balance capacity, performance, and fault tolerance. Pasted markdown

RAID 0

RAID 0 uses striping.

Disk A        Disk B

Block 1       Block 2
Block 3       Block 4
Block 5       Block 6

It can improve aggregate performance and usable capacity.

But RAID 0 provides no redundancy.

A single member failure can make data unavailable.

RAID 1

RAID 1 uses mirroring.

           Write
             |
        +----+----+
        v         v
      Disk A    Disk B
       Data      Data

If one member fails:

Disk A X
Disk B OK

the remaining copy can continue to provide data.

RAID 5

RAID 5 uses distributed parity.

Disk A       Disk B       Disk C

Data         Data         Parity
Data         Parity       Data
Parity       Data         Data

It generally tolerates one member failure but introduces parity and rebuild overhead.

RAID 6

RAID 6 uses two independent parity values.

Data + Data + Parity P + Parity Q

It can generally tolerate two member failures at the cost of additional capacity and write overhead.

RAID 10

RAID 10 combines mirroring and striping.

              RAID 10
                 |
          +------+------+
          v             v
       Mirror A      Mirror B
       Disk 1/2      Disk 3/4

It is commonly chosen when both redundancy and performance are important.


RAID Is Not Backup

One of the most important rules in storage architecture is:

RAID is not a backup.

Imagine an administrator deletes an important directory:

rm -rf /important-data

A RAID system can faithfully replicate or record the deletion.

The same principle applies to:

  • Ransomware
  • Filesystem corruption
  • Malicious deletion
  • Application errors
  • Site-level disasters

RAID primarily addresses certain device failures.

Backup addresses another problem:

recovering data from an earlier independent recovery point.

RAID rebuilds can also consume significant I/O and reduce fault tolerance while reconstruction is taking place. Pasted markdown


Storage Replication

Replication maintains additional copies of data on another storage system or location.

Primary Storage
      |
      v
  Replication
      |
      v
Secondary Storage

Replication can support high availability and disaster recovery.

But replication is not automatically equivalent to backup.

If deletion or corruption is replicated immediately, the secondary system can receive the same unwanted change. Pasted markdown

Synchronous Replication

With synchronous replication, another storage location participates before the write is acknowledged according to the platform’s consistency model.

Application
     |
     v
Primary
     |
     v
Secondary
     |
     v
ACK

This can reduce exposure to acknowledged-data loss.

The trade-off is latency.

Long network round trips can directly increase application write latency.

Asynchronous Replication

With asynchronous replication:

Application
     |
     v
Primary
     |
     +---- ACK ---> Application
     |
     v
Replication Queue
     |
     v
Secondary

The application is less affected by remote write latency.

However, replication lag becomes possible.

Recent writes can be lost if the primary fails before the secondary receives them.

Replication design therefore affects the achievable Recovery Point Objective — RPO. Pasted markdown


Snapshots and Backups

A snapshot records storage state at a particular point in time.

Volume
  |
  +-- Snapshot 09:00
  +-- Snapshot 12:00
  +-- Snapshot 15:00
  +-- Current

Snapshots can support:

  • Rapid rollback
  • Testing
  • Cloning
  • Fast recovery points

But a snapshot is not automatically an independent backup.

If snapshots share the same platform, administrative account, or failure domain as production, a major incident can affect both.

RAID vs Replication vs Snapshot vs Backup

Technology Main Goal Historical Recovery Availability Independent Recovery
RAID Device redundancy No Local No
Replication Availability / DR Limited Often Depends
Snapshot Point-in-time recovery Yes Often fast Depends
Backup Historical recovery Yes Usually slower Can be
Immutable backup Protected historical recovery Yes Usually slower Strong when isolated

A resilient architecture normally combines several mechanisms rather than relying on one. Pasted markdown Pasted markdown


Thin Provisioning and Multipathing

Thin Provisioning

Thin provisioning allows logical capacity to exceed immediately reserved physical capacity.

Example:

Physical Storage = 10 TB

Volume A = 6 TB
Volume B = 6 TB
Volume C = 6 TB

Logical Total = 18 TB

This can improve utilization.

But it introduces risk.

If actual consumption approaches physical capacity, writes can fail.

Thin provisioning therefore requires careful monitoring and forecasting.

Multipathing

Multipathing provides multiple storage paths.

Instead of:

Server
  |
Switch
  |
Storage

use:

             +-- Switch A --+
Server ------+              +---- Storage
             +-- Switch B --+

If one path fails, another may remain available.

True redundancy requires independent failure domains.

Two cables attached to the same switch do not eliminate that switch as a single point of failure. Pasted markdown


Storage Caching

Caching places frequently accessed data on faster storage.

Application
     |
     v
Fast Cache
     |
     v
Primary Storage

A cache may use:

  • RAM
  • SSD
  • NVMe

Read Caching

Read Request
     |
     v
   Cache
   /   \
 HIT   MISS
 |      |
Data   Backend

A high cache-hit ratio can reduce backend load and application latency.

Write-Through vs Write-Back

With write-through caching, persistent storage participates before completion according to the platform’s acknowledgement behavior.

With write-back caching:

Application
     |
     v
Protected Fast Cache
     |
     +---- ACK
     |
     v
Backend Storage

performance can improve substantially.

However, uncommitted cached writes must be protected against controller or power failure. Pasted markdown


Filesystems and Journaling

Block storage becomes useful to general applications through filesystems.

Applications
     |
     v
Filesystem
     |
     v
Block Device
     |
     v
Storage

The filesystem provides:

  • File names
  • Directories
  • Permissions
  • Metadata
  • Allocation tracking
  • Free-space management

Linux infrastructure commonly uses filesystems such as XFS and ext4.

Filesystem Journaling

Many filesystems use journals to improve consistency after an unexpected interruption.

Filesystem Change
       |
       v
     Journal
       |
       v
Main Filesystem

But:

Filesystem journaling is not backup.

It does not provide independent historical copies of data. Pasted markdown


Storage for Virtualization

Storage is central to virtualization.

Hypervisor A --\
Hypervisor B ---- Shared Storage
Hypervisor C --/

Shared storage can allow virtual-machine data to remain accessible as compute workloads move between hypervisors.

A VM’s storage path may be:

Virtual Machine
      |
      v
Virtual Disk
      |
      v
Hypervisor
      |
      v
Datastore / Volume
      |
      v
Storage Platform

This creates many possible bottlenecks.

A problem can originate from:

  • Guest operating system
  • Hypervisor
  • Storage network
  • Datastore
  • Controller
  • Physical media

The original article also highlights the storage noisy-neighbor problem: one VM generating extremely heavy I/O can increase latency for other VMs sharing the same storage pool. Pasted markdown

For compute-side architecture, see Virtualization Explained.


Storage for Containers

Containers are replaceable by design, but important application data may need to persist after a particular container instance disappears.

Container
    |
    X
Removed

Persistent Data
      |
      ✓
Survives

Kubernetes addresses this with storage abstractions such as volumes, PersistentVolumes, and PersistentVolumeClaims.

Pod
 |
 v
PersistentVolumeClaim
 |
 v
PersistentVolume
 |
 v
Storage System

The official Kubernetes Volumes documentation and Persistent Volumes documentation describe these abstractions and how storage can have a lifecycle independent of individual Pods.

This is especially important for stateful applications. Pasted markdown


Database Storage Architecture

Databases are among the most storage-sensitive workloads.

Important characteristics include:

  • Latency
  • IOPS
  • Durability
  • Write ordering
  • Consistency
  • Availability

A database can generate several I/O patterns simultaneously:

  • Random reads
  • Random writes
  • Sequential transaction-log writes
  • Checkpoints
  • Temporary data
  • Compaction
  • Backup traffic

That is why simplistic benchmarks are dangerous.

A storage system with excellent sequential throughput may still perform poorly for a latency-sensitive transactional database.

Transaction Logs

Many databases use transaction or write-ahead logs.

Transaction
     |
     v
Transaction Log
     |
     v
Persistent Storage
     |
     v
Data Pages

The database may need important log records to become durable before reporting a transaction as committed.

Storage latency can therefore directly influence transaction latency. Pasted markdown


Cloud Storage Architecture

Cloud computing separates logical storage services from individual physical servers.

A cloud VM may use network-attached block storage:

Cloud VM
   |
   v
Virtual Block Device
   |
   v
Cloud Storage Network
   |
   v
Distributed Storage Platform

To the operating system, the volume may look like a normal disk even though its backend is a distributed platform.

Cloud environments commonly provide several storage models:

Cloud Block Storage

Useful for:

  • VM disks
  • Databases
  • Boot volumes
  • Stateful applications

Cloud File Storage

Useful when multiple systems need shared filesystem semantics.

Cloud Object Storage

Useful for:

  • Media
  • Archives
  • Backups
  • Static assets
  • Logs
  • Data lakes

A major architectural advantage is that compute and storage can often scale independently.

For broader context, see Cloud Computing Explained and AWS vs Azure vs Google Cloud. The source article specifically positions cloud storage as a distributed abstraction separate from individual physical hosts. Pasted markdown


Unified Storage Architecture

A unified storage architecture aims to provide multiple storage-access models from a consolidated platform.

For example, a platform may expose:

Storage Platform
      |
      +-- Block Access
      |
      +-- File Access
      |
      +-- Object Access

The important point is that “unified” does not mean block, file, and object storage become identical.

They still expose different semantics to applications.

Unified platforms can simplify infrastructure management, but architects still need to select the correct access model for each workload.


Availability vs Durability

These terms are related but different.

Availability asks:

Can the application access the data right now?

Durability asks:

Will the data remain intact despite failures over time?

A service can temporarily become unavailable while all the data remains intact.

Data Exists ✓
Service Reachability ✗

That is primarily an availability problem.

Permanent destruction of data is a durability problem.

A strong storage architecture considers both. Pasted markdown


Failure Domains

Suppose three copies of a dataset exist:

Copy A
Copy B
Copy C

At first, that looks resilient.

But if every copy exists inside the same chassis:

Storage Chassis
   +-- Copy A
   +-- Copy B
   +-- Copy C

a chassis failure can affect every copy.

A better architecture separates copies:

Storage Node A -> Copy A
Storage Node B -> Copy B
Storage Node C -> Copy C

At larger scale, failure domains may include:

  • Drives
  • Controllers
  • Chassis
  • Racks
  • Data centers
  • Availability zones
  • Regions

Storage resilience therefore depends not merely on the number of copies, but on where those copies exist. Pasted markdown


Erasure Coding

Distributed storage platforms may use erasure coding rather than storing several full replicas.

A simplified representation:

Original Data
      |
      v
+-----+-----+-----+-----+-----+
|     |     |     |     |     |
D1    D2    D3    P1    P2

Data and parity fragments can be distributed across different storage nodes or failure domains.

If some fragments are lost, the system may reconstruct the original data as long as enough fragments remain.

This can improve storage efficiency compared with keeping multiple complete copies, although it introduces additional computational, network, and recovery complexity. Pasted markdown


Storage Security

Storage frequently contains some of an organization’s most valuable information.

Security controls should therefore address:

  • Encryption
  • Authentication
  • Authorization
  • Network segmentation
  • Logging
  • Backup protection
  • Key management
  • Secure deletion

For broader context, see Network Security Basics and Firewalls Explained.

Encryption at Rest

Plaintext
    |
    v
Encryption
    |
    v
Stored Ciphertext

Encryption creates an additional recovery dependency.

Encrypted Backup ✓
Encryption Key ✗

can effectively result in:

Recoverable Data ✗

Key management therefore belongs in disaster-recovery planning.

Encryption in Transit

Network-attached storage moves data through a network path.

Server
   |
   v
Network
   |
   v
Storage

Where supported and required, encryption in transit can protect that communication.

Least Privilege

An application should receive only the access it requires.

Prefer:

Application A
      |
      v
Bucket A
Read + Write

over unnecessary global administrative access.

A compromised application should not automatically expose every backup, volume, share, or object repository. Pasted markdown


Storage Monitoring and Troubleshooting

Monitoring storage means much more than checking free disk space.

Important metrics include:

  • Capacity
  • Growth rate
  • IOPS
  • Throughput
  • Latency
  • Queue depth
  • Read/write errors
  • Device health
  • RAID status
  • Replication lag
  • Snapshot status
  • Backup status
  • Path health
  • Cache efficiency

The surrounding infrastructure must also be monitored.

A perfectly healthy storage platform is still unavailable if every network path to it fails. Pasted markdown

Linux Storage Troubleshooting

Display filesystem capacity:

df -h

Display block devices:

lsblk

Inspect device metadata:

blkid

Check inode usage:

df -i

Inspect kernel messages:

journalctl -k

Inspect extended I/O statistics when sysstat is available:

iostat -xz 1

For broader Linux administration, see Linux Server Administration.

Disk Space Exhaustion

If a filesystem reaches:

100% Used

applications may fail to create:

  • Logs
  • Temporary files
  • Database records
  • Cache entries
  • Uploads
  • Package updates

But available bytes are not the only resource.

Inodes can also become exhausted.

df -i

A system can therefore have free storage capacity but still be unable to create another file.

Deleted but Open Files

A Linux process may continue holding a deleted file open.

Where lsof is available:

lsof +L1

can help identify removed files still consuming storage.

Troubleshooting High Storage Latency

Do not assume the physical disk is immediately responsible.

Check the full path:

Application
     |
     v
Database
     |
     v
Filesystem
     |
     v
Operating System
     |
     v
Hypervisor
     |
     v
Network
     |
     v
Storage Platform

Possible causes include:

  • Device saturation
  • RAID rebuild
  • Backup activity
  • Snapshot operations
  • Network congestion
  • Storage controller issues
  • Replication load
  • Noisy neighbors
  • Excessive application concurrency

The source article explicitly treats storage troubleshooting as a cross-layer problem. Pasted markdown

Replication Lag

Primary
   |
   v
Replication Queue
   |
   | Growing
   v
Secondary

The secondary can remain online while becoming increasingly stale.

If it is part of disaster recovery, the real RPO is becoming worse.

Replication lag should therefore be monitored as a reliability metric. Pasted markdown


Capacity Planning and Tiering

Capacity planning should account for much more than today’s dataset.

Suppose an environment contains:

8 TB

and grows by:

500 GB/month

After twelve months, the dataset alone could approach:

14 TB

But production architecture may also require capacity for:

  • Snapshots
  • Replicas
  • RAID overhead
  • Backups
  • Rebuilds
  • Logs
  • Temporary data
  • Future growth

Therefore:

Raw Capacity

is not equal to:

Usable Production Capacity

Storage Tiering

Not every dataset needs expensive high-performance storage.

Tier 1
NVMe / High Performance
     |
     v
Tier 2
SSD / General Workloads
     |
     v
Tier 3
Capacity Storage
     |
     v
Archive / Object Storage

Data can also be categorized as:

Hot  -> Frequently accessed
Warm -> Occasionally accessed
Cold -> Rarely accessed

The architecture should match performance and cost to actual access patterns. Pasted markdown


Production Storage Architecture

A mature environment may combine the technologies discussed above:

                          Applications
                               |
             +-----------------+-----------------+
             |                 |                 |
             v                 v                 v
          Web Tier         Database         File Services
             |                 |                 |
             v                 v                 v
       Object Storage    Block Storage      File Storage
             |                 |                 |
             +-----------------+-----------------+
                               |
                               v
                        Storage Platform
                               |
                 +-------------+-------------+
                 |             |             |
                 v             v             v
             Storage A     Storage B     Storage C
                 |             |             |
                 +-------- Replication ------+
                               |
                               v
                           Snapshots
                               |
                               v
                            Backups
                               |
                               v
                     Independent Backup
                               |
                               v
                     Recovery Environment

This architecture separates responsibilities:

  • The application receives the correct storage model.
  • The storage platform provides redundancy.
  • Replication supports availability.
  • Snapshots provide fast point-in-time recovery.
  • Backups provide historical recovery.
  • Independent copies protect against larger disasters.

The source article presents this layered architecture as the mature end state of the concepts discussed throughout the guide. Pasted markdown


Choosing Storage by Workload

Different workloads naturally favor different storage architectures.

Workload Common Storage Choice
Operating-system disk Block storage
Virtual-machine disk Block storage
Transactional database Low-latency block storage
Shared user documents File storage
Linux shared directories NFS/file storage
Website images Object storage
Video archive Object storage
Backup repository Object or file storage
Kubernetes stateful workload Persistent block/file storage
Analytics data lake Object storage
Database transaction log Low-latency durable storage

These are design tendencies, not absolute rules.

The application’s requirements remain the deciding factor. Pasted markdown


A Practical Storage Design Process

Do not begin with:

Which storage product should we buy?

Begin with:

What does the workload need?

Ask:

  • What data are we storing?
  • How will applications access it?
  • What IOPS are required?
  • What throughput is required?
  • What latency is acceptable?
  • How much capacity is needed?
  • How quickly will the dataset grow?
  • What availability is required?
  • What durability is required?
  • What are the RPO and RTO targets?
  • What are the security requirements?

Only after these requirements are understood should a storage technology be selected. Pasted markdown


Storage Architecture Best Practices

A reliable storage architecture should follow several principles:

  • Select block, file, or object storage according to application semantics.
  • Monitor latency together with throughput and IOPS.
  • Design redundancy around independent failure domains.
  • Treat RAID as redundancy, not backup.
  • Treat replication primarily as an availability and DR technology.
  • Maintain independent backups.
  • Test restoration procedures.
  • Protect storage using least privilege.
  • Use encryption where appropriate.
  • Protect encryption keys.
  • Monitor thin-provisioned capacity.
  • Monitor replication lag.
  • Plan capacity before storage reaches exhaustion.
  • Match storage tiers to actual access patterns.
  • Design storage and disaster recovery together rather than as unrelated projects.

These recommendations reflect the best-practice conclusions of the original article. Pasted markdown


Frequently Asked Questions

What is storage architecture?

Storage architecture defines how an IT environment stores, organizes, accesses, protects, replicates, monitors, and recovers data.

What is block storage?

Block storage exposes individually addressable blocks, commonly presented to an operating system as a disk or logical volume.

What is file storage?

File storage organizes data into files and directories and can be accessed locally or through protocols such as NFS and SMB.

What is object storage?

Object storage stores data as objects containing data, identifiers, and metadata, commonly accessed through APIs.

What is DAS?

DAS means Direct-Attached Storage. It is directly connected to an individual host.

What is NAS?

NAS means Network-Attached Storage. It normally provides file-level access across a network.

What is SAN?

SAN means Storage Area Network. It commonly provides network-based block storage to servers.

What is the difference between NAS and SAN?

NAS generally exposes files and directories.

SAN infrastructure normally presents block devices that hosts can format and manage.

What does IOPS mean?

IOPS means Input/Output Operations Per Second.

However, IOPS should always be interpreted together with I/O size, latency, queue depth, read/write ratio, and access pattern.

Is higher IOPS always better?

No.

A large IOPS result obtained with unrealistic queue depth or a different I/O size may not represent actual application performance.

What is storage throughput?

Throughput measures how much data is transferred during a period of time, often expressed in MB/s or GB/s.

What is storage latency?

Storage latency measures how long an I/O operation takes.

What is RAID?

RAID combines multiple storage devices using techniques such as striping, mirroring, or parity to provide different performance, capacity, and redundancy characteristics.

Is RAID a backup?

No.

RAID may protect against certain device failures but does not provide independent historical recovery from deletion, ransomware, corruption, or many larger failures.

RAID 5 vs RAID 6: what is the difference?

RAID 5 normally uses one distributed parity scheme and generally tolerates one member failure.

RAID 6 uses two parity values and generally tolerates two member failures, at the cost of additional capacity and write overhead.

What is RAID 10?

RAID 10 combines mirroring and striping.

It can offer strong performance and redundancy while sacrificing usable capacity for mirrored copies.

What is storage replication?

Replication copies data between storage systems or locations to support availability or disaster recovery.

What is synchronous replication?

Synchronous replication requires the relevant remote storage operation to participate before the write is acknowledged according to the storage platform’s consistency behavior.

What is asynchronous replication?

Asynchronous replication allows the primary operation to complete before the secondary necessarily catches up, reducing the impact of remote latency while introducing replication lag.

Is a snapshot a backup?

Not automatically.

A snapshot can provide an excellent point-in-time recovery mechanism, but if it shares the same storage platform or failure domain as production, it may not provide sufficient independent protection.

What is thin provisioning?

Thin provisioning creates logical storage capacity without immediately reserving all corresponding physical capacity.

What is multipathing?

Multipathing creates multiple I/O paths between a host and storage so the loss of one path does not necessarily interrupt storage access.

Which storage is best for databases?

Transactional databases often benefit from durable, low-latency block storage, but the correct choice depends on the database engine, workload, availability design, consistency model, and recovery requirements.

Which storage is best for images and videos?

Object storage is frequently well suited for large collections of images, videos, archives, and static content.

What storage should Kubernetes use?

Kubernetes can consume several storage types. Stateful applications commonly use PersistentVolumes provisioned by an appropriate storage platform or StorageClass. The official Kubernetes Persistent Volumes documentation explains the abstraction in more detail.

The FAQ above preserves the primary questions and answers covered in the source article while grouping them under the streamlined article structure. Pasted markdown


Conclusion

Storage architecture is much more than:

HDD
vs
SSD

A production platform must answer much larger questions.

How is the data accessed?

How quickly must storage respond?

How much capacity is required?

What happens when a disk fails?

What happens when a controller fails?

What happens when a network path fails?

What happens when an entire storage platform fails?

Can another server access the data?

Can corrupted or deleted information be recovered?

What happens if the data center or cloud region becomes unavailable?

How are backups protected?

The first major architectural choice is often:

Block
vs
File
vs
Object

Connectivity introduces:

DAS
vs
NAS
vs
SAN

Performance introduces:

IOPS
+
Throughput
+
Latency
+
I/O Size
+
Queue Depth

Resilience introduces:

RAID
+
Replication
+
Multipathing
+
Failure Domains

Recovery introduces:

Snapshots
+
Backups
+
Independent Copies
+
Disaster Recovery

Security adds:

Encryption
+
Authentication
+
Least Privilege
+
Network Segmentation
+
Key Management

A mature architecture eventually becomes:

Application
     |
     v
Correct Storage Model
     |
     v
Redundant Storage
     |
     v
Replication
     |
     v
Snapshots
     |
     v
Independent Backup
     |
     v
Disaster Recovery

The most important principle is that storage redundancy, storage availability, and data recoverability are different problems.

RAID can provide redundancy.

Replication can improve availability.

Snapshots can provide rapid point-in-time recovery.

Backups can provide historical recovery.

Independent or immutable copies can protect against incidents that affect production and ordinary replicas simultaneously. This layered distinction is also the central conclusion of the original article. Pasted markdown

To continue building the infrastructure cluster, see Servers & Infrastructure Explained, Virtualization Explained, Cloud Networking Explained, Linux Server Administration, Network Security Basics, Cloud Computing Explained, and AWS vs Azure vs Google Cloud.