What to do when "vxdisk list" shows status of 'online dgdisabled'.

Details:


aixsrv01:# vxdisk -o alldgs list
DEVICE TYPE DISK GROUP STATUS
EMC_CLARiiON0_0 auto:cdsdisk EMC_CLARiiON0_0 dygy2502 online
EMC_CLARiiON0_1 auto:cdsdisk - (dvgy2500) online
EMC_CLARiiON0_2 auto:cdsdisk EMC_CLARiiON0_4 dvgyappl online
EMC_CLARiiON0_3 auto:cdsdisk EMC_CLARiiON0_3 dvgy2503 online
EMC_CLARiiON0_4 auto:cdsdisk EMC_CLARiiON0_4 dvgy2504 online
EMC_CLARiiON0_5 auto:cdsdisk EMC_CLARiiON0_5 dvgy25 online
EMC_CLARiiON0_6 auto:cdsdisk EMC_CLARiiON0_9 dvgy26 online dgdisabled
EMC_CLARiiON0_7 auto:cdsdisk EMC_CLARiiON0_8 dygy2501 online
EMC_CLARiiON0_8 auto:cdsdisk - (dvgy2506) online
EMC_CLARiiON0_9 auto:cdsdisk - (dvgy2505) online
EMC_CLARiiON0_10 auto:cdsdisk - (dvgy2507) online
EMC_CLARiiON0_11 auto:cdsdisk EMC_CLARiiON0_11 dvgy25db2 online


This situation can happen when every disk in a disk group is lost from a bad power supply, power turned off to the disk array, cable disconnected, zoning problems, etc.

The disk group will not show in the output from vxprint -ht.

aixsrv01:# vxprint -htg dvgy26
VxVM vxprint ERROR V-5-1-582 Disk group dvgy26: No such disk group


The disk group will show as disabled in vxdg list:

aixsrv01:# vxdg list
NAME STATE ID
dygy2501 enabled,cds 1189621899.78.aixsrv01
dvgyappl enabled,cds 1190904062.52.aixsrv01
dvgy25 enabled,cds 1189622068.88.aixsrv01
dvgy25db2 enabled,cds 1189622043.86.aixsrv01
dvgy26 disabled 1189538508.74.aixsrv01
dvgy2503 enabled,cds 1189621988.82.aixsrv01
dvgy2504 enabled,cds 1189622014.84.aixsrv01
dygy2502 enabled,cds 1189621955.80.aixsrv01


This is the output of vxdg list dvgy26:

aixsrv01:# vxdg list dvgy26
Group: dvgy26
dgid: 1189538508.74.aixsrv01
import-id: 1024.22
flags: disabled
version: 0
alignment: 0 (bytes)
local-activation: read-write
ssb: off
detach-policy: invalid
copies: nconfig=default nlog=default
config: seqno=0.1103 permlen=1280 free=1259 templen=11 loglen=192
config disk EMC_CLARiiON0_6 copy 1 len=1280 state=clean online
log disk EMC_CLARiiON0_6 copy 1 len=192


Your filesystems will of course fail and the operating system will report it as corrupted.

aixsrv01:# df -k > /dev/null
df: /db2/dwins26q: I/O error
df: /backup: I/O error
df: /db/dwdb26q/dwins25q/NODE0000: I/O error
df: /db/dwins26q/dwdb26q/syscatspace/NODE0000: I/O error
df: /db/dwins26q/dwdb26q/tempspace01/NODE0000: I/O error
df: /dba/dwins26q: I/O error
df: /db2/dwmysld: I/O error
df: /backup/wiminst: I/O error


Once you have confirmed that the disk storage is powered-up, running, and operational and if the LUNs are in a SAN, zoning is configured right, this problem can be remedied by deporting, and then importing the disk group:

# vxdg deport dvgy26

# vxdg import dvgy26
VxVM vxdg ERROR V-5-1-587 Disk group dvgy26: import failed: No valid disk found containing disk group


If volume manager can't see the disks, and your SAN or storage administrator has confirmed that the LUNs were fine and presented to your server, then rescan the disks.

aixsrv01:# vxdisk scandisks
aixsrv01:# vxdctl enable
aixsrv01:# vxdg import dvgy26


Otherwise, your diskgroup should be showing up as enabled.

aixsrv01:# vxdg list
NAME STATE ID
dygy2501 enabled,cds 1189621899.78.aixsrv01
dvgyappl enabled,cds 1190904062.52.aixsrv01
dvgy25 enabled,cds 1189622068.88.aixsrv01
dvgy25db2 enabled,cds 1189622043.86.aixsrv01
dvgy26 enabled,cds 1189538508.74.aixsrv01
dvgy2503 enabled,cds 1189621988.82.aixsrv01
dvgy2504 enabled,cds 1189622014.84.aixsrv01
dygy2502 enabled,cds 1189621955.80.aixsrv01


The disk group now shows in vxprint -ht with the volumes and plexes disabled:

aixsrv01:# vxprint -htg dvgy26
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 NVOLUME KSTATE STATE
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

dg dvgy26 default default 9000 1189538508.74.aixsrv01

dm EMC_CLARiiON0_9 EMC_CLARiiON0_6 auto 2048 67102464 -

v backup - DISABLED ACTIVE 4194304 SELECT - fsgen
pl backup-01 backup DISABLED ACTIVE 4194304 CONCAT - RW
sd EMC_CLARiiON0_9-02 backup-01 EMC_CLARiiON0_9 8388608 4194304 0 EMC_CLARiiON0_6 ENA

v db - DISABLED ACTIVE 1048576 SELECT - fsgen
pl db-01 db DISABLED ACTIVE 1048576 CONCAT - RW
sd EMC_CLARiiON0_9-04 db-01 EMC_CLARiiON0_9 16777216 1048576 0 EMC_CLARiiON0_6 ENA

v dba - DISABLED ACTIVE 4194304 SELECT - fsgen
pl dba-01 dba DISABLED ACTIVE 4194304 CONCAT - RW
sd EMC_CLARiiON0_9-03 dba-01 EMC_CLARiiON0_9 12582912 4194304 0 EMC_CLARiiON0_6 ENA

v db2 - DISABLED ACTIVE 8388608 SELECT - fsgen
pl db2-01 db2 DISABLED ACTIVE 8388608 CONCAT - RW
sd EMC_CLARiiON0_9-01 db2-01 EMC_CLARiiON0_9 0 8388608 0 EMC_CLARiiON0_6 ENA

v dwmysld - DISABLED ACTIVE 2097152 SELECT - fsgen
pl dwmysld-01 dwmysld DISABLED ACTIVE 2097152 CONCAT - RW
sd EMC_CLARiiON0_9-09 dwmysld-01 EMC_CLARiiON0_9 55574528 2097152 0 EMC_CLARiiON0_6 ENA

v lg1 - DISABLED ACTIVE 10485760 SELECT - fsgen
pl lg1-01 lg1 DISABLED ACTIVE 10485760 CONCAT - RW
sd EMC_CLARiiON0_9-08 lg1-01 EMC_CLARiiON0_9 45088768 10485760 0 EMC_CLARiiON0_6 ENA

v syscat - DISABLED ACTIVE 2097152 SELECT - fsgen
pl syscat-01 syscat DISABLED ACTIVE 2097152 CONCAT - RW
sd EMC_CLARiiON0_9-05 syscat-01 EMC_CLARiiON0_9 17825792 2097152 0 EMC_CLARiiON0_6 ENA

v tp01 - DISABLED ACTIVE 4194304 SELECT - fsgen
pl tp01-01 tp01 DISABLED ACTIVE 4194304 CONCAT - RW
sd EMC_CLARiiON0_9-07 tp01-01 EMC_CLARiiON0_9 40894464 4194304 0 EMC_CLARiiON0_6 ENA

