You are on page 1of 64

Archive for the veritas volume manager Category Creating Veritas Volume using vxmake Posted July 13,

2012 Filed under: veritas volume manager | Leave a Comment We will see how to create a veritas volume using vxmake command. There are two ways to create a vx volume. A top to bottom approach wherein you create a volume and veritas creates the plex and subdisk for you. A bottom to top approach where in you create the objects and then build a volume. On a comparative note, vxassist is the easier way as it creates the volume top to bottom. Vxmake is comparatively difficult to manage in a production environment.. Knowing how to build a volume from scratch does not hurt and is a good exercise in learning the building blocks of VX. Lets see in detail how it works out. vxmake allows you to create objects individually. The approach will be to create Subdisks, associate plex with subdisk and put the plex in the volume. I am assuming that the disk test01 is part of the testdg diskgroup. 1. Create the Subdisk; #vxmake sd test01-01 test01,0,104857600 ( The value is in sectors ) 2. Build the Plex ; # vxmake plex testplex 3. Associate the Plex with subdisk ; # vxsd assoc testplex test01-01 assoc indicates we are associating the subdisk to the plex. 4. Attach the plex to volume ; # vxmake -U fsgen vol testvol plex=testplex 5. Check the status of the Objects. # vxprint -g testdg -hrtdg testdg default default 0 dm test01 c1t0d0s2 sliced 2048 104857600 v testvol fsgen DISABLED EMPTY 104857600 ROUND pl testplex testvol DISABLED EMPTY 104857600 CONCAT RW sd test01-01 testplex test01 0 104857600 0 c1t0d0 ENA 6. Start the volume ; # vxvol -g testdg start testvol 7. Check the status ; #vxprint -g testdg -hrt Missing Volboot file in VxVM Posted July 3, 2012 Filed under: veritas volume manager | Leave a Comment How to recover from a missing /etc/vx/volboot file? The volboot is an important file, it contains the hostid of the system and this is used by VxVM to establish the ownership of disks. The volboot is important in the management of vxconfigd as well. If the rootdisk is under VxVM control it also has the information of boot disk group information. During boot up, vxvm config dameon reads the volboot file, if the file is missing, vxconfigd fails and the boot sequence is aborted. Solution will be a) to copy the volboot file from backup and reboot the system. b) If a valid backup is not available we may need to run the sequence of commands to enable it again. Obtain the hostid of the system from vxprivutil.

# vxprivutil list /dev/dsk/c0t1d0s3 |grep -i hostid # vxdctl stop ( stop the vxconfigd, if its running ) # vxiod set 10 # vxconfigd -m disable ( start the vxconfigd in disable mode ) # vxdctl init <hostid> ( hostid obtained from vxprivutil, this will recreate the /etc/vx/volboot file ) cfgadm:::Device being used by VxVM Posted November 3, 2010 Filed under: Solaris, veritas volume manager | Leave a Comment root@abc>/> cfgadm -c unconfigure c1::dsk/c1t0d0 cfgadm: Component system is busy, try again: failed to offline: /devices/ssm@0,0/pci@1c,700000/pci@1/SUNW,isptwo@4/sd@0,0 Resource Information /dev/dsk/c1t0d0s2 Device being used by VxVM cfgadm unconfigure command fails here. The way to resolve this is to disable the disks path from DMP control. Since there is only one path to this disk, the -f (for force) option needs to be used: root@abc>/> vxdmpadm -f disable path=c1t0d0s2 root@abc>/> vxdmpadm getsubpaths ctlr=c1 NAME STATE[A] PATH-TYPE[M] DMPNODENAME ENCLR-TYPE ENCLR-NAME ATTRS ============================================================================== == c1t0d0s2 DISABLED - c1t0d0s2 Disk Disk c1t6d0s2 ENABLED(A) - c1t6d0s2 Disk Disk You can see the path now disabled from DMP. root@abc>/> cfgadm -c unconfigure c1::dsk/c1t0d0 cfgadm goes through fine. root@abc>/> Rootdg corruption Server fails to boot Posted May 1, 2010 Filed under: veritas volume manager | Comments (1) There are times when one has to go through the cut Server has a bad panic/power trip and it corrupts the rootdg badly and the server is unable to boot with VxVM. Here is a procedure to recover from the situation. 1. Boot from the cdrom or from the network 2. Mount the rootdisk. 3. Once mounted, disable the start up of VxVM. - Edit /a/etc/system. Comment out the vx parameter as follow: *rootdev:/pseudo/vxio@0:0 *set vxio:vol_rootdev_is_volume=1 - cd /a/etc/vx/reconfig.d/state.d/

- rm root-done - touch install-db - cp -p /a/etc/vfstab /a/etc/vfstab.withvm - cp -p /a/etc/vfstab.prevm /a/etc/vfstab - init 6 4. Ensure the server comes up without veritas starting up. 5. Manually start the veritas volume manager. - 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 - vxdctl mode 6. Check the diskgroups. - vxdg list 7. Deport the rootdg so that it does not come up again. - vxdg deport rootdg 8. Zero out private and public region partitions from the disks on the rootdg. - format -d <c#t#d#> 9. Once this is done, the disks should show as error. - vxdisk list 10. Re encapsulate the disk. - cd /etc/vx/reconfig.d/state.d/ - rm install-db - vxdiskadm. Option 2 to encapsulate the primary bootdisk - Reboot machine upon completed Option 2 above. 11. Verify for the boot and all volumes coming up clean. - vxprint -ht, to verify all the volume are enabled. If the volume not started, then run vxvol -g groupname startall to start the volume. - Revert back the /etc/vfstab.withvm to /etc/vfstab - mount all the volume and verify. 12. Mirror to second bootdisk - vxdiskadm. Option 1 to Add or initialize the second bootdisk - vxdiskadm. Option 6 to mirror the secondary bootdisk VxVM Upgrade Posted February 13, 2010 Filed under: veritas volume manager | Leave a Comment Lets look at VxVM Upgrade this week The setup is a) Solaris 9 b) VxVM 4.0 / VxDMP > No powerpath c) Oracle databases. I upgraded to Storage Foundation 5.0 MP3. The tech plan is as below:

1. Install the VRTSspt Package. Down load the package from symantec website 2. Run the VRTSexplorer and keep the file at a safe location if you may need it in case you run in any issue. 3. Break the rootmirror 4. Unencapsulate the rootmirror. # mount /dev/dsk/c0t1d0s0 /alt.root # cd /alt.root/etc # touch /alt.root/etc/vx/reconfig.d/state.d/install-db rootdev:/pseudo/vxio@0:0 set vxio:vol_rootdev_is_volume=1 Remove the above lines from /alt.root/etc/system file Make changes to /etc/vfstab to ensure the system boots from the mirror disk ( c#t#d#) 5. Boot the server from rootmirror and verify for the server coming up. 6. Boot again from the rootdisk. 7. Check for the pre-requiste packages. Solaris 9 for Storage Foundation need SUNWcfcl,SUNWcfclr, SUNWcfclx packages and patch 114477-04. 8. Install the packages first and then the patches. Packages and patches can be downloaded from http://www.sun.com/downloads and choose A-Z downloads 9. Verify the pre-staged software is not corrupted and working fine. ( You can do this by doing a tar and keeping the software ready) 10. Ensure all applications/Databases are shutdown and the file-systems are down. 11. Ensure all the apps/dbs are umounted clean . # echo 8192B.p S | fsdb -F vxfs <Raw_Device> | grep clean Receive: flags 0 mod 0 clean clean_value Note: A clean_value value of 0x5a indicates the file system is clean, 0x3c incidates the file system is dirty, and 069 indicates the file system is dusty. A dusty file system has pending extended operations. Note: If a file system is not clean, enter the following commands for that file system: Enter: fsck -F vxfs filesystem Enter: mount -F vxfs [Block_Device] [mountpoint] Enter: umount [mountpoint] Note: This should complete any extended operations that were outstanding on the file system and unmount the file system cleanly. 12. Run the upgrade_start -check # /storage_foundation/scripts/upgrade_start -check -Note: this is a veritas check script that will check to see if this machine is eligible for upgrade. 13.Ensure that the root mirror is removed from rootdg. # /sbin/vxdg g rootdg f rmdisk rootmirror 14. Un encapsulate the rootdisk Remove the following lines from /etc/system rootdev:/pseudo/vxio@0:0 set vxio:vol_rootdev_is_volume=1

Prevent veritas from starting up. #/usr/bin/cd /etc/vx/reconfig.d/state.d #/usr/bin/rm root-done #/usr/bin/touch install-db 15 . Deport all appdiskgroups. 16. Reboot the node to single user mode. 17. Remove all packages that start with VRTS but for VRTSvlic. Dont remove the VRTSvlic packages. I believe you can remove this as well, but I have not tried it myself. # pkginfo | grep VRTS # pkgrm VRTSxxxx 18. Install the Veritas 5.0 Software # ./installer Note : Answer the questions and complete the installation. Insome cases veritas may not start correctly and will require a reboot. 19. If you are upgrading from 4.0 or later the licenses should take of themselves. 20. Manually Encapsualte the rootdisk after upgrade. # vxdiskadm Choose option 2 and give the root disk for encapsulation. 21. Import the disk groups and mount the filesystems. 22. Ensure applications are working fine 23. Remirror the rootdrive follow standard procedures. Extending Filesystems in Sun Cluster using VxVM Posted October 25, 2009 Filed under: Solaris, Sun cluster, veritas volume manager | Tags: Sun cluster, Veritas Leave a Comment I did an activity to add LUNS to existing database file systems running sun Cluster 3.1, Solaris 9 OS with VxVM. The steps I followed are : a) Get the LUN information from Storage and update the sd.conf accordingly on both the servers b) Make the LUNS Visible on the server. Run the command on both the nodes #update_drv -f sd c) Verify for the LUNS present; # format d) Configure emcpower devices. Run on both the servers. # /etc/powermt config # /etc/powermt save e) Create the Sun Cluster DID devices. Run on both nodes if required. # devfsadm # scgdevs f) Verify the sun Cluster DID devices. # scdidadm -L g) Add the disks to veritas diskgroup ; # vxdiskadm h) Grow the FS Identifying multiple paths for a disk under VxVM control

Posted December 8, 2008 Filed under: veritas volume manager | Leave a Comment This is a routine task for people dealing with VERITAS volume manager. There are times when one need to confirm the number of paths for the disk. This can be accomplished by the below command. # vxdisk list <diskname> In this one can look at the numpaths value at the bottom of the output. Mirroring an Empty volume under VxVM Posted November 14, 2008 Filed under: veritas volume manager | Leave a Comment If you are mirroring empty Veritas plexes, this post is for you. Normally we would wait ensuring the plexes are in sync. If the plex size is large, then the waiting time is more. A workaround is # vxassist -g <dgname> make testvol 1g layout=mirror init=active dgname01 dgname02 init=active is the keyword here. This should save lot of time. Identifying and Replacing failed disks in V880 Posted October 17, 2008 Filed under: Servers, veritas volume manager | Leave a Comment Hi, recently i ran in to a problem of failed disk with V880. I wanted to make sure if the disk has indeed failed. Server was running VxVM. Did these commands to identify the disk failure. V880 has internal FCAL loop. So to identify that #luxadm probe Found Enclosure: SUNWGS INT FCBPL Name:LoopA Node WWN:508002000011d7d8 Logical Path:/dev/es/ses0 #luxadm display LoopA SUNWGS INT FCBPL DISK STATUS SLOT DISKS (Node WWN) 0 On (O.K.) 2000002037f87099 1 On (O.K.) 2000002037f39796 2 On (Login failed) 3 Not Installed 4 Not Installed 5 Not Installed 6 Not Installed 7 Not Installed 8 Not Installed 9 Not Installed 10 Not Installed 11 Not Installed SUBSYSTEM STATUS

FW Revision:9218 Box ID:0 Node WWN:508002000011d7d8 Enclosure Name:LoopA SSC100s 0=Base Bkpln, 1=Base LoopB, 2=Exp Bkpln, 3=Exp LoopB SSC100 #0: O.K.(11.A) SSC100 #1: O.K.(11.A) SSC100 #2: Not Installed SSC100 #3: Not Installed Temperature Sensors 0 Base, 1 Expansion 0:21C 1:Not Installed Here we can identify the disk failure at the slot no 2. This is a good way to identify the failed disk under internal FCAL loop. Since its a VxvM disk, make sure its in failed was or removed state. # vxdisk list DEVICE TYPE DISK GROUP STATUS c1t0d0s2 sliced rootdisk rootdg online c1t1d0s2 sliced disk01 rootdg online c1t1d0s2 sliced - online - - disk02 rootdg failed was:c1t2d0s2 Run vxdiskadm option 4 to remove the disk for replacement. After running vxdiskadm the output should look similar to this: # vxdisk list DEVICE TYPE DISK GROUP STATUS c1t0d0s2 sliced rootdisk rootdg online c1t1d0s2 sliced disk01 rootdg online c1t2d0s2 sliced - - online - - disk02 rootdg removed was:c1t2d0s2 1. Put the disk into offline state; # vxdisk offline c1t2d0s2 2. VxVM is ready for removal of the disk, run the luxadm offline to remove the WWN entries and device links for the failed drive ; # luxadm -e offline /dev/rdsk/c1t2d0s2 3. Do the luxadm to remove the device. ; #luxadm remove_device /dev/rdsk/c1t2d0s2 4. check the device file ; #devfsadm -C ; # ls -ld /dev/rdsk/c1t2d0* 5. Replace the disk physically 6. Run the devfsadm ; # devfsadm 7. verify with luxadm display ; # luxadm display LoopA 8. label the disk ; use format and label 9. # vxdctl enable 10. # vxdisk list ; you would see a new disk. 11. Now use vxdiskadm option 5 to replace the disk. Give yes to the access question. 12. Verify the sync ; # vxtask list Thats it you should see the replaced disk doing just fine. Veritas recovery features

