SAN (Storage Area Network) is a specialized storage network that provides servers with high-speed block-level access to centralized storage systems. To the operating system, storage resources accessed through a SAN typically appear as local disks, even though the data is physically stored on an external storage system.
SANs are widely used in data centers and enterprise infrastructure where multiple servers require reliable, high-performance access to shared storage. This architecture is used for virtualization, databases, clusters, and other mission-critical systems.
How SAN Works
In a conventional server, storage drives may be installed directly inside the server chassis. In a SAN, data is stored separately on a centralized storage system, and the server connects to it through the storage network.
The storage system creates logical block devices and presents them to specific servers. LUNs (Logical Unit Numbers) are traditionally used to identify these devices. Once access to such a device is provided, the server operating system can create partitions and a file system on it or make it available directly to an application.
For example, a cluster of several virtualization servers can be connected to a single storage system. Virtual machines are stored centrally, so their data is not tied to the local disks of a particular physical server.
Components of a SAN
A typical SAN infrastructure includes several main components:
- Servers (hosts) — systems that require access to data.
- Storage system — an array of HDDs and SSDs with controllers, caching, RAID, and other storage management mechanisms.
- Network adapters — for example, Fibre Channel HBAs or standard network adapters when using iSCSI.
- Switches — connect servers and storage systems into a single network.
- Cables and transceivers — provide physical connectivity between components.
- Management software — used to configure volumes, LUNs, access paths, and other parameters.
To improve fault tolerance, SANs are often designed with redundant components and data paths.
SAN Protocols
One of the most widely used technologies for building SANs is Fibre Channel (FC). It is designed for high-performance data transmission between servers and storage systems and typically uses specialized adapters and switches.
Another common option is iSCSI, which transports SCSI commands over TCP/IP. This makes it possible to build a SAN using Ethernet infrastructure.
Other technologies for block-level access to remote storage include FCoE (Fibre Channel over Ethernet) and NVMe over Fabrics (NVMe-oF). The latter is used to provide high-performance network access to NVMe storage.
SAN Fault Tolerance
SANs often support mission-critical systems, so the infrastructure is designed to prevent the failure of a single component from causing loss of access to data.
This can involve using two independent switches or even two separate FC fabrics, redundant storage controllers, and multiple physical connections between servers and storage systems.
Servers use multipathing, which provides multiple paths to the same block device. If one path becomes unavailable, I/O operations can continue through another.
Fibre Channel SANs also use zoning to define which devices can communicate with each other within the SAN. At the storage system level, LUN masking can additionally be used to restrict server access to specific logical devices.
How SAN Differs from NAS
The main difference is the level at which data is accessed. A SAN provides block-level access: the server receives a logical storage device and manages its file system itself.
NAS (Network Attached Storage) provides file-level access. The file system is managed by the storage device itself, while clients access files and directories using protocols such as SMB or NFS.
SANs are therefore often used where high performance, centralized block storage, and fault-tolerant server infrastructure are required. NAS is typically used for shared file storage and for providing users and applications with shared access to files.
Where SAN Is Used
SANs are widely used in data centers, large enterprise infrastructures, and private clouds. Typical use cases include virtual machine storage, database systems, server clusters, ERP systems, and other applications with high storage availability and performance requirements.
Centralizing data also simplifies resource management: storage capacity can be allocated among different servers without installing additional physical drives directly in each server.