VxVM Troubleshooting – Increasing the Size of Veritas Disk Private Region

 

 

We know that each disk under veritas volume manager  is having some  identification information in it’s private region, so that the disks are readily identifiable irrespective of the machine they are connected.  When we place these disks under Veritas Diskgroups, the VxVM will start writing it’s configuration information to the same tiny private region. 

 

Unfortunately, the size of the private region is set at disk initialization and fixed for the life time of the disk. Whereas the configuration database , that stores volume,plex and subdisks definition  will continuously grow based on the configuration change we make.  If the private region is too small, then there will be some situations where the private region go full and won’t allow any  more configuration database updates in that disk group.  And there is no direct solution to increase the priviate region and normally we do follow this offline procedure to increase the private region length

 

1. Backup All data to tape

2. Re-initialize disks with larger private region

3. Recreate volumes as per the original configuration

4. Restore the data.

 

And just for an experiment , I have followed the below procedure  to increase  the private region without bringing the volumes down and the experiment went well. Here is the  result of the work I have done

 
Actual Setup:  
– I have created a new mirrored Volume named “testvol” under diskgroup name “testdg”.
– I have used the disks aludisk_3 and aludisk_5 for the testvol
 
And below is the veritas configuration before i start my work.
 
 

root@gurkulvcs2#vxprint -htg testdg
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 testdg       default      default  46000    1362496983.23.gurkulvcs2

dm disk01       aluadisk0_3  auto     1024     6277888  –
dm disk02       aluadisk0_5  auto     1024     6277888  –

v  testvol      –            ENABLED  ACTIVE   2097152  SELECT    –        fsgen
pl testvol-01   testvol      ENABLED  ACTIVE   2097152  CONCAT    –        RW
sd disk01-01    testvol-01   disk01   0        2097152  0         aluadisk0_3 ENA
pl testvol-02   testvol      ENABLED  ACTIVE   2097152  CONCAT    –        RW
sd disk02-01    testvol-02   disk02   0        2097152  0         aluadisk0_5 ENA

 
::::: And I have copied sample data to the volume. 

 
root@gurkulvcs2#df -h /mnt
Filesystem             size   used  avail capacity  Mounted on
/dev/vx/dsk/testdg/testvol
                       961M   280M   624M    31%    /mnt
 
 
Step1 : Initially, checking the  current configuration database size ( i.e. Permlen=528) and individual disk lengths ( i.e. “len=528” )
 
root@gurkulvcs2#vxdg list testdg|grep ^config
config:    seqno=0.1042 permlen=528 free=521 templen=3 loglen=80
config disk aluadisk0_3 copy 1 len=528 state=clean online
config disk aluadisk0_5 copy 1 len=528 state=clean online
 
Step 2: Now, I am removing first disk from the DG, and reattached it to the mirror with increased privlen
 
root@gurkulvcs2#vxdg -g testdg -k rmdisk disk01
root@gurkulvcs2#vxdisksetup -i aluadisk0_3 privlen=65536
root@gurkulvcs2#vxdg -g testdg -k adddisk disk01=aluadisk0_3
root@gurkulvcs2#vxrecover -sb -g testdg disk01
root@gurkulvcs2#vxtaks list
TASKID  PTID TYPE/STATE    PCT   PROGRESS
   162           PARENT/R  0.00% 1/0(1) VXRECOVER disk01 testdg
   163   163     ATCOPY/R 94.34% 0/2097152/1978368 PLXATT testvol testvol-01 testdg
                                           
==> wait until  the sync complete 
Step 3: Now  I see that “len”  value for disk01 ( i.e .aludisk0_3) increased from 528 to 48144, but still the “permlen” of the dg is at “528” because the  veritas takes only the smaller privlentgh for configuration database size.
 
 
root@gurkulvcs2#vxdg list testdg|grep ^config
config:    seqno=0.1046 permlen=528 free=521 templen=3 loglen=80
config disk aluadisk0_3 copy 1 len=48144 state=clean online
config disk aluadisk0_5 copy 1 len=528 state=clean online
Step 4: In the next step, i am increasing the privlen for second disk by removing and reattaching it.
 