Posted August 19, 2008 Filed under: Recovery, veritas volume manager | Leave a Comment In this post i will explain the volume recovery and disk group recovery in veritas volume manager. As an admin, we may face situations where one deletes a volume accidentally or destroy a dg by mistake. If we do not have configuration backups of the objects, we are in for some trouble. In order to save our a** its always better to be proactive and do the objects backups. From 3.5 MP3 ( if am correct) vxvm offers vxconfigbackup & vxconfigrestore options for automatic object backups. vxconfigbackupd is a daemon which runs in the background and do upto date backups of all the disk group and the objects associated with it. All the backups are stored in /etc/vx/cbr/bk/dgname directory. Whenever a configuration change occurs, vxconfigbackupd daemon updates the directories with the latest configuration. One can also manually do the object backups using the vxconfigbackup command. One can use the -l option to change the default location of the backups. vxconfigbackup -l /var/vxvmbackups datadg This would update all the configuration backups to /var/vxvmbackups directory for datadg. If we need to recover the configuration information for the entire datadg, we can use the vxconfigrestore option. There can be situations where the configuration information is completely lost due to system outages or reboots. /etc/vx/bin/vxconfigrestore -p /var/vxvmbackups datadg # to precommit the changes /etc/vx/bin/vxconfigrestore -c /var/vxvmbackups datadg # to commit the changes A vxprint output will give the confirmation vxprint -g datadg I just explained how to go about backingup and recovering configuration data using the vxconfigbackup and vxconfigrestore options. There may be situations when someone accidentally deletes the volume of a diskgroup. In such situations, backups of individual object information will come in handy You can schedule a cron to backup individual object configuration /usr/sbin/vxprint -rhmvps ${volume_name} > ${DIR_NAME}/${volume_name}.${DATE} using the backed up file and vxmake we can easily recover the deleted volume configuration vxmake -g <dgname> -d <file_name> Verify the recovery using vxprint ; vxprint -g datadg -hrt Start the volume ; vxvol -g <dgname> start <vol_name> Volume is ready to do I/O. As with the case with any recovery options, these options should be experimented before using in the production setup. vxvm interview questions How do you replace a failed boot disk under meta in solaris? Step by step explanation? How do you remove meta only for the root slice? remaining slices should run under meta? what you would do if you want to replace a slice using metareplace option? what is the significance of 51% state database replicas in SVM? what are the common errors you find in Solaris Volume manager? You have a boot disk under svm, the machine fails to boot and remains in ok prompt? what could bethe possible reason?

metastat -p shows a metavolume needs replacement. Metavolume is a single way mirror only. Actually you find disk and metavolumes are ok and I/O is happening to the filesystems how will youremove the metareplace message that comes out of metastat. 8. How to create a shared disk group in VxVM? 9. What is the difference between private and public regions in Veritas Volume manager? 10. what would you do if the private region of a particular disk group is full? What are the designconsiderations for the size of private region in Vxvm disk group? 11. How to replace a corrupt private region? in vxvm 3.5 and greater versions 12. How would you convert a volume from gen to fsgen? why should you do that? 13. How can you unencapsulate a boot disk in VxVM? 14. How to identify multiple paths for a disk. 15. What is the difference between Vxdmp and EMC powerpath? 16. vxdisk -o alldgs list o/p shows some disk groups in braces What does that signify? 17. what are the various layouts that are available in VxVM? 18.What is a layered volume? how to create it using vxmake? 19.How to quickly mirror a volume, if the volume is empty? 20. How to grow a volume? 21. What is the difference between failing and failed disks? 22. How to replace a failed disk in Veritas? 23. Plex is in a disabled state. How will you recover? what are the steps to follow? 24.what is the difference between detached and disassociate state of plexes? 25. Whats the boot process of VxVM? 26. Whats the difference between SVM and VxVM? What would you recommend to your clients? why? 27.What are the various clusters you have worked on? 28. Which cluster is better VCS or Sun cluster? 29. Compare and contrast VCS and Sun Cluster. 30.how will you start VCS service? What are the configuration files in VCS? 31. How would switch a service group? 32. How would you freeze a service group? 33. What is a Split brain scenario ? =# Name the mandatory disk group in VxVM 3.5 ? How will you configure VxVM in 3.5 ? ANS: rootdg is the mandatory disk group in VxVM 3.5, vxinstall is the command to configure VxVM, Itwill create the disk groups, initializes the disks and adds them to the group.# How will you create private and shared disk group using VxVM ?ANS: For Private DG:Command: vxdg initFor Shared DG:Command: vxdg -s init < disk1 disk2 disk3 ># Which are the different layouts for volumes in VxVM ? ANS: mirror, stripe, concat (default one), raid5, stripe-mirror, mirror-stripe.# What is the basic difference between private disk group and shared disk group ? ANS: Private DG: The DG which is only visible for the host on which you have created it, if the host is apart of cluster, the private DG will not be visible to the other cluster nodes. Shared DG: The DG which is sharable and visible to the other cluster nodes.# How will you add new disk to the existing disk group ?

ANS: Run vxdiskadm command, which will open menu driven program to do various disk operations,select add disks option or you can use another command vxdiskadd.# How will you grow/shrink the volume/file system ? What is the meaning of growby and growtooptions ? What is the meaning on shrinkto and shrinkby options ? ANS: vxassist command is used to do all volume administration, following is the description and syntax.Growby option: This is will grow your file system by adding new size to the existing file system. Growto option: This will grow your file system as per the new size. This WILL NOT ADD new size to theexisting one. Shrinkby option: This will shrink your file system by reducing new size from existing file system. Shrinkto option: This will shrink your file system as per the new size. This WILL NOT REDUCE the filesystem by reducing new size.Command:vxassist -g [growto, growby, shrinkto, shrinkby] length# How will you setup and unsetup disks explicitly using VxVM ? ANS: You can use /etc/vx/bin/vxdiskunsetup to unsetup the disk, and /etc/vx/vxdisksetup to setup thedisk.# How will you list the disks, which are in different disk groups ? ANS: vxdisk list is the command will list the disks from the DG which is currently imported, you cancheck the same using vxprint command too. vxdisk -o alldgs list command list all the disks which are indifferent dg's.# What is the private region in VxVM ? ANS: Private region stores the structured VxVM information, it also stores the disk ID and diskgeometry. In short words it has metadata of the disk.# If, vxdisk list command gives you disks status as "error", what steps you will follow to make therespective disks online ? ANS: If you faced this issue because of fabric disconnection then simply do vxdisk scandisks, otherwiseunsetup the disk using using /etc/vx/bin/vxdiskunsetup and setup the disks again using /etc/vx/bin/vxdisksetup, this will definitely help! [ /etc/vx/bin/vxdiskunsetup will remove the privateregion from the disk and destroys data, backup the data before using this option]what is the significance of 51% state database replicas in SVM?if the system is having 51 % of replica the system will bootup normally, but if there are less then or = 50% of replicasare present in the system , then the system will panic. Inthis situation boot the system into single user mode anddelete the unavailable replica and create new set ofreplicas and boot the system.what are the common errors you find in Solaris Volume manager?Disk c#t#d# is faulty and need to be replaced QuestionWhat is a layered volume? how to create it using vxmake? Answer# 1 stripe- mirrorconcat - mirror are layered volumes and ## First make subdisksvxmake -g sybdg sd sybdg32-15 sybdg32,14607200,1365376vxmake -g sybdg sd sybdg36-19 sybdg36,21389040,1365376vxmake -g sybdg sd sybdg53-19 sybdg53,25483768,1365376vxmake -g sybdg sd sybdg54-17 sybdg54,22355000,1365376vxmake -g sybdg sd sybdg55-25 sybdg55,1767000,1365376vxmake -g sybdg sd sybdg56-30 sybdg56,27216512,1365376##Now make the plexesvxmake -g sybdg plex datadev93-SV00A sd=sybdg32-15vxmake -g sybdg plex datadev93-SV01A sd=sybdg36-19vxmake -g sybdg plex datadev93-SV02A sd=sybdg5319vxmake -g sybdg plex datadev93-SV00B sd=sybdg54-17vxmake -g sybdg plex datadev93SV01B sd=sybdg55-25vxmake -g sybdg plex datadev93-SV02B sd=sybdg56-30## Now create

sub volumes containing the plexes.vxmake -g sybdg vol datadev93-SV00 plex=datadev93SV00A,datadev93-SV00B use_type=genvxmake -g sybdg vol datadev93-SV01 plex=datadev93SV01A,datadev93-SV01B use_type=genvxmake -g sybdg vol datadev93-SV02 plex=datadev93SV02A,datadev93-SV02B use_type=gen##Let them be subvolumesvxedit -g sybdg set layered=on datadev93-SV00 datadev93-SV01 datadev93-SV02## Activate!vxvol -g sybdg init active datadev93-SV00vxvol -g sybdg init active datadev93-SV01vxvol -g sybdg init active datadev93-SV02## Turn into subdisks so we can add them all to another plexvxmake -g sybdg sd datadev93-SD00 datadev93-SV00,0,1365376vxmake -g sybdg sd datadev93-SD01 datadev93-SV01,0,1365376vxmake -g sybdg sd datadev93-SD02 datadev93SV02,0,1365376## Now create a new plex with all subvolumes invxmake -g sybdg plex datadev93-A sd=datadev93-SD00,datadev93-SD01,datadev93-SD02 layout=stripest_width=128## Now make the main volumevxmake -g sybdg vol datadev93 plex=datadev93-Ause_type=genvxvol -g sybdg init active datadev93#vxedit -g sybdg set user=sybase group=dba datadev93 Veritas File System fixed issues The following table contains information about fixed issues in this release of VxFS. IncidentDescription 472089vxfs_ninode and vx_bc_bufhwm tunables are now dynamic. 478142fsck binaries are included for older log versions. 511750Swap space and tunable changes were required for using fsck and mkfs on big file systems. Veritas Volume Manager fixed issues The following table contains information about fixed issues in this release of VxVM.IncidentDescription137175The vxdiskadm utility no longer truncates default disk names to 9 characters.140947I/O policy settings were not persistent between reboots.229538Multiple enclosures of the same type generated unexpected enclosure-based names.272263Changing a disk's I/O policy could hang vxconfigd.272309Incomplete records in /etc/vx/disk.info could cause vxconfigd to dump core.272891vxnotify did not receive events relating to the change of controller states in DMP.311530Renaming an enclosure with a longer name caused vxconfigd to dump core.506139If the naming scheme was changed, the default arguments to vxconfigd were not preserved. Recover/Start a volume that has a plex in the disabled& recover state January 6, 2008 by sun4u The vxprint -ht output gives, among other things, the kernel state (column 4) and the state (column 5)of a plex . Consider the following case: # vxprint -ht -g testdg DG NAME NCONFIG NLOG MINORS GROUP-IDDM NAME DEVICE TYPE PRIVLEN PUBLEN STATERV NAME RLINK_CNT KSTATE STATE PRIMARY DATAVOLS SRLRL NAME RVG KSTATE STATE REM_HOST REM_DG REM_RLNKV NAME RVG KSTATE STATE LENGTH USETYPE PREFPLEX RDPOLPL NAME VOLUME KSTATE STATE LENGTH LAYOUT NCOL/WID MODESD NAME PLEX DISK DISKOFFS LENGTH [COL/]OFF DEVICE MODESV NAME PLEX VOLNAME NVOLLAYR LENGTH [COL/]OFF AM/NM MODE dg testdg default default 84000 970356463.1203.alu

dm testdg01 c1t4d0s2 sliced 2179 8920560 dm testdg02 c1t6d0s2 sliced 2179 8920560 v test DISABLED ACTIVE 17840128 fsgen SELECTpl test-01 test DISABLED RECOVER 17841120 CONCAT RWsd testdg01-01 test-01 testdg01 0 8920560 0 c1t4d0 ENAsd testdg0201 test-01 testdg02 0 8920560 8920560 c1t6d0 ENA From the above output, it can be seen that the volume test has plex test-01 in the DISABLED andRECOVER state. To recover the volume test, use the vxmend command. This operation applies only to volumes, or toplexes associated with a volume. This will manually reset or change the state of a plex or volume. The following is the procedure to recover/start this volume: 1. Bring plex test-01 to the DISABLED and OFFLINE state using the following command: vxmend -oforce off <recover_plex> For example,# vxmend -o force off test-01 The below output shows plex test-01 in the DISABLED and OFFLINE state: # vxprint -ht -g testdg DG NAME NCONFIG NLOG MINORS GROUP-IDDM NAME DEVICE TYPE PRIVLEN PUBLEN STATERV NAME RLINK_CNT KSTATE STATE PRIMARY DATAVOLS SRLRL NAME RVG KSTATE STATE REM_HOST REM_DG REM_RLNKV NAME RVG KSTATE STATE LENGTH USETYPE PREFPLEX RDPOLPL NAME VOLUME KSTATE STATE LENGTH LAYOUT NCOL/WID MODESD NAME PLEX DISK DISKOFFS LENGTH [COL/]OFF DEVICE MODESV NAME PLEX VOLNAME NVOLLAYR LENGTH [COL/]OFF AM/NM MODE dg testdg default default 84000 970356463.1203.alu dm testdg01 c1t4d0s2 sliced 2179 8920560 dm testdg02 c1t6d0s2 sliced 2179 8920560 v test DISABLED ACTIVE 17840128 fsgen SELECTpl test-01 test DISABLED OFFLINE 17841120 CONCAT RWsd testdg01-01 test-01 testdg01 0 8920560 0 c1t4d0 ENAsd testdg02-01 test-01 testdg02 0 8920560 8920560 c1t6d0 ENA 2. Bring plex test-01 to the DISABLED and STALE state using the following command: vxmend on <recover_plex> For example, # vxmend on test-01 The below output shows plex test-01 in the DISABLED and STALE state: # vxprint -ht -g testdg DG NAME NCONFIG NLOG MINORS GROUP-IDDM NAME DEVICE TYPE PRIVLEN PUBLEN STATERV NAME RLINK_CNT KSTATE STATE PRIMARY DATAVOLS SRLRL NAME RVG KSTATE STATE REM_HOST REM_DG REM_RLNKV NAME RVG KSTATE STATE LENGTH USETYPE PREFPLEX RDPOLPL NAME VOLUME KSTATE STATE LENGTH LAYOUT NCOL/WID MODESD NAME PLEX DISK DISKOFFS LENGTH [COL/]OFF DEVICE MODESV NAME PLEX VOLNAME NVOLLAYR LENGTH [COL/]OFF AM/NM MODE dg testdg default default 84000 970356463.1203.alu dm testdg01 c1t4d0s2 sliced 2179 8920560 dm testdg02 c1t6d0s2 sliced 2179 8920560 v test DISABLED ACTIVE 17840128 fsgen SELECTpl test-01 test DISABLED STALE 17841120 CONCAT RWsd testdg01-01 test-01 testdg01 0 8920560 0 c1t4d0 ENAsd testdg02-01 test-01 testdg02 0 8920560 8920560 c1t6d0 ENA

