Understanding Storage Architecture: Types, Protocols, and Distributed Storage Solutions
This article provides a comprehensive overview of storage architecture, covering centralized and distributed storage, block/file/object storage models, common protocols like NFS, CIFS, iSCSI, connection methods such as DAS, NAS, SAN, and examines typical distributed storage products including FastDFS and Swift.
Storage Classification
Storage Architecture
From an architectural perspective, storage can be divided into centralized storage and distributed storage.
Centralized storage stores all data in a single location, with remote terminals connecting to a central computer, ensuring that each terminal uses the same information. It is usually commercial and relatively expensive.
Distributed storage spreads data across multiple independent devices, employing a scalable system structure and multiple storage servers to share load, which improves reliability, availability, and access efficiency, and is typically built with management software.
Storage Usage Modes
From the user’s perspective, storage can be classified into three categories: block storage, file storage, and object storage.
Block storage: Typically presented as volumes or disks; the operating system must partition and format the raw disk before use. Block storage does not support file sharing.
File storage: Presented as directories and files; data is stored and accessed as files organized in a directory hierarchy. It requires mounting a directory but does not need formatting.
Object storage: Operates on objects (key‑value pairs) and is accessed directly via application interfaces without mounting.
Storage Protocols
Common storage protocols include NFS, CIFS, and iSCSI.
NFS (Network File System) is a mainstream protocol for sharing files across heterogeneous platforms, primarily used in Unix environments, allowing remote file access as if the files were local.
CIFS (Common Internet File System) is mainly used in Windows/NT environments, enabling Unix machines to be visible to Windows computers over TCP/IP.
iSCSI (Internet SCSI) operates over TCP/IP and is used mainly in Windows environments for block‑level storage communication.
Storage Connection Methods
Storage can be connected via DAS, NAS, or SAN.
DAS (Direct Attached Storage) attaches storage devices directly to a server’s internal bus; clients must access the storage through the server.
NAS (Network Attached Storage) connects to the network via its own network interface, acting like a dedicated file server that provides only file‑system services.
SAN (Storage Area Network) is a high‑performance, dedicated network (often fiber‑channel) that connects servers to storage devices such as disk arrays and tape libraries.
Major Storage Vendors and Products
Commercial vendors include EMC, NetApp, DELL, Huawei, and Sugon.
Open‑source storage solutions include:
FastDFS (object)
Swift (object)
HDFS (object)
Lustre (block)
GlusterFS (file)
Ceph (block, file, object)
Distributed Storage Architecture
Distributed storage can be organized by metadata management mode: symmetric or asymmetric.
In a symmetric architecture, each node has equal roles and jointly manages metadata, synchronizing via high‑speed networks.
In an asymmetric architecture, dedicated metadata nodes manage metadata while storage nodes frequently communicate with them to obtain up‑to‑date information.
FastDFS Typical Architecture
FastDFS uses an asymmetric architecture consisting of a Tracker server and multiple Storage servers.
The Tracker server acts as the central node, managing cluster topology, load balancing, and scheduling.
Storage servers are organized into groups (volumes); each group contains several storage machines that mirror each other, providing redundancy. The effective storage capacity of a group is determined by the smallest storage node, so it is recommended to configure storage nodes with similar capacities.
Swift Typical Architecture
Swift adopts a fully symmetric, resource‑oriented distributed system design where all components are horizontally scalable.
Swift divides storage into three layers: Account, Container, and Object.
Conclusion
This article introduced the fundamentals of storage, emphasizing the importance of understanding distributed storage architectures and their typical implementations.
Full-Stack Internet Architecture
Introducing full-stack Internet architecture technologies centered on Java
How this landed with the community
Was this worth your time?
0 Comments
Thoughtful readers leave field notes, pushback, and hard-won operational detail here.