root@gurkulvcs2#vxdg -g testdg -k rmdisk disk02
root@gurkulvcs2#vxdisksetup -i aluadisk0_5 privlen=65536
root@gurkulvcs2#vxdg -g testdg -k adddisk disk02=aluadisk0_5
root@gurkulvcs2#vxrecover -sb -g testdg disk02
root@gurkulvcs2#vxtask list
TASKID  PTID TYPE/STATE    PCT   PROGRESS
   173           PARENT/R  0.00% 1/0(1) VXRECOVER disk02 testdg
   174   174     ATCOPY/R 05.76% 0/2097152/120832 PLXATT testvol testvol-02 testdg
       
===> wait until sync complete
 
 
Step 5: Now check the “permlen” for the entire disk group and “len” fields for the individual disks. It shows that the configuration database length and individual disk privlen increased to new value.
 
 
root@gurkulvcs2#vxdg list testdg|grep ^config
config:    seqno=0.1050 permlen=48144 free=48137 templen=3 loglen=7296
config disk aluadisk0_3 copy 1 len=48144 state=clean online
config disk aluadisk0_5 copy 1 len=48144 state=clean online
root@gurkulvcs2#
 
Step 6: And Finally verifying the data we originally copied to the volume, and it looks intact
 
root@gurkulvcs2#cd /mnt
root@gurkulvcs2#ls -l
total 18
drwxr-xr-x   3 root     root         512 Mar  5 23:37 dvd2-sol_x64
drwx——   2 root     root        8192 Mar  5 23:34 lost+found
root@gurkulvcs2#df -h /mnt
Filesystem             size   used  avail capacity  Mounted on
/dev/vx/dsk/testdg/testvol
                       961M   280M   624M    31%    /mnt
root@gurkulvcs2#
 
 
Ramdev

Ramdev

I have started unixadminschool.com ( aka gurkulindia.com) in 2009 as my own personal reference blog, and later sometime i have realized that my leanings might be helpful for other unixadmins if I manage my knowledge-base in more user friendly format. And the result is today's' unixadminschool.com. You can connect me at - https://www.linkedin.com/in/unixadminschool/

9 Responses

  1. Elumalai M says:

    Excellent example. Appreciate your effort.

  2. chetantare says:

    Hi,
    I want perform SVM to VERITAS conversion activity. means we have /dev/md/dsk/d30 as /oracle that same FS we have converted to veritas as /dev/vx/dsk/oradg/oracle (encapsulation) without losing any single KB. can u tell me are the stpes that we have to follws,

  3. chetantare says:

    Hi sir,
    Still waiting 4 reply pls update me.
    any way HAPPY HOLI!!!!!!!!!

  4. Maniswara Pavan says:

    Hi Ram,

    I have a doubt here ..
    Lets think we have disk and its private region got full . In that case what error we will get if private region got full and what would be impact ?
    how we can check and confirm for particular disk and diskgroup private region got full ?

  5. Ramdev Ramdev says:

    Pavan, the below command mentioned in this doc to show how much pemlen and free values for the private region.  

    root@gurkulvcs2#vxdg list testdg|grep ^config

    and about the error message you will get something like  ( but not exactlu same)

    “Configuration too large for configuration copies”

  6. Srinivas says:

    Hi Ramdev 

    What is meant by tutilo and putilo fields in veritas volume manager

    • Ramdev Ramdev says:

      Hi Srinivas, I know they are reserved for VxvM internal purpose but never played with them. And as per the Veritas manual.

      the putil and tutil fields are used by Volume Manager commands after plex creation. putil attributes are maintained on reboot; tutil fields are temporary and are not retained on reboot.
      Both putil and tutil have three functions and are numbered according to those functions. These fields can be modified as needed.
      Volume Manager uses the utility fields marked putil0 and tutil0. Other VERITAS products use those marked putil1 and tutil1. Fields marked putil2 and tutil2 are user fields. Table 1 lists the functions of the putil and tutil fields.

  1. September 18, 2015

    […] Read – Troubleshooting – Increasing the Size of Veritas Disk Private Region […]

  2. July 5, 2016

    […] VxVM Troubleshooting – Increasing the Size of Veritas Disk Private Region […]

What is in your mind, about this post ? Leave a Reply

Close
  Our next learning article is ready, subscribe it in your email

What is your Learning Goal for Next Six Months ? Talk to us