Advisory: When running VERITAS Volume Manager (tm) 3.5 or 3.5 MP1 on Solaris, do not use the "vxdisksetup -ie" command to initialize disks. Disks initialized with the "vxdisksetup -ie" command are exposed to data corruption. The -e option is used to allocate the private region at the end of the disk.

Article:TECH27775  |  Created: 2003-01-20  |  Updated: 2004-01-08  |  Article URL http://www.symantec.com/docs/TECH27775
Article Type
Technical Solution

Product(s)

Environment

Problem



Advisory: When running VERITAS Volume Manager (tm) 3.5 or 3.5 MP1 on Solaris, do not use the "vxdisksetup -ie" command to initialize disks. Disks initialized with the "vxdisksetup -ie" command are exposed to data corruption. The -e option is used to allocate the private region at the end of the disk.

Solution




When disks are initialized with the vxdisksetup -ie command,  the length of the public region is calculated incorrectly such that it intersects the private region. This results in the private region being overwritten.

This issue is encountered only if the following condition is met:

Disks are initialized with the vxdisksetup -ie command under VERITAS Volume Manager 3.5 or 3.5 MP1 (patch 1) on Solaris.


Note 1: This issue is fixed in VERITAS Volume Manager 3.5 MP2
Note 2: Disks initialized using vxdisksetup -i and vxdiskadm are not vulnerable
Note 3: Use of the "-e" option with vxdisksetup is very rare. As of Sept 8, 2003, this issue has only been encountered by one customer.


The corruption usually becomes apparent after the disk group is deported and an import is attempted. The disk group cannot be imported because the private region is overwritten. This usually happens when the system is rebooted during failover, or upon a manual deport/import of the disk group. Also, a vxdisk list may report the disk as "Invalid" in the status field.  As the corruption event may not be immediately obvious, VERITAS has provided a script to identify exposure to this issue and strongly recommends that you run this script.  Please check the SCRIPT section for more information.

It may not be possible to recover from this condition. When a volume layout includes the overlapping private region, data corruption can occur since write operations to the private region (such as Volume Manager configuration updates) can overwrite existing data and vice versa. The data integrity of such volumes cannot be guaranteed . If no existing volume has encroached into this region, it is possible to relocate the volumes to other disks not exhibiting this problem. The original disks can then be reinitialized with vxdisksetup -i.


Following is an example that exhibits the problem:

# vxdisksetup -ie c3t1d0  
# prtvtoc /dev/rdsk/c3t1d0s2

* Unallocated space:
*       First      Sector      Last
*       Sector      Count      Sector
*           0        3636       3635
*    35523720  4294960024   35516447
*
*                          First     Sector      Last
* Partition  Tag  Flags    Sector     Count     Sector  Mount Directory
      2       5    01          0  35523720   35523719
      3      15    01   35516448      7272   35523719
      4      14    01       3636  35520084   35523719


The correct size of the public region should be :

(Sector Count) - (unallocated space + private region)

35523720 - (7272 + 3636) = 35512812 sectors.

vxdisksetup -ie calculates the public region length incorrectly:

# vxdisk list c3t1d0s2 | grep public
public:    slice=4 offset=0 len=35520084


IMPORTANT
===========
This issue is fixed in VERITAS Volume Manager 3.5 MP2 (TechFile    http://support.veritas.com/docs/261905 provides a link to download MP2). Installing MP2 will only ensure that disks initialized subsequently will not be susceptible to this issue. Disks that were already initialized with vxdisksetup -ie before MP2 installation are still exposed to data corruption. Installing MP2 does not eliminate the need for recovery of the volumes on these disks. However, if the "-e" option to vxdisksetup is required, MP2 must be installed prior to initializing disks and bringing them under Volume Manager control.


SCRIPT
======
To determine whether Volume Manager disks on the system are exposed to this issue, please run the i130134.sh script.

Instructions for running i130134.sh:

1.  Download the script_261878.tar.Z file by clicking on the link below
2.  Uncompress and extract the script:
# zcat script_261878.tar.Z | tar xvf -

3.  Please view the README file for a complete description of the script
               
4.  Run the script as root
# ./i130134.sh

5.  If  'suspect disks' or 'suspect volumes' are found, please contact VERITAS Technical Services so that this situation can be investigated further.


RECOMMENDED COURSE OF ACTION
==============================

If you are running Volume Manager 3.5 (or 3.5 MP1) on Solaris, VERITAS strongly recommends the following:

1.  Upgrade to Volume Manager 3.5 MP2.  If it is not possible to do so, we urge you to develop an internal procedure which prevents the initialization of disks with the "vxdisksetup -ie" command.

2. Run the script as instructed above to identify any vulnerable disks/volumes.  See README bundled with the script for details.

3. If any suspect disks/volumes are reported, please contact VERITAS Technical Support for further investigation.




Attachments

script_261878.tar.Z (3 kBytes)

Supplemental Materials

SourceiTools
Value130134
Descriptionvxdisksetup -ie overlaps public and private region


Legacy ID



261878


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


Terms of use for this information are found in Legal Notices