3. Bring plex test-01 to the DISABLED and CLEAN state using the following command: vxmend fix clean <recover_plex> For example, # vxmend fix clean test-01 The below output shows plex test-01 in the DISABLED and CLEAN state: # vxprint -ht -g testdg DG NAME NCONFIG NLOG MINORS GROUP-IDDM NAME DEVICE TYPE PRIVLEN PUBLEN STATERV NAME RLINK_CNT KSTATE STATE PRIMARY DATAVOLS SRLRL NAME RVG KSTATE STATE REM_HOST REM_DG REM_RLNKV NAME RVG KSTATE STATE LENGTH USETYPE PREFPLEX RDPOLPL NAME VOLUME KSTATE STATE LENGTH LAYOUT NCOL/WID MODESD NAME PLEX DISK DISKOFFS LENGTH [COL/]OFF DEVICE MODESV NAME PLEX VOLNAME NVOLLAYR LENGTH [COL/]OFF AM/NM MODE dg testdg default default 84000 970356463.1203.aludm testdg01 c1t4d0s2 sliced 2179 8920560 dm testdg02 c1t6d0s2 sliced 2179 8920560 v test DISABLED ACTIVE 17840128 fsgen SELECTpl test-01 test DISABLED CLEAN 17841120 CONCAT RWsd testdg01-01 test-01 testdg01 0 8920560 0 c1t4d0 ENAsd testdg02-01 test-01 testdg02 0 8920560 8920560 c1t6d0 ENA 4. Once plex test-01 is in the DISABLED/CLEAN state, the volume test can be started with the followingcommand: vxvol start <volume> For example, # vxvol start test It can be seen in the below output that the volume is now ENABLED and ACTIVE: # vxprint -ht -g testdg DG NAME NCONFIG NLOG MINORS GROUP-IDDM NAME DEVICE TYPE PRIVLEN PUBLEN STATERV NAME RLINK_CNT KSTATE STATE PRIMARY DATAVOLS SRLRL NAME RVG KSTATE STATE REM_HOST REM_DG REM_RLNKV NAME RVG KSTATE STATE LENGTH USETYPE PREFPLEX RDPOLPL NAME VOLUME KSTATE STATE LENGTH LAYOUT NCOL/WID MODESD NAME PLEX DISK DISKOFFS LENGTH [COL/]OFF DEVICE MODESV NAME PLEX VOLNAME NVOLLAYR LENGTH [COL/]OFF AM/NM MODE dg testdg default default 84000 970356463.1203.alu dm testdg01 c1t4d0s2 sliced 2179 8920560 dm testdg02 c1t6d0s2 sliced 2179 8920560 v test ENABLED ACTIVE 17840128 fsgen SELECTpl test-01 test ENABLED ACTIVE 17841120 CONCAT RWsd testdg01-01 test-01 testdg01 0 8920560 0 c1t4d0 ENAsd testdg02-01 test-01 testdg02 0 8920560 8920560 c1t6d0 ENA Questionwhat is the difference between detached and disassociatestate of plexes? Answer# 2 when you detach the plex from volume means i/o performancewill stop from detached plexwe can understand that we took the backup of the plex we canattach this plex any time to any volume Disassociate plex means we are breaking the link betweenvolume and plex we can can't attach this plex to any volumebut if server reboot plex will be sync with volumeQuestionWhats the boot process of VxVM? Boot Process of vxvm is as similar as solaris booting butthe only difference is when we bring the root disk undervxvm control there is one entrie will be createdunder /etc/system file

starts with "rootdev" This will readby the kernel before loading the modules and it helpssystem to mount root volume rather than root partition. QuestionWhats the difference between SVM and VxVM? What would yourecommend to your clients? why? Answer# 1 SVM: Inbuild in Solaris. Only available for Solaris Can't decrease online the volume size.VxVM: 2. Third party tool. 2. Available for all popular OS (Solaris,Linux,Windows,HP-UX,AIX etc.) 3. Can resize (increase or decrease) the volume online.Questionhow will you start VCS service? What are the configurationfiles in VCS? Answer# 2 hastart etc/VRTSvcs/conf/config/main.cf etc/llttab etc/llthosts etc/gabtab etc/VRTSvcs/conf/config/types.cf QuestionHow would switch a service group? Answer# 2 (1) hagrp -switch {Service Group} -to {target node} (2) hagrp -offline {Service Group} -sys {current node} (3) hagrp -online {Service Group} -sys {target node} These are some of the L3 level unix interview questions1. How do you replace a failed boot disk under meta in solaris? Step by stepexplanation?2. How do you remove meta only for the root slice? remaining slices should run undermeta?3. what you would do if you want to replace a slice using metareplace option?4. what is the significance of 51% state database replicas in SVM?5. what are the common errors you find in Solaris Volume manager?6. You have a boot disk under svm, the machine fails to boot and remains in okprompt? what could be the possible reason?7. metastat -p shows a metavolume needs replacement. Metavolume is a single waymirror only. Actually you find disk and metavolumes are ok and I/O is happening tothe filesystems how will you remove the metareplace message that comes out of metastat.8. How to create a shared disk group in VxVM?9. What is the difference between private and public regions in Veritas Volumemanager?10. what would you do if the private region of a particular disk group is full? What arethe design considerations for the size of private region in Vxvm disk group?11. How to replace a corrupt private region? in vxvm 3.5 and greater versions12. How would you convert a volume from gen to fsgen? why should you do that?13. How can you unencapsulate a boot disk in VxVM?14. How to identify multiple paths for a disk.15. What is the difference between Vxdmp and EMC powerpath?16. vxdisk -o alldgs list o/p shows some disk groups in braces What does thatsignify?17. what are the various layouts that are available in VxVM?18.What is a layered volume? how to create it using vxmake?19.How to quickly mirror a volume, if the volume is empty?20. How to grow a volume?21. What is the difference between failing and failed disks?22. How to replace a failed disk in Veritas?

Netbackup Interview Question 1) Which are the backup types that are available in Netbackup ? Answer-Differential Incremental BackupCommulative Incremental BackupUser BackupUser ArchiveFull Backup2)What is a master server & media server?3)What is volume pools & volume Groups?4)What is media multiplexing? Answer-The process of sending concurrent-multiple backups from one or more clientsto a single storagedeviceand interleaving those images onto the media.5)What does these status codes mean- 216, 256,298,50?6)What is the process of importing images and why do we import images?7)What does it mean by inventoring a robot?8) What is avrd ? Answer-The automatic volume recognition daemon on UNIX and process on Windows9) What is bpadm? Answer- An administrator utility that runs on NetBackupUNIX servers. It has a character-based,menu interface that can be run from terminals that do not have X Windowscapabilities.10)What is a frozen image ? Answer- A stable disk copy of the data prior to backup. A frozen image is createdvery rapidly, causing minimal impact on other applications. There are twobasic types: copy-on-write and mirror.11)What is retention period ? Answer-The length of time that NetBackup keeps backup and archive images. The retentionperiod is specified on the schedule.12)What is tape spanning ?Using more than one tape to store a single backup image.13)What is TLD,TLH,TLM,TL4,TL8?TLD-Tape Library DLTTLH-Tape Library Half-inchTLM-Tape Library MultimediaTL4-Tape Library 4MMTL8-Tape Library 8MM14) What is the full form of DLT? EMAIL roger.smithson@gmail.com & GET FREE SAN TUTORIAL GUIDE.(PDF:124 PAGES)

Thanks to Ashish Pathak for all the questions and also answers to Interview questions on Veritas Volume Manager. # Name the mandatory disk group in VxVM 3.5 ? How will you configure VxVM in 3.5 ? ANS: rootdg is the mandatory disk group in VxVM 3.5, vxinstall is the command to configure VxVM, It will create the disk groups, initializes the disks and adds them to the group. # How will you create private and shared disk group using VxVM ? ANS: For Private DG: Command: vxdg init For Shared DG: Command: vxdg -s init < disk1 disk2 disk3 > # Which are the different layouts for volumes in VxVM ? ANS: mirror, stripe, concat (default one), raid5, stripe-mirror, mirror-stripe. # What is the basic difference between private disk group and shared disk group ? ANS: Private DG: The DG which is only visible for the host on which you

have created it, if the host is a part of cluster, the private DG will not be visible to the other cluster nodes. Shared DG: The DG which is sharable and visible to the other cluster nodes. # How will you add new disk to the existing disk group ? ANS: Run vxdiskadm command, which will open menu driven program to do various disk operations, select add disks option or you can use another command vxdiskadd. # How will you grow/shrink the volume/file system ? What is the meaning of growby and growto options ? What is the meaning on shrinkto and shrinkby options ? ANS: vxassist command is used to do all volume administration, following is the description and syntax. Growby option: This is will grow your file system by adding new size to the existing file system. Growto option: This will grow your file system as per the new size. This WILL NOT ADD new size to the existing one. Shrinkby option: This will shrink your file system by reducing new size from existing file system. Shrinkto option: This will shrink your file system as per the new size. This WILL NOT REDUCE the file system by reducing new size. Command: vxassist -g [growto, growby, shrinkto, shrinkby] length # How will you setup and unsetup disks explicitly using VxVM ? ANS: You can use /etc/vx/bin/vxdiskunsetup to unsetup the disk, and /etc/vx/vxdisksetup to setup the disk. # How will you list the disks, which are in different disk groups ? ANS: vxdisk list is the command will list the disks from the DG which is currently imported, you can check the same using vxprint command too. vxdisk -o alldgs list command list all the disks which are in different dg's. # What is the private region in VxVM ? ANS: Private region stores the structured VxVM information, it also stores the disk ID and disk geometry. In short words it has metadata of the disk. # If, vxdisk list command gives you disks status as "error", what steps you

will follow to make the respective disks online ? ANS: If you faced this issue because of fabric disconnection then simply do vxdisk scandisks, otherwise unsetup the disk using using /etc/vx/bin/vxdiskunsetup and setup the disks again using /etc/vx/bin/vxdisksetup, this will definitely help! [ /etc/vx/bin/vxdiskunsetup will remove the private region from the disk and destroys data, backup the data before using this option] I am greatly thankful to Ashish Pathak ashish.rp AT gmail.com for emailing & contributing this real interview questions on Veritas Volume Manager

There were lot of question..but I was able to recall quite afew....They were ok...not to be called quite tough...;-))1) What file do you modify to change the mail aliases (Provide the fullpath) ?2) What command do you run after modifying the aliases file make thechanges active?3) How do you enable logging on a UFS file system?4) What commands can you use to dynamically add scsi disks to a sunsystem?5) How do you install package to a specific directory? e.g like toinstall wget in /home/vin/wget rather than the default one "/usr". ---- This was not answered by me.6) What command shows what modules are loaded into the Kernel?7) What command increases the priority of a process and all subprocesses on a solaris system?8) What command in Solaris, do you use to setup aliases for devices?9) How do you watch network traffic on interface qfe3?10 ) What command shows TCP/IP parameter settings?11) How do you set Network cards to 100 full interactively &permanently?12) What tools in Solaris help you diagnose harware failures?13) How do you determine by how much a Veritas Volume can be expanded?14) How do you grow a Veritas VXVM volume?15) Where is the dump from a system crash normally kept? Can wecustomize it?16) How do you determine Volume Status in Veritas VxVM?17) Why would you deport a diskgroup in VxVM?18) How do you create additional state databases in solaris volumemanager? -- This was the tough one..!!19) Does Solaris Volume Manager have soft partitioning?20) How do you clear volume information from a solaris volume managerdisk?21) How do you shutdown a Veritas Cluster Server, leaving theapplications running from the command line?22) How do you speed up processing of a process and All it's childprocesses? -- This was quite tricky..!!Seems like it was a decent interview...The interviewer has called me upfor 2nd round now...which could be advanced....I hope I could capturethose too...for which I won't be able to answer

Problem How to repair a disk's private region when vxdisk list shows "online altused" Solution There have been several instances when, after a loss of power to disks or after a normalshutdown, once the system comes back up diskgroups cannot be accessed because privateregions are corrupt.However, the private regions may not be corrupted, they may only have sequence numbers out of sync. The following procedures may help on most systems with this problem. For a moredetailed look into this problem see IR #25215

.1) From a terminal window type the following; # vxdisk list Below is a partial listing from vxdisk list.DEVICE TYPE DISK GROUP STATUSc0t10d0s2 sliced disk01 rootdg onlinec2t4d1s2 sliced - - online altusedc2t4d2s2 sliced - - offlinec2t4d3s2 sliced - - online altusedc2t4d4s2 sliced - - offlinec2t4d5s2 sliced - - online altusedc3t5d0s2 sliced - - online altused2) Determine which slice is being used for the private region by doing the following: # prtvtoc /dev/rdsk/cXtXdXs2 (Use the vxdisk list to determine which bad disk to look at, ie: prtvtoc /dev/rdsk/c2t4d1s2). Theresult will be output similar to the following:* /dev/rdsk/c2t4d1s2 partition map** Dimensions:* 512 bytes/sector* 258 sectors/track * 5 tracks/cylinder* 1290 sectors/cylinder * 6907 cylinders* 6905 accessible cylinders** Flags:* 1: unmountable* 10: read-only** First Sector Last* Partition Tag Flags Sector Count Sector Mount Directory2 5 01 0 8907450 89074493 15 01 0 1290 12894 14 01 1290 8906160 8907449Find the line for Tag 15 (this is the tag for the private region) and note the Partition thatcorresponds to it. Record this partition number for this disk for use in future steps.3) Repeat step 2 for each corrupted disk.4) dd each disk's private region to a file (please name the file accordingly so that it can easily bereferred to) by performing the following;In this example c1t15d0s2 will be used as the example disk and c1t15d0s3_privreg as thefilename. They will need to be replaced with the disk and correct private region slice that are tobe repaired.The filename can be anything that is easy to remember # dd if=/dev/rdsk/c1t15d0s3 of=/tmp/c1t15d0s3_privreg 5) Run the following script on the file created in step 4. (If the script is saved as fixaltused.sh,then the script would be run on the file shown in step 4 by entering fixaltused.shc1t15d0s3_privreg)#! /bin/ksh# This is a script to repair a private region which has been corrupted, and is# showing up as "online altused" in the vxdisk list, but barfs in a vxprivutil# list type operation. $1 should be the path to the dd image of the private# region.cp $1 $1.goodtid=`od -c $1 | grep 2020 | awk ' { print $5 } '`echo "$tid" | dd of=$1.good oseek=127507 bs=1 count=1dd if=$1 iseek=127508 bs=1 >> $1.good /etc/vx/diag.d/vxprivutil list ./$1.goodAfter running the script, an output similar to the example below should be seen. (This outputcould also result by typing "/etc/vx/diag.d/vxprivutil list c1t15d0s3_privreg.good" from the command line after the script has been run,c1t15d0s3_privreg.good is the file that is created bythe above script.)diskid: 862510173.30247.cradevgroup: name=ora_dg id=881621654.31353.cradevflags: private autoimport.........logs: count=1 len=167tocblks: 0tocs: 2/1533Defined regions:config priv 000017-000247[000231]: copy=01 offset=000000 enabledconfig priv 000249-001119[000871]: copy=01 offset=000231 enabledlog priv 001120001286[000167]: copy=01 offset=000000 enabled***NOTE*** Look for the line marked flags, there should not be an altused flag set. If theoutput is not good, an error message similar to the error shown below may also appear:vxvm:vxprivutil: ERROR: join operation failed:Format error in disk private region6) If the output from the script looks good, then dd data from the good file back to thecorresponding disk's private region. This is accomplished by doing the following:In this example c1t15d0s2 will be used as the example disk, the private region is on slice3(c1t15d0s3). The name of the file on which the script was run is /tmp/t15s3repair. # dd if=/tmp/c1t15d0s3_privreg.good of=/dev/rdsk/c1t15d0s3 7) Repeat steps 4 through 6 for each bad

