RAID Technology
Last updated
Last updated
RAID (Redundant Array of Independent Disks) is a data storage virtualization technology that combines multiple physical hard drives into a single logical unit to improve performance, redundancy, or both. RAID can be implemented via software (OS-level) or hardware (dedicated RAID controllers).
We will learn all the indrustry standard RAID models used & take some practical disk level scenarios to understand the raid technology better and apply the same in your own storage devices & NAS.
RAID-based storage architecture in a Data Flow Diagram (DFD) format, illustrating the logical structure of data storage. At the core, RAID provides redundancy and performance enhancements by managing multiple physical disks as a single unit. Within this RAID structure, a Storage Pool is created, grouping multiple disks to form a large, manageable storage space. From this pool, Data Volumes are allocated to define logical storage units that can be further divided into Storage LUNs (Logical Unit Numbers), which act as virtual storage partitions for efficient data management. These LUNs are then mapped and made accessible as Network Mapped Storage, allowing external systems to connect and utilize the allocated space via network protocols like NFS, SMB, or iSCSI. This structured approach is commonly used in enterprise storage solutions, SAN (Storage Area Network) environments, and NAS (Network Attached Storage) setups, ensuring optimized storage allocation, redundancy, and performance scalability.
Raid 0 also termed as Striping
method where we apply raid 0 model on two or more independent disks of same make, model & size. RAID 0 is used when the organization wants to ensure the maximum usable space to store data & thinking nothing about data redundancy or backup.
Here we undestand it better with the real life usecase based example :
RAID 1, also termed as Mirroring method, is applied on two or more independent disks of the same make, model & size. RAID 1 is used when the organization wants to ensure maximum data redundancy and fault tolerance, as it creates an exact copy of data on all disks, sacrificing usable storage space for reliability.
We can understand it better with the below example :
RAID 5, also termed as Striping with Parity method, is applied on three or more independent disks of the same make, model & size. RAID 5 is used when the organization wants to ensure both data redundancy and maximum usable space, as it distributes data and parity information across all disks, allowing recovery from a single disk failure while maintaining efficient storage utilization.
RAID 5 ensure (n-1) : n = number of disks
& MINIMUM 3 disks & MAXIMUM 16 disks are supported by RAID 5
We can understand it better with the below example :
From RAID level 5 we can use an extra 1TB of 4th HDD as the Global Hot Spare to ensure if any of the disk from the RAID goes unhealthy or becomes unusable the data still remain secure on the hot spare disk to ensure the extra bit of redundancy of the data.
RAID 6, also termed as Striping with Double Parity method, is applied on four or more independent disks of the same make, model & size. RAID 6 is used when the organization wants to ensure high data redundancy and fault tolerance, as it distributes data along with two parity blocks across all disks, allowing recovery from up to two disk failures while maintaining efficient storage utilization.
RAID 5 ensure (n-2) : n = number of disks
& MINIMUM 4 disks & MAXIMUM 16 disks are supported by RAID 6
We can understand it better with the following example :
From RAID level 6 we can use an extra 1TB of 5th HDD as the Global Hot Spare to ensure if any of the disk from the RAID goes unhealthy or becomes unusable the data still remain secure on the hot spare disk to ensure the extra bit of redundancy of the data.
Here we have learnt all the basic raid levels used in the industry now we will move on to build the RAID 10, 50 , 60.
RAID 10, also termed as Mirroring with Striping method, is applied on four or more independent disks of the same make, model & size. RAID 10 is used when the organization wants to ensure both high data redundancy and improved performance, as it combines disk mirroring (RAID 1) and striping (RAID 0), ensuring fault tolerance while enhancing read and write speeds.
RAID 1 + RAID 0 = RAID 10
We can understand it better with the example below :
Since RAID 10 (RAID 1 + RAID 0) is used, it can tolerate the failure of one disk per mirrored pair (i.e., one disk from AB and one from CD) without data loss. However, if both disks in a mirrored pair fail, all data is lost.
We can also take use of
1 OR 'n' GLOBAL SPARE
to get 2 data redundancy in case of disk failure.
RAID 50, also termed as Striping with Distributed Parity method, is applied on six or more independent disks of the same make, model & size. RAID 50 is used when the organization wants to ensure a balance between performance, redundancy, and storage efficiency, as it combines RAID 5 (striping with parity) and RAID 0 (striping). This setup improves read and write speeds while allowing recovery from a single disk failure in each RAID 5 array.
RAID 5 + RAID 0 = RAID 50
Lets understand it with an example :
Since RAID 50 (RAID 5 + RAID 0) is used, the system can tolerate one disk failure per RAID 5 array (i.e., one failure in ABC and one in DEF without data loss). However, if two disks fail in the same RAID 5 array, data is lost.
We can also take use of
1 OR 'n' GLOBAL SPARE
to get 2 or more data redundancy in case of disk failure.
RAID 60, also termed as Striping with Dual Distributed Parity method, is applied on eight or more independent disks of the same make, model & size. RAID 60 is used when the organization wants to ensure high fault tolerance, improved performance, and efficient storage utilization, as it combines RAID 6 (striping with double parity) and RAID 0 (striping). This setup allows for two disk failures per RAID 6 array while enhancing read and write speeds through striping.
RAID 6 + RAID 0 = RAID 60
Lets understand it better with example :
Since RAID 60 (RAID 6 + RAID 0) is used, the system can tolerate up to two disk failures per RAID 6 array (i.e., two failures in ABCD and two in EFGH without data loss). However, if three or more disks fail within the same RAID 6 array, data is lost.
We can also take use of
1 OR 'n' GLOBAL SPARE
to get 3 or more data redundancy in case of disk failure.
RAID 0 â Gaming, Video Editing (Speed, No Redundancy)
RAID 1 â Medical Records, Banking (Data Safety, No Speed Gain)
RAID 5 â Web Hosting, SMB Servers (Good Balance, 1 Disk Failure Tolerance)
RAID 6 â Cloud Storage, Large Backups (Better Fault Tolerance, 2 Disk Failures)
RAID 10 â Databases, Stock Trading (Fast + Redundant)
RAID 50 â Virtualization, Large File Servers (Better than RAID 5 in Speed & Redundancy)
RAID 60 â Enterprise Cloud, Data Centers (Maximum Safety & Uptime)
Thick provisioning (Think Storage) refers to the process of pre-allocating the entire storage space upfront, ensuring that the designated capacity is always available for use. This approach guarantees performance and prevents fragmentation, making it ideal for critical applications like databases and financial systems that require consistent storage availability. However, thick provisioning can lead to inefficient storage utilization, as unused space remains reserved even if it is not actively in use.
On the other hand, Thin provisioning (Thin Storage) dynamically allocates storage on demand, assigning space only when data is written. This method optimizes storage utilization, allowing multiple virtual machines or applications to share a common storage pool efficiently. While thin provisioning enhances flexibility and cost efficiency, it comes with the risk of over-provisioning, where the allocated storage exceeds the actual physical capacity, potentially leading to performance degradation if not managed properly. Thin storage is widely used in cloud environments and virtualized infrastructures where scalability is a key requirement.