Cannot initialise a non-EFI disk greater than 1TB in VxVM on Solaris
I had an interesting issue over the weekend when trying to initialise a disk in VxVM. The disk itself is 2TB in size (presented from a storage array), and I am running VxVM on the Solaris OE.
When using vxdisksetup
to initialisation initialise the disk, the action fails with one of the following errors:
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.
NOTE: vxconfigd
also returns the following when restarted:
get_geometry_info_common: /dev/vx/rdmp/<disk_name>/fmt_page_code failed. ret 0x6
After scratching my head for over an hour, it transpires that disks that are greater than 1TB in size needs an to have an EFI label on Solaris before they can be initialised under VxVM.
Resolution
The following steps can be taken to assign an EMI label to the disk, thus allowing for a successful initialisation under VxVM.
- Locate the c#t#d# disk from VxVM :
root@solvm# vxdisk list <disk_name>
Make a note of the c#t#d# from the output: - Obtain the slice layout from the disk using
prtvtoc
.prtvtoc /dev/dsk/<c#t#d#s0>
For example:root@solvm# prtvtoc /dev/dsk/c4t1d0s0 * /dev/dsk/c4t1d0s2 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
- Using
format
, write an SMI label to the disk. For example:root@solvm# format -e c4t1d0
- At the
format>
prompt, type p - At the
partition>
prompt, type l to initialise the disk with an EFI label - Type q to quit
format
.
- At the
- Verify the status of the disk within VxVM:
root@solvm# vxdisk list DEVICE TYPE DISK GROUP STATUS c0t3d0s2 auto:sliced rootdisk01 rootdg online c1t0d0s2 auto:sliced rootdisk02 rootdg online c4t1d0s2 auto:none - - online invalid
As the disk status now shows as "online invalid", we can continue to initialise the disk. - Use
vxdisksetup
to initialise the disk under VxVM.vxdisksetup -i <disk_name> <options>
For example:root@solvm# vxdisksetup -i c4t1d0 format=sliced
- Finally, verify the status of the disk under VxVM control. For example:
root@solvm# vxdisk list | grep c4t1d0 c4t1d0s2 auto:sliced - - online
The disk should now show as "ONLINE".