Last post (Beginner's VxVM for Solaris - Part 1) we learnt about the components of the VxVM. In this post we are going to see brief about VxVM Volume Layouts RAID0, RAID1, RAID0+1, RAID1+0, RAID5 and its advantage/ disadvantages. Data in virtual objects is organized to create volumes by using the following layout methods:
- Concatenation and Spanning
- Striping (RAID-0)
- Mirroring (RAID-1)
- RAID-5 (Striping with Parity)
Concatenation and Spanning :
Concatenation maps data in a linear manner onto one or more subdisks in a plex. To access all of the data in a concatenated plex sequentially, data is first accessed in the first subdisk from beginning to end. Data is then accessed in the remaining subdisks sequentially from beginning to end, until the end of the last subdisk.Main goal for implementing this technique is to create a virtual disk that is larger than one physical disk device. Concatenation also enables us to grow a virtual disk by concatenating additional physical disk devices to it.
|Removes size restrictions:||Concatenation removes the restriction on size of storage devices imposed by physical disk size.|
|Better utilization of free space:||Concatenation enables better utilization of free space on disks by providing for the ordering of available discrete disk space on multiple disks into a single addressable volume.|
|Simplified administration:||"Concatenation enables large file systems to be created and reduces overall system administration complexity.|
|No protection against disk failure:||Concatenation does not protect against disk failure. A single disk failure may result in the failure of the entire volume.|
Striping maps data so that the data is interleaved among two or more physical disks. A striped plex contains two or more sub disks, spread out over two or more physical disks. Data is allocated alternately and evenly to the sub disks of a striped plex.Data is allocated in equal-sized units, called stripe units, Primary reason for employing this is to improve the I/O performance, as the performance increases come from accessing the data in parallel.
The default stripe unit size is 128 sectors (64K), I/O stream is divided into segments called stripe units which are mapped across two or more physical disks which forming one logical storage unit.
|Parallel data transfer||Striping is useful if you need large amounts of data written to or read from the physical disks quickly by using parallel data transfer to multiple disks.|
|Load balancing||Striping is also helpful in balancing the I/O load from multiuser applications across multiple disks.|
|Improved performance||Improved performance is obtained by increasing the effective bandwidth of the I/O path to the data. This may be achieved by a single volume I/O operation spanning across a number of disks or by multiple concurrent volume I/O operations to more than one disk at the same time.|
|No redundancy||Striping alone offers no redundancy or recovery features.|
|Disk failure||Striping a volume increases the chance that a disk failure will result in failure of that volume. For example, if you have three volumes striped across two disks, and one of the disks is used by two of the volumes, then if that one disk goes down, both volumes will go down.|
Mirroring uses multiple mirrors (plexes) to duplicate the information contained in a volume. In the event of a physical disk failure, the plex on the failed disk becomes unavailable, but the system continues to operate using the unaffected mirrors. Note: Although a volume can have a single plex, at least two plexes are required to provide redundancy of data. Each of these plexes must contain disk space from different disks to achieve redundancy.
|Improved reliability and availability||With concatenation or striping, failure of any one disk can make the entire plex unusable. With mirroring, data is protected against the failure of any one disk. Mirroring improves the reliability and availability of a striped or concatenated volume.|
|Improved read performance||Reads benefit from having multiple places from which to read the data.|
|Requires more disk space||Mirroring requires twice as much disk space, which can be costly for large configurations. Each mirrored plex requires enough space for a complete copy of the volume's data|
|Slightly slower write performance||Writing to volumes is slightly slower, because multiple copies have to be written in parallel. The overall time the write operation takes is determined by the time needed to write to the slowest disk involved in the operation|
RAID-5 (Striping with Parity)
A RAID-5 volume layout has the same attributes as a striped plex, but includes one additional column of data that is used for parity. Parity provides redundancy. Parity is a calculated value used to reconstruct data after a failure. RAID-5 volumes keep a copy of the data and calculated parity in a plex that is striped across multiple disks. Parity is spread equally across disks.The default stripe unit size for a RAID-5 volume is 32 sectors (16K).
|RAID -5: Advantages|
|Redundancy through parity||With a RAID-5 volume layout, data can be re-created from remaining data and parity in case of disk failure. Requires less space than mirroring: RAID-5 stores parity information, rather than a complete copy of the data.|
|Improved read performance||RAID-5 provides similar improvements in read performance as in a normal striped layout.|
|Fast recovery through logging||RAID-5 logging minimizes recovery time in case of disk failure|
|RAID -5: Disadvantages|
|Slow write performance||The performance overhead for writes can be substantial, because a write can involve much more than simply writing to a data block. A write can involve reading the old data and parity, computing the new parity, and writing the new data and parity|