1. If you have a SCSI attached robot and in device monitor you see the drives marked as AVR, what doesthat mean and how would you fix it?2. If I asked you to tell me if a client has Netbackup on it just by using a telnet command what would youdo?3. If you wanted to know what IP address netbackup was using to perform backups what commandwould you run and where would you run it?4. What is flash backup?5. How is image stored in netbackup6. If a media ID A04567 comes back and it is frozen, what are the steps to unfreeze it and move it backto scratch from the command line?7. If you wanted to bypass netbackup commands and move a tape from slot 1 to drive 3 how would youdo that?8. What is the client version supported by NBU 6.x and 5.x masters9. If your last catalog backup was two days ago and the master server crashed what would you have todo to bring your environment back up to present time?10. How do you find a disk based image via the command line and then delete it?11. How do you import an NBU image that has been written to a disk storage unit?12. What are the critical catalogs or databases on a Media Server?13. How would you tune NetBackup to increase backup performance?In which location(path) the temp files located in Netbackup for Windows/Unix?14.What is the process of importing images and why do we import images?15.How to Importing and expiring images?16.What does it mean by inventoring a robot?17.What is SAN media server?18. How to check tape is bad?19. How to check the tape is already expired or not?20. How to check volume pool?21 Media has been already expired, How to find out?22. How to check tape is in cap?53. How to see log entries, how to create log directories?24.SQL Script.. in client..how to create?25. How to install media server(with device configuration steps)?26. What is avr mode27. There is a Tape library with 10 drives ...Can we able to create 2 Storage units.....?28. There are 1000 Client machines , 999 machines are transferring datas in good speed but one clientmachine is taking too long to transfer a datas ..... That is ...backup should complete within 2 hours ..butafter 12 hours and more ...the data transfer is still happening.... why?1. What is User Backup,User Archive & How to take?2. Difference between 5.x, 6.x VNB3 .In which location(path) the temp files located in Netbackup for Windows/Unix?4. How do you configure a client for automatic backups?5. What's the difference between diff incr and cumulative incr? What happens when I mix them onWindows client... Unix client?6. How is a changed file determined on Unix?7. When would I, or would I not, use cross mount points?8. What is the difference between a Volume Group and a Volume Pool?9. How do you back up the catalog? Why is this important? What do you have todo if you don't have acatalog backup? 10. How do you recover the catalog?11. How do you configure retention levels for a backup?12. If I install the Admin client on an NT workstation, what else has to be done for it to work... be anauthorized server?13. What is multiplexing? What is multiple data streams? Are they the same?14 .how can I recover an corrupted image?15. How can we assign barcode rules?16. What is OTM? TIR?17. What format does NetBackup write the tape in?18. How does NetBackup tie together with Media Manager?19. How do I create a Storage Unit that will only be used by one client?20. What is the difference between the expiration date for a volume in NetBackup's media catalog andMedia Manager's volume database?22. What is the difference between a frozen volume and a suspended volume?23. How many Robot Control Hosts can a DLT tape library have?24. What does the bpbkar process do? bpsched? bpbrm? bpdbm? ltid? What process controls a DLTtape library... a DLT tape drive? What is the AVRD process?25. Why is the catalog the most important component of Netbackup?26. What does status 59 mean in the activity monitor?27. Installation process for NBU 5.x, 6.x?28. what is AVR mode?29. Why is a binary catalog more efficient than an ASCII catalog?30. What are NBU daemons and how to

process14 .how can I recover an corrupted image?17. What format does NetBackup write the tape in?23. How many Robot Control Hosts can a DLT tape library have????????????????///14. bpexpdate then bpimport17. tar23. oneSee. Easy answers offer little insight, but followup questions on...14. bpexpdate. when is bpexpdate -deassignempty run?14. bpimport. Why are there two phases?17. where is tar in NetBackup and what is it called?23. how can you change the control host?1) About RMAN.. backup.. what is backup sequence of rman backup2) SQL Script.. in client..how to create?3) How to install media server(with device configuration steps)4) basic questions about vault and VTL17. where is tar in NetBackup and what is it called? ??? frankly speaking i hav no idea about thisquestion can anyone helpTar is format of tapesTar is format of tapes written by netbackup go to host properties->master server->properties--Media and there is option called allow mediaoverwrite..same can be found in bp.conf in ALLOW_MEDIA_OVERWRITE# Name the mandatory disk group in VxVM 3.5 ? How will you configure VxVM in 3.5 ?ANS: rootdg is the mandatory disk group in VxVM 3.5, vxinstall is the command to configure VxVM, Itwill create the disk groups, initializes the disks and adds them to the group.# How will you create private and shared disk group using VxVM ?ANS: For Private DG:Command: vxdg initFor Shared DG:Command: vxdg -s init < disk1 disk2 disk3 ># Which are the different layouts for volumes in VxVM ?ANS: mirror, stripe, concat (default one), raid5, stripe-mirror, mirror-stripe.# What is the basic difference between private disk group and shared disk group ?ANS: Private DG: The DG which is only visible for the host on which you have created it, if the host is apart of cluster, the private DG will not be visible to the other cluster nodes.Shared DG: The DG which is sharable and visible to the other cluster nodes.# How will you add new disk to the existing disk group ?ANS: Run vxdiskadm command, which will open menu driven program to do various disk operations,select add disks option or you can use another command vxdiskadd.# How will you grow/shrink the volume/file system ? What is the meaning of growby and growto options? What is the meaning on shrinkto and shrinkby options ?ANS: vxassist command is used to do all volume administration, following is the description and syntax.Growby option: This is will grow your file system by adding new size to the existing file system.Growto option: This will grow your file system as per the new size. This WILL NOT ADD new size to theexisting one.Shrinkby option: This will shrink your file system by reducing new size from existing file system.Shrinkto option: This will shrink your file system as per the new size. This WILL NOT REDUCE the filesystem by reducing new size.Command:vxassist -g [growto, growby, shrinkto, shrinkby] length# How will you setup and unsetup disks explicitly using VxVM ?ANS: You can use /etc/vx/bin/vxdiskunsetup to unsetup the disk, and /etc/vx/vxdisksetup to setup thedisk. # How will you list the disks, which are in different disk groups ?ANS: vxdisk list is the command will list the disks from the DG which is currently imported, you can checkthe same using vxprint command too. vxdisk -o alldgs list command list all the disks which are indifferent dg's.# What is the private region in VxVM ?ANS: Private region stores the structured VxVM information, it also stores the disk ID and disk geometry.In short words it has metadata of the disk.# If, vxdisk list command gives you disks status as "error", what steps you will follow to make therespective disks online ?ANS: If you faced this issue because of fabric disconnection then simply do vxdisk scandisks, otherwiseunsetup the disk using using /etc/vx/bin/vxdiskunsetup and setup the disks again using/etc/vx/bin/vxdisksetup, this will definitely help! [ /etc/vx/bin/vxdiskunsetup will remove the privateregion from the disk and destroys data, backup the data before using this option]If you wanted to know what IP address net-backup was using to per-formback-ups what com-mand would you run and where would you

run it?How is image stored in netbackup?If you wanted to bypass net-backup com-mands and move a tape from slot 1 to drive 3 how wouldyou do that?If your last cat-a-log backup was two days ago and the mas-ter server crashed what would you have todo to bring your envi-ron-ment back up to present time?How do you import an NBU image that has been writ-ten to a disk storage unit?Dif-fer-ence between cat-a-log on mas-ter and media server. What are the crit-i-cal cata-logs ordata-bases on a Media Server?How would you tune Net-Backup to increase backup performance?Is it possible to have a system (running netbackup, the veritas client) andcollect data from another server, and push all the data to the veritasbackup server.What is a level 0 backup?What is an incremental backup?What steps are required to perform a bare-metal recovery?Name key files or directories on a UNIX system that should always be backed up.Name key files or directories on a Windows system that should always be backed up.What is RAID 0?What is RAID 0+1? Why is it better than 0?What is RAID-5?Why would you NOT want to encapsulate a root directory with Veritas?What is concatenation?What is striping?What is a spindle?

Display the top most process utilizing most CPU ? top .b 1 30. Alternative for top command ? prstat -a 3) Describe about Logical Domains and its functions? LDOMS system administrator center provides resources and links to developers who are trying toinstall Ldoms technology. It gives you flexibility to group system resources and discrete systemswithin a computer system physically. It allows you to group system resources physically withinits own operating system, identity and resources. 4) Explain about RBAC? RBAC is introduced into Solaris for managing specific tasks. These specific tasks are based anddefined in the administrator profile. It is based on the standard developed by NIST. RBAC is avery important tool for performing multiple tasks. It also separates tasks which require hightechnical knowledge from low ones. 5) Explain about Roles? RBAC implementation depends upon the role specified in the administrator profiles. Roles areimplemented according to the profile. Also access to certain files and configuration can beassigned by the user profile. It also allows RBAC to differentiate high technical knowledge rolesfrom low ones. 6) What are the three different system management roles? There are three different roles specified by Solaris they are1) Primary administrator who is responsible for security 2) System administrator is responsible for day to day roles3) Operator is responsible for data back up and maintenance. 7) What are the different ways to execute profiles? Profiles can be executed in many different ways some of them are1) Pfexec executes a single command in profile2) With some restrictions pfsh and pfcsh can be executed.3) By directly logging into the account using su. 8) Explain about sudo?

Sudo maintains database of all the privileges assigned to a user name. These privileges can beindentified by different commands present in the database. This feature helps a user to format adisk but the root system cannot be changed. 9) Explain about the limitations present in sudo? There are some limitations for sudo which makes RBAC popular they are1) It is not possible to assign a user to work on specific file or profile.2) It is also not possible to assign a user to work on a specific command.3) By using shell commands and certain functions it is possible to have some restrictions on auser but it would consume time for a larger setup. 16) Explain about the command prof_attr? This forms the RBAC profile database. It displays the relationship between among the profiles inthe database. It also gives authorizations between navigation for those files. One of the samples isSolaris.admin.fsmgr.read.solaris.admin.serialmgr.read. Sun Solaris 10 OS/Storage-SVM,VxVM/Cluster Manickam Kamalakkannan Sun Solaris 10 Operating System Page 340 17) Explain about kadmin command? Local kerbeors services can be managed by administering policies, keytabs and principles by managing the kadmin command. Kadmin.local is used to master KDC and it does not require any authentication. On the server login information is passed through a secured server. It checks theprinciple name by the value of the user environment variable.1. You can ping servers on the subnet your workstation is on, but not other subnets. What iswrong?2. If you can ping a server, but can't telnet or ssh to it, what could be the problem?3. If a user logs in to UNIX, it displays the desktop and then immediately logs you back out,what could be wrong?4. If you mistype a password, how do you clear it out to retype the password again.5. When would you want to reconfigure the kernel and how would you do it?6. Which is your favorite editor, shell, programming shell and why?7. Why should you never have '.' in root's path?8. If fsck is running, what is the one thing you shouldn't do?9. What are the 3 or 4 major flavors of UNIX and what are their SA tools?10. What kind of PC - UNIX connectivity programs are you familiar with?11. What are: UFS, NFS, SaMBa, LDAP, NIS, DNS, Veritas12. If you send an e-mail to someone and it comes back "Message Undeliverable", what couldbe wrong.13. How do you give a user access to an application or program that needs to run as rootwithout giving them the root password?14. When you "ping server" and "ping server.domainname", you get different results. Why?15. Someone pings a server from another location and gets a different result than if you pingthe same server onsite. What is going on?16. You know the reason the server won't boot is because of ODS, but the root partition isn'ton ODS. How do you go about fixing it?17. How would you truncate a log file that is growing too large if you don't have space tocompress it or to move it somewhere else? How would you do it "hot"?18. When the key is in the lock position on a Sun Enterprise server, can you do a Stop-A?Explain.19. What does "boot -a" do?20. What is uadmin and what does it do?21. What does "ypwhich servername" do? Why would you use it?22. If you have multiple ethernet interfaces, how do you keep it from routing between them?23. Can you add HDD's to a Sun server and not have to do a reconfiguration reboot? Explain24. If you have forgotten the root password for a server, how do you get back in?25. What makes NIS+ more secure than NIS?26. What are the differences between Solaris 2.6 and lower and 7 and higher?27. How can you search for commands at the boot prompt if you only know part of thecommand?28. What are the two settings you can change to make a system boot faster?29. What are the differences between Sun OS and Solaris?30. What do soft partitions buy you with Solaris Volume Manager?31. How can you set EEPROM settings from Solaris?1 ) Difference between Solaris 8, Solaris 9 and Solaris 102) How to list disk in vertitas volume manager3) What is initilization in veritas volume manager

