Creating a Solaris alternate boot environment via lucreate may error with the message "vxfs mount: ERROR: V-3-21264 allowable number of mount points exceeded" due to incorrect device entries in /etc/vfstab

Article: 100001925
Last Published: 2022-02-16
Ratings: 0 0
Product(s): InfoScale & Storage Foundation

Problem

Creating a Solaris alternate boot environment via lucreate may error with the message "vxfs mount: ERROR: V-3-21264 allowable number of mount points exceeded" due to incorrect device entries in /etc/vfstab

Solution

Issue:

Using lucreate to create a Solaris alternate boot environment (BE) may fail with the following VxFS error message.For example:

# /usr/sbin/lucreate -c benv1 -n benv2 -C/dev/dsk/c2t0d0s0 -m /:/dev/dsk/c1t2d0s0:ufs -m -:/dev/dsk/c1t2d0s1:swap -m/usr:/dev/dsk/c2d0s7:ufs -m /var:/dev/dsk/c1t2d0s5:ufs -m/opt:/dev/dsk/c1t2d0s6:ufs
Discovering physical storage devices
...
Creating <ufs> file system for </var> inzone <global> on </dev/dsk/c1t2d0s5>.
Mounting filesystems for boot environment <benv2>.
ERROR: UX:vxfs mount:ERROR: V-3-21264: /dev/vx/dsk/datadg/u202_vol is already mounted,/.alt.tmp.b-iK.mnt/u202 is busy,
              allowable number of mount points exceeded
ERROR: cannot mount mount point</.alt.tmp.b-iK.mnt/u202> device </dev/vx/dsk/datadg/u202_vol>
ERROR: failed to mount file system</dev/vx/dsk/datadg/u202_vol> on </.alt.tmp.b-iK.mnt/u202>
ERROR: unmounting partially mounted boot environment file systems
ERROR: cannot mount boot environment by icf file</etc/lu/ICF.2>
Warning: Attempting to correct problems detected with file systems for boot environment <benv2>.
Performing file system check of device </dev/rdsk/c1t2d0s0>.

This causes the lucreate to abort. Note that the device in question(/dev/vx/dsk/datadg/u202_vol) was mounted in the current BE and as such should be mounted in the alternate BE via a loopback mount. As shown above lucreate was attempting to mount the physical device rather than using a loopback device,hence the error saying that the device is already mounted.

Solution:

On further inspection, it was found that the entries in /etc/vfstab involving problematic devices were incorrect. For example:

...
/dev/vx/dsk/datadg/u202_vol    /dev/vx/dsk/datadg/u202_vol     /u202   vxfs1       yes     -
/dev/vx/dsk/datag/u203_vol    /dev/vx/dsk/datadg/u203_vol     /u203   vxfs1       yes     -
/dev/vx/dsk/datadg/u204_vol    /dev/vx/dsk/datadg/u204_vol     /u204   vxfs1       yes     -
/dev/vx/dsk/datadg/u205_vol    /dev/vx/dsk/datadg/u205_vol     /u205   vxfs1       yes     -
...

Note that the above incorrectly specify the block device in the second filed (device to fsck) - this should contain the raw device as follows:

/dev/vx/dsk/datadg/c102_vol  /dev/vx/rdsk/datadg/c102_vol/c102   vxfs  2 yes suid

Once corrected, lucreate ran as expected and correctly mounted these devices via loopback in the newBE.
 

 

Was this content helpful?