Please review this opinion, and submit comments by 01/23/2008.
sun
microsystems Systems Architecture Committee
_________________________________________________________________
Subject: ZFS Boot Support
Submitted by: Lori Alt
File: PSARC/2006/370/opinion.ms
Date: January 16th, 2008
Committee: James D. Carlson, Kais Belgaied, Mark Carl-
son, Glenn Skinner.
Product Approval Committee:
Solaris PAC
solaris-pac-opinion at sun.com
1. Summary
This project adds ZFS booting capability to OpenSolaris,
including ZFS-based Live Upgrade.
2. Decision & Precedence Information
The project is approved as specified in references [1] and
[2].
The project may be delivered in a minor release of Solaris
via the ON and Install consolidations.
3. Interfaces
The project exports the following interfaces.
______________________________________________________________________________
| Interfaces Exported |
|__________________|_______________________|_________________________________|
|Interface | Classification | Comments |
|__________________|_______________________|_________________________________|
|lucreate -p | Committed | specify root pool |
|lufslist output | Volatile | ZFS file system names |
|ICF entry | Consolidation Private| LU's internal BE data |
|fstbl | Consolidation Private| LU's internal fs data |
|lutab | Consolidation Private| LU BE directory |
|/pooldata/ | Committed | Mount point for common data |
|canmount=noauto | Committed | New ZFS property value |
|pool keyword | Committed | Jumpstart; specify pool name |
|bootenv installbe | Committed | Jumpstart; set BE name |
|__________________|_______________________|_________________________________|
PSARC/2006/370 Copyright 2008 Sun Microsystems
- 2 -
______________________________________________________________________________
| Interfaces Exported |
|__________________|_______________________|_________________________________|
|Interface | Classification | Comments |
|__________________|_______________________|_________________________________|
|filesys keyword | Committed | Jumpstart; add pool name |
|rootdev keyword | Committed | Jumpstart; root pool device |
|menu.lst | Committed | Now on SPARC |
|zfsboot | Project Private | ZFS SPARC booter image |
|/etc/lu/GRUB_slice| Sun Private | Shared LU/bootadm data |
|ttinstall | Volatile | Added ZFS configuration screens|
|__________________|_______________________|_________________________________|
4. Opinion
4.1. SPARC Versus x86
One member noted that several features (-B versus -Z, and
-L) in the booting subsystem differ between SPARC and x86,
and that this could confuse users. The project team pointed
out that, for -B versus -Z, these two options are actually
doing different things, though they happen to be used to
accomplish the same goal for ZFS boot. The -L option is
different because SPARC doesn't have GRUB. The committee
members accepted the project team's explanation.
4.2. Swap Problems With ZFS
Several members pointed out the deadlock problems with swap
and ZFS. The project team committed to resolving those
problems as a part of (or precondition to) the integration
of this project.
4.3. Xen Support
One member asked how Xen booting, which must extract the
archive from ZFS early in the boot process, would work. The
project team did not have an answer for this, but agreed to
the stipulation that it must work, and any changes to that
will require a subsequent review.
4.4. ZFS Dataset Naming
The project team wished to change its special "BE" dataset
container to be less LU-centric and use "ROOT" instead. The
ARC members agreed, but one ARC member pointed out that it
would be better to use an OS-reserved name space for this
ZFS dataset, if possible. The project team agreed to inves-
tigate this, but as we know of no such reservation, the ARC
members agreed that using "ROOT" was sufficiently unlikely
to cause trouble, given that it appears during initial
install or during deliberate LU action. The reference
PSARC/2006/370 Copyright 2008 Sun Microsystems
- 3 -
materials have been updated to use "ROOT," and any change
from that will require a subsequent review.
5. Minority Opinion(s)
None.
6. Advisory Information
The project team is advised to investigate a reserved name
space for ZFS datasets that have special meaning to the
operating system, and use a reserved name to contain the
boot environments.
The project team is further advised to test Xen booting and
verify proper operation with ZFS boot.
7. Appendices
7.1. Appendix A: Technical Changes Required
None.
7.2. Appendix B: Technical Changes Advised
None.
7.3. Appendix C: Reference Material
Unless stated otherwise, path names are relative to the case
directory PSARC/2006/370.
1. ZFS Boot Specification
File: commitment.materials/spec.txt
2. ZFS Boot For Live Upgrade
File: commitment.materials/liveupgrade.txt
PSARC/2006/370 Copyright 2008 Sun Microsystems