I am going to share about RAID Levels in VxVM in this post. Let us understand a little bit about RAID. Two veritas commands are going to be used heavily for volume management and display that is vxassist and vxprint.
What is RAID in VxVM?
RAID is basically a Redundant Array of Independent Disks. RAID technology is a storage virtualization technology that combines multiple physical disks into one or more logical units. RAID provided data redundancy and high I/O performance improvement.
Actually, actual data is getting distributed across disks in various ways on basis of which RAID levels are defined of various categories. All have their own advantages and disadvantages and different requirements.
VxVM Volume Types
VxVM uses LVM or SVM to organize and manage disk space. Volume may consist of one or many disks in it. Volume creation is intended to have better availability and performance as compared to a single physical disk.
Volume creation is intended for ease to manage disk spaces in the system. Many operations like extension, reduction, mirroring, striping, and concatenation can be performed easily to get the desired level of I/O performance and ensure data availability as per business needs.
There are three main categories of veritas volumes which are as below.
CONCAT Volumes in VxVM
CONCAT volumes combination of one or more disk regions which are linked together in a linear fashion which is called concatenation. Since it can span to multiple disks so it is also known as SPANNED volume.
Since data is spread in a linear fashion so in even of disk crash data recovery is not possible. So simple CONCAT volumes do not provide data redundancy.
Stripe Volumes in VxVM
In Striped volume, data is striped across physical disks alternately and in small equal-sized portions of data which is called stripe units. This improves performance. They need a minimum of two disks.
STRIPE Volume also does not provide the option to recover data in even of any disk failures. It means Stripped volumes does not provide data redundancy but 100% space utilization and same time better performance as compared to CONCAT volumes.
Mirrored Volume in VxVM
Concatenated or Striped volumes can be mirrored to increase data availability. In this case, the minimum disk required is two. It has two identical copies of data. In even of any one disk failure, you still have data available through other disks in the mirror.
It provided data redundancy while you can use only 50% of the disk space used. This technology is used especially for high importance data where data availability is important compared to cost.
Most of the Solaris installations have configured Operating System to provide Operating System availability.
RAID levels in VxVM
As mentioned above due to various use of technology RAID categories are decided. RAID volume levels supported in Veritas Volume Manager is as below
2.RAID 0 VOLUME
3.RAID 1 VOLUME
4.RAID 5 VOLUME
CONCAT Volumes in VxVM
It is the simplest level of grouping disks. By default, VxVM creates CONCATINATED Volumes if no layout is mentioned while creating volume in VxVM.
The minimum disk required for a concatenated volume is One and It creates only one sub-disk for each volume. You will get 100% space utilized in CONCATENATED Volumes.
Easy to manage and getting maximum utilization of disk space and no size restriction for creating CONCAT volumes.
Let us understand by example how you can create CONCAT Volumes in VxVM.
# vxassist -g <DG> make <VOL> <Size> # vxprint -htrg <DG> Sample Output of CONCAT Volume is as below. # vxprint -hrtg loc_sybase-dg DG NAME NCONFIG NLOG MINORS GROUP-ID ST NAME STATE DM_CNT SPARE_CNT APPVOL_CNT DM NAME DEVICE TYPE PRIVLEN PUBLEN STATE RV NAME RLINK_CNT KSTATE STATE PRIMARY DATAVOLS SRL RL NAME RVG KSTATE STATE REM_HOST REM_DG REM_RLNK CO NAME CACHEVOL KSTATE STATE VT NAME RVG KSTATE STATE NVOLUME V NAME RVG/VSET/CO KSTATE STATE LENGTH READPOL PREFPLEX UTYPE PL NAME VOLUME KSTATE STATE LENGTH LAYOUT NCOL/WID MODE SD NAME PLEX DISK DISKOFFS LENGTH [COL/]OFF DEVICE MODE SV NAME PLEX VOLNAME NVOLLAYR LENGTH [COL/]OFF AM/NM MODE SC NAME PLEX CACHE DISKOFFS LENGTH [COL/]OFF DEVICE MODE DC NAME PARENTVOL LOGVOL SP NAME SNAPVOL DCO EX NAME ASSOC VC PERMS MODE STATE SR NAME KSTATE dg loc_sybase-dg default default 6000 1312111485.39.amarlq16 dm CLALT2Diskq tagmastore-usp0_00bb auto 65536 287128208 - dm CLALT2Diskr tagmastore-usp0_00c7 auto 65536 104788368 - dm CLALT2Diskw tagmastore-usp0_0123 auto 65536 73190608 - dm CLALT2Diskx tagmastore-usp0_00ba auto 65536 287128208 - dm CLALT2Disky tagmastore-usp0_00bc auto 65536 8314624 - dm CLALT2Diskz tagmastore-usp0_0128 auto 65536 285007632 - v data - ENABLED ACTIVE 805306368 SELECT - fsgen pl data-01 data ENABLED ACTIVE 805306368 CONCAT - RW sd CLALT2Diskq-01 data-01 CLALT2Diskq 0 136314880 0 tagmastore-usp0_00bb ENA sd CLALT2Diskw-01 data-01 CLALT2Diskw 0 37930352 136314880 tagmastore-usp0_0123 ENA sd CLALT2Diskx-01 data-01 CLALT2Diskx 0 287128208 174245232 tagmastore-usp0_00ba ENA sd CLALT2Diskz-01 data-01 CLALT2Diskz 0 209715200 461373440 tagmastore-usp0_0128 ENA sd CLALT2Disky-02 data-01 CLALT2Disky 7888400 205040 671088640 tagmastore-usp0_00bc ENA sd CLALT2Diskz-04 data-01 CLALT2Diskz 255852544 29155088 671293680 tagmastore-usp0_0128 ENA sd CLALT2Diskr-01 data-01 CLALT2Diskr 0 104788368 700448768 tagmastore-usp0_00c7 ENA sd CLALT2Disky-03 data-01 CLALT2Disky 8093440 69232 805237136 tagmastore-usp0_00bc ENA v dbalogs - ENABLED ACTIVE 8388608 SELECT - fsgen pl dbalogs-01 dbalogs ENABLED ACTIVE 8388608 CONCAT - RW sd CLALT2Diskq-02 dbalogs-01 CLALT2Diskq 136314880 4194304 0 tagmastore-usp0_00bb ENA sd CLALT2Diskz-03 dbalogs-01 CLALT2Diskz 251658240 4194304 4194304 tagmastore-usp0_0128 ENA v dbms - ENABLED ACTIVE 1024000 SELECT - fsgen pl dbms-01 dbms ENABLED ACTIVE 1024000 CONCAT - RW sd CLALT2Diskq-07 dbms-01 CLALT2Diskq 283506848 1024000 0 tagmastore-usp0_00bb ENA v localdbadumps - ENABLED ACTIVE 8388608 SELECT - fsgen pl localdbadumps-01 localdbadumps ENABLED ACTIVE 8388608 CONCAT - RW sd CLALT2Diskq-03 localdbadumps-01 CLALT2Diskq 140509184 8388608 0 tagmastore-usp0_00bb ENA v log - ENABLED ACTIVE 134217728 SELECT - fsgen pl log-01 log ENABLED ACTIVE 134217728 CONCAT - RW sd CLALT2Diskq-04 log-01 CLALT2Diskq 148897792 67108864 0 tagmastore-usp0_00bb ENA sd CLALT2Diskw-02 log-01 CLALT2Diskw 37930352 25165824 67108864 tagmastore-usp0_0123 ENA sd CLALT2Diskz-02 log-01 CLALT2Diskz 209715200 41943040 92274688 tagmastore-usp0_0128 ENA v sybase - ENABLED ACTIVE 20971520 SELECT - fsgen pl sybase-01 sybase ENABLED ACTIVE 20971520 CONCAT - RW sd CLALT2Diskq-06 sybase-01 CLALT2Diskq 283115520 391328 0 tagmastore-usp0_00bb ENA sd CLALT2Diskw-03 sybase-01 CLALT2Diskw 63096176 10094432 391328 tagmastore-usp0_0123 ENA sd CLALT2Diskq-08 sybase-01 CLALT2Diskq 284530848 2597360 10485760 tagmastore-usp0_00bb ENA sd CLALT2Disky-01 sybase-01 CLALT2Disky 0 7888400 13083120 tagmastore-usp0_00bc ENA v temp - ENABLED ACTIVE 67108864 SELECT - fsgen pl temp-01 temp ENABLED ACTIVE 67108864 CONCAT - RW sd CLALT2Diskq-05 temp-01 CLALT2Diskq 216006656 67108864 0 tagmastore-usp0_00bb ENA
RAID 0 Striped Volumes in VxVM
As mentioned above stripe gets distributed among disks. Minimum you need two disks. Parallel data transfer to improve write speed with the use of stipping. Below is the procedure on how you can create striped volume in VxVM.
# vxassist -g <DG> make <VOL> <Size> layout=stripe disk1 disk2 # vxprint -htrg <DG>
RAID 1 Mirrored Volumes in VxVM
It simply means having two identical copies of data exist on each disk. It also needs a minimum of two disks. It consists of two identical CONCAT copies of data.
To provide more robustness both disks should be on different controllers which will provide additional availability of any H/W controller gets bad. Mostly used where ever redundancy is required like production services.
In RAID1 you need to invest more as you will get exactly 50 % of space utilized. Below is the procedure on how to create mirror volume in VxVM.100% data protection against disk failures unless both disks get fail at the same time which is very rare. It provides fast write performance.
# vxassist -g <DG> make vol <Size> layout=mirror disk01 disk02 # vxprint -htrg <DG> Sample view of mirrored volume is as below. # vxprint -hrtg rootdg DG NAME NCONFIG NLOG MINORS GROUP-ID ST NAME STATE DM_CNT SPARE_CNT APPVOL_CNT DM NAME DEVICE TYPE PRIVLEN PUBLEN STATE RV NAME RLINK_CNT KSTATE STATE PRIMARY DATAVOLS SRL RL NAME RVG KSTATE STATE REM_HOST REM_DG REM_RLNK CO NAME CACHEVOL KSTATE STATE VT NAME RVG KSTATE STATE NVOLUME V NAME RVG/VSET/CO KSTATE STATE LENGTH READPOL PREFPLEX UTYPE PL NAME VOLUME KSTATE STATE LENGTH LAYOUT NCOL/WID MODE SD NAME PLEX DISK DISKOFFS LENGTH [COL/]OFF DEVICE MODE SV NAME PLEX VOLNAME NVOLLAYR LENGTH [COL/]OFF AM/NM MODE SC NAME PLEX CACHE DISKOFFS LENGTH [COL/]OFF DEVICE MODE DC NAME PARENTVOL LOGVOL SP NAME SNAPVOL DCO EX NAME ASSOC VC PERMS MODE STATE SR NAME KSTATE dg rootdg default default 1000 1511438747.5.amaprd100 dm rootdg01 disk_0 auto 66446 71060733 - dm rootmirror disk_1 auto 66446 71060733 - v opt2 - ENABLED ACTIVE 16386408 ROUND - fsgen pl opt2-01 opt2 ENABLED ACTIVE 16386408 CONCAT - RW sd rootdg01-03 opt2-01 rootdg01 54532763 16386408 0 disk_0 ENA pl opt2-02 opt2 ENABLED ACTIVE 16386408 CONCAT - RW sd rootmirror-04 opt2-02 rootmirror 54532764 16386408 0 disk_1 ENA v rootvol - ENABLED ACTIVE 20974140 ROUND - root pl rootvol-01 rootvol ENABLED ACTIVE 20974140 CONCAT - RW sd rootdg01-02 rootvol-01 rootdg01 16779311 20974140 0 disk_0 ENA pl rootvol-02 rootvol ENABLED ACTIVE 20974140 CONCAT - RW sd rootmirror-02 rootvol-02 rootmirror 16779312 20974140 0 disk_1 ENA v swapvol - ENABLED ACTIVE 16779312 ROUND - swap pl swapvol-01 swapvol ENABLED ACTIVE 16779312 CONCAT - RW sd rootdg01-B0 swapvol-01 rootdg01 71060732 1 0 disk_0 ENA sd rootdg01-01 swapvol-01 rootdg01 0 16779311 1 disk_0 ENA pl swapvol-02 swapvol ENABLED ACTIVE 16779312 CONCAT - RW sd rootmirror-01 swapvol-02 rootmirror 0 16779312 0 disk_1 ENA v var - ENABLED ACTIVE 16779312 ROUND - fsgen pl var-01 var ENABLED ACTIVE 16779312 CONCAT - RW sd rootdg01-04 var-01 rootdg01 37753451 16779312 0 disk_0 ENA pl var-02 var ENABLED ACTIVE 16779312 CONCAT - RW sd rootmirror-03 var-02 rootmirror 37753452 16779312 0 disk_1 ENA
RAID 5 Volumes in VxVM
Basically, RAID 5 is made up of 3 stripes that are spread across three disks. The minimum disk required is 3.Actually data in one of the three disks is known as Parity. Parity is stored in each disk.
This Parity plays an important for restoring data in case of single disk failure in RAID5. Parity is available in all disks to make sure it always has enough copies of parity.
You will get more space compared to mirroring and have redundancy as well as single disk failure with faster read performance. Faster recovery due to the availability of parity. Slow write performance due to parity.
# vxassist -g <DG> make <VOL> <Size> layout=raid5 # vxprint -hrtg <DG>
RAID 0+1 CONCAT MIRROR Volumes in VxVM
In this case, raid level data are first concatenated and then concatenated data gets mirrored. This requires a minimum of 4 disks to configure.
# vxassist -g <DG> make <VOL> <Size> layout=mirror-concat # vxprint -hrtg <DG>
RAID 1+0 Mirrored Striped Volumes in VxVM
As the name suggests 1+0 means data is mirrored first and then mirrored data is striped. This is popularly known as RAID10. It requires a minimum of 4 disks.
# vxassist -g <DG> make <VOL> <SIZE> layout=mirror-stripe # vxprint -hrtg <DG>
That`s all about RAID levels in VxVM.I guess you have more clarity on RAID levels in VxVM.If you like this post request you to share as much as you can to keep us motivated to share such kind of technical information for system admins.
Also please share your views in form of comments if any value can be added to the post for the benefit of readers of this blog which will be really helpful.
Other Similar Topics You Might be Interested
How to Increase File System in VXVM
How to Remove Veritas File System
How to unencapsulate the rootdisk in VxVM
How to check disk size in VxVM
DG Import Failed with No Valid Log Copies
How to restore private region in VxVM
How to activate volume group in Linux