RAID Levels in VxVM

RAID levels in VxVM

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

1.CONCAT VOLUME

2.RAID 0 VOLUME

3.RAID 1 VOLUME

4.RAID 5 VOLUME

5.RAID 01

6.RAID 10

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

Extend VxFS in Solaris

How to Increase File System in VXVM

How to Remove Veritas File System

How to add a disk to LDOM

How to unencapsulate the rootdisk in VxVM

Solaris 11 LDOM Recovery

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