VERITAS VOLUME MANAGER STORAGE FOUNDATION SPECIALIST FOR UNIX 250-250 (Offered by Symantec) SunMicrosystems offers Certification as Sun Certified Veritas Volume Administrator Comparison of Solaris Volume Manager Software & Veritas Volume Manager Sun Microsystems, discourage the use of Veritas on the system disk (root disk/boot disk. Veritasdo not, by default, correspond to partitions. In the situation, irrespective of the cause, where thesystem no longer boots, the sysem administrator must be able to gain access to the file system onthe system disk without the drives of the volume management software. This is guaranteed to bepossible when each volume corresponds to a partition in the volume tableof contents (VTOC) of the system disk.Solaris Volume Manager volumes can be accessed even when booted from CD-ROM. This inturneliminates the need of breaking off a mirrror dring upgrades, thus reducing downtime andcomplexity of such an operation.SVM software reservers the correspomdence between the volumes defined in its state database,and the disk partitions defined in the disk lable (VTOC), at all times; disaster recovery is alwayspossible by s standard method, without extra complecations.Its easy to grow /var using the VxVM graphical tool. This can be done by anyone at any time, tosolve a disk space problem. However, this breaks the volume-partition relation as the /var volumein now a concatenation of two (not necessarily contiguous) subdisk.When a disk breaks, the replacement disk is initialized. Slices 3 and 4 become the VxVM privateand public region, subdisks are allocated to be mirrored with the surviving disk. Partitions may be created by VxVM software for these subdisks. There are 2 drawbacks to using SVM software in combinations with VxVM software:1. Cost2. SVM software requires that a majority of the state databases be found at boot time (thequorum rule). When all data disks are under VxVM software, only two disks may be leftunder SVM software. If one of these disks breaks, there is no state database quorum andthe system will not boot without manual intervention.NOTE: The intervention consists of removing the inaccessible state database copies (using themetadb d command) and rebooting.In the 2-disk configuration, the quorum rule in /etc/system can disable. The system will thenwill boot unattended, even with one disk.Is storage management software used to manage volumes, to manage data. How data are stored? Hard disks are formatted and information are stored using 2 methods.1. Physical storage layout1. Logical storage layoutVxVM uses both the physical objects and virtual objects to handle the storage management. PHYSICAL DISK / PHYSICAL OBJECT: are hardware with block and raw OS deviceinterfaces that are used to store the data. VIRTUAL OBJECTS:

1. When one or more physical disks are brought under the control of veritas, it createsvirtual objects called VOLUME, on those physical disks.2. Volumes and their physical components are called virtual objects or VxVM objects. NOTE: VxVM control is accomplished only of VxVM takes control of the physical disk and the disk is notunder the control of another storage manager such as SVM.Before the disk can be brought under VxVM control, the disk must be accessible through theoperating system device interface.VxVM is layered on top of the OS interface services and is dependent upon how the OS accessphysical disks.VxVM is dependent upon the OS for the following functionality:1. OS disk devices2. Device handles Virtual Data Storage: Volume Manager creates a virtual layer of data storage.1. Virtual storage object that is visible to users and application is called a VOLUME.2. A volume is a virtual object, created by VxVM that stores the data.3. Made up of space from one or more physical disks on which the data is physically stored.4. Volume manager volume appears to applications to be physical disk partitions.5. All users and applications access volumes as contiguous address space using specialdevice files in a manner similar to accessing a disk partition.6. Volumes have block & character device nodes in the /dev tree.For eg: /dev/vx/( r ) dsk/.. VOLUME MANAGER CONTROL: When we place a disk under VxVM control, a CDS disk layout is used, which ensures that thedisk is accessible on different platforms, regardless of platforms on which disk was initialized. Comparing CDS & Sliced disks CDS SLICED DISKS 1. Private region (meta data) and public region(user data) are created on a single partition. 1. Private region & public region are created onseparate partitions. For eg at 3 and 4 2. Suitable for moving between differentoperating system. 2. Not suitable for moving between the differentoperating system. 3. Not suitable for boot partitions. 3. Suitable for boot partitions. Note:

1. CDS (Common Disk Layout) disks have specific disk layout requirement that enable acomman disk layout across different platforms, and these requirements are notcompatible with the particular platform specific requirement of boot devices.( CDS requires a Vertias Storage Foundation License)2. And therefore, when placing a boot disk under volume. manager control, we must use aSLICED DISK layout Private Region: 1. Is similar to metadb or replica in Solaris Volume Manager Software.2. Will be created at the time of initialization of disk to VxVM control.3. Adding the disk to disk group, the media name, disk access name,the disk name and the disk configurations all are written to theprivate region. LOGICAL OBJECTS: 1. vmdisk2. disk group3. sub dis4. plex5. volume PHYSICAL OBJECTS: 1. Controllers2. Disks VMDISK: 1. When a disk is brought under the control of VxVM that disk is called VMDISK.2. Can bring the disk under VxVM by 2 methods.a. Initialization:1. Initialize the disk as vmdisk2. The entire data on the disk will be overwritten, i.e., the data in the diskwill be destroyed. b. Encapsulation:1. When a disk is brought under the control of VxVM with encapsulation,all the data (partition) in the disk will be preserved.3. Upto 31 characters. DISK GROUP: 1. Is a collectionn of voulme manager disks that have been put together into a logical grouping.2. Grouping of disk is for management purpose, such as to hold the data for a spefic applicationor set of applications.3. Voulme managerobjects CANNOT span disk groups. For eg: volumes SUB-DISKS, PLEXES anddisk must be derived from the same disk group.Can create additional disk group as necessary.4. Disk group ease the use of devices in a high availability environment, because a disk groupand its components can be moved as a unit from the host machine to another. SUB-DISKS: 1. Volume manager disk can be divided into one or more sub-disks.2. Is a collection of contiguous blocks that represent a specific portion of a volume manager disk,which is mapped to a specific regions of physical disk.3. Is a subsection of a disk's public region.4. Is the smallest unit of storage in volume manager.5. Conceptually, a subdisk is similar to a partition.6. Max size of a sub-disk is the size of the vxdisk.7. Can create 4096 subdisks/vmdisk.8. Sub-disk cannot be shared among two plexes. PLEX:

1. Voulume manager uses sub-disks to build virtual objects calledPLEXES.2. Is a structured or ordered collection on sub-disks from one or more vmdisk.3. Cannot be shared by 2 volumes.4. Maximum number of plexes per volumes is 325. Between 2 plexes of same volume mirroring occurs by default.6. Can have minimum one subdisk and maximum of 4096 sub-disks7. 3 types of plexesa. Complete plex: holds a complete copy of a volumeb. Log plex: dedicated to loggingc. Sparse plex: 1. which is not a compelete copy of the volume2. Sparse plexes are not used in newerversions fo voulme manager.8. Can organixe data on sub-disks to form a plex by using the followinga. Concatenationb. Stripingc. Mirroringd. Striping with parity VOLUME: 1. Is a collection of plexes2. Is a virtual storage device that is used by applications in a manner smimilar to physical disk.Due to its virtua in nature a volume is not restricted by the physical disk size constraints thatapply to physical disk.3. Volume can be as large as the total sum of avialable unreesrved free physical disk space4. Minimum of plex in a volume is 1.Maximum of plexes in a volume is 32.5. Size of the volume is the size of the least plex.6. Maximum size of a volume is a size of the disk group. DAEMONS: 1. vxconfigd - main configuration daemon of VxVMresponsible for maintaining the vmdisk & disk groupinformation2. vxreload - responsible for hot relocation3. vxsus - requires open VEA (Veritas Enterprise Adminstrator)4. vxnotify - responsible for notifying device object failure5. vxoid - provides I/O operations PACKAGE NAME: 1. VRTSvlic - licensing utilities2. VRTSVxVM - VxVM binaries3. VRTSob - VEA service4. VRTSfspro File system service provider5. VRTSfsman6. VRTSvxman - manual pages7. VRTSobgui - VEA graphical user interface8. VRTSVmpro - Diks management service provider9. VRTSvxfs - VXFS software and manual pages. TO SET THE ENVIRONMENT VARIABLES (Ater installation of the VxVM)Edit the file /etc/profilePATH=$PATH:/opt/VRTS/bin:/etc/vx/binMANPATH=$MANPATH:/opt/VRTS/manexport PATH MANPATH:wq! Outputs: bash-3.00# . profilebash-3.00# echo $PATH/usr/sbin:/usr/bin:/usr/dt/bin:/usr/openwin/bin:/usr/ucb:/opt/VRTS/bin:/etc/vx/binbash3.00# echo $MANPATH/usr/dt/man:/usr/man:/usr/openwin/share/man:/opt/VRTS/man NOTE:Most commands are located in1. /etc/vx/bin2. /usr/sbin3. /usr/lib/VxVM/bin INSTALLING THE VERITAS PRODUCTS: 1. Can install by running the script from the cdrom2. Can install the required package manually by # pkgadd c

ommand. NOTE: While adding the package manually please ensure the following;1. Ensure the packages are installed in the correct order2. Always install VRTSvlic first3. Always install the VRTSVxVM package before other VxVM packages.4. Documentation and manual pages are optional5. After installing the package, using OS specific commands, run vxinstall to configure VxVM forthe first time.# vxinstall -> to install license key.Verifying package installation:# pkginfo -l VRTSVxVM vxinstall: 1. Is an interactive program that guides through the initial VxVM configuration2. The main steps in vxinstall process area. entering the license key b. select the naming method1. Enclosure based naming2. Traditional naming3. If desired, set up a system-wide default disk group Output: bash-3.00# vxinstall VxVM uses license keys to control access. If you have a SPARCstorageArray (SSA) controller or a Sun Enterprise Network Array (SENA)controller attached to your system, then VxVM will grant you a limiteduse license automatically. The SSA and/or SENA license grants youunrestricted useof disks attached to an SSA or SENA controller, but disallows striping,RAID5, and DMP on non-SSA 5. Display the last newly appending lines of a file during appendingdata to the same file by someprocesses ? - tail .f Debug.logHere tail shows the newly appended data into Debug.log by someprocesses/user.6. Display the Disk Usage of file sizes under each directory in currentDirectory ? - du -k * | sort.nr (or) du .k . | sort nr10. Display the processes, which are running under yourusername ? - ps .aef | grepMaheshvjHere, Maheshvj is the username.12. Display the files in the directory by file size ? ls .ltr | sort .nr .k 5 13. How to save man pages to a file ? man | col .b >Example : man top | col .b > top_help.txt

or # man rcs | col -bx > rcs.txt 14. How to know the date & time for . when script is executed ? - Add the following script line inshell script.eval echo Script is executed at `date` >> timeinfo.infHere, .timeinfo.inf. contains date& time details ie., when script is executed and history related to execution.15. How do you find out drive statistics ? iostat E 16. Display disk usage in Kilobytes ? du k 17. Display top ten largest files/directories ? du -sk * | sort -nr | head 18. How much space is used for users in kilobytes ? quot af 19. How to create null file ? cat /dev/null > filename1 20. Access common commands quicker ? ps -ef | grep -i $@ 21. Display the page size of memory ? pagesize a 22. Display Ethernet Address arp table ? arp a 23. Display the no.of active established connections to localhost ? netstat -a | grep EST 24. Display the state of interfaces used for TCP/IP traffice ? netstat i 25. Display the parent/child tree of a process ? ptree Example: ptree 1267

26. Show the working directory of a process ? pwdx Example: pwdx 1267 27. Display the processes current open files ? pfiles Example: pfiles 1267 28. Display the inter-process communication facility status ? ipcs Sun Solaris 10 OS/Storage-SVM,VxVM/Cluster Manickam Kamalakkannan

Sun Solaris 10 Operating System Page 339 29. Display the top most process utilizing most CPU ? top .b 1 30. Alternative for top command ? prstat -a 3) Describe about Logical Domains and its functions? LDOMS system administrator center provides resources and links to developers who are trying toinstall Ldoms technology. It gives you flexibility to group system resources and discrete systemswithin a computer system physically. It allows you to group system resources physically withinits own operating system, identity and resources. 4) Explain about RBAC? RBAC is introduced into Solaris for managing specific tasks. These specific tasks are based anddefined in the administrator profile. It is based on the standard developed by NIST. RBAC is avery important tool for performing multiple tasks. It also separates tasks which require hightechnical knowledge from low ones. 5) Explain about Roles? RBAC implementation depends upon the role specified in the administrator profiles. Roles areimplemented according to the profile. Also access to certain files and configuration can beassigned by the user profile. It also allows RBAC to differentiate high technical knowledge rolesfrom low ones. 6) What are the three different system management roles?

There are three different roles specified by Solaris they are1) Primary administrator who is responsible for security 2) System administrator is responsible for day to day roles3) Operator is responsible for data back up and maintenance. 7) What are the different ways to execute profiles? Profiles can be executed in many different ways some of them are1) Pfexec executes a single command in profile2) With some restrictions pfsh and pfcsh can be executed.3) By directly logging into the account using su. 8) Explain about sudo? Sudo maintains database of all the privileges assigned to a user name. These privileges can beindentified by different commands present in the database. This feature helps a user to format adisk but the root system cannot be changed. 9) Explain about the limitations present in sudo? There are some limitations for sudo which makes RBAC popular they are1) It is not possible to assign a user to work on specific file or profile.2) It is also not possible to assign a user to work on a specific command.3) By using shell commands and certain functions it is possible to have some restrictions on auser but it would consume time for a larger setup. 16) Explain about the command prof_attr? This forms the RBAC profile database. It displays the relationship between among the profiles inthe database. It also gives authorizations between navigation for those files. One of the samples isSolaris.admin.fsmgr.read.solaris.admin.serialmgr.read. Sun Solaris 10 OS/Storage-SVM,VxVM/Cluster Manickam Kamalakkannan

Sun Solaris 10 Operating System Page 340 17) Explain about kadmin command? Local kerbeors services can be managed by administering policies, keytabs and principles by managing the kadmin command. Kadmin.local is used to master KDC and it does not require any authentication. On the server login information is passed through a secured server. It checks theprinciple name by the value of the user environment variable.1. You can ping servers on the subnet your workstation is on, but not other subnets. What iswrong?2. If you can ping a server, but can't telnet or ssh to it, what could be the problem?3. If a user logs in to UNIX, it displays the desktop and then immediately logs you back out,what could be wrong?4. If you mistype a password, how do you clear it out to retype the password again.5. When would you want to reconfigure the kernel and how would you do it?6. Which is your favorite editor, shell, programming shell and why?7. Why should you never have '.' in root's path?8. If fsck is running, what is the one thing you shouldn't do?9. What are the

3 or 4 major flavors of UNIX and what are their SA tools?10. What kind of PC - UNIX connectivity programs are you familiar with?11. What are: UFS, NFS, SaMBa, LDAP, NIS, DNS, Veritas12. If you send an e-mail to someone and it comes back "Message Undeliverable", what couldbe wrong.13. How do you give a user access to an application or program that needs to run as rootwithout giving them the root password?14. When you "ping server" and "ping server.domainname", you get different results. Why?15. Someone pings a server from another location and gets a different result than if you pingthe same server onsite. What is going on?16. You know the reason the server won't boot is because of ODS, but the root partition isn'ton ODS. How do you go about fixing it?17. How would you truncate a log file that is growing too large if you don't have space tocompress it or to move it somewhere else? How would you do it "hot"?18. When the key is in the lock position on a Sun Enterprise server, can you do a Stop-A?Explain.19. What does "boot -a" do?20. What is uadmin and what does it do?21. What does "ypwhich servername" do? Why would you use it?22. If you have multiple ethernet interfaces, how do you keep it from routing between them?23. Can you add HDD's to a Sun server and not have to do a reconfiguration reboot? Explain24. If you have forgotten the root password for a server, how do you get back in?25. What makes NIS+ more secure than NIS?26. What are the differences between Solaris 2.6 and lower and 7 and higher?27. How can you search for commands at the boot prompt if you only know part of thecommand?28. What are the two settings you can change to make a system boot faster?29. What are the differences between Sun OS and Solaris?30. What do soft partitions buy you with Solaris Volume Manager?31. How can you set EEPROM settings from Solaris?1 ) Difference between Solaris 8, Solaris 9 and Solaris 102) How to list disk in vertitas volume manager3) What is initilization in veritas volume manager Sun Solaris 10 OS/Storage-SVM,VxVM/Cluster Manickam Kamalakkannan

Preamble
Before entering in Veritas Volume Manager (VxVM) details we must go in fine detail of our hardware configuration. Lets first confirm at Linux level that I see my 2 fiber channel (FC) cards with each 2 FC ports:
[root@server1 ~]# lspci | grep -i fibre 09:00.0 Fibre Channel: QLogic Corp. ISP2432-based 4Gb Fibre Channel to PCI Express HBA (rev 03) 09:00.1 Fibre Channel: QLogic Corp. ISP2432-based 4Gb Fibre Channel to PCI Express HBA (rev 03) 0c:00.0 Fibre Channel: QLogic Corp. ISP2432-based 4Gb Fibre Channel to PCI Express HBA (rev 03) 0c:00.1 Fibre Channel: QLogic Corp. ISP2432-based 4Gb Fibre Channel to PCI Express HBA

