What is RAID?
RAID originally stood for ‘Redundant Arrays of Inexpensive Disks’ but later on it more commonly known as ‘Redundant Arrays of Independent Drives’. RAID is the process of pooling together many physical drives and Virtualizing their capacity and performance into logical drives.
What is Mirroring, Stripping & Parity?
Before understanding RAID, we should know following three principal terminology in regards to RAID.
Striping is the process of splitting data into blocks of a certain size (called “block size”) then writing of these blocks across different disk one by one. Striping is useful when a processing device requests data more quickly than a single storage device can provide it. By spreading data block across multiple devices which can be accessed concurrently, total data throughput is increased. It is also a useful method for balancing I/O load across an array of disks.
Mirroring is a storage technique in which the identical copies of data are stored on the two OR more disk simultaneously. A mirrored volume is a fault-tolerant volume that provides a copy of a volume on another disk.
Parity is a storage technique that use stripped data & checksum stored with data block to make sure failed disk can be recovered using the checksum calculation. Parity is a redundancy check that ensures full protection of data without maintaining a full set of duplicate data.
RAID configuration on Windows environment
Please note, following examples are done on Windows 2012 R2 Test system, The steps outlined here may differ on other versions of OS, type of RAID provider (Hardware/software). The motive of following configuration is to illustrate different types of RAID configuration using simple & minimal configuration.
- Add three OR more disk each with 2 GB size into your test system (Add VHD -Virtual hard disk, if you are using VMWare/HyperV OR any other virtualization software).
- Open disk management by running command ‘diskmgmt.msc’ using Run. Make all disk resources ‘Online’ and then ‘Initialize disk’ those were added in the test system.
You can now convert all these disk to ‘Dynamic’ from ‘Basic’ disk type OR you can convert during RAID configuration. Please note once you change disk type to ‘Dynamic’ then it cannot be convert to Basic until all dynamic volumes are deleted from computer management.
What are types of RAID levels?
RAID level 0 – Striping
In a RAID 0 system, data are split up into blocks that get written across two OR more disk drives in the disk array, this offers superior I/O performance.
Follow remaining steps such as select no of disk participating in stripped volume set, allocate disk space, give drive letter & format dynamic volume. Once it done, disk management will show you the details of stripped volume.
RAID 0 offers great performance, both in read and write operations. There is no overhead caused by parity controls. All storage capacity is used. But RAID 0 is not fault-tolerant. If one drive fails, all data in the RAID 0 array are lost. It should not be used for mission-critical systems.
Please note that the Microsoft allows additional type of volume called ‘Spanned’ volume with similar configuration. In spanned volume data blocks is written on first disk once it full then second disk is used however in stripped volume configuration data block of 64KB stored on each disk one by one.
RAID level 1 – Mirroring
Data are stored twice by writing them to both the data drive and a mirror drive.
To configure, RAID level -1, AKA Mirroring. Right on Disk drive and select ‘New Mirrored Volume’.
Once it done, disk management will show you the details of Mirrored volume.
RAID 1 offers excellent read speed and a write-speed that is comparable to that of a single drive. In case a drive fails, data do not have to be rebuild, it just need to be copied to the replacement drive. The main disadvantage is that the effective storage capacity is only half of the total drive capacity because all data get written twice.
RAID 2, which is rarely used in practice, stripes data at the bit (rather than block) level, and uses a Hamming code for error correction.
RAID 3, which is again rarely used in practice, consists of byte-level striping with a dedicated parity disk
RAID 4, which is again rarely used in practice consists of block-level striping with a dedicated parity disk.
Please note that the RAID 2, 3, 4 cannot be demonstrated using windows server.
RAID 5 – Striping with Parity
RAID 5 is the most common secure RAID level. It requires at least 3 drives and maximum 16. Data blocks are striped across each drives and parity checksum is written with data block across disk drive. Using the parity data and data block, a failed disk can be recovered using parity calculation. RAID 5 array can withstand a single drive failure without losing data or access to data.
Read data transactions are very fast while write data transactions are slower due to the parity that has to be calculated. If a drive fails, you still have access to all data, even while the failed drive is being replaced. But if more than one disk is lost then data is lost forever.
To configure, RAID level 05, Right click on dynamic disk, select ‘New RAID 5 volume’.
Once it done, disk management will show you the details of RAID-05 volume.
All content provided on this blog is for informational purposes only. The reason for this blog is to document the things that I have learned reading blogs/books/self about Windows Server. We do not own any responsibility for the events that may happen because of using/applying the code/concepts mentioned in this blog.
If you like above content then feel free to share it with your colleague and friends. If you wish to improve the content the feel free to comment and contact me directly.