Disks initialized by VERITAS Volume Manager (tm) for HP-UX can extend beyond the end of the underlying physical disk.

Article:TECH33957  |  Created: 2005-01-28  |  Updated: 2005-01-28  |  Article URL http://www.symantec.com/docs/TECH33957
Article Type
Technical Solution

Product(s)

Environment

Issue



Disks initialized by VERITAS Volume Manager (tm) for HP-UX can extend beyond the end of the underlying physical disk.

Solution



With the release of VERITAS Volume Manager 3.5, 128 Kbytes of disk space in the beginning of a disk are reserved for the cross-platform data sharing feature.  As the result of this, the public region length (usable length of the disk device) is miscalculated, and Volume Manager may create subdisks that extend beyond the end of the underlying physical disk, possibly compromising data availability.  

This problem can only occur on disks to which both of the following apply:

1. Disks are configured with the vxdisksetup -i, the vxdiskadm or the vxdisk init command

2. These disks are configured with the above commands on Volume Manager 3.5 for HP-UX prior to Command Cumulative Patch 06 (PHCO_30834), i.e. Volume Manager 3.5 or Volume Manager 3.5 with one of the following command cumulative patches: PHCO_28458, PHCO_28793, PHCO_29603, and PHCO_29980.

Symptoms

I/Os to the region of a Volume Manager subdisk where there is no underlying physical disk will generate read and/or write errors on the console log, such as:

Mar 30 20:53:46 cshp3 vmunix: WARNING: vxvm:vxio: Plex vol2-01 block 5056:
Mar 30 20:53:46 cshp3 vmunix:   Uncorrectable write error on Subdisk disk01-02 block 5056
Mar 30 20:53:46 cshp3 vmunix: SCSI: Async write error -- dev: b 31 0x031200, errno: 6, resid: 17408,
Mar 30 20:53:50 cshp3 vmunix: msgcnt 12 vxfs: mesg 033: vx_check_badblock - /dev/vx/dsk/ekdg/vol2 file system had an I/O error, setting VX_FULLFSCK

and

Mar 30 21:32:47 cshp3 vmunix: WARNING: vxvm:vxio: Subdisk disk01-02 block 4992: Uncorrectable read error
Mar 30 21:32:47 cshp3 vmunix: WARNING: vxvm:vxio: Plex vol2-01 block 5056:
Mar 30 21:32:47 cshp3 vmunix:   Uncorrectable read error on Subdisk disk01-02 block 5056
Mar 30 21:32:47 cshp3 vmunix: msgcnt 13 vxfs: mesg 038: vx_dataioerr - /dev/vx/dsk/ekdg/vol2 file system file data read error


Recommended Course of Action

1.  Upgrade to Volume Manager 3.5 Command Cumulative Patch 06 by installing the following patch:

PHCO_30834 - Volume Manager 3.5m Command Cumulative Patch 06

which has the co-requisite of the following two patch sets:

PHKL_29981 - VxVM 3.5m Kernel Cumulative Patch 05
PHCO_28693 - VERITAS VM Mgmt Service Provider Patch

All these patches are available from  http://www1.itrc.hp.com/service/patch/mainPage.do .

You must install this patch before proceeding to the next step.

2.  Installing the above patches will prevent Volume Manager from initializing new disks incorrectly.  Disks that were initialized prior to the installation of this patch may need to be re-initialized.  Run the ckpublen.sh script as instructed below to determine which disks need to be re-initialized.

a.  Download the TechFile_i143858_270407.tar file by clicking on the "Download Now" link below

b.  Extract the contents of the tar file with:

# tar xvf TechFile_i143858_270407.tar

c.  Run the ckpublen.sh script:

# cd ./TechFile_i143858
# sh ckpublen.sh

3.  If the script reports a particular disk "needs to be re-initialized as soon as possible", then the file systems or data residing on the volumes on that disk must be backed up at this time and restored after the re-initialization.  For example, ckpublen.sh reports:

# sh ckpublen.sh
Running ckpublen.sh version 1.3 on host "hp1" at Thu Jul 22 14:58:22 PDT 2004

Disk c1t5d0 is OK

Disk c3t1d2 needs to be re-initialized as soon as possible
     Volume vol2 is using this disk
     Volume vol3 is using this disk

Disk c3t1d3 needs to be re-initialized as soon as possible
     Volume vol3 is using this disk

Disk c4t15d0 is OK

Disk c3t15d4 should be re-initialized for future compatibility
     Volume vol4 is using this disk

Disk c3t15d5 should be re-initialized for future compatibility
 This disk is not in use

Disk c3t15d6 should be re-initialized for future compatibility
 This disk is not imported on this host


a.  Save a copy of the current configuration using the vxprint command:

# vxprint -ht > /vxprint.out

b.  Back up the file system or raw data on volumes residing on the disk

c.  Unmount the file system (if applicable), then stop and destroy the volumes identified by the ckpublen.sh script:

# umount /mnt2
# vxvol -g ekdg stop vol2
# vxedit -g ekdg -rf rm vol2
# vxvol -g ekdg stop vol3
# vxedit -g ekdg -rf rm vol3

d. Reinitialize the disks used by the volume:

# vxdg -g ekdg rmdisk disk01
# vxdiskunsetup c3t1d2
# vxdisksetup -i c3t1d2
# vxdg -g ekdg adddisk disk01=c3t1d2
# vxdg -g ekdg rmdisk disk02
# vxdiskunsetup c3t1d3
# vxdisksetup -i c3t1d3
# vxdg -g ekdg adddisk disk02=c3t1d3

e. Recreate the volume and the file system (if applicable).  When a disk is re-initialized, the length of its new public region can be 128 Kbytes less than the original one.  Thus, you may need to reduce the size of the new volume, or use additional disks if you want to keep the original volume size.

# vxassist -g ekdg make vol2 985000 alloc=disk01
# mkfs -F vxfs /dev/vx/rdsk/ekdg/vol2
# mount -F vxfs /dev/vx/dsk/ekdg/vol2 /mnt2
# vxassist -g ekdg make vol3 1536000 alloc=disk01,disk02

f. Restore the data or file system from backup

If the script reports a disk "should be re-initialized for future compatibility", then the data on the disk is not known to be at imminent risk of data corruption.  The public region has encroached into the two reserved cylinders of the disk, and may cause compatibility issues in the future.  It is strongly recommended the disk be re-initialized using steps 'a' through 'f' at your earliest convenience.

If you have any questions or need assistance with this issue, please contact VERITAS Technical Services.



Attachments

TechFile_i143858_270407.tar (4 kBytes)

Supplemental Materials

SourceiTools
Value143858
Descriptionpublen wrongly calculates greater than disklen in sliced_init_internal


Legacy ID



270407


Article URL http://www.symantec.com/docs/TECH33957


Terms of use for this information are found in Legal Notices