(rev 03) [root@server1 ~]# ll /sys/class/fc_host/host*/device lrwxrwxrwx 1 root root 0 Jun 5 17:49 /sys/class/fc_host/host0/device -> ../../../devi ces/pci0000:00/0000:00:03.0/0000:09:00.0/host0 lrwxrwxrwx 1 root root 0 Jun 5 17:51 /sys/class/fc_host/host1/device -> ../../../devi ces/pci0000:00/0000:00:03.0/0000:09:00.1/host1 lrwxrwxrwx 1 root root 0 Jun 5 17:51 /sys/class/fc_host/host2/device -> ../../../devi ces/pci0000:00/0000:00:05.0/0000:0c:00.0/host2 lrwxrwxrwx 1 root root 0 Jun 5 17:51 /sys/class/fc_host/host3/device -> ../../../devi ces/pci0000:00/0000:00:05.0/0000:0c:00.1/host3

We will see this later but we need correspondence between SCSI chain number and its World Wide Name (WWN), here it is:
[root@server1 ~]# for host in `ls /sys/class/fc_host/`; do echo "$host WWN: `cat /sys/ class/fc_host/$host/port_name`"; done host0 WWN: 0x50060b0000c35e0c host1 WWN: 0x50060b0000c35e0e host2 WWN: 0x50060b0000c35e08 host3 WWN: 0x50060b0000c35e0a

So if everything is fiber wired (FC cards/ports to FC switches) I should see any disk array (enclosure) device/LUN as 4 equivalent name. Please note that this is absolutely not mandatory, whats really important in my configuration is to have each disk visible through my 2 FC cards (so by one port minimum so each disk/LUN will have 2 names). Please note that this post is more for DBAs to see and understand what have been done by you system teammates i.e. Im not entering in the creation/modification of VxVM disk/disk group/controller and so on All commands have been executed on a Red Hat Enterprise Linux Server release 5.5 (Tikanga) server configured with Veritas Volume Manager release VRTSvxvm5.1.132.000-SP1RP2_RHEL5. To avoid putting real server name Im using the below tips for my prompt customization:

export PS1="[\u@server1 \W]# "

Dynamic Multipathing (DMP)


Veritas Dynamic Multi-Pathing (DMP or VxDMP) is the VxVM functionality implemented to support disk availability from multiple paths. Even if it looks complex to start with this functionality it is unfortunately mandatory before doing the more simple things as it is based configuration on which all other components will be created (subdisks, plexes, volumes). Configured disk arrays or enclosures accessible from this server:
[root@server1 ~]# vxdmpadm listenclosure ENCLR_NAME ENCLR_TYPE ENCLR_SNO STATUS ARRAY_TYPE LUN_COUNT

====================================================================================== = emc0 emc1 other_disks EMC EMC OTHER_DISKS 000290102696 000290105264 OTHER_DISKS CONNECTED CONNECTED CONNECTED A /A A /A OTHER_DISKS 54 1 1

I/O policy default configuration of this enclosure:


[root@server1 ~]# vxdmpadm getattr enclosure emc0 ENCLR_NAME ATTR_NAME DEFAULT CURRENT

============================================================================ emc0 emc0 emc0 emc0 emc0 emc0 emc0 emc0 iopolicy partitionsize use_all_paths failover_policy recoveryoption[throttle] recoveryoption[errorretry] redundancy dmp_lun_retry_timeout MinimumQ 512 Global Nothrottle[0] MinimumQ 512 Global Nothrottle[0]

Timebound[300] Timebound[300] 0 0 0 0

emc0

failovermode

Disk default naming convention of VxVM:


[root@server1 ~]# vxddladm get namingscheme NAMING_SCHEME PERSISTENCE LOWERCASE USE_AVID

============================================================ Enclosure Based Yes Yes Yes

List of configured disk on your system:


[root@server1 ~]# vxdisk -e list DEVICE ME ATTR cciss/c0d0 emc0_00f3 std emc0_3d6b srdf-r1 emc0_3d7b srdf-r1 emc0_3d73 srdf-r1 emc0_3ebb srdf-r1 emc0_3eb3 srdf-r1 emc0_3ecb srdf-r1 emc0_3ec3 srdf-r1 . . TYPE DISK GROUP STATUS OS_NATIVE_NA

auto:none

online invalid

cciss/c0d0

auto:cdsdisk

online

sdbg

auto:cdsdisk

vgp1148_01

vgp1148

online clone_disk

sdbn

auto:cdsdisk

vgp1148_03

vgp1148

online clone_disk

sdbp

auto:cdsdisk

vgp1148_02

vgp1148

online clone_disk

sdbo

auto:cdsdisk

vgp1118_02

vgp1118

online clone_disk

sdca

auto:cdsdisk

vgp1118_01

vgp1118

online clone_disk

sdbx

auto:cdsdisk

vgp1318_01

vgp1318

online clone_disk

sdcc

auto:cdsdisk

vgp1118_03

vgp1118

online clone_disk

sdcb

Disks of a disk group (please note it makes relationship between VxVM disks and the ones you see at system level):
[root@server1 ~]# vxdisk -g vgp1417 -e list DEVICE ME ATTR emc0_084b srdf-r1 emc0_084f srdf-r1 emc0_085b srdf-r1 emc0_526f srdf-r1 emc0_527b srdf-r1 emc0_527f srdf-r1 emc0_0853 srdf-r1 emc0_0857 srdf-r1 TYPE DISK GROUP STATUS OS_NATIVE_NA

auto:cdsdisk

vgp1417_04

vgp1417

online clone_disk

sdax

auto:cdsdisk

vgp1417_05

vgp1417

online clone_disk

sdaz

auto:cdsdisk

vgp1417_08

vgp1417

online clone_disk

sdbd

auto:cdsdisk

vgp1417_09

vgp1417

online clone_disk

sdbh

auto:cdsdisk

vgp1417_10

vgp1417

online clone_disk

sdbi

auto:cdsdisk

vgp1417_11

vgp1417

online clone_disk

sdbj

auto:cdsdisk

vgp1417_06

vgp1417

online clone_disk

sdbb

auto:cdsdisk

vgp1417_07

vgp1417

online clone_disk

sdbc

Main problem with above command is that you dont see multipathing details of VxVM disk, to go deeper in detail use:
[root@server1 ~]# vxdisk list emc0_084b Device: emc0_084b

devicetag: emc0_084b type: hostid: disk: group: info: flags: auto server1 name=vgp1417_04 id=1325653859.61.server1 name=vgp1417 id=1318435685.29.server1 format=cdsdisk,privoffset=256,pubslice=3,privslice=3 online ready private autoconfig noautoimport imported clone_disk

pubpaths: guid: udid: site: version: iosize: public: private: update: ssb: headers: configs: logs:

block=/dev/vx/dmp/emc0_084bs3 char=/dev/vx/rdmp/emc0_084bs3 EMC%5FSYMMETRIX%5F000290102696%5F960084B000 3.1 min=512 (bytes) max=1024 (blocks) slice=3 offset=65792 len=70539872 disk_offset=0 slice=3 offset=256 len=65536 disk_offset=0 time=1335608893 seqno=0.17 actual_seqno=0.0 0 240 count=1 len=51360 count=1 len=4096

Defined regions: config config log lockrgn priv 000048-000239[000192]: copy=01 offset=000000 enabled priv 000256-051423[051168]: copy=01 offset=000192 enabled priv 051424-055519[004096]: copy=01 offset=000000 enabled priv 055520-055663[000144]: part=00 offset=000000

Multipathing information: numpaths: sdax sdh 2 state=enabled state=enabled

Remark: You may also use the opposite command:


[root@server1 ~]# vxdisk list sdax Device: emc0_084b

devicetag: emc0_084b type: auto

hostid: disk: group: info: flags: pubpaths: guid: udid: site: version: iosize: public: private: update: ssb: headers: configs: logs:

server1 name=vgp1417_04 id=1325653859.61.server1 name=vgp1417 id=1318435685.29.server1 format=cdsdisk,privoffset=256,pubslice=3,privslice=3 online ready private autoconfig noautoimport imported clone_disk block=/dev/vx/dmp/emc0_084bs3 char=/dev/vx/rdmp/emc0_084bs3 EMC%5FSYMMETRIX%5F000290102696%5F960084B000 3.1 min=512 (bytes) max=1024 (blocks) slice=3 offset=65792 len=70539872 disk_offset=0 slice=3 offset=256 len=65536 disk_offset=0 time=1335608893 seqno=0.17 actual_seqno=0.0 0 240 count=1 len=51360 count=1 len=4096

Defined regions: config config log lockrgn priv 000048-000239[000192]: copy=01 offset=000000 enabled priv 000256-051423[051168]: copy=01 offset=000192 enabled priv 051424-055519[004096]: copy=01 offset=000000 enabled priv 055520-055663[000144]: part=00 offset=000000

Multipathing information: numpaths: sdax sdh 2 state=enabled state=enabled

Using vxdmpadm command you can also display complete multipathing information and obviously also confirm that each VxVM disk is accessible through 2 paths:

[root@server1 ~]# vxdmpadm getsubpaths dmpnodename=emc0_084b NAME STATE[A] PATH-TYPE[M] CTLR-NAME ENCLR-TYPE ENCLR-NAME ATTRS

================================================================================ sdax sdh ENABLED(A) ENABLED(A) c2 c0 EMC EMC emc0 emc0 -

[root@server1 ~]# vxdmpadm -v getdmpnode nodename=sdax NAME NO STATE ARRAY_VOL_ID ENCLR-TYPE PATHS ENBL DSBL ENCLR-NAME SERIAL-

====================================================================================== ================== emc0_084b 000 ENABLED 084B EMC 2 2 0 emc0 960084B

[root@server1 ~]# vxdmpadm getdmpnode enclosure=emc0 NAME STATE ENCLR-TYPE PATHS ENBL DSBL ENCLR-NAME

============================================================================== emc0_00f3 emc0_3d6b emc0_3d7b emc0_3d73 emc0_3ebb emc0_3eb3 emc0_3ecb emc0_3ec3 . . [root@server1 ~]# vxdmpadm list dmpnode dmpnodename=emc0_084b dmpdev state enclosure cab-sno = emc0_084b = enabled = emc0 = 000290102696 ENABLED ENABLED ENABLED ENABLED ENABLED ENABLED ENABLED ENABLED EMC EMC EMC EMC EMC EMC EMC EMC 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 0 0 0 0 0 0 0 0 emc0 emc0 emc0 emc0 emc0 emc0 emc0 emc0

asl vid pid array-name array-type iopolicy avid lun-sno udid dev-attr ###path path path

= libvxemc.so = EMC = SYMMETRIX = EMC = A/A = MinimumQ = 084B = 960084B000 = EMC%5FSYMMETRIX%5F000290102696%5F960084B000 = srdf-r1 = name state type transport ctlr hwpath aportID aportWWN attr = sdax enabled(a) - FC c2 c2 7b-b 50:06:04:84:52:a7:6a:36 = sdh enabled(a) - FC c0 c0 10b-b 50:06:04:84:52:a7:6a:39 -

[root@server1 ~]# vxdmpadm getlungroup dmpnodename=sdax NAME STATE ENCLR-TYPE PATHS ENBL DSBL ENCLR-NAME

========================================================================= emc0_084b ENABLED EMC 2 2 0 emc0

[root@server1 ~]# vxdmpadm getsubpaths dmpnodename=sdax NAME STATE[A] PATH-TYPE[M] CTLR-NAME ENCLR-TYPE ENCLR-NAME ATTRS

================================================================================ sdax sdh ENABLED(A) ENABLED(A) c2 c0 EMC EMC emc0 emc0 -

Remark: Please note the two controllers that are linked to the FC card we have identified in previous chapter:
[root@server1 ~]# vxdmpadm getsubpaths enclosure=emc0 ctlr=c0 NAME STATE[A] PATH-TYPE[M] DMPNODENAME ENCLR-NAME CTLR ATTRS

================================================================================

sdo sdz sdh sdi sdj sdk sdl . .

ENABLED(A) ENABLED(A) ENABLED(A) ENABLED(A) ENABLED(A) ENABLED(A) ENABLED(A)

emc0_00f3 emc0_0837 emc0_084b emc0_084f emc0_0853 emc0_0857 emc0_085b

emc0 emc0 emc0 emc0 emc0 emc0 emc0

c0 c0 c0 c0 c0 c0 c0

The vxdisk command can also display the multipathing information:


[root@server1 ~]# vxdisk path -g vgp1417 SUBPATH sdax sdh sdaz sdi sdbd sdl sdbh sdp sdbi sdq sdbj sdr sdbb sdj sdbc sdk DANAME emc0_084b emc0_084b emc0_084f emc0_084f emc0_085b emc0_085b emc0_526f emc0_526f emc0_527b emc0_527b emc0_527f emc0_527f emc0_0853 emc0_0853 emc0_0857 emc0_0857 DMNAME vgp1417_04 vgp1417_04 vgp1417_05 vgp1417_05 vgp1417_08 vgp1417_08 vgp1417_09 vgp1417_09 vgp1417_10 vgp1417_10 vgp1417_11 vgp1417_11 vgp1417_06 vgp1417_06 vgp1417_07 vgp1417_07 GROUP vgp1417 vgp1417 vgp1417 vgp1417 vgp1417 vgp1417 vgp1417 vgp1417 vgp1417 vgp1417 vgp1417 vgp1417 vgp1417 vgp1417 vgp1417 vgp1417 STATE ENABLED ENABLED ENABLED ENABLED ENABLED ENABLED ENABLED ENABLED ENABLED ENABLED ENABLED ENABLED ENABLED ENABLED ENABLED ENABLED

Lets come back to the controller and display the ones configured on my system (each enclosure is configured with two controllers):
[root@server1 ~]# vxdmpadm listctlr all CTLR-NAME ENCLR-TYPE STATE ENCLR-NAME

===================================================== c0 c2 c0 c2 c360 EMC EMC EMC EMC OTHER_DISKS ENABLED ENABLED ENABLED ENABLED ENABLED emc0 emc0 emc1 emc1 other_disks

We can re-conciliate WWN identified in previous chapter with VxDMP commands:


[root@server1 ~]# vxdmpadm getctlr c0 LNAME PNAME VENDOR CTLR-ID

====================================================================================== ======= c0 c0 :c3:5e:0c [root@server1 ~]# vxdmpadm getctlr c2 LNAME PNAME VENDOR CTLR-ID Qlogic-Corp. 50:06:0b:00:00

====================================================================================== ======= c2 c2 :c3:5e:08 Qlogic-Corp. 50:06:0b:00:00

And confirm, as anticipated, that each of my FC card is wired with only one FC cable. Each of my FC or Host Bus Adapter (HBA) cards has two ports and only one is used:
[root@server1 ~]# vxddladm list hbas HBA-ID DRIVER FIRMWARE DISCOVERY STATE ADDRESS

