When running vxdiskadm option 2 to encapsulate the boot disk, an error is encountered about not enough free partitions.
The encapsulation operation failed with the following error:
VxVM vxencap ERROR V-5-2-213
It is not possible to encapsulate c0t0d0, for the following reason:
VxVM vxslicer ERROR V-5-1-754 Not enough free partitions
On an SMI disk, the Solaris disk label has a limit of 8 partitions (0-7). Of these; slice 2 is used by the OS to define the total size of the disk (backup). Volume Manager will use another 2 to define the public and private regions. So, when the boot disk is to be encapsulated, there is an overhead of 3 partitions. This leaves 5 partitions free for the layout definition of the disk.
If there are not 2 free partitions for the public and private regions, the error above will be encountered.
In this example, running the 'prtvtoc' command shows the partition layout of the disk.
# prtvtoc /dev/rdsk/c0t0d0s0
* /dev/rdsk/c0t0d0s0 partition map
* 512 bytes/sector
* 848 sectors/track
* 24 tracks/cylinder
* 20352 sectors/cylinder
* 14089 cylinders
* 14087 accessible cylinders
* 1: unmountable
* 10: read-only
* First Sector Last
* Partition Tag Flags Sector Count Sector Mount Directory
0 2 00 0 151011840 151011839 /
1 3 01 151011840 33560448 184572287
2 5 00 0 286698624 286698623
3 7 00 184572288 50350848 234923135 /var
4 0 00 234923136 33560448 268483583 /opt
5 0 00 268483584 17970816 286454399 /tmp
6 0 01 286454400 122112 286576511 <=== not needed
7 0 01 286576512 122112 286698623 <=== not needed
It is discovered that partitions 6 and 7 are not needed (no valid filesystem exists) and can be removed so the encapsulation process can be re-attempted. The 'fstyp' command can be used on each partition displayed by 'prtvtoc' to see if that partition has a filesystem configured on it. Do not change partition 2 as this is reserved by the OS.
# fstyp /dev/rdsk/c1t0d0s0
Filesystem doesn't exist:
# fstyp /dev/rdsk/c1t0d0s6
Unknown_fstyp (no matches)
Using the example above, the format utility may be used to remove the slices that have been determined not to be needed. It is beyond the scope of this article to detail the use of the format utility.
Please use the format utility with care and only if comfortable in modifying a VTOC (partition table).
OS: Solaris 10
Storage Foundation: 5.0
This issue will apply to other versions of Solaris as well as other versions of Storage Foundation/Volume Manager.
While this issue was discovered in Solaris, Linux has similar limitations on the # of partitions supported; see the "Rootability" section of the Administration Guide for more information. Boot disk encapsulation does not apply to AIX and HP-UX.