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@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