====================================================================================== c1 8.03.07.03.05.07-k 5.03.16 (496) fabric Offline 50:06:0b:

00:00:c3:5e:0e c3 8.03.07.03.05.07-k 5.03.16 (496) 00:00:c3:5e:0a c360 fabric fabric Offline 50:06:0b:

Online

50:06:0b:

c0 8.03.07.03.05.07-k 5.03.16 (496) 00:00:c3:5e:0c c2 8.03.07.03.05.07-k 5.03.16 (496) 00:00:c3:5e:08

Online

fabric

Online

50:06:0b:

To obtain the configured ports:


[root@server1 ~]# vxddladm list ports PORT-ID HBA-ID STATE ADDRESS

========================================== c0_p3 c0_p2 c0_p1 c2_p3 c2_p2 c2_p1 c0 c0 c0 c2 c2 c2 Online Online Online Online Online Online 50:06:04:84:52:a7:6a:39 50:06:04:84:52:a7:6a:08 50:06:04:84:52:a9:ec:09 50:06:04:84:52:a7:6a:36 50:06:04:84:52:a7:6a:07 50:06:04:84:52:a9:ec:06

[root@server1 ~]# vxddladm list targets TARGET-ID ALIAS HBA-ID STATE ADDRESS

===================================================== c0_p3_t0 c0_p2_t0 c0_p1_t0 c2_p3_t0 c2_p2_t0 c2_p1_t0 c0 c0 c0 c2 c2 c2 Online Online Online Online Online Online 50:06:04:84:52:a7:6a:39 50:06:04:84:52:a7:6a:08 50:06:04:84:52:a9:ec:09 50:06:04:84:52:a7:6a:36 50:06:04:84:52:a7:6a:07 50:06:04:84:52:a9:ec:06

[root@server1 ~]# vxddladm list targets hba=c0 TARGET-ID ALIAS HBA-ID STATE ADDRESS

===================================================== c0_p3_t0 c0_p2_t0 c0_p1_t0 c0 c0 c0 Online Online Online 50:06:04:84:52:a7:6a:39 50:06:04:84:52:a7:6a:08 50:06:04:84:52:a9:ec:09

To understand which devices are using which ports and the name of the VxVM driver:
[root@server1 ~]# vxddladm list devices DEVICE TARGET-ID STATE DDL-STATUS (ASL)

=============================================================== cciss/c0d0 sdg sdi sdf sdh sde sdd sdr . . [root@server1 ~]# vxddladm list devices target=c0_p1_t0 DEVICE TARGET-ID STATE DDL-STATUS (ASL) c0_p3_t0 c0_p3_t0 c0_p3_t0 c0_p3_t0 c0_p3_t0 c0_p3_t0 c0_p3_t0 Online Online Online Online Online Online Online Online SKIPPED CLAIMED (libvxemc.so) SKIPPED CLAIMED (libvxemc.so) SKIPPED SKIPPED CLAIMED (libvxemc.so)

=============================================================== sdbl sdbk c0_p1_t0 c0_p1_t0 Online Online CLAIMED (libvxemc.so) SKIPPED

To get the list of supported enclosures:


[root@server1 ~]# vxddladm listsupport all LIBNAME VID PID

======================================================================================

=========== libvxpurple.so libvxveritas.so SUN VERITAS T300 All SANnet II FC, SANnet II SCSI, SANnet II SATA,

libvxhillsannet2.so DotHill SANnet II U320 libvxhds.so libvxpp.so libvxFJTSYe8k.so libvxfje3k4ka.so libvxibmds6k.so HITACHI EMC, DGC FUJITSU FUJITSU IBM

All All All E3000, E400A 1750

libvxsun7x10.so SUN Sun Storage 7410, Sun Storage 7310, Sun Storag e 7210, Sun Storage 7110, ZFS Storage 7120, ZFS Storage 7320, ZFS Storage 7420, ZFS St orage 7720 libvxfsc.so libvxxp1281024.so libvxlsiall.so libvxnipnyis.so FSC HP IBM, SUN, STK, SGI NEC FibreCAT_SX1 All All iStorage 1000, iStorage 2000, iStorage 4000 AF_AF3500, AF_AF1500, AF2_AF7000, AF2_AF2000,

libvxtsbaf.so TOSHIBA AF3_AF7500, AF3_AF2500 libvxfusionio.so FIO

ioDrive HSV101, HSV111 (C)COMPAQ, HSV111, HSV200, HSV2

libvxhpalua.so HP, COMPAQ 10, HSV300, HSV400, HSV450 libvxxp12k.so libvxhitachi.so HP HITACHI

All DF350, DF400, DF400F, DF500, DF500F Axiom 300, Axiom 500, Axiom 600 E6000 NEXTRA, 2810XIV All RamSan 400 DF600, DF600-V, DF600F, DF600F-V MSA VOLUME

libvxpillaraxiom.so Pillar libvxFJTSYe6k.so libvxxiv.so libvxxp256.so libvxramsan.so libvxhdsalua.so libvxhpmsa.so FUJITSU XIV, IBM HP TMS HITACHI HP

libvxhds9980.so libvxhdsusp.so libvxCLARiiON.so libvxnetapp.so libvxeqlogic.so libvxemc.so libvxddns2a.so libvxfjtsye2k.so

HITACHI HITACHI DGC NETAPP EQLOGIC EMC DDN FUJITSU

All All All All 100E-00 SYMMETRIX S2A 9550, S2A 9900, S2A 9700 E2000, ETERNUS_DXL

libvxmsa2kfc_sa.so HP MSA2312fc, MSA2324fc, MSA2012sa, MSA2312sa, MS A2324sa, MSA2312i, MSA2324i, P2000 G3 FC, P2000G3 FC/iSCSI, P2000 G3 SAS, P2000 G3 iSC SI libvxdothill.so DotHill R/Evo 2730-2R, R/Evo 2530-2R, R/Evo 2330-2R, R /Evo 2130-2RX, R/Evo 2130-2J, R/Evo 5730-2R libvxcompellent.so libvxibmds8k.so libvxmsa2k.so libvxxiotechE5k.so libvxcopan.so libvxibmsvc.so COMPELNT IBM HP XIOTECH COPANSYS IBM Compellent Vol 2107 MSA2012fc, MSA2212fc, MSA2012i ISE1400 8814, 8818 2145, 2062

libvxhuawei.so HUAWEI, HS S5300, S5500, S5600, S2300, S2100, V1800, V150 0, VIS6000, S2300E, S2600, S6800E, S8000-I, S8000 libvx3par.so libvxhpsvsp.so libvxshark.so 3PARdata HP IBM VV HSVX740 2105

And more information (Active/Active mode) on the one I use:


[root@server1 ~]# vxddladm listsupport libname=libvxemc.so ATTR_NAME ATTR_VALUE

====================================================================================== =========== LIBNAME libvxemc.so

VID PID ARRAY_TYPE ARRAY_NAME

EMC SYMMETRIX A/A EMC

Basic commands

Disk groups
How to determine if a disk is associated to a disk group:
[root@server1 ~]# vxdisk -s list sdax Disk: type: flags: guid: udid: site: emc0_084b auto online ready private autoconfig noautoimport imported clone_disk EMC%5FSYMMETRIX%5F000290102696%5F960084B000 -

diskid: 1325653859.61.server1 dgname: vgp1417 dgid: 1318435685.29.server1

hostid: server1 info: format=cdsdisk,privoffset=256,pubslice=3,privslice=3

Disk groups list:


[root@server1 ~]# vxdg list NAME vgp1417a vgoem3 vgptws02a STATE enabled,cds enabled,cds enabled,cds ID 1318432411.19.server1 1320851456.27.server1 1318847636.93.server1

. .

More information of a disk group:


[root@server1 ~]# vxdg list vgp1417 Group: dgid: vgp1417 1318435685.29.server1

import-id: 1024.62 flags: version: cds 160

alignment: 8192 (bytes) ssb: autotagging: on on

detach-policy: global dg-fail-policy: dgdisable copies: config: nconfig=default nlog=default seqno=0.1556 permlen=51360 free=51325 templen=17 loglen=4096

config disk emc0_084b copy 1 len=51360 state=clean online config disk emc0_084f copy 1 len=51360 state=clean online config disk emc0_085b copy 1 len=51360 state=clean online config disk emc0_526f copy 1 len=51360 disabled config disk emc0_527b copy 1 len=51360 disabled config disk emc0_527f copy 1 len=51360 disabled config disk emc0_0853 copy 1 len=51360 state=clean online config disk emc0_0857 copy 1 len=51360 state=clean online log disk emc0_084b copy 1 len=4096 log disk emc0_084f copy 1 len=4096 log disk emc0_085b copy 1 len=4096 log disk emc0_526f copy 1 len=4096 disabled

log disk emc0_527b copy 1 len=4096 disabled log disk emc0_527f copy 1 len=4096 disabled log disk emc0_0853 copy 1 len=4096 log disk emc0_0857 copy 1 len=4096

Free space of a disk group:


[root@server1 ~]# vxdg -g vgp1417 free DISK vgp1417_04 vgp1417_05 vgp1417_09 vgp1417_10 vgp1417_11 DEVICE emc0_084b emc0_084f emc0_526f emc0_527b emc0_527f TAG emc0_084b emc0_084f emc0_526f emc0_527b emc0_527f OFFSET 56623104 64389600 17592064 0 0 LENGTH 13916768 6150272 52947808 70539872 70539872 FLAGS -

Remark: So how much at the end ? For vgp1417_04 (emc0_084b) it is 13916768*512 (sector size)/(1024 * 1024) MB i.e. 6795MB free (I have already seen more user friendly command output) Even if not written in official VxVM documentation there is an alternative command with a much better output:
[root@server1 ~]# vxassist -g vgp1417 maxsize Maximum volume size: 109616431104 (104538Mb)

Complete information of a disk group (subdisks, plexes, ):


[root@server1 ~]# vxprint -g vgp1417 TY NAME dg vgp1417 ASSOC vgp1417 KSTATE LENGTH PLOFFS STATE TUTIL0 PUTIL0 -

dm vgp1417_04

emc0_084b

70539872 -

dm vgp1417_05 dm vgp1417_06 dm vgp1417_07 dm vgp1417_08 dm vgp1417_09 dm vgp1417_10 dm vgp1417_11

emc0_084f emc0_0853 emc0_0857 emc0_085b emc0_526f emc0_527b emc0_527f

70539872 70539872 70539872 70539872 70539872 70539872 70539872 -

lvol1

fsgen lvol1

ENABLED ENABLED ENABLED

6291456 6291456 6291456

ACTIVE ACTIVE -

pl lvol1-01

sd vgp1417_04-01 lvol1-01 . .

Volumes
Volumes of a disk group:
[root@server1 ~]# vxprint -hvt -g vgp1417 V NAME RVG/VSET/CO VOLUME PLEX PLEX PLEX PARENTVOL SNAPVOL ASSOC KSTATE KSTATE DISK VOLNAME CACHE LOGVOL DCO VC PERMS MODE STATE STATE STATE LENGTH LENGTH READPOL LAYOUT PREFPLEX UTYPE NCOL/WID MODE MODE MODE MODE

PL NAME SD NAME SV NAME SC NAME DC NAME SP NAME EX NAME

DISKOFFS LENGTH NVOLLAYR LENGTH DISKOFFS LENGTH

[COL/]OFF DEVICE [COL/]OFF AM/NM [COL/]OFF DEVICE

lvol1

lvol1

ENABLED ENABLED

ACTIVE ACTIVE

6291456 6291456

SELECT CONCAT

fsgen RW

pl lvol1-01

sd vgp1417_04-01 lvol1-01

vgp1417_04 0

6291456

emc0_084b ENA

v . .

lvol2

ENABLED

ACTIVE

20971520 SELECT

fsgen

More information of a particular volume:


[root@server1 ~]# vxprint -g vgp1417 -t lvol1 V NAME RVG/VSET/CO KSTATE STATE LENGTH READPOL PREFPLEX UTYPE

lvol1

ENABLED

ACTIVE

6291456

SELECT

fsgen

Plexes
Plexes of a disk group:
[root@server1 ~]# vxprint -pt -g vgp1417 PL NAME VOLUME KSTATE STATE LENGTH LAYOUT NCOL/WID MODE

pl lvol1-01 pl lvol2-01 pl lvol3-01 pl lvol4-01 pl lvol5-01 pl lvol6-01 pl lvol7-01 pl lvol8-01 pl lvol9-01 pl lvol10-01 pl lvol11-01

lvol1 lvol2 lvol3 lvol4 lvol5 lvol6 lvol7 lvol8 lvol9 lvol10 lvol11

ENABLED ENABLED ENABLED ENABLED ENABLED ENABLED ENABLED ENABLED ENABLED ENABLED ENABLED

ACTIVE ACTIVE ACTIVE ACTIVE ACTIVE ACTIVE ACTIVE ACTIVE ACTIVE ACTIVE ACTIVE

6291456

CONCAT

RW RW RW RW RW RW RW RW RW RW RW

20971520 CONCAT 2097152 6291456 4194304 CONCAT CONCAT CONCAT

14680064 CONCAT 44040192 CONCAT 169869312 CONCAT 12582912 CONCAT 27262976 CONCAT 41943040 CONCAT

More information of a plex:


[root@server1 ~]# vxprint -g vgp1417 -l lvol1-01 Plex: info: type: state: assoc: flags: lvol1-01 len=6291456 layout=CONCAT state=ACTIVE kernel=ENABLED io=read-write vol=lvol1 sd=vgp1417_04-01 busy complete

mediatype: hdd

Subdisks
Subdisks of a particular disk group:
[root@server1 ~]# vxprint -st -g vgp1417 SD NAME SV NAME SC NAME PLEX PLEX PLEX DISK VOLNAME CACHE DISKOFFS LENGTH NVOLLAYR LENGTH DISKOFFS LENGTH [COL/]OFF DEVICE [COL/]OFF AM/NM [COL/]OFF DEVICE MODE MODE MODE

sd vgp1417_04-01 lvol1-01 sd vgp1417_04-02 lvol9-01 sd vgp1417_04-03 lvol10-01 sd vgp1417_04-04 lvol6-01 sd vgp1417_05-01 lvol5-01 sd vgp1417_05-02 lvol7-01 sd vgp1417_05-03 lvol11-01 sd vgp1417_05-04 lvol7-01 sd vgp1417_06-01 lvol2-01 sd vgp1417_06-02 lvol11-01 sd vgp1417_06-03 lvol8-01

vgp1417_04 0

6291456

emc0_084b ENA emc0_084b ENA emc0_084b ENA

vgp1417_04 6291456 12582912 0 vgp1417_04 18874368 27262976 0

vgp1417_04 46137344 10485760 4194304 emc0_084b ENA vgp1417_05 0 4194304 0 emc0_084f ENA emc0_084f ENA emc0_084f ENA

vgp1417_05 4194304 31457280 0 vgp1417_05 35651584 16155104 0

