Thursday, December 30, 2010

Volume Manager cannot initialize a disk with no backup slice or a disk with an EFI label

Exact Error Message
VxVM vxdisksetup ERROR V-5-2-3628 The dmpnode <disk_name> is disabled. Can not proceed with vxdisksetup.
VxVM vxdisk ERROR V-5-1-5433 init failed: Device path not valid.
get_geometry_info_common: /dev/vx/rdmp/<disk_name>/fmt_page_code failed. ret 0x6

Details:
The issue:
Using Volume Manager to initialize a disk results in one of the following error messages:
VxVM vxdisksetup ERROR V-5-2-3628 The dmpnode <disk_name> is disabled. Can not proceed with vxdisksetup.
VxVM vxdisk ERROR V-5-1-5433 init failed:  Device path not valid.

The vxconfigd program returns the following error when started or restarted:
get_geometry_info_common: /dev/vx/rdmp/<disk_name>/fmt_page_code failed. ret 0x6

The cause:
Volume Manager requires a backup partition defined as slice 2 on each disk.
A disk that is less than 1.2 Terabytes in size with an EFI label cannot be initialized under Volume Manager.

To solve the issue:
1) Verify the current slice definitions by performing the following:

Note: Complete step a if using Enclosure Based Naming (EBN) or go to step b if using Operating System Native Naming (OSN).

a) Determine the disk Operating System Native name that needs initialization.

# vxdisk list <disk_name>

Make note of the c#t#d# received via the output.

b) Retrieve the slice layout of the disk.

# prtvtoc /dev/dsk/<c#t#d#s0>

example:
# prtvtoc /dev/dsk/c1t0d0s0
* /dev/dsk/c1t0d0s2 partition map
*
* Dimensions:
*     512 bytes/sector
*     424 sectors/track
*      24 tracks/cylinder
*   10176 sectors/cylinder
*   14089 cylinders
*   14087 accessible cylinders
*
* Flags:
*   1: unmountable
*  10: read-only
*
*                          First     Sector    Last
* Partition  Tag  Flags    Sector     Count    Sector  Mount Directory
      0      2    00          0  40968576  40968575   /
      1      3    01   40968576  51205632  92174207
      4      7    00   92174208  30721344 122895551   /var
      5      0    00  122895552  20453760 143349311   /opt



2) Use the format utility to setup a backup partition and write an SMI label to the disk:
# format -e c1t0d0
At the "format>" prompt, type 'p'
At the "partition>" prompt, type 'p'

Total disk cylinders available: 14087 + 2 (reserved cylinders)

Part      Tag    Flag     Cylinders         Size            Blocks
 0       root    wm       0 -  4025       19.54GB    (4026/0/0)   40968576
 1       swap    wu    4026 -  9057       24.42GB    (5032/0/0)   51205632
 3 unassigned    wm       0                0         (0/0/0)             0
 4        var    wm    9058 - 12076       14.65GB    (3019/0/0)   30721344
 5 unassigned    wm   12077 - 14086        9.75GB    (2010/0/0)   20453760
 6 unassigned    wm       0                0         (0/0/0)             0
 7 unassigned    wm       0                0         (0/0/0)             0

Partition 2 will need to be created if it is not configured with the tag 'backup' and defined to span the entire size of the disk.

At the "partition>" prompt, type '2'

Enter partition id tag[unassigned]:
Set ID Tag to 'backup'.

Enter partition permission flags[wu]:
Partition permission flags should be set to 'wm'.

Enter new starting cyl[0]:
Starting cylinder should be '0'.

Enter partition size[0b, 0c, 0.00mb, 0.00gb]:
For partition size take the number for "Total disk cylinders available" from the partition print command (14087 in the example above).

After setting up the backup partition, write the partition table and exit the utility.
At the "partition>" prompt, type 'label'.
At the "Ready to label disk, continue?" prompt, type 'y'.
At the "partition>" prompt, type 'w'
At the "partition>" prompt, type 'q'
At the "format>" prompt, type 'q'

An example of the corrected prtvtoc:
*                          First     Sector    Last
* Partition  Tag  Flags    Sector     Count    Sector  Mount Directory
      0      2    00          0  40968576  40968575   /
      1      3    01   40968576  51205632  92174207
      2      5    00          0 143349312 143349311
      4      7    00   92174208  30721344 122895551   /var
      5      0    00  122895552  20453760 143349311   /opt

Note the existence of slice 2 in the output above.

3) Verify the status of the disk with the following command:

# vxdisk list

If the disk is now shown as "ONLINE INVALID", it can now be initialized.

4) Initialize the disk:
# vxdisksetup -i <disk_name>

5) Verify the disk is now correctly initialized by Volume Manager with the following command:
# vxdisk list

The disk should now be shown as "ONLINE".

No comments:

Post a Comment