Description
Solaris 10 patches 141721-03 or 141444-09 (SPARC) and 141722-03 or 141445-09 (x86) may cause live upgrade (lucreate(1M)) to fail on a system configured with ZFS root and a separate /var file system. On these systems with these patches installed, lucreate(1M) will only fail after certain patching activities have occurred which cause the erroneous creation of a /var/tmp directory located under the root file system.
Occurrence
This issue can occur in the following releases:
SPARC Platform
•Solaris 10 with patch 141721-03 or 141444-09 and without both patches 121430-51 and 141508-02
x86 Platform
•Solaris 10 with patch 141722-03 or 141445-09 and without both patches 121431-52 and 145108-03
Note: Solaris 8, Solaris 9 and Solaris 11 are not affected by this issue.
This issue only occurs on systems that meet all the following criteria:
1. The system has a ZFS root configuration.
The root file system type can be determined by executing the following command :
# df -n /
/ : zfsThe above output shows the response if root is a zfs(1M) file system.
2. The system has a separate /var file system.
The following command can be used to determine if /var is a separate file system:
# zfs list | grep "/var"
rpool/ROOT/s10u8BE_001/var 67.5M 23.9G 67.5M /var/var in the last column of the above output shows that /var is a separate file system.
3. The system has the /var/tmp directory under the root file system.
The following commands can be used to determine this:
# mount -F lofs -o nosub / /mnt
# ls /mnt/var
tmpThe above output for ls(1M) shows the response if /var/tmp directory has been created under the root file system.
Symptoms
If the described issue occurs, output similar to the following will be seen when lucreate(1M) is executed.
# lucreate -n BE3
......
Creating clone for <rpool/ROOT/s10u8BE_001/var@BE3> on <rpool/ROOT/BE3/var>.
Setting canmount=noauto for </var> in zone <global> on <rpool/ROOT/BE3/var>.
ERROR: cannot mount '/.alt.tmp.b-1G.mnt/var': directory is not empty
ERROR: cannot mount mount point </.alt.tmp.b-1G.mnt/var> device <rpool/ROOT/BE3/var>
ERROR: failed to mount file system <rpool/ROOT/BE3/var> on </.alt.tmp.b-1G.mnt/var>
ERROR: unmounting partially mounted boot environment file systems
ERROR: cannot mount boot environment by icf file </etc/lu/ICF.3>
ERROR: Unable to mount ABE <BE3>
ERROR: Unable to clone the existing file systems from boot environment <s10u8BE_001> to create boot environment <BE3>.
ERROR: Cannot make file systems for boot environment <BE3>.Workaround
To workaround this issue, perform the following steps to remove the /var/tmp directory under the root file system prior to running lucreate(1M).
# mount -F lofs -o nosub / /mnt
# ls -la /mnt/var/tmp # to make sure it is empty
# rmdir /mnt/var/tmp
# ls -la /mnt/var # this should now be empty, too
# umount /mntThis issue is addressed in the following releases:
SPARC Platform
•Solaris 10 with both patches 121430-51 or later and 141508-02 or later
x86 Platform
•Solaris 10 with both patches 121431-52 or later and 145108-03 or later
Solaris 10 patches 141721-03 or 141444-09 (SPARC) and 141722-03 or 141445-09 (x86) may cause live upgrade (lucreate(1M)) to fail on a system configured with ZFS root and a separate /var file system. On these systems with these patches installed, lucreate(1M) will only fail after certain patching activities have occurred which cause the erroneous creation of a /var/tmp directory located under the root file system.
Occurrence
This issue can occur in the following releases:
SPARC Platform
•Solaris 10 with patch 141721-03 or 141444-09 and without both patches 121430-51 and 141508-02
x86 Platform
•Solaris 10 with patch 141722-03 or 141445-09 and without both patches 121431-52 and 145108-03
Note: Solaris 8, Solaris 9 and Solaris 11 are not affected by this issue.
This issue only occurs on systems that meet all the following criteria:
1. The system has a ZFS root configuration.
The root file system type can be determined by executing the following command :
# df -n /
/ : zfsThe above output shows the response if root is a zfs(1M) file system.
2. The system has a separate /var file system.
The following command can be used to determine if /var is a separate file system:
# zfs list | grep "/var"
rpool/ROOT/s10u8BE_001/var 67.5M 23.9G 67.5M /var/var in the last column of the above output shows that /var is a separate file system.
3. The system has the /var/tmp directory under the root file system.
The following commands can be used to determine this:
# mount -F lofs -o nosub / /mnt
# ls /mnt/var
tmpThe above output for ls(1M) shows the response if /var/tmp directory has been created under the root file system.
Symptoms
If the described issue occurs, output similar to the following will be seen when lucreate(1M) is executed.
# lucreate -n BE3
......
Creating clone for <rpool/ROOT/s10u8BE_001/var@BE3> on <rpool/ROOT/BE3/var>.
Setting canmount=noauto for </var> in zone <global> on <rpool/ROOT/BE3/var>.
ERROR: cannot mount '/.alt.tmp.b-1G.mnt/var': directory is not empty
ERROR: cannot mount mount point </.alt.tmp.b-1G.mnt/var> device <rpool/ROOT/BE3/var>
ERROR: failed to mount file system <rpool/ROOT/BE3/var> on </.alt.tmp.b-1G.mnt/var>
ERROR: unmounting partially mounted boot environment file systems
ERROR: cannot mount boot environment by icf file </etc/lu/ICF.3>
ERROR: Unable to mount ABE <BE3>
ERROR: Unable to clone the existing file systems from boot environment <s10u8BE_001> to create boot environment <BE3>.
ERROR: Cannot make file systems for boot environment <BE3>.Workaround
To workaround this issue, perform the following steps to remove the /var/tmp directory under the root file system prior to running lucreate(1M).
# mount -F lofs -o nosub / /mnt
# ls -la /mnt/var/tmp # to make sure it is empty
# rmdir /mnt/var/tmp
# ls -la /mnt/var # this should now be empty, too
# umount /mntThis issue is addressed in the following releases:
SPARC Platform
•Solaris 10 with both patches 121430-51 or later and 141508-02 or later
x86 Platform
•Solaris 10 with both patches 121431-52 or later and 145108-03 or later
No comments:
Post a Comment