vgp1417_05 51806688 12582912 31457280 emc0_084f ENA vgp1417_06 0 20971520 0 emc0_0853 ENA

vgp1417_06 20971520 25787936 16155104 emc0_0853 ENA vgp1417_06 46759456 23780416 114269008 emc0_0853 ENA

sd vgp1417_07-01 lvol8-01 sd vgp1417_07-02 lvol8-01 sd vgp1417_08-01 lvol3-01 sd vgp1417_08-02 lvol4-01 sd vgp1417_08-03 lvol6-01 sd vgp1417_08-04 lvol8-01 sd vgp1417_09-01 lvol8-01

vgp1417_07 0

56312048 0

emc0_0857 ENA

vgp1417_07 56312048 14227824 138049424 emc0_0857 ENA vgp1417_08 0 2097152 0 emc0_085b ENA emc0_085b ENA emc0_085b ENA

vgp1417_08 2097152 6291456 0 vgp1417_08 8388608 4194304 0

vgp1417_08 12582912 57956960 56312048 emc0_085b ENA vgp1417_09 0 17592064 152277248 emc0_526f ENA

More information of a subdisk:


[root@server1 ~]# vxprint -g vgp1417 -l vgp1417_04 Disk: info: assoc: flags: device: devinfo: vgp1417_04 diskid=1325653859.61.server1 device=emc0_084b type=auto autoconfig path=/dev/vx/dmp/emc0_084bs3 publen=70539872 privlen=65536

mediatype: hdd

Performance monitoring
When having I/O issues the standard command you would use could be iostat:
[root@server1 ~]# iostat -mdx Linux 2.6.18-274.3.1.el5 (server1) 06/07/2012

Device: t svctm

rrqm/s %util 6.45

wrqm/s

r/s

w /s

rMB/s

wMB/s avgrq-sz avgqu-sz

awai

cciss/c0d0 1 5.13 15.07 cciss/c0d0p1 4 14.42 0.00 cciss/c0d0p2

40.26

3.54 25.84

0.05

0.17

15.73

0.82

28.0

0.00

0.00

0.00

0.00

0.00

0.00

31.97

0.00

21.1

6.45

40.26

3.54 25.84

0.05

0.17

15.73

0.82

28.0

5.13

15.07 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 9.71 0.00 2.3 0.00 0.00 0.00 0.00 0.00 9.71 0.00 2.5 0.00 0.00 0.00 0.00 0.00 9.71 0.00 2.3 0.00 0.00 0.00 0.00 0.00 9.71 0.00 1.6 0.00 0.00 0.00 0.00 0.00 9.71 0.00 1.8 0.00 0.00 0.00 0.00 0.00 9.71 0.00 4.5 0.00 0.00 0.00 0.00 0.00 3.98 0.00 1.8

sda 7 1.87 sdb 1 4.51 sdc 3 1.83 sdd 6 1.66 sde 6 2.36 sdf 1 2.51 sdg 4 2.34 . .

Remark: As stated in man pages if you do not specify interval and count parameter displayed statistics are since server boot time so not really relevant
[root@server1 ~]# iostat -md -p sda 1 2 Linux 2.6.18-274.3.1.el5 (server1) 06/07/2012

Device: sda

tps 0.00

MB_read/s 0.00

MB_wrtn/s 0.00

MB_read 7

MB_wrtn 0

Device: sda

tps 0.00

MB_read/s 0.00

MB_wrtn/s 0.00

MB_read 0

MB_wrtn 0

You can also use nmon. With the command we have seen in previous chapter you are now able to identify to which disk group/volume/VXVM disks it is associated

But even more interesting you can use VxVM command to get detailed information of disk using Operation System disk names:
[root@server1 ~]# vxdmpadm iostat show pathname=sdax cpu usage = 374381us OPERATIONS PATHNAME sdax READS 1182902 WRITES READS per cpu memory = 1114112b BLOCKS WRITES AVG TIME(ms) READS 5.10 WRITES 20.82

4756775 328093320 294705430

[root@server1 ~]# vxdmpadm iostat show dmpnodename=sdax cpu usage = 375891us OPERATIONS PATHNAME sdax sdh READS 1183412 1133886 WRITES READS per cpu memory = 1114112b BLOCKS WRITES AVG TIME(ms) READS 5.10 5.35 WRITES 20.82 20.75

4762187 328098810 295062539 4773058 324904565 294251856

[root@server1 ~]# vxdmpadm iostat show pathname=sdax interval=2 count=2 cpu usage = 374396us OPERATIONS PATHNAME sdax READS 1182902 WRITES READS per cpu memory = 1114112b BLOCKS WRITES AVG TIME(ms) READS 5.10 WRITES 20.82

4756777 328093320 294705543

sdax

0.00

0.00

[root@server1 ~]# vxdmpadm -e iostat show pathname=sdax cpu usage = 374509us ERROR I/Os PATHNAME sdax READS 0 WRITES 0 per cpu memory = 1114112b

As well as using VxVM disk names:


[root@server1 ~]# vxdmpadm -q iostat show dmpnodename=emc0_084b cpu usage = 374484us per cpu memory = 1114112b

QUEUED I/Os DMPNODENAME emc0_084b READS 0 WRITES 0

PENDING I/Os

[root@server1 ~]# vxdmpadm -z iostat show dmpnodename=emc0_084b cpu usage = 374558us OPERATIONS PATHNAME sdax sdh READS 1182910 1133430 WRITES READS per cpu memory = 1114112b BLOCKS WRITES AVG TIME(ms) READS 5.10 5.35 WRITES 20.82 20.76

4756814 328093384 294707962 4767643 324899821 293884532

[root@server1 ~]# vxdmpadm -u bytes -z iostat show dmpnodename=emc0_084b cpu usage = 374888us OPERATIONS PATHNAME sdax sdh READS 1183012 1133494 WRITES READS per cpu memory = 1114112b BYTES WRITES AVG TIME(ms) READS 5.10 5.35 WRITES 20.82 20.76

4760612 480699392 707400192 4771329 3140286976 287247360

You can display information of controllers to see if your multipathing policy is working well:
[root@server1 ~]# vxdmpadm iostat show groupby=ctlr ctlr=c0 cpu usage = 374524us OPERATIONS CTLRNAME c0 READS WRITES READS per cpu memory = 1114112b BLOCKS WRITES AVG TIME(ms) READS 7.62 WRITES 7.10

135753949 218251362 3572140375 2841606614

[root@server1 ~]# vxdmpadm iostat show groupby=ctlr ctlr=c2 cpu usage = 374541us OPERATIONS CTLRNAME c2 READS WRITES READS per cpu memory = 1114112b BLOCKS WRITES AVG TIME(ms) READS 7.96 WRITES 6.92

135349009 215663711 3357968941 2737547261

Those interesting information can also be display at disk group level:

[root@server1 ~]# vxstat -u m -g vgp1417 OPERATIONS TYP NAME vol lvol1 vol lvol2 vol lvol3 vol lvol4 vol lvol5 vol lvol6 vol lvol7 vol lvol8 vol lvol9 vol lvol10 vol lvol11 READ 827072 761459 9518191 610864 170534 2646674 16854588 WRITE 413478 357294 7008657 15518552 303104 2379866 20012885 BLOCKS READ 17059m 3465m 175801m 259528m 886m 69607m 206030m 899927m 2090m 287228m 338m WRITE 29032m 2781m 56452m 176116m 998m 16601m 119118m 689835m 74546m 193539m 82m AVG TIME(ms) READ 1.51 4.46 0.26 1.86 4.50 1.19 0.10 0.04 3.00 3.20 2.00 WRITE 7.34 10.80 0.02 0.19 8.68 1.66 0.16 0.02 0.83 0.62 11.79

79042007 128500851 301556 980251 82761 4788315 4487076 10693

Remark -d, -p, -s and -u m options are interesting to display information at different granularity level. -r option can also be used to reset statistics and focus on current period only (to remove boot time statistics or reorganization operations) There is also vxtrace command to trace operations on volumes but I have, most probably, not really understood its added value as the output is too much verbose and does not contains any synthetic information:
[root@server1 ~]# vxtrace -g vgp1417 -o disk lvol8 57 START write disk emc0_0857 op 0 block 50782432 len 16 57 END write disk emc0_0857 op 0 block 50782432 len 16 time 3 58 START write disk emc0_0857 op 0 block 195779 len 1 58 END write disk emc0_0857 op 0 block 195779 len 1 time 1 59 START write disk emc0_0857 op 0 block 1246640 len 16 59 END write disk emc0_0857 op 0 block 1246640 len 16 time 2

. .

Remark: I/O statistics are gathered by default but when you system is stable or when you have high I/O demand it may be interesting to deactivate it to maximize throughput. To check if statistics are gathered:
[root@server1 ~]# vxtune vol_stats_enable 1

Then to de-activate them, as well as for DMP part (not possible to check if there are activated or not):
[root@server1 ~]# vxtune vol_stats_enable 0 [root@server1 ~]# vxdmpadm iostat stop

If you have slow response from a device group it may be also interesting to check if you have running operation in background:
[root@server1 ~]# vxtask -h list TASKID PTID TYPE/STATE PCT PROGRESS

Even if default VxVM parameters suit most workloads you can change them using vxdmpadm command. To display tunable VxDMP parameters use:
[root@server1 ~]# vxdmpadm gettune all Tunable -----------------------------dmp_cache_open dmp_daemon_count dmp_delayq_interval dmp_enable_restore dmp_fast_recovery Current Value ------------on 10 15 on on Default Value ------------on 10 15 on on

dmp_health_time dmp_log_level dmp_low_impact_probe dmp_lun_retry_timeout dmp_path_age dmp_pathswitch_blks_shift dmp_probe_idle_lun dmp_probe_threshold dmp_queue_depth dmp_restore_cycles dmp_restore_interval dmp_restore_policy dmp_retry_count dmp_scsi_timeout dmp_sfg_threshold dmp_stat_interval dmp_monitor_fabric dmp_monitor_osevent dmp_native_support

60 1 on 0 300 9 on 5 32 10 300 check_disabled 5 20 1 1 on on off

60 1 on 0 300 9 on 5 32 10 300 check_disabled 5 20 1 1 on on off

VolumeManager/Disk 1 Add or initialize one or more disks 2 Encapsulate one or more disks 3 Remove a disk 4 Remove a disk for replacement 5 Replace a failed or removed disk 6 Mirror volumes on a disk

7 Move volumes from a disk 8 Enable access to (import) a disk group 9 Remove access to (deport) a disk group 10 Enable (online) a disk device 11 Disable (offline) a disk device 12 Mark a disk as a spare for a disk group 13 Turn off the spare flag on a disk 14 Unrelocate subdisks back to a disk 15 Exclude a disk from hot-relocation use 16 Make a disk available for hot-relocation use 17 Prevent multipathing/Suppress devices from VxVMs view 18 Allow multipathing/Unsuppress devices from VxVMs view 19 List currently suppressed/non-multipathed devices 20 Change the disk naming scheme 21 Change/Display the default disk layouts list List disk information ? Display help about menu ?? Display help about the menuing system q Exit from menus Select an operation to perform: 6 Mirror volumes on a disk Menu:: VolumeManager/Disk/Mirror

This operation can be used to mirror volumes on a disk. These volumes can be be mirrored onto another disk or onto any available disk space. Volumes will not be mirrored if they are already mirrored. Also, volumes that are comprised of more than one subdisk will not be mirrored. Mirroring volumes from the boot disk will produce a disk that can be used as an alternate boot disk. At the prompt below, supply the name of the disk containing the volumes to be mirrored. Enter disk name [<disk>,list,q,?] list Disk group: rootdg DM NAME DEVICE TYPE PRIVLEN PUBLEN STATE dm bootdisk hda auto 66149 41876667 Enter disk name [<disk>,list,q,?] bootdisk rootvol Enter the disk access name (eg. sdb) to which Root Disk is to be mirrored: [<disk>,list,q,?] list DEVICE DISK GROUP STATUS hda bootdisk rootdg online hdb - - online invalid Enter the disk access name (eg. sdb) to which Root Disk is to be mirrored: [<disk>,list,q,?] hdb

Enter disk name for hdb [<name>,q,?] (default: rootdg01) bootmirror VxVM NOTICE V-5-2-3650 This operation can take a long time to complete. Continue with operation? [y,n,q,?] (default: y) hda is your root disk AND hdb is the dmp disk on which root disk is to be mirrored Is this correct ? [y,n,q,?] (default: n) y VxVM vxrootmir INFO V-5-2-1883 Copying partitions VxVM vxrootmir INFO V-5-2-1891 Creating partitions on hdb VxVM vxrootmir INFO V-5-2-2124 Verifying partitions after copy VxVM vxrootmir INFO V-5-2-2026 Synching data VxVM vxrootmir INFO V-5-2-1997 Online hdb VxVM vxrootmir INFO V-5-2-1956 Initializing hdb . VxVM vxrootmir INFO V-5-2-1858 Adding bootmirror=hdb to rootdg VxVM vxrootmir INFO V-5-2-1973 Mirroring all VM objects bootdisk-01 VxVM vxrootmir INFO V-5-2-5794 Created sd mirbootdisk-01 VxVM vxrootmir INFO V-5-2-5793 Created plex mirswapvol-01 VxVM vxrootmir INFO V-5-2-5796 Starting attach of plex mirswapvol-01 to swapvol bootdisk-02 VxVM vxrootmir INFO V-5-2-5794 Created sd mirbootdisk-02

VxVM vxrootmir INFO V-5-2-5793 Created plex mirrootvol-01 VxVM vxrootmir INFO V-5-2-5796 Starting attach of plex mirrootvol-01 to rootvol VxVM vxrootmir INFO V-5-2-2159 Waiting for all mirroring operations to complete

This process will take time vxprint command output : [root@linuxserv1 ~]# vxprint -ht Disk group: 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 20000 1350192460.7.linuxserv1 dm bootdisk hda auto 66149 41876667 dm bootmirror hdb auto 66149 41876667 v rootvol - ENABLED ACTIVE 36869112 ROUND - root pl mirrootvol-01 rootvol ENABLED ACTIVE 36869112 CONCAT - RW sd mirbootdisk-02 mirrootvol-01 bootmirror 0 36869112 0 hdb ENA pl rootvol-01 rootvol ENABLED ACTIVE 36869112 CONCAT - RW sd bootdisk-02 rootvol-01 bootdisk 0 36869112 0 hda ENA v swapvol - ENABLED ACTIVE 4192965 ROUND - swap pl mirswapvol-01 swapvol ENABLED ACTIVE 4192965 CONCAT - RW sd mirbootdisk-01 mirswapvol-01 bootmirror 36869112 4192965 0 hdb ENA pl swapvol-01 swapvol ENABLED ACTIVE 4192965 CONCAT - RW sd bootdisk-01 swapvol-01 bootdisk 36869112 4192965 0 hda ENA