Académique Documents
Professionnel Documents
Culture Documents
If there are no other ACTIVE or CLEAN plexes in the volume, make the plex CLEAN
2. When vxdisk list show dgdisabled and there are other disks in the same diskgroup which
are not Imported.
Umount the file systems withing this DG and then deport and import the disk group. If this doesnt
work, the only option is to reboot the system.
# vxdisk -o alldgs list
DEVICE
TYPE
DISK
GROUP
STATUS
fabric_6 auto:sliced c90t53d3 dg_test1 online dgdisabled
fabric_7 auto:sliced (dg_test1) online
# vxdg deport dg_test1
# vxdisk -o alldgs list
fabric_6 auto
fabric_7 auto:sliced -
error
(dg_test1) online
2. Check the number of enabled configs on each disk in a diskgroup if none of the disk have config
state=enabled then diskgroup does not have valid configuration to import. Edit the nconfig=all on
diskgroup
3. Try importing by clearing the lock
# vxdg -C -f import testdg
4. How to disable boot from vxvm and start it manually?
1. Boot into single user mode
2. Edit /etc/system. Comment out the vx parameter as follow:
*rootdev:/pseudo/vxio@0:0
*set vxio:vol_rootdev_is_volume=1
3. cd /etc/vx/reconfig.d/state.d/; rm *; touch install-db
(This should remove root-done; and prevent vxvm from starting)
4. cp -p /etc/vfstab /etc/vfstab; cp -p /etc/vfstab.prevm /etc/vfstab
(restore original vfstab)
5. init 6
6. After the system is up, start the Volume Manager service manually as follows
# vxiod set 10
# ps -ef |grep vxconfigd. If vxconfigd is not running, then run "/usr/sbin/vxconfigd -m disable"
# vxdctl mode. Should see it is in disabled mode.
# vxdctl init
# vxdctl enable
5. How to recreate diskgroup info?
1. # vxprint -mpvsh -g DISKGROUP >DISKGROUP.out
2. Destroy the diskgroup
3. Create the diskgroup with the same disk names
4. Edit DISKGROUP.out and change the disknames manually if needed
5. # vxmake -g DGNAME -d /DISKGROUP.out (to rebuild the config in one go)
6. All the volumes should now be defined and in DISABLED/EMPTY state; plex should be in
DISABLED/EMPTY state; subdisk should be in ENABLED/ACTIVE state
7. Init and start the volume as below:
# vxvol -g dg_dodgeprd4 init active dodgeprd4_data_1
This command will init the volume to active (start the plexes and volumes)
Scenario 2
# vxprint testvol
v testvol gen
DETACHED 409600 DETACH pl testvol-01 testvol DISABLED 409600 - RECOVER sd c92t58d1-25 testvol-01 ENABLED 409600 0 pl testvol-02 testvol ENABLED 409600 - ACTIVE sd c92t52d1-66 testvol-02 ENABLED 409600 0 # vxvol -g testdg start testvol
# vxprint testvol
v testvol gen
ENABLED 409600 ACTIVE pl testvol-01 testvol ENABLED 409600 - ACTIVE sd c92t58d1-25 testvol-01 ENABLED 409600 0 pl testvol-02 testvol ENABLED 409600 - ACTIVE sd c92t52d1-66 testvol-02 ENABLED 409600 0 -
Scenario 3
# vxprint testvol_3
TY NAME
ASSOC
KSTATE LENGTH PLOFFS STATE TUTIL0 PUTIL0
v testvol_3 gen DETACHED 409600 DETACH pl testvol_3-01 testvol_3 DISABLED 409600 - IOFAIL - sd c92t58d1-27 testvol_3-01 ENABLED 409600 0 pl testvol_3-02 testvol_3 ENABLED 409600 - ACTIVE - sd c92t52d1-68 testvol_3-02 ENABLED 409600 0 # vxvol -g testdg start testvol_3
# vxprint testvol_3
v testvol_3 gen ENABLED 409600 ACTIVE pl testvol_3-01 testvol_3 ENABLED 409600 - ACTIVE - sd c92t58d1-27 testvol_3-01 ENABLED 409600 0 pl testvol_3-02 testvol_3 ENABLED 409600 - ACTIVE - sd c92t52d1-68 testvol_3-02 ENABLED 409600 0 -
8. A volume with 2 plexes one plex with Recover state and other in STALE state, How do
you recover?
Plex P1 is RECOVER indicates it was in the ACTIVE state prior to the failure
Plex P2 is STALE indicates it was not participating in I/Os and had stale data.
Run following commands:
# vxmend fix stale P1
# vxmend fix stale P2
# vxmend fix clean P1
# vxrecover -s V1
9. A Volume is disabled and not startable. No CLEAN plexes. Good Plex is not known. How do
you recover?
* Take all but one plex offline and set that plex to CLEAN
* Run vxrecover -s
* Verify data on the volume
* Run vxvol stop
* Repeat this for all plexes until you identify the plex with good data.
10. How to remove disabled paths from Veritas?
Run vxdctl enable to make sure veritas has released its grip on the device.
# vxdctl enable
Make sure the device is offlined from Solariss view.
# luxadm -e offline /dev/rdsk/c2t5006048452A83978d206s2
Clear out the device from Solariss view.
# devfsadm -Cv
11. How to run vxconfigd in debug mode?
# vxconfigd -k -m enable -x debug_level
(0 no debugging, 9 highest debugging)
-x log log all console output to the /var/vxvm/vxconfigd.log file
-x logfile=name use the specified log file instead
-x syslog Direct all console output through the syslog interface
-x timestamp Attach a date and time-of-day timestamp to all messages
-x tracefile=name log all possible tracing information in the given file
12. /var/vxvm/tempdb directory is missing, misnamed, or corrupted
It stores configuration information about imported disk groups. The contents are recreated after a
reboot.
Causes: Directory is missing, misnamed, or corrupted
Solution:
To remove and recreate this directory:
# vxconfigd -k -x cleartempdir
First command "vxsplitlines" need to be run on the disk group. This gives result as which & all disks
are suffered with serial split brain.
# vxspiltlines -g datadg
VxVM vxsplitlines NOTICE V-5-2-2708 There are 1 pools.
The Following are the disks in each pool. Each disk in the same pool
has config copies that are similar.
VxVM vxsplitlines INFO V-5-2-2707 Pool 0.
c3t0d0s2 A0D1
To see the configuration copy from this disk issue
/etc/vx/diag.d/vxprivutil dumpconfig /dev/vx/dmp/c3t0d0s2
To import the diskgroup with config copy from this
disk use the following command
/usr/sbin/vxdg -o selectcp=1141218744.29.tncdx15 import datadg
The following are the disks whose ssb ids don't match in this config
copy
A0D3
A0D5
Above error mentions that disk A0D3 & A0D5 are suffering with Split brain. To verify this run
following command:
# vxsplitlines -g <disk group> -c <disk name>
For e.g
#vxsplitlines -g datadg -c c3t0d0s2
VxVM vxsplitlines INFO V-5-2-2701 DANAME(DMNAME) || Actual SSB || Expected SSB
VxVM vxsplitlines INFO V-5-2-2700 c3t0d0s2( A0D1 ) || 0.1
|| 0.1 ssb ids match
VxVM vxsplitlines INFO V-5-2-2700 c3t1d0s2( A0D2 ) || 0.1
|| 0.1 ssb ids match
VxVM vxsplitlines INFO V-5-2-2700 c3t2d0s2( A0D3 ) || 0.2
|| 0.1 ssb ids don't match
VxVM vxsplitlines INFO V-5-2-2700 c3t3d0s2( A0D4 ) || 0.1
|| 0.1 ssb ids match
VxVM vxsplitlines INFO V-5-2-2700 c3t4d0s2( A0D5 ) || 0.2
|| 0.1 ssb ids don't match
VxVM vxsplitlines INFO V-5-2-2700 c3t5d0s2( A0D6 ) || 0.1
|| 0.1 ssb ids match
VxVM vxsplitlines INFO V-5-2-2700 c3t6d0s2( A0D7 ) || 0.1
|| 0.1 ssb ids match
VxVM vxsplitlines INFO V-5-2-2700 c3t7d0s2( A0D8 ) || 0.1
|| 0.1 ssb ids match
VxVM vxsplitlines INFO V-5-2-2700 c3t9d0s2( A0D10 ) || 0.1
|| 0.1 ssb ids match
VxVM vxsplitlines INFO V-5-2-2700 c3t16d0s2( A0D12 ) || 0.1
|| 0.1 ssb ids match
from the output above can bee seen that AOD3 & A0D5 have different ssb_id.
ssb_id could also be verified by running "vxdisk list" on that disk.
#vxdisk list c3t0d0s2
devicetag: c3t0d0
type: auto
hostid: tncdx15
disk: name= id=1141218744.29.tncdx15
dump_c3t2d0s2
update_tid=0.1027
config_tid =0.1357
ssb_id =0.2
dump_c3t3d0s2
update_tid = 0.1027
config_tid = 0.1355
ssb_id=0.1
Now here it becomes a bit confusing, as we can see that dump_c3t3d0s2 has latest config_tid
(0.1357) & at same time it has ssb_id 0.2 which doesn't match with expected ssb_id that is 0.1.
To clear this confusion, construct a vxprint output with above "vxprivutil" output.
Check with customer if generated output appears to him as correct. If it appears as correct you can
import the diskgroup with configuration present on this disk.
# vxdg -o selectcp=<disk id> import <diskgroup>
For e.g
# /usr/sbin/vxdg -o selectcp=1141219312.37.tncdx15 import datadg
[ Please note it is quite possible that diskgroup wont import here. If it fails give an -Cf option with
vxdg.
#/usr/sbin/vxdg -Cf -o selectcp=1141219312.37.tncdx15 import datadg ]
Confirm that disk group is imported.
# vxdisk list
Start the volume
#vxvol -g <diskgroup> start <volume name>
(If plexes are in recover state, you need to follow recovery procedure of plexes)
Mount the volume
#mount -F <fs type> /dev/vx/dsk/dg/vol-name /mount-point
(It may ask to run a fsck here)
When diskgroup is imported, ssb_id parameter in all the hard disks is resetted to 0.0.
Volume layout
A question arises many a times what is the layout of given volume just by looking at vxprint output.
Output similar to below should tell you what it is:
layout=contact-mirror
Size volume is equal to size of main plex, Size of main plex is equal to that of subvolume, Size of all
plexes (mirrors) under subvolume is same and is equal to the size of subvolume. Main volume with
main plex, Main plex with one subvolume, One subvolume with number of plexes (equal to number of
mirrors).
v testvol-L01 fsgen
ENABLED ACTIVE 10240 SELECT pl testvol-P01 testvol-L01 ENABLED ACTIVE 10240 CONCAT RW
sd disk01-04 testvol-P01 disk01 16240 10240 0
c1t5d2 ENA
pl catpro1-P02 testvol-L01 ENABLED ACTIVE 10240 CONCAT RW
sd disk07-05 testvol-P02 disk07 16240 10240 0
c1t4d2 ENA
pl catpro1-P03 testvol-L01 ENABLED ACTIVE 10240 CONCAT RW
sd disk06-06 testvol-P03 disk06 16800 10240 0
c1t3d0 ENA
layout=stripe-mirror (mirrored stripe Raid 10)
Size of volume is equal to size of main plex, Size of main plex is equal to total of subvolumes, Size of
plexes (mirrors) under each subvolume is same
and is equal to the size of subvolume. Main volume with main plex, Main plex with more than one
subvolumes (equal to number of columns), Each subvolume with more than one plex (equal to
number of mirrors)
# vxassist -g testdt make testvol 5m layout=stripe-mirror,nolog stripeunit=128 ncolumns=3
v testvol
fsgen
ENABLED ACTIVE 10240 SELECT testvol-03
pl testvol-03 testvol ENABLED ACTIVE 10368 STRIPE 3/128 RW
sv testvol-S01 testvol-03 testvol-L01 1 3456 0/0
2/2 ENA
sv testvol-S02 testvol-03 testvol-L02 1 3456 1/0
2/2 ENA
sv testvol-S03 testvol-03 testvol-L03 1 3456 2/0
2/2 ENA
v testvol-L01
pl testvol-P01
sd disk01-04
pl testvol-P02
sd disk02-04
fsgen
ENABLED ACTIVE 3456 SELECT testvol-L01 ENABLED ACTIVE 3456 CONCAT RW
testvol-P01 disk01 14560 3456 0
c1t5d2 ENA
testvol-L01 ENABLED ACTIVE 3456 CONCAT RW
testvol-P02 disk02 14560 3456 0
c1t2d0 ENA
v testvol-L02
pl testvol-P03
sd disk07-05
pl testvol-P04
sd disk04-04
fsgen
ENABLED ACTIVE 3456 SELECT testvol-L02 ENABLED ACTIVE 3456 CONCAT RW
testvol-P03 disk07 14560 3456 0
c1t4d2 ENA
testvol-L02 ENABLED ACTIVE 3456 CONCAT RW
testvol-P04 disk04 14560 3456 0
c1t3d1 ENA
v testvol-L03
pl testvol-P05
sd disk06-06
pl testvol-P06
sd disk05-04
fsgen
ENABLED ACTIVE 3456 SELECT testvol-L03 ENABLED ACTIVE 3456 CONCAT RW
testvol-P05 disk06 15120 3456 0
c1t3d0 ENA
testvol-L03 ENABLED ACTIVE 3456 CONCAT RW
testvol-P06 disk05 14560 3456 0
c1t5d0 ENA
testvol ENABLED
testvol-02 disk02
testvol-02 disk04
testvol-02 disk05
ACTIVE
10640
10640
10640
11856
3920
3920
3920
STRIPE 3/128 RW
0/0
c1t2d0 ENA
1/0
c1t3d1 ENA
2/0
c1t5d0 ENA