How to change a volume usage type from gen to fsgen in VERITAS STORAGE FOUNDATION?
It has been recommended by VERITAS to have fsgen as Volume usage type for volume which are going to be used for Filesystem creation and mounts. VERITAS claim that it becomes necessary to change the volume usage type to fsgen so that file systems will synch up with errors.
And gen type should be used only for Volume where not Filesystem creation is required, ex: is in case of Oracle where DBA’s demands for Volumes and use them internally for their own Database purpose.
1.) Some required outputs from the host before proceeding with Volume usage type conversion from gen to fsgen.
[root@linux2 TEST]# df -h
Filesystem Size Used Avail Use% Mounted on
/dev/sda2 12G 4.9G 6.5G 43% /
tmpfs 750M 72K 750M 1% /dev/shm
/dev/sda1 283M 33M 236M 13% /boot
/dev/vx/dsk/testdg/vol1
500M 25M 446M 6% /TEST
[root@linux2 TEST]# vxprint -Aht
Disk group: 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 15000 1455768536.21.linux2
dm disk1 sdb auto 65536 2027264 –
dm disk2 sdc auto 65536 2027264 –
v vol1 – ENABLED ACTIVE 1024000 SELECT – gen
pl vol1-01 vol1 ENABLED ACTIVE 1024000 CONCAT – RW
sd disk1-01 vol1-01 disk1 0 1024000 0 sdb ENA
pl vol1-02 vol1 ENABLED ACTIVE 1024000 CONCAT – RW
sd disk2-01 vol1-02 disk2 0 1024000 0 sdc ENA
[root@linux2 TEST]#
[root@linux2 TEST]# ls -lrt /TEST
total 21765
drwxr-xr-x. 2 root root 96 Feb 17 20:25 lost+found
-rw-r–r–. 1 root root 4551936 Feb 17 20:27 glibc-2.12-1.149.el6.i686.rpm
-rw-r–r–. 1 root root 16171080 Feb 17 20:27 glibc-2.12-1.149.el6.src.rpm
-rw-r–r–. 1 root root 669740 Feb 17 20:27 iscsi-initiator-utils-6.2.0.873-2.el6.x86_64.rpm
-rw-r–r–. 1 root root 775480 Feb 17 20:27 ksh-20120801-21.el6.x86_64.rpm
-rw-r–r–. 1 root root 115192 Feb 17 20:27 libgcc-4.4.7-11.el6.i686.rpm
[root@linux2 TEST]#
2.) Execute a vxprint with the -rhmvps options and redirect the output to another file as shown below:
[root@linux2 TEST]# vxprint -g testdg -rhmvps vol1 > /var/tmp/yogesh/vol1test
3.) Change the use_type field in this file from gen to fsgen:
Before Change:
[root@linux2 TEST]# grep -i use /var/tmp/yogesh/vol1test
use_type=gen
user=root
[root@linux2 TEST]# vi /var/tmp/yogesh/vol1test
After Change:
[root@linux2 TEST]# grep -i use /var/tmp/yogesh/vol1test
use_type=fsgen
user=root
[root@linux2 TEST]#
4.) Umount the FS, Stop and remove the Volume:
[root@linux2 ~]# umount /TEST
[root@linux2 ~]# vxvol -g testdg stop vol1
[root@linux2 ~]# vxedit -g testdg -rf rm vol1
5.) Remake the volume using the configuration file which we have saved and start the volume.
[root@linux2 ~]# vxmake -g testdg -d /var/tmp/yogesh/vol1test
[root@linux2 ~]# vxinfo -pg testdg
vol vol1 fsgen Unstartable
plex vol1-01 EMPTY
plex vol1-02 EMPTY
[root@linux2 ~]# vxvol -g testdg start vol1
[root@linux2 ~]# vxinfo -pg testdg
vol vol1 fsgen Started
plex vol1-01 ACTIVE
plex vol1-02 ACTIVE
6.) Check the vxprint output.
[root@linux2 ~]# vxprint -Aht
Disk group: 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 15000 1455768536.21.linux2
dm disk1 sdb auto 65536 2027264 –
dm disk2 sdc auto 65536 2027264 –
v vol1 – ENABLED ACTIVE 1024000 SELECT – fsgen
pl vol1-01 vol1 ENABLED ACTIVE 1024000 CONCAT – RW
sd disk1-01 vol1-01 disk1 0 1024000 0 sdb ENA
pl vol1-02 vol1 ENABLED ACTIVE 1024000 CONCAT – RW
sd disk2-01 vol1-02 disk2 0 1024000 0 sdc ENA
[root@linux2 ~]#
7.) Run fsck, mount the FS and check the data.
[root@linux2 ~]# fsck -t vxfs /dev/vx/rdsk/testdg/vol1
fsck from util-linux-ng 2.17.2
file system is clean – log replay is not required
[root@linux2 ~]# mount -t vxfs /dev/vx/dsk/testdg/vol1 /TEST/
[root@linux2 ~]# ls -lrt /TEST/
total 21765
drwxr-xr-x. 2 root root 96 Feb 17 20:25 lost+found
-rw-r–r–. 1 root root 4551936 Feb 17 20:27 glibc-2.12-1.149.el6.i686.rpm
-rw-r–r–. 1 root root 16171080 Feb 17 20:27 glibc-2.12-1.149.el6.src.rpm
-rw-r–r–. 1 root root 669740 Feb 17 20:27 iscsi-initiator-utils-6.2.0.873-2.el6.x86_64.rpm
-rw-r–r–. 1 root root 775480 Feb 17 20:27 ksh-20120801-21.el6.x86_64.rpm
-rw-r–r–. 1 root root 115192 Feb 17 20:27 libgcc-4.4.7-11.el6.i686.rpm
Note: check out the contents of /usr/lib/vxvm/type