v ts01 - DISABLED ACTIVE 20971520 SELECT - fsgen
pl ts01-01 ts01 DISABLED ACTIVE 20971520 CONCAT - RW
sd EMC_CLARiiON0_9-06 ts01-01 EMC_CLARiiON0_9 19922944 20971520 0 EMC_CLARiiON0_6 ENA


Verify that the disks on the diskgroup are all online.

aixsrv01:# vxdisk -o alldgs list
DEVICE TYPE DISK GROUP STATUS
EMC_CLARiiON0_0 auto:cdsdisk EMC_CLARiiON0_0 dygy2502 online
EMC_CLARiiON0_1 auto:cdsdisk - (dvgy2500) online
EMC_CLARiiON0_2 auto:cdsdisk EMC_CLARiiON0_4 dvgyappl online
EMC_CLARiiON0_3 auto:cdsdisk EMC_CLARiiON0_3 dvgy2503 online
EMC_CLARiiON0_4 auto:cdsdisk EMC_CLARiiON0_4 dvgy2504 online
EMC_CLARiiON0_5 auto:cdsdisk EMC_CLARiiON0_5 dvgy25 online
EMC_CLARiiON0_6 auto:cdsdisk EMC_CLARiiON0_9 dvgy26 online
EMC_CLARiiON0_7 auto:cdsdisk EMC_CLARiiON0_8 dygy2501 online
EMC_CLARiiON0_8 auto:cdsdisk - (dvgy2506) online
EMC_CLARiiON0_9 auto:cdsdisk - (dvgy2505) online
EMC_CLARiiON0_10 auto:cdsdisk - (dvgy2507) online
EMC_CLARiiON0_11 auto:cdsdisk EMC_CLARiiON0_11 dvgy25db2 online


Now the volumes can be started:

aixsrv01:# vxvol -g dvgy26 startall

aixsrv01:# vxprint -htg dvgy26 | egrep '^v|^pl'
v backup - ENABLED ACTIVE 4194304 SELECT - fsgen
pl backup-01 backup ENABLED ACTIVE 4194304 CONCAT - RW
v db - ENABLED ACTIVE 1048576 SELECT - fsgen
pl db-01 db ENABLED ACTIVE 1048576 CONCAT - RW
v dba - ENABLED ACTIVE 4194304 SELECT - fsgen
pl dba-01 dba ENABLED ACTIVE 4194304 CONCAT - RW
v db2 - ENABLED ACTIVE 8388608 SELECT - fsgen
pl db2-01 db2 ENABLED ACTIVE 8388608 CONCAT - RW
v dwmysld - ENABLED ACTIVE 2097152 SELECT - fsgen
pl dwmysld-01 dwmysld ENABLED ACTIVE 2097152 CONCAT - RW
v lg1 - ENABLED ACTIVE 10485760 SELECT - fsgen
pl lg1-01 lg1 ENABLED ACTIVE 10485760 CONCAT - RW
v syscat - ENABLED ACTIVE 2097152 SELECT - fsgen
pl syscat-01 syscat ENABLED ACTIVE 2097152 CONCAT - RW
v tp01 - ENABLED ACTIVE 4194304 SELECT - fsgen
pl tp01-01 tp01 ENABLED ACTIVE 4194304 CONCAT - RW
v ts01 - ENABLED ACTIVE 20971520 SELECT - fsgen
pl ts01-01 ts01 ENABLED ACTIVE 20971520 CONCAT - RW


The filesystems on these volumes may not be in consistent state. So, run a filesystem check before mounting them.

aixsrv01:# for i in `grep dvgy26 /etc/filesystems | awk '{ print $3 }'`
> do
> fsck -y $i
> mount $i
> done


note: This example was taken from an AIX server, but all veritas commands here will work on all UNIX platforms.
Introduction

The SANsurfer FC HBA CLI application provides a command line interface (CLI) that lets you easily install, configure, and deploy QLogic Fibre Channel (FC) host bus adapters (HBAs). It also provides robust diagnostic and troubleshooting capabilities and useful statistical information to optimize SAN performance. This application can only configure HBAs on the local machine upon which the application is installed.

SANsurfer FC HBA CLI is a simplified, condensed version of the SANsurfer FC HBA Manager GUI.

SANsurfer FC HBA CLI can be operated in two modes:

    ■ Interactive mode (menu-driven interface). This mode requires user intervention.
    ■ Non-interactive mode (command line interface). Use this mode for scripting orwhen you want to perform a single operation.


Interactive Mode

Do one of the following to start SANsurfer FC HBA CLI in interactive mode:

scli INT

or
scli

NOTE: When starting SANsurfer FC HBA CLI on a Solaris console serial port
connection, the application may be slow to launch. To resolve this issue,
specify the INT flag, as shown above.

Here is a sample:

sunsrv01# scli



SANsurfer FC HBA CLI

v1.7.0 Build 12

Main Menu

1: Display System Information
2: Display HBA Settings
3: Display HBA Information
4: Display Device List
5: Display LUN List
6: Configure HBA Settings
7: Boot Device Settings
8: HBA Utilities
9: Flash Beacon
10: Diagnostics
11: Statistics
12: Help
13: Quit


Enter Selection:


Non-interactive Mode

Type the following in a command window to start SANsurfer FC HBA CLI in
non-interactive mode:

scli <Parameters>

SANsurfer FC HBA CLI executes the command options, then terminates.
To list all of the available command line parameters and the SANsurfer FC HBA CLI
version, type the following:

sunsrv01# scli -h
SANsurfer FC HBA CLI
v1.7.0 Build 12
Copyright 2003-2007 QLogic Corp.
All rights reserved.
Command Line QLogic FC Host Bus Adapters
Build Type: Release
Build Date: Jan 31 2007 16:40:23

Usage: scli [options]


Options:

[ int ] - Starts interactive mode.

-g - Displays the system information.


-c [ <all> ] - Displays parameter settings for all HBAs.
-c ( <hba no> | <hba wwpn> )
- Displays parameter settings for a specific HBA


-i [ <all> ] - Displays all HBAs information.
-i ( <hba no> | <hba wwpn> )
- Displays a specific HBA general information.


-t [ <all> ] - Displays the target information on all HBAs.
-t ( <hba no> | <hba wwpn> )
- Displays the target information on a specific HBA
-t ( <hba no> | <hba wwpn> ) ( <target wwpn> | <target portid> )
- Displays a specific target information on a
specific HBA.


-l ( <hba no> | <hba wwpn> )
- Displays LUN information for all HBAs.
-l ( <hba no> | <hba wwpn> ) ( <target wwpn> | <target portid> )
- Displays LUN information for a specific target
-l ( <hba no> | <hba wwpn> ) ( <target wwpn> | <target portid> ) <lun id>
- Displays LUN information for a specific
LUN on a specific target.


-n ( <hba no> | <hba wwpn> ) { ( <param name> | <param alias> )
<param value> }

- HBA Port settings (NVRAM).
-n ( <hba no> | <hba wwpn> ) default
- Restore default settings (4G HBAs only).



-p ( <hba no> | <hba wwpn> | <all> ) ( view | ? )
- Display target persistent binding information of
a specific HBA or all HBAs.
-p ( <hba no> | <hba wwpn> ) { <target wwnn> <target wwpn> <target portid>
<target id> }
- Bind selected target(s) on a specific HBA.
-p ( <hba no> | <hba wwpn> | <all> ) bind all
- Bind all target(s) on a specific HBA or all HBAs.
-p ( <hba no> | <hba wwpn> ) remove all | unbind all
- Unbind all target(s) on a specific HBA.
-p ( <hba no> | <hba wwpn> ) remove <target wwnn> | unbind <target wwnn>
- Unbind selected target on a specific HBA.

