After upgrading Volume Manager to 5.0 MP3RP1, 5.0MP3RP2, or 5.0MP3RP3, and either "vxdg flush" or "vxdisk flush" is run, the potential exists to corrupt eight sectors of public data when using the cdsdisk format.

Article:TECH76380  |  Created: 2009-01-03  |  Updated: 2009-01-01  |  Article URL http://www.symantec.com/docs/TECH76380
Article Type
Technical Solution


Environment

Issue



After upgrading Volume Manager to 5.0 MP3RP1, 5.0MP3RP2, or 5.0MP3RP3, and either "vxdg flush" or "vxdisk flush" is run, the potential exists to corrupt eight sectors of public data when using the cdsdisk format.

Solution



Introduction:
After upgrading any system from Veritas Volume Manager (VxVM) 4.x or 5.x to any of the following versions, the potential exists to corrupt eight data sectors of public data when using the cdxdisk format:
  • 5.0 MP3RP1
  • 5.0MP3RP2
  • 5.0MP3RP3
  • 5.0MP3RP3HF1
How to Determine if Affected:
Refer to the "TO EXECUTE SCRIPT FILE" section below, or run the following commands to determine if affected by this issue:
1.  Determine the VxVM disk format you are using. Note this issue only affects cdsdisk format. The disk format is of type "cdsdisk". This can be determined using "vxdisk list <device> | grep format" command.
Example:
vxdisk list sdb | grep format
info: format=cdsdisk,privoffset=256,pubslice=3,privslice=3
Multipathing information:
2. Determine if the maximum number of cylinders allowed has been exceeded into a 16 bit field. The number of cylinders on the CDS disk are more than 65535 (64K). This can be determined by running "fdisk -ul <device>" command.
Example of a good lun:
[root@sprs1950a0-29 ~]# fdisk -ul /dev/sdh
Disk /dev/sdh (Sun disk label): 50 heads, 768 sectors, 271 cylinders
Units = sectors of 1 * 512 bytes
Device Flag Start End Blocks Id System
/dev/sdh3 u 0 10406400 5203200 5 Whole disk
/dev/sdh8 u 0 10406400 5203200 f Unknown
Note the number of cylinders is equal to 271. This is important and will help to determine the size of the lun.
a. Determine the total size of the lun.
  • /dev/sdh3 show the size of the lun to be 10406400
  • Using the Sun disk label the size of the lun can also be calculated ( 50 heads * 768 sector * 271 cylinders) = 10406400
Example of a bad lun:
[root@sprs1950a0-29 ~]# fdisk -ul /dev/sdb
Disk /dev/sdb (Sun disk label): 4 heads, 1093 sectors, 49 cylinders
Units = sectors of 1 * 512 bytes
Device Flag Start End Blocks Id System
/dev/sdb3 u 0 286737620 143368810 5 Whole disk
/dev/sdb8 u 0 286737620 143368810 f Unknown
Note the number of cylinders is equal to 49. This is important and will help to determine the size of the lun.
a. Determine the total size of the lun.
  • /dev/sdb3 show the size of the lun to be 286727620
  • Using the Sun disk label the size of the lun can also be determined ( 4 heads * 1093 sector * 49 cylinders) = 214228
Once it is determined that there is a difference between " /dev/sdb3" and the " calculated size" . It can be concluded that the number of cylinders was greater than 64k(65535).
This can be also be seen with the Linux utility fdisk:
For example:
[root@sprs1950a0-29 ~]# fdisk /dev/sdb
Command (m for help): m
Expert command (m for help): p
Disk /dev/sdb (Sun disk label): 4 heads, 1093 sectors, 7200 rpm
49 cylinders, 2 alternate cylinders, 51 physical cylinders
0 extra sects/cyl, interleave 1:1
SEAGATE-ST3146755SS-T106 cyl 65585 alt 2 hd 4 sec 1093 <Notice the number of cylinders >
Units = cylinders of 4372 * 512 bytes
Device Flag Start End Blocks Id System
/dev/sdb3 u 0 65585 143368810 5 Whole disk
/dev/sdb8 u 0 65585 143368810 f Unknown
Expert command (m for help): q

3.  If you have already upgraded to the versions mentioned above, Symantec strongly recommends not running "vxdg flush" or "vxdisk flush" without applying the Hotfix mentioned below, in the Formal Resolution section. Running either of these commands will write out up to eight backup labels to the calculated size of the device and could potentially corrupt eight sectors of real data.
Note: The script provided below (through the Download Now) will determine this for you.

TO EXECUTE THE SCRIPT FILE:
Click on the Download Now to extract the script file
Place script in tmp directory
# gunzip vxvm_cds.sh.tar.gz
# tar -xvf vxvm_cds.sh.tar
# chmod +x vxvm_cds.sh

Execute Script
/tmp/vxvm_cds.sh

If affected by this issue a drive will be displayed in the output, for example:
[root@sprs1950a0-29 ~]# ./vxvm_cds.sh
====Vulnerable Disk(s) found====
sdb <-----------------Note the drive displayed = "sdb"
[root@sprs1950a0-29 ~]#

If no output is returned, then this issue is NOT occurring in your environment, for example:
[root@sprs1950a0-30 ~]# ./vxvm_cds.sh
[root@sprs1950a0-30 ~]#



Formal Resolution:
This issue is formally resolved with 5.0MP3RP3HF2.  Please download the hotfix respective to your environment, as follows:
SLES9 x86-64bit (vm-sles9_x86_64-5.0MP3RP3HF2):    https://vos.symantec.com/patch/detail/2850
SLES10 x86-64bit (vm-sles10_x86_64-5.0MP3RP3HF2):    https://vos.symantec.com/patch/detail/2849
RHEL5 x86-64bit (vm-rhel5_x86_64-5.0MP3RP3HF2):    https://vos.symantec.com/patch/detail/2848
RHEL4 x86-64bit (vm-rhel4_x86_64-5.0MP3RP3HF2):    https://vos.symantec.com/patch/detail/2847



Attachments

vxvm_cds.sh.tar_336707.gz (1 kBytes)

Supplemental Materials

SourceETrack
Value1835923
DescriptionCreating cdsdisk layout on GPT-labeled disks on Linux platform is defective

SourceETrack
Value1844812
Descriptionvxvmconvert fails, probably due to wrong disk capacity calculation

SourceETrack
Value1398914
DescriptionSupport cdsdisk format on devices that do not support scsi modesense on page 3 and page 4.


Legacy ID



336707


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


Terms of use for this information are found in Legal Notices