What is RAID 1?
Also known as: Mirroring
RAID 1 (mirroring) writes identical data to two or more disks, providing fault tolerance so the array survives one disk failure with no performance loss.
RAID 1, commonly called mirroring, is a storage configuration that duplicates every block of data across two or more physical drives. When the host writes data, the RAID controller or software writes the same data to each member disk simultaneously. On read operations, the controller can service requests from any disk in the mirror set, which can improve read performance in multi-user or multi-threaded workloads.
RAID 1 provides high availability: if one disk fails, the array continues operating without interruption using the remaining disk(s). Rebuilding a failed disk requires copying all data from the surviving mirror to a replacement drive. The usable capacity of a RAID 1 array equals the size of the smallest member disk. For a two-disk mirror, the storage efficiency is 50 percent. For a three-disk mirror (RAID 1 with three members), efficiency drops to 33 percent, but the array can survive two disk failures.
RAID 1 is commonly used for operating system disks, database transaction logs, and other write-intensive workloads where data integrity and fast recovery from disk failure are critical. It is one of the original RAID levels defined in the 1988 UC Berkeley paper by Patterson, Gibson, and Katz (RAID: Redundant Arrays of Inexpensive Disks). Unlike RAID 5 or RAID 6, RAID 1 imposes no parity calculation overhead, so write performance is limited only by the slowest disk in the mirror.
Key facts
- Writes identical data to two or more disks simultaneously.
- Survives one disk failure in a two-disk mirror; three-disk mirror survives two failures.
- Read performance can improve because the controller reads from any member disk.
- Usable capacity equals the size of the smallest disk; storage efficiency is 50% for two disks.
- No parity calculation overhead; write performance equals the slowest disk in the mirror.
How it works in practice
Related terms
References
More in Storage
Block Storage
Block storage is a storage architecture that presents raw fixed-size chunks (blocks) to a computer, which the operating system partitions and formats before use, commonly used for virtual machine disks and database volumes.
Cold Storage
Cold storage is a low-cost, slow-retrieval data tier for infrequently accessed information, such as backups, archives, or compliance records, with retrieval times ranging from minutes to hours.
Erasure Coding
Erasure coding is a data protection method that splits data into fragments (shards) and adds parity, allowing reconstruction from a subset of fragments; it is commonly used in cloud object storage to tolerate failures efficiently.
Fibre Channel
Fibre Channel is a high-speed networking standard primarily used to connect storage devices in storage area networks, operating as a dedicated protocol stack separate from Ethernet.
File Storage
File storage exposes data as a hierarchical filesystem over network protocols like NFS and SMB, commonly delivered via network-attached storage (NAS) appliances for shared access.
Hot Storage
Hot storage is the default high-performance tier in object storage systems, optimized for low-latency access to frequently retrieved data.
iSCSI
iSCSI is a storage protocol that encapsulates SCSI block-level commands over TCP/IP, enabling servers to access remote disks as if they were locally attached.
NFS
NFS (Network File System) is a distributed file system protocol originally developed by Sun Microsystems that allows a client to access files over a network as if they were local. It is widely used in Unix and Linux environments and runs over IP networks.
Object Storage
Object storage is a flat data storage architecture that manages data as immutable objects, each with a unique identifier, metadata, and API access over HTTP. It is the model behind Amazon S3 and similar cloud storage services.
RAID
RAID (Redundant Array of Independent Disks) combines multiple physical disk drives into a single logical unit to improve performance, fault tolerance, or both, using techniques like striping, mirroring, and parity.