-m ( <hba no> | <hba wwpn> ) ( view | ? )
- View the HBA 's selective LUN list
-m ( <hba no> | <hba wwpn> ) <target wwnn> <target wwpn> <lun id> ( view
| ? )
- View a LUN's selective state of specific device.
-m ( <hba no> | <hba wwpn> ) { <target wwnn> <target wwpn> <lun id> ( 0
| 1 | enable | disable | select | unselect ) }
- Select/Unselect a LUN of a specific target on a
specific HBA.
-m ( <hba no> | <hba wwpn> ) select | enable <target wwnn> <target wwpn>
- Enable all LUNs of a specific target on a specific
HBA.
-m ( <hba no> | <hba wwpn> ) unselect | disable <target wwnn> <target wwpn>
- Disable all LUNs of a specific target on a specific
HBA.
-m ( <hba no> | <hba wwpn> ) select all
- Select or enable all LUNs of all targets on a
specific HBA.
-m ( <hba no> | <hba wwpn> ) unselect all
- Unselect or disable all LUNs of all targets on a
specific HBA.

-e ( view | ? ) - View the boot device of all HBAs.
-e ( view | ? ) - View the boot device of all HBAs.
-e ( <hba no> | <hba wwpn> ) ( view | ? )
- View the boot device of a specific HBA.
-e <hba no> | <hba wwpn> <target wwnn> <target wwpn> <target id> <lun id>
- Set a specific target as boot device on a specific HBA.
-e ( <hba no> | <hba wwpn> ) enable
- Set a default BIOS boot device on a specific HBA
This option is only available on x86.
-e ( <hba no> | <hba wwpn> ) disable
- Clear the boot device on a specific HBA.


-fg ( <hba no> | <hba wwpn> ) ( view | ? )
- View driver settings.

-fs ( <hba no> | <hba wwpn> ) { ( <param name> | <param alias> )
<param value> }
- Configure driver settings.


-b ( <all> | <hba no> | <hba wwpn> ) [ ( <-rg> <fw | boot| all> ) ]
<file name>
- Updates the HBA's Option ROM.
<-rg> - Specifies Option ROM region update mode.
<fw> - Firmware update only.
<boot> - Boot code update (BIOS/Fcode/EFI) only.
<file name> - Specifies the image file name.
- Region update is only supported on QLA/QLE/QMC246x.
-b ( <hba no> | <hba wwpn> ) save <file name>

- Saves the HBA's Option ROM to a file.

-r ( <hba no> | <hba wwpn> | <all> ) <file name>
- Update the HBA's NVRAM.
-r ( <hba no> | <hba wwpn> ) save <file name>
- Saves the HBA's NVRAM to a file.

-do ( <hba no> | <hba wwpn> | <all> ) <rescan | rs>
- Tell the driver to issue a rescan command for
discovering newly added targets/LUNs.

-d <file name >
- Update driver to HBA(s) where <file name> is
the full path of the driver oemsetup.inf file.


-a ( <hba no> | <hba wwpn> ) ( view | ?)
- View HBA's LED flashing status.
-a ( <hba no> | <hba wwpn> )
- Toggle the HBA's LED flashing state.


-tb ( <hba no> | <hba wwpn> ){ ( <target wwpn> ) } <beacon mode>
- Target Beacon: Flash the disk drive's LED to
locate the drive in a JBOD.


-kl ( <hba no> | <hba wwpn> ) [ { ( <param name> | <param alias> )
<param value> } ]
- Run HBA diagnostics loopback test.

-kr ( <hba no> | <hba wwpn> ) [ { ( -ex | -exclude ) <target wwpn> } ]
[ ( <param name>| <param alias> ) <param value> ]
- Run HBA diagnostics read-write buffer test.


-gs ( <hba no> | <hba wwpn> ) { ( <param name> | <param alias> )
<param value> }
- View Statistics.
-ls ( <hba no> | <hba wwpn> ) { ( <param name> | <param alias> )
<param value> }
- View Link Status.

-dm ( <hba no> | <hba wwpn> | <all> ) general | gen | details | det
- Display Digital Diagnostics Monitoring Information
in general or details view.
Note: This feature is supported only with 4Gb HBAs.


-tp | -topology ]
- Display host topology.


-ha ( <hba no> | <hba wwpn> ) <alias>
- Set an alias to selected HBA
-ha ( <hba no> | <hba wwpn> ) delete
- Delete the current alias of selected HBA.
-ha ( <hba no> | <hba wwpn> ) view | ?
- View the current alias of selected HBA


-pa ( <hba no> | <hba wwpn> ) <alias>
- Set a port alias to selected HBA
-pa ( <hba no> | <hba wwpn> ) delete
- Delete current port alias of selected HBA.
-pa ( <hba no> | <hba wwpn> ) view | ?
- View the current port alias of the selected HBA


-z ( <hba no> | <hba wwpn> | <all> )
- Display all information for a specific
HBA or all HBAs.


-v - Display version.

-h | -? - Display usage help text.

-o <file name> - Specifies the output to a log file.

-f <file name> - Specifies command line input from file.

-x - Specifies the output in XML format.

-s - Silent mode.
Notes:
1. Options -x,-s,-o can be combined with other options. However,
they must be at the beginning or at the end of the command line.
2. Option -f cannot be combined with any other options.
Only one command line option per input file is valid.
3. The '-' character can be replaced as '/' character.
i.e. scli -g and scli /g are both considered as valid commands.
4. Option -h can be combined with a command line option to display
the usage of that individual command.



Legends:

<hba no> - HBA number (Instance number).
<hba wwpn> - HBA World Wide Port Name in the following format:
xx-xx-xx-xx-xx-xx-xx-xx or xxxxxxxxxxxxxx.
<target wwnn> - Target World Wide Node Name in the following format:
xx-xx-xx-xx-xx-xx-xx-xx or xxxxxxxxxxxxxx.
<target wwpn> - Target World Wide Port Name in the following format:
xx-xx-xx-xx-xx-xx-xx-xx or xxxxxxxxxxxxxx.
<target portid> - Target Port ID in the following format:
xx-xx-xx or xxxxxx.
<target id> - Target ID.
<lun id> - Logical Unit Number (0-255).

HBA Port Settings (NVRAM):
<param name> - See column 1 - Table 1.
<param alias> - See column 2 - Table 1.
<param value> - See column 3 - Table 1.

=======================================================================
Parameter Name Alias Value Description
=======================================================================
ConnectionOption CO 0-3 See note 1 below
DataRate DR 0-3 See note 2 below
FrameSize FR 512,1024,2048
HardLoopID HD 0-125
ResetDelay RD 0-255
EnableBIOS EB 0,1 See note 3,6 below
EnableHardLoopID HL 0,1 See note 3 below
EnableFCPErrRecovery EF 0,1 See note 3 below
ExecutionThrottle ET 1-65535 See note 5 below
EnableExtendedLogging EL 0,1 See note 3,4 below
LoginReTryCount LR 0-255
EnableLipReset LP 0,1 See note 5 below
PortDownRetryCount PD 0-255
EnableLIPFullLogin FL 0,1 See note 3 below
LinkDownTimeOut LT 0-240
EnableTargetReset TR 0,1 See note 3,5 below
MaximumLUNsPerTarget ML 0,8,16,32,64,128,256 See note 5 below
LinkDownError LD 0,1 See note 3,5 below
FastErrorReporting FE 0,1 See note 3,5 below
========================================================================
Notes:
1. Connection Options: 0 - Loop Only.
1 - Point-to-Point Only.
2 - Loop preferred, otherwise Point-to-Point.
3 - Point-to-Point, otherwise Loop (QLA22xx only).
2. Data Rate: 0 - 1Gbs, 1 - 2Gbs, 2 - Auto, 3 - 4Gbs.
3. Others 0 - Disable, 1 - Enable
4. Option is not available on 4Gb HBA.
5. Option is not available with QLC driver.
6. Option is not available on PPC64/SPARC.
7. Option is not available on Solaris.

