Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

ZFS Boot Environment Problem

137 views
Skip to first unread message

Iain

unread,
May 19, 2009, 2:35:06 PM5/19/09
to
I'm having a ZFS boot environment(BE) issue of a new installation of
Solaris 10u7. Please bear with me on this as I'm going through a steep
learning curve here. : )

From what I've read below, this seems to be related to incorrrect mount
points of / and /var datasets as described below.

The following excerpt is from Chapter 5, 'Installing and Booting a ZFS
Root File System' on page 143 of 'Solaris ZFS Administration Guide'
(April 2009):

*****************************
[Quote]
Resolving ZFS Mount Point Problems That Prevent Successful Booting

The best way to change the active boot environment is to use the
luactivate command. If
booting the active environment fails, due to a bad patch or a
configuration error, the only way to
boot a different environment is by selecting that environment at boot
time. You can select an
alternate BE from the GRUB menu on an x86 based system or by booting it
explicitly from the PROM on an SPARC based system.

Due to a bug in the Live Upgrade feature in the Solaris 10 10/08
release, the non-active boot
environment might fail to boot because the ZFS datasets or the zone's
ZFS dataset in the boot
environment has an invalid mount point. The same bug also prevents the
BE from mounting if
it has a separate /var dataset.

If a zone dataset has an invalid mount point, the mount point can be
corrected by taking the
following steps.

▼ How to Resolve ZFS Mount Point Problems

1. Boot the system from a failsafe archive.

2. Import the pool.
For example:
# zpool import rpool

3. Review the zfs list output after the pool is imported.
Look for incorrect temporary mount points. For example:
# zfs list -r -o name,mountpoint rpool/ROOT/s10u6
NAME MOUNTPOINT
rpool/ROOT/s10u6 /.alt.tmp.b-VP.mnt/
rpool/ROOT/s10u6/zones /.alt.tmp.b-VP.mnt//zones
rpool/ROOT/s10u6/zones/zonerootA /.alt.tmp.b-VP.mnt/zones/zonerootA
The mount point for the root BE (rpool/ROOT/s10u6) should be /.
If the boot is failing because of /var mounting problems, look for a
similar incorrect temporary mount point for the /var dataset.

4. Reset the mount points for the ZFS BE and its datasets.
For example:
# zfs inherit -r mountpoint rpool/ROOT/s10u6
# zfs set mountpoint=/ rpool/ROOT/s10u6

5. Reboot the system.
When the option is presented to boot a specific boot environment, either
in the GRUB menu or at the OpenBoot Prom prompt, select the boot
environment whose mount points were just corrected.
[/Quote]
*****************************

Filesystem mount point is /a and root home directory is /tmp/root in
failsafe mode.

Problems I've encountered whilst in Failsafe mode are:
1. Cannot import rpool using step 2 above. Possibly because it's
currently active?
2. Relevant results of zfs list command show:
a. rpool/ROOT/s10u7 /a/
b. rpool/ROOT/s10u7/var /a/var
3. /a/var is empty mountpoint whilst real /var is mounted at /tmp/root/var

Therefore my question is, will the following commands resolve this problem?
1. zfs inherit -r mountpoint rpool/ROOT/s10u7
2. zfs inherit -r mountpoint rpool/ROOT/s10u7/var
3. zfs set mountpoint=/ rpool/ROOT/s10u7
4. zfs set mountpoint=/var rpool/ROOT/s10u7/var
5. Reboot system

Dick Hoogendijk

unread,
May 19, 2009, 2:54:29 PM5/19/09
to
quoting Iain (Wed, 20 May 2009 04:35:06 +1000):

> Therefore my question is, will the following commands resolve this problem?
> 1. zfs inherit -r mountpoint rpool/ROOT/s10u7
> 2. zfs inherit -r mountpoint rpool/ROOT/s10u7/var
> 3. zfs set mountpoint=/ rpool/ROOT/s10u7
> 4. zfs set mountpoint=/var rpool/ROOT/s10u7/var
> 5. Reboot system

This will work.
But I suggest to easy up your life and not separate / and /var

--
Dick Hoogendijk -- PGP/GnuPG key: 01D2433D
+http://nagual.nl/ | SunOS 10u7 05/09 ZFS+

0 new messages