Diagnostics Settings:
-exclude | -ex: - Specifies device by its wwpn to be excluded from
read/write buffer test.
<param name> - See column 1 - Table 2.
<param alias> - See column 2 - Table 2.
<param value> - See column 3 - Table 2.

=======================================================================
Parameter Name Alias Value Description
=======================================================================
DataPattern DP 00-FF See note 1 below
CRPAT See note 1 below
CSPAT See note 1 below
CJTPAT See note 1 below
DataSize DS 8,16,32,64,128,256
512,1024,2048 See note 2 below
TestCount TC 0-65535 (Loopback) See note 3 below
0-10000 (R/W Buffer) See note 3 below
TestIncrement TI 1-65535 (Loopback) See note 4 below
TI 1-10000 (R/W Buffer) See note 4 below
OnError OE 0 Ignore
1 Stop
2 Loop on error
See note 5 below
=====================================================

Table 2: HBA Diagnostics Configuration Settings

Notes:

1. DataPattern: Test pattern in hex format.
Hex Binary
--- --------
00 00000000
55 01010101
5A 01011010
A5 10100101
AA 10101010
FF 11111111
User Defined Pattern (Hex)).
Random Pattern.
CRPAT - Loopback test only.
CSPAT - Loopback test only.
CJTPAT - Loopback test only.
2. DataSize: Specifies the data (frame payload) size in bytes. Actual
data that is transferred during any given pass of the test.
For R/W buffer test, the max data size is 128 bytes
3. TestCount: 0 - Test Continuously
1 to 65535 - Total number of tests that will be
executed.
4. TestIncrement: Must be less than the number of test count specified.
5. OnError: Specifies the action if an error occurs during any
given pass.
Test Result:
A) Loopback test result:
Test Status, CRC Error, Disparity Error, Frame Length Error.
B) Read/Write buffer test result:
Loop ID/Status, Data Miscompare, Link Failure, Loss of Sync,
Loss of Signal, Invalid CRC.


Driver Settings:
<param name> - See column 1 - Table 3.
<param alias> - See column 2 - Table 3.
<param value> - See column 3 - Table 3.

=======================================================================
Parameter Name Alias Value Description
=======================================================================
PersistentOnly PO 0,1 Present targets that are
persistently bound only.
PersistentPlusNew PN 0,1 Present targets that are
persistently bound plus new
new targets.
BindWWPN BW 0,1 Bind devices by WWPNs.
BindPortID BP 0,1 Bind devices by Port IDs.
=======================================================================

Table 3: Driver Settings


=======================================================================
=======================================================================
Parameter Name Alias Value Description
=======================================================================
AutoPoll AP 0 Turn on automatically update the
HBA port statistics.
1-256 Turn on automatically update the
HBA port statistics at a specified
interval.
PollRate SR 5-30 Set the polling interval during
automatically update (seconds).
LogToFile LF Log File Name Export the statistics to a file
(CSV format).
=======================================================================
Table 4: HBA Port Statistics Options

=======================================================================
Parameter Name Alias Value Description
=======================================================================
AutoPoll AP 0 Update the link statistics
automatically.
1-256 Update the link statistics
up to a specified interval.
PollRate SR 5-30 Set the Statistics Sampling
Rate (seconds).
LogToFile LF Log File Name Export the link statistics to a
file (CSV format).
=======================================================================
Table 5: Link Status Options


Sample Outputs

sunsrv01# scli -i all

-------------------------------------------------------
Host Name : sunsrv01
HBA Model : QLA2342
HBA Alias :
Port : 1
Port Alias :
Node Name : 20-00-00-E0-8B-86-FE-C9
Port Name : 21-00-00-E0-8B-86-FE-C9
Port ID : 63-B3-13
Serial Number : E44926
Driver Version : qlc-20051013-2.08
FCode Version : 1.14.09
Firmware Version : 3.03.116 IP
HBA Instance : 2
OS Instance : 2
HBA ID : 2-QLA2342
Actual Connection Mode : Point to Point
Actual Data Rate : 2 Gbps
PortType (Topology) : NPort
Total Number of Devices : 1
HBA Status : Online
-------------------------------------------------------
Host Name : sunsrv01
HBA Model : QLA2342
HBA Alias :
Port : 2
Port Alias :
Node Name : 20-01-00-E0-8B-A6-FE-C9
Port Name : 21-01-00-E0-8B-A6-FE-C9
Port ID : 00-00-00
Serial Number : E44926
Driver Version : qlc-20051013-2.08
FCode Version : 1.14.09
Firmware Version : 3.03.116 IP
HBA Instance : 3
OS Instance : 3
HBA ID : 3-QLA2342
Actual Connection Mode : Unknown
Actual Data Rate : Unknown
PortType (Topology) : Unidentified
Total Number of Devices : 0
HBA Status : Loop down
-------------------------------------------------------
Posted by JAUGHN Labels:
Posted by JAUGHN Labels:
vxresize command syntax :

/etc/vx/bin/vxresize [-bsx] [-F fstype] [-g  diskgroup] [-t tasktag] \
volume new_length [medianame...]


The vxresize command will either grow or shrink both the file system and its underlying volume to match the specified new volume length. The ability to grow or shrink is file system dependent. Some file system types may require that the file system be unmounted for the operation to succeed.

Note: vxresize works with VxFS and UFS file systems only.

In some situations, when resizing large volumes, vxresize may take a long time to complete.

The new_length operand can begin with a plus (+) or minus (-) to indicate that the new length is added to or subtracted from from the current volume length.


Resizing a Filesystem/Volume

Current capacity:

# df -k /dbfiles03
Filesystem kbytes used avail capacity Mounted on
/dev/vx/dsk/dg20/dbvol03 3079710 2709166 308950 90% /dbfiles03

Volume information:

# vxprint dbvol03
Disk group: dg20

TY NAME ASSOC KSTATE LENGTH PLOFFS STATE TUTIL0 PUTIL0
v dbvol03 fsgen ENABLED 6291456 - ACTIVE - -
pl dbvol03-01 dbvol03 ENABLED 6298619 - ACTIVE - -
sd dg2007-03 dbvol03-01 ENABLED 3149307 0 - - -
sd dg2006-03 dbvol03-01 ENABLED 3149307 0 - - -

Plex information:

# vxprint -l dbvol03-01
Disk group: dg20

Plex: dbvol03-01
info: len=6298619 contiglen=6298491
type: layout=STRIPE columns=2 width=128
state: state=ACTIVE kernel=ENABLED io=read-write
assoc: vol=dbvol03 sd=dg2007-03,dg2006-03
flags: busy complete

Increasing the volume to 4GB using vxresize:

# /etc/vx/bin/vxresize dbvol03 4g
/dev/vx/rdsk/dg20/dbvol03:
8388608 sectors in 4096 cylinders of 32 tracks, 64 sectors
4096.0MB in 88 cyl groups (47 c/g, 47.00MB/g, 7872 i/g)
super-block backups (for fsck -F ufs -o b=#) at:
32, 96352, 192672, 288992, 385312, 481632, 577952, 674272, 770592, 866912,
963232, 1059552, 1155872, 1252192, 1348512, 1444832, 1541152, 1637472,
1733792, 1830112, 1926432, 2022752, 2119072, 2215392, 2311712, 2408032,
2504352, 2600672, 2696992, 2793312, 2889632, 2985952, 3080224, 3176544,
3272864, 3369184, 3465504, 3561824, 3658144, 3754464, 3850784, 3947104,
4043424, 4139744, 4236064, 4332384, 4428704, 4525024, 4621344, 4717664,
4813984, 4910304, 5006624, 5102944, 5199264, 5295584, 5391904, 5488224,
5584544, 5680864, 5777184, 5873504, 5969824, 6066144, 6160416, 6256736,
6353056, 6449376, 6545696, 6642016, 6738336, 6834656, 6930976, 7027296,
7123616, 7219936, 7316256, 7412576, 7508896, 7605216, 7701536, 7797856,
7894176, 7990496, 8086816, 8183136, 8279456, 8375776,

New capacity:

# df -k /dbfiles03
Filesystem kbytes used avail capacity Mounted on
/dev/vx/dsk/dg20/dbvol03 4106286 2709166 1335526 67% /dbfiles03

New volume information (two new subdisks):

# vxprint dbvol03
Disk group: dg20

TY NAME ASSOC KSTATE LENGTH PLOFFS STATE TUTIL0 PUTIL0
v dbvol03 fsgen ENABLED 8388608 - ACTIVE - -
pl dbvol03-01 dbvol03 ENABLED 8395767 - ACTIVE - -
sd dg2007-03 dbvol03-01 ENABLED 3149307 0 - - -
sd dg2007-05 dbvol03-01 ENABLED 1048572 3149307 - - -
sd dg2006-03 dbvol03-01 ENABLED 3149307 0 - - -
sd dg2006-05 dbvol03-01 ENABLED 1048572 3149307 - - -

New plex information:

# vxprint -l dbvol03-01
Disk group: dg20

Plex: dbvol03-01
info: len=8395767 contiglen=8395639
type: layout=STRIPE columns=2 width=128
state: state=ACTIVE kernel=ENABLED io=read-write
assoc: vol=dbvol03 sd=dg2007-03,dg2007-05,dg2006-03,dg2006-05
flags: busy complete

More options:

# /etc/vx/bin/vxresize dbvol03 +1g

# /etc/vx/bin/vxresize dbvol03 +1024m

# /etc/vx/bin/vxresize dbvol03 -2g
Posted by JAUGHN Labels: ,
vxassist command syntax :

vxassist <option> <Keyword> volume_name [attributes]

Commonly used options are given below (See man vxassist for complete list of supported options)

    -g for specifying diskgroups
    -b for background operation
    -d file containing defaults for vxassist if not specified /etc/default/vxassist is used


Keywords used are make , mirror , move , growto ,growby ,shrintto ,shirnkby ,snapstart , snapshot ,snapwait

Attributes specify volumes layout disks controllar to include exclude etc


Extending a volume up to certain length

Command syntax :

vxassist growto volume_name length

To extend vol3 up to 8000 sectors, type:

# vxassist growto vol3 8000


Extending by a Given Length

Command Syntax :

vxassist growby volume_name length

To extend volapp by 1000 sectors, type:

# vxassist growby volapp 1000





Shrinking a Volume

Caution - Do not shrink a volume below the size of the file system. If you have a VxFS file system, you can shrink the file system and then shrink the volume. If you do not shrink the file system first, you risk unrecoverable data loss.

Always make sure you have a good backup of the data volume to be shirnked.


Shrinking to a Given Length

Shrink a volume to a specific length as follows:

vxassist shrinkto volume_name length

Make sure you do not shrink the volume below the current size of the file system or database using the volume. This command can be safely used on empty volumes.

To shrink volcat to 1300 sectors, type:

# vxassist shrinkto volcat 1300


Shrinking by a Given Length

Shrink a volume by a specific length as follows:

vxassist shrinkby volume_name length

To extend volapp by 1000 sectors, type:

# vxassist shrinkby volapp2 8000
Posted by JAUGHN Labels: ,
vxassist command syntax :

vxassist <option> <Keyword> volume_name [attributes]

Commonly used options are given below (See man vxassist for complete list of supported options)

    -g for specifying diskgroups
    -b for background operation
    -d file containing defaults for vxassist if not specified /etc/default/vxassist is used


Keywords used are make , mirror , move , growto ,growby ,shrintto ,shirnkby ,snapstart , snapshot ,snapwait

Attributes specify volumes layout disks controllar to include exclude etc


Creating a Concatenated Volume

By default, vxassist creates a concatenated volume using the space available on a disk or on the number of disks in a diskgroup if the volume size specified is more then the one available on a single disk.

Disks can be specified from a diskgroup for a volume group but if not mentioned available disks are selected by the volume manager.

Command syntax :

vxassist make volume_name volume_length

To create a new volume appvol of 100 MB in the default disk group rootdg with available disks:

# vxassist make appvol 100m

To create the volume appvol of 100MB on disk03

# vxassist make appvol 100m disk03


Creating a Striped Volume

A striped volume contains at least one plex that consists of two or more subdisks located on two or more physical disks.

Command Syntax :

vxassist make volume_name length layout=stripe

To create a striped volume appvol2 with the default stripe unit size on the default number of disks

# xassist make appvol2 100m layout=stripe

To create a striped volume appvol2 100MB striped volume on three specific disks.

# vxassist make appvol2 100m layout=stripe disk04 disk05 disk06


Creating a RAID-5 Volume

A RAID-5 volume contains a RAID-5 plex that consists of two or more subdisks located on two or more physical disks. Only one RAID-5 plex can exist per volume. A RAID-5 volume may also contain one or more RAID-5 log plexes, which are used to log information about data and parity being written to the volume.

Command Syntax :

vxassist make volume_name length layout=raid5

To create the RAID-5 volume appvol4 with the default stripe unit size on the default number of disks with RAID-5 log,

# xassist make appvol4 100m layout=raid5.
Posted by JAUGHN Labels: ,
Posted by JAUGHN Labels:
Saturday, January 5, 2008 at 3:34 PM | 0 comments
Contents



Introduction

This document describes how to configure and administer VVR. VVR is Veritas Volume Replicator - the binaries are automatically installed as part of VxVM (Veritas Volume Manager). To activate VVR an appropriate Veritas License Key needs installing onto all the systems using VVR.

VVR allows the contents of a set of volumes within specified disk groups to be replicated across TCP/IP to one or more remote hosts. One Primary host must exist with at least one Secondary host although more remote hosts can be configured. The data on the secondary host cannot be unless it becomes the Primary host, either by taking over the role (if the Primary host is down) or by migrating the Primary host role to the Secondary host.

VVR can be integrated into VCS with a VVR agent and Global Cluster Manager (GCM - another Veritas product) can then be used to manage the failover of clusters from site to site.



VVR Terminology

Data Change Map (DCM) - An object containing a bitmap that can be optionally associated with a data volume on the Primary RVG. The bits represent regions of data that are different between the Primary and the Secondary. DCMs are used to mark sections of volumes on the primary that have changed during extended network outages in order to minimize the amount of data that must be synchronized to the secondary site during the outage.

Data Volume - Volumes that are associated with an RVG and contain application data.

Primary Node - The node on which the primary RVG resides.

Replication Link (RLINK) - RLINKs represent the communication link to the couterpart of the RVG on another node. At the Primary node a replicated volume object has one RLINK for each of its network mirrors. On the Secondary node a replicated volume has a single RLINK object that links it to its Primary. Each RLINK on a Primary RVG represents the communication link from the Primary RVG to a corresponding Secondary RVG, via an IP connection.

Replicated Data Set (RDS) - The group of the RVG on a Primary and its corresponding Secondary hosts.

Replicated Volume Group (RVG) - A component of VVR that is made up of a set of data volumes, one or more RLINKs and an SRL. An RVG is a subset of volumes within a given VxVM disk group configured for replication to one or more secondary systems. Data is replicated from a primary RVG to a secondary RVG. The primary RVG is in use by an application, while the secondary RVG receives replication and writes to local disk. The concept of primary and secondary is per RVG, not per system. A system can simultaneously be a primary RVG for some RVGs and secondary RVG for others. The RVG also contains the storage replicator log (SRL) and replication link (RLINK).

Storage Replication Log (SRL) - Writes to the Primary RVG are saved in the SRL on the Primary side. The SRL is used to aid in recovery, as well as to buffer writes when the system operates in asynchronous mode. Each write to a data volume in the RVG generates two write requests: one to the Secondary SRL, and another to the Primary SRL.

Secondary Node - The node too which the primary RVG replicates.



Installation

VVR is installed with VxVM, follow instructions for installing VxVM.

Install the VVR licence using vxlicinst and entering the licence key when prompted.



Configuring VVR

Create Disk Groups and Volumes

Primary Node
  • Create a disk group for each RVG.
  • Create all required volumes.
  • Create a volume for the SRL, sized according to the amount of data to be replicated.
  • Optionally create DCMs for each volume.
  • create the filesystems as appropriate.
  • Mount the filesystems - this is not a requirement to configure VVR but will not prevent configuration.

Secondary Node
  • Create a disk group for each RVG, using the same disk group names as the Primary Node.
  • Create all required volumes, using the save volume names as the Primary Node. The volumes must be the same size as on the Primary Node but do not require the same underlying disk structure.
  • Create a volume for the SRL, as per the Primary Node.
  • Optionally create DCMs for each volume.
  • DO NOT create the filesystems, these will be replicated from the Primary Node.

Create the RVG

Secondary Node

Firstly the Secondary Node must be given permission to manage the disk group created on the Primary Node. To do this add the diskgroup ID into /etc/vx/vras/.rdg. The diskgroup ID is the value of dgid in the output of vxprint -l on the Primary Node.

Primary Node

Create the Primary RVG with the vradmin command:

vradmin -g <diskgroup> createpri <rvgname> <vol1,vol2...> <srlname>

Where:
  • <diskgroup> is the VxVM diskgroup name
  • <rvgname> is the name for the RVG, usually diskgroupnamervg
  • <vol1,vol2...> is a comma separated list of all volumes in the diskgroup to be replicated.
  • <srlname> is the name of the SRL volume


If VVR is being configured in conjunction with VCS then the Service Group name should be used as the localhost name rather than the hostname. To set this enter the following:

vradmin -g <diskgroup> set local_host=<primaryhost>

Where:
  • <diskgroup> is the VxVM diskgroup name
  • <primaryhost> is the VCS Service Group name (IP address must be resolvable from this name)


Now the Secondary Nodes are configured from the Primary Node - perform this task for each Secondary Node:

vradmin -g <diskgroup> addsec <rvgname> <primaryhost> <secondaryhost>

Where:
  • <diskgroup> is the VxVM diskgroup name
  • <rvgname> is the name of the RVG created on the Primary Node
  • <primaryhost> is the hostname of the Primary Node, this could be a VCS ServiceGroup name
  • <secondaryhost> is the hostname of the Secondary Node, this could be a VCS ServiceGroup name


Configuring Replication Mode

VVR supports both asynchronous and synchronous replication. To configure the mode of replication set the attribute synchronous to one of the following:

  • off - sets replication mode to asynchronous
  • override - sets the replication mode to soft synchronous. During normal operation replication is synchronous but if the RLINK becomes inactive then replication temporarily becomes asynchronous, storing all transactions in the SRL. When the RLINK becomes available the SRL is drained and repliction switches back to synchronous.
  • fail - sets replication mode to hard synchronous. During normal operation replication is synchronous and if the RLINK becomes inactive VVR failes new updates to the Primary Node.


To set the appropriate mode of replication enter the following:

vradmin -g <diskgroup> set <rvgname> <secondaryhost> synchronous=<value>

Where:
  • <diskgroup> is the VxVM diskgroup name
  • <rvgname> is the name of the RVG
  • <secondaryhost> is the hostname of the Secondary Node
  • <value> is the synchronous attribute value as listed above


Synchronising & Starting Replication

When the RVG has been configured replication can be started. When replication is started for the first time a full synchonisation takes place. The time taken to synchronise will depend on the volume of data. On the Primary Node enter the command:

vradmin -g <diskgroup> -a startrep <rvgname> <secondaryhost>

Where:
  • <diskgroup> is the VxVM diskgroup name
  • <rvgname> is the name of the RVG
  • <secondaryhost> is the hostname of the Secondary Node




Checking the Configuration

There are many ways of looking at how VVR has been configured. The following sections highlight the main commands and options but is not extensive. Refer to the man pages and Veritas documentation for further informtion.

VxVM Records using vxprint

The output of vxprint -Aht will show rv and rl records associated with more traditional v, pl and sd records:
# vxprint -Aht
rv intrarvg 1 ENABLED ACTIVE primary 2 intranet-srl
rl rlk_sv1202_intrarvg intrarvg CONNECT ACTIVE sv1202 intra1dg rlk_sv1201_intrarvg
v unix-intranet intrarvg ENABLED ACTIVE 25165824 SELECT - fsgen
pl unix-intranet-01 unix-intranet ENABLED ACTIVE 25176456 STRIPE 3/128 RW
sd loa0101-01 unix-intranet-01 loa0101 0 8392072 0/0 c2t0d0 ENA
sd loa0102-01 unix-intranet-01 loa0102 0 8392072 1/0 c2t1d0 ENA
sd loa0103-01 unix-intranet-01 loa0103 0 8392072 2/0 c2t2d0 ENA
pl unix-intranet-02 unix-intranet ENABLED ACTIVE 25176456 STRIPE 3/128 RW
sd loa0105-01 unix-intranet-02 loa0105 0 8392072 0/0 c3t0d0 ENA
sd loa0106-01 unix-intranet-02 loa0106 0 8392072 1/0 c3t1d0 ENA
sd loa0107-01 unix-intranet-02 loa0107 0 8392072 2/0 c3t2d0 ENA
pl unix-intranet-03 unix-intranet ENABLED ACTIVE LOGONLY CONCAT - RW
sd loa0102-03 unix-intranet-03 loa0102 11789424 64 LOG c2t1d0 ENA
pl unix-intranet-04 unix-intranet ENABLED ACTIVE LOGONLY CONCAT - RW
sd loa0106-03 unix-intranet-04 loa0106 11789424 64 LOG c3t1d0 ENA
v unix-netlink intrarvg ENABLED ACTIVE 10187667 SELECT - fsgen
pl unix-netlink-01 unix-netlink ENABLED ACTIVE 10192104 STRIPE 3/128 RW
sd loa0101-02 unix-netlink-01 loa0101 8392072 3397352 0/0 c2t0d0 ENA
sd loa0102-02 unix-netlink-01 loa0102 8392072 3397352 1/0 c2t1d0 ENA
sd loa0103-02 unix-netlink-01 loa0103 8392072 3397352 2/0 c2t2d0 ENA
pl unix-netlink-02 unix-netlink ENABLED ACTIVE 10192104 STRIPE 3/128 RW
sd loa0105-02 unix-netlink-02 loa0105 8392072 3397352 0/0 c3t0d0 ENA
sd loa0106-02 unix-netlink-02 loa0106 8392072 3397352 1/0 c3t1d0 ENA
sd loa0107-02 unix-netlink-02 loa0107 8392072 3397352 2/0 c3t2d0 ENA
pl unix-netlink-03 unix-netlink ENABLED ACTIVE LOGONLY CONCAT - RW
sd loa0101-03 unix-netlink-03 loa0101 11789424 64 LOG c2t0d0 ENA
pl unix-netlink-04 unix-netlink ENABLED ACTIVE LOGONLY CONCAT - RW
sd loa0105-03 unix-netlink-04 loa0105 11789424 64 LOG c3t0d0 ENA
v intranet-srl intrarvg ENABLED ACTIVE 2097152 SELECT - SRL
pl intranet-srl-01 intranet-srl ENABLED ACTIVE 2101552 CONCAT - RW
sd loa0104-01 intranet-srl-01 loa0104 0 2101552 0 c2t3d0 ENA
pl intranet-srl-02 intranet-srl ENABLED ACTIVE 2101552 CONCAT - RW
sd loa0108-01 intranet-srl-02 loa0108 0 2101552 0 c3t3d0 ENA

This example shows three striped and mirrored volumes, called unix-intranet, unix-netlink and intranet-srl contained within the RVG called intrarvg with an RLINK called rlk_sv1202_intrarvg

RVG Configuration

The following command will display the configuration for every RVG, or the one specified:

# vxprint -Pl [ <rvgname> ]

Disk group: intra1dg

Rlink: rlk_sv1202_intrarvg
info: timeout=500 packet_size=8400 rid=0.1367
latency_high_mark=10000 latency_low_mark=9950
state: state=ACTIVE
synchronous=off latencyprot=off srlprot=autodcm
assoc: rvg=intrarvg
remote_host=sv1202 IP_addr=10.38.3.116 port=4145
remote_dg=intra1dg
remote_dg_dgid=1065010978.1277.sv1202
remote_rvg_version=10
remote_rlink=rlk_sv1201_intrarvg
remote_rlink_rid=0.1254
local_host=sv1201 IP_addr=10.96.103.19 port=4145
protocol: UDP/IP
flags: write enabled attached consistent connected asynchronous


Node Configuration

To display information about the Primary and Secondary Nodes enter the command:

vradmin -g <diskgroup> printrvg <rvgname>

Where:

* <diskgroup> is the VxVM diskgroup name
* <rvgname> is the name of the RVG

# vradmin -g intra1dg printrvg intrarvg

Primary:
HostName: sv1201
RvgName: intrarvg
DgName: intra1dg
datavol_cnt: 2
srl: intranet-srl
RLinks:
name=rlk_sv1202_intrarvg, detached=off, synchronous=off
Secondary:
HostName: sv1202
RvgName: intrarvg
DgName: intra1dg
datavol_cnt: 2
srl: intranet-srl
RLinks:
name=rlk_sv1201_intrarvg, detached=off, synchronous=off



Check Replication Status

Check RVG Replication Status

To check the replication status of an RVG enter the following command:

vradmin -g <diskgroup> repstatus <rvgname>

Where:

* <diskgroup> is the VxVM diskgroup name
* <rvgname> is the name of the RVG

# vradmin -g intra2dg repstatus intrarvg

Replicated Data Set: intrarvg
Primary:
Host name: sv1201
RVG name: intrarvg
DG name: intra1dg
RVG state: enabled for I/O
Data volumes: 2
SRL name: intranet-srl
SRL size: 1.00 G
Total secondaries: 1

Secondary:
Host name: sv1202
RVG name: intrarvg
DG name: intra1dg
Data status: consistent, up-to-date
Replication status: replicating (connected)
Current mode: asynchronous
Logging to: SRL


The key bits of information here are Data status and Replication status.

Check RLINK Replication Status

To check the replication status of an RLINK enter the command:

vxrlink -g <diskgroup> status <rlinkname>

Where:
  • <diskgroup> is the VxVM diskgroup name
  • <rlinkname> is the RLINK name


# vxrlink -g intra1dg status rlk_sv1202_intrarvg

Thu Oct 16 12:13:43 BST 2003
vxvm:vxrlink: INFO: Rlink rlk_sv1202_intrarvg has 37197 outstanding writes, occupying 537631 Kbytes (51%) on the SRL

...

Thu Oct 16 14:23:01 BST 2003
vxvm:vxrlink: INFO: Rlink rlk_sv1202_intrarvg is up to date



Changing The Primary Node

Migrate the Primary Node to a Secondary Node

If the Primary Nodes needs to be swapped to one of the Secondary Nodes and both Nodes are operational then the replication must be migrated. This performs a tidy closedown of replication and starts it up at the other end. The application must be stopped before migration can be performed, this includes unmounting the filesystems.

  • Stop the application.
  • Unmount the filesystems.
  • Check replication is complete, wait for it to complete if it is not.
  • Migrate


This process can be used to test that the Secondary Node is configured correctly to run the application.

To migrate the Primary Node enter the command:

vradmin -g <diskgroup> migrate <rvgname> 

Where:
  • <diskgroup>: is the VxVM diskgroup name
  • <rvgname> is the name of the RVG to migrate
  • <destinationnode> is the Node to which the RVG is being migrated


Takeover the Primary Node from a Secondary Node

A takeover of the Primary Node would be used if the Primary Node is not available for any reason, including a disaster.

Firstly replication must be upto date on the Secondary Node, that is the SRL must be empty. On the Secondary Node that is to become the Primary Node enter the command:

vradmin -g <diskgroup>: takeover <rvgname>

Where:
  • <diskgroup>: is the VxVM diskgroup name
  • <rvgname> is the name of the RVG to takeover


Revert to the Original Primary Node

To revert to the Primary Node after a migration, simply migrate back.

To revert to the Primary Node after a takeover refer to the VVR Administration Guide. There are two methods to revert depending on the state of the data replication:

  • Fast Failback - The DCMs are used to keep note of all changes to the data volumes, these are copied to the Primary Node and replayed to apply all the changes to the original data volumes.
  • Difference Based Failback - This method uses checkpointing to apply the changes to the original data volumes based on the differences with the Secondary data volumes.
Posted by JAUGHN Labels:
Friday, January 4, 2008 at 2:54 PM | 0 comments
How to configure load balancing across multiple primary paths in an Active/Passive DMP environment using VERITAS Volume Manager (tm) 4.x

Details:

In an Active/Passive Dynamic Multipathing (DMP) environment, it is possible that there may be multiple primary paths to a device due to a mesh of SAN switches. Volume Manager 4.0 can be configured to allow load balancing across multiple primary paths. This TechNote explains how to do this.

Note: This feature was not available in releases prior to 4.0

In the following example, device c3t2d15 belongs to a disk group named tonydg and contains a simple concatenated volume named tony1. The device has eight primary paths:

# vxdisk list c3t2d15s2
Device: c3t2d15s2
<..snip..>
numpaths: 8
c2t0d15s2 state=enabled type=primary
c2t1d15s2 state=enabled type=primary
c3t1d15s2 state=enabled type=primary
c3t2d15s2 state=enabled type=primary
c4t3d15s2 state=enabled type=primary
c4t4d15s2 state=enabled type=primary
c5t3d15s2 state=enabled type=primary
c5t5d15s2 state=enabled type=primary


DMP statistics are enabled and a read based workload is applied to the volume:

# vxdmpadm iostat start

# dd if=/dev/vx/rdsk/tonydg/tony1 of=/dev/null bs=512k count=6144


By displaying the DMP statistics for device c3t2d15, it can be seen that all I/Os are being directed to one subpath, c5t5d15:

# vxdmpadm iostat show dmpnodename=c3t2d15s2                         
cpu usage = 8023us per cpu memory = 32768b
OPERATIONS MBYTES AVG TIME(ms)
PATHNAME READS WRITES READS WRITES READS WRITES
c2t0d15s2 0 0 0 0 0.000000 0.000000
c2t1d15s2 0 0 0 0 0.000000 0.000000
c3t1d15s2 0 0 0 0 0.000000 0.000000
c3t2d15s2 0 0 0 0 0.000000 0.000000
c4t3d15s2 0 0 0 0 0.000000 0.000000
c4t4d15s2 0 0 0 0 0.000000 0.000000
c5t3d15s2 0 0 0 0 0.000000 0.000000
c5t5d15s2 6144 0 3145728 0 0.011081 0.000000


Using vxdmpadm, it is clear that the default iopolicy for this enclosure is Single Active (which explains the above behavior):

# vxdmpadm getattr enclosure HDS92000 iopolicy
ENCLR_NAME DEFAULT CURRENT
============================================
HDS92000 Single-Active Single-Active


To load balance across multiple primaries, the iopolicy should be set to round-robin:

# vxdmpadm setattr enclosure HDS92000 iopolicy=round-robin

# vxdmpadm getattr enclosure HDS92000 iopolicy
ENCLR_NAME DEFAULT CURRENT
============================================
HDS92000 Single-Active Round-Robin


The DMP statistics are reset and the same workload is applied to the volume, load balancing across the primary paths can be seen.

# vxdmpadm iostat reset                                        

# dd if=/dev/vx/rdsk/tonydg/tony1 of=/dev/null bs=512k count=6144

# vxdmpadm iostat show dmpnodename=c3t2d15s2
cpu usage = 7223us per cpu memory = 32768b
OPERATIONS MBYTES AVG TIME(ms)
PATHNAME READS WRITES READS WRITES READS WRITES
c2t0d15s2 786 0 402432 0 0.011013 0.000000
c2t1d15s2 778 0 398336 0 0.011267 0.000000
c3t1d15s2 772 0 395264 0 0.011205 0.000000
c3t2d15s2 744 0 380928 0 0.011094 0.000000
c4t3d15s2 750 0 384000 0 0.011029 0.000000
c4t4d15s2 768 0 393216 0 0.011169 0.000000
c5t3d15s2 733 0 375296 0 0.010943 0.000000
c5t5d15s2 813 0 416256 0 0.011068 0.000000


The enclosure can be returned to its default policy of single active with the following:

# vxdmpadm setattr enclosure HDS92000 iopolicy=singleactive


Note: This setting is not persistent across reboots, I/O policies will revert to their default. Persistence can be configured by adding the relevant vxdmpadm command to a boot script.
Posted by JAUGHN Labels: , ,
How to recover and start a Veritas Volume Manager logical volume where the volume is DISABLED ACTIVE and has a plex that is DISABLED RECOVER

Details:


When a system encounters a problem with a volume or a plex, or if Veritas Volume Manager (VxVM) has any reason to believe that the data is not synchronized, VxVM changes the kernel state, KSTATE and state, STATE, of the volume and its plexes accordingly. The plex state can be stale, empty, nodevice, etc. A particular plex state does not necessarily mean that the data is good or bad. The plex state is representative of VxVM's perception of the data in a plex.

The output from the vxprint utility using the switches "-h" and "-t" (for more information about these switches and all applicable switches, see the man page for vxprint) displays information from records in VxVM disk group configurations, including the KSTATE and STATE of a volume and plex as indicated in columns 4 and 5 respectively in the table below. When viewing the configuration records of a VxVM disk group using the vxprint utility and the KSTATE and STATE fields display DISABLED ACTIVE for the volume and DISABLED RECOVER for the plex, recovery steps need to be followed to bring the volume back to an ENABLED ACTIVE state so it can be mounted and make the file system accessible again.

From the below output, it can be seen that the KSTATE and STATE for the volume test is DISABLED ACTIVE and its plex test-01 is DISABLED RECOVER.

# vxprint -ht -g testdg


DG NAME NCONFIG NLOG MINORS GROUP-ID
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
V NAME RVG KSTATE STATE LENGTH USETYPE PREFPLEX RDPOL
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



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 - SELECT
pl test-01 test DISABLED RECOVER 17841120 CONCAT - RW
sd testdg01-01 test-01 testdg01 0 8920560 0 c1t4d0 ENA
sd testdg02-01 test-01 testdg02 0 8920560 8920560 c1t6d0 ENA




Follow these steps to change KSTATE and STATE of a plex that is DISABLED RECOVER to ENABLED ACTIVE so the volume can be recovered / started and the file system mounted:

1. Change the plex test-01 to the DISABLED STALE state:

vxmend -g  diskgroup fix stale <plex_name>


For example:

# vxmend -g testdg fix stale test-01


This output shows the plex test-01 as DISABLED STALE:

# vxprint -ht -g testdg


DG NAME NCONFIG NLOG MINORS GROUP-ID
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
V NAME RVG KSTATE STATE LENGTH USETYPE PREFPLEX RDPOL
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

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 - SELECT
pl test-01 test DISABLED STALE 17841120 CONCAT - RW
sd testdg01-01 test-01 testdg01 0 8920560 0 c1t4d0 ENA
sd testdg02-01 test-01 testdg02 0 8920560 8920560 c1t6d0 ENA



2. Change the plex test-01 to the DISABLED CLEAN state:

vxmend -g diskgroup fix clean <plex_name>


For example:

# vxmend -g testdg fix clean test-01


This output shows the plex test-01 as DISABLED CLEAN:

# vxprint -ht -g testdg


DG NAME NCONFIG NLOG MINORS GROUP-ID
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
V NAME RVG KSTATE STATE LENGTH USETYPE PREFPLEX RDPOL
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

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 - SELECT
pl test-01 test DISABLED CLEAN 17841120 CONCAT - RW
sd testdg01-01 test-01 testdg01 0 8920560 0 c1t4d0 ENA
sd testdg02-01 test-01 testdg02 0 8920560 8920560 c1t6d0 ENA



3. Start the volume test:

vxvol -g diskgroup start <volume>


For example:

# vxvol -g diskgroup start test


This output shows that the volume test and its plex test-01 are both ENABLED ACTIVE:

# vxprint -ht -g testdg

DG NAME NCONFIG NLOG MINORS GROUP-ID
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
V NAME RVG KSTATE STATE LENGTH USETYPE PREFPLEX RDPOL
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

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 - SELECT
pl test-01 test ENABLED ACTIVE 17841120 CONCAT - RW
sd testdg01-01 test-01 testdg01 0 8920560 0 c1t4d0 ENA
sd testdg02-01 test-01 testdg02 0 8920560 8920560 c1t6d0 ENA



4. Mount the volume to its associated mount point (refer to the /etc/vfstab file if the mount point location is not known) if the file system is a Veritas File System (VxFS) file system:

mount -F vxfs /dev/vx/dsk/diskgroup/volume /mount-point


For example:

# mount -F vxfs /dev/vx/dsk/testdg/test /testvol


Note: An error may be generated stating that the file system needs to be checked for consistency. If this occurs, run the VxFS specific fsck utility (/usr/lib/fs/vxfs/fsck) where the default is to replay the intent log, instead of performing a full structural file system check which is usually sufficient to set the file system to CLEAN and allow the volume to be mounted.
Removing a volume requires removing all references to the volumes to be removed like unmounting the volume if mounted and removing its reference from filesystem table.

An active volume has to be stopped first to stop all the activities to the volume only then it can be removed.

Stopping a Volume:

vxvol stop volume_name


Removing a Volume

vxedit -rf rm volume_name
Posted by JAUGHN Labels: ,
Visit the Site
MARVEL and SPIDER-MAN: TM & 2007 Marvel Characters, Inc. Motion Picture © 2007 Columbia Pictures Industries, Inc. All Rights Reserved. 2007 Sony Pictures Digital Inc. All rights reserved. blogger template by blog forum