I am sponsoring the following fast track for Bill Gorrell. The release binding is minor.
Template Version: @(#)onepager.txt 1.35 07/11/07 SMI Copyright 2007 Sun Microsystems 1. Introduction 1.1. Project/Component Working Name: SAM-QFS Large Host Table 1.2. Name of Document Author/Supplier: William Gorrell 1.3. Date of This Document: 02/29/2008 1.3.1. Date this project was conceived: 05/10/2007 1.4. Name of Major Document Customer(s)/Consumer(s): 1.4.1. The PAC or CPT you expect to review your project: NWS PAC 1.4.2. The ARC(s) you expect to review your project: PSARC 1.4.3. The Director/VP who is "Sponsoring" this project: Karen.Jourdenais at sun.com 1.4.4. The name of your business unit: SDASH 1.5. Email Aliases: 1.5.1. Responsible Manager: Ted.Pogue at sun.com 1.5.2. Responsible Engineer: William.Gorrell at sun.com 1.5.3. Marketing Manager: Margaret.Hamburger at sun.com 1.5.4. Interest List: samqfs-psarc-interest at sun.com 2. Project Summary 2.1. Project Description: See supplied functional specification document "largehosttable.6555811.txt" section "FEATURE DESCRIPTION". 2.2. Risks and Assumptions: None. 3. Business Summary 3.1. Problem Area: The SAM-QFS HPC initiative requires that a larger number of clients be supported. 3.2. Market/Requester: The SAM-QFS HPC initiative requires that a larger number of clients be supported. 3.3. Business Justification: The SAM-QFS HPC initiative requires that a larger number of clients be supported. 3.4. Competitive Analysis: The SAM-QFS HPC initiative requires that a larger number of clients be supported. 3.5. Opportunity Window/Exposure: FY2009 3.6. How will you know when you are done?: When the HPC target number of SAM-QFS clients can be configured. 4. Technical Description: 4.1. Details: See supplied functional specification document "largehosttable.6555811.txt" section "FUNCTIONAL REQUIREMENTS". 4.2. Bug/RFE Number(s): 6555811: RFE: Increase the size of the client host table. This RFE is currently targeted for the next release of SAM-QFS (FY09). All documentation references to release "x.x" should be interpreted as that release. 4.3. In Scope: See supplied functional specification document "largehosttable.6555811.txt" section "SCOPE OF THE PROJECT". 4.4. Out of Scope: See supplied functional specification document "largehosttable.6555811.txt" section "SCOPE OF THE PROJECT". 4.5. Interfaces: See supplied functional specification document "largehosttable.6555811.txt" section "FUNCTIONAL REQUIREMENTS". 4.6. Doc Impact: Man pages do not exist for the affected library interfaces. The SAM-QFS administration manual will be updated to describe the extended host table size, and limitations of mounting file systems with a large host table on hosts running a legacy release of SAM-QFS. 4.7. Admin/Config Impact: The administrator will experience the ability to configure a larger number of SAM-QFS clients on a SAM-QFS file system. 4.8. HA Impact: A larger number of supported clients supports improved cluster availability because of the larger number of available failover host candidates. 4.9. I18N/L10N Impact: The error messages that describe a client host table size incompatibility condition will require investigation. 4.10. Packaging & Delivery: Providing a larger client host table will not specifically impact package install/upgrade procedures. Associated packages are: SUNWsamfsu, SUNWsamfsr, SUNWqfsu, SUNWqfsr 4.11. Security Impact: None. All client host table operations require administrative authority. 4.12. Dependencies: This feature requires that SAM-QFS voluntary and involuntary failover be reliable prior to release. 5. Reference Documents: See supplied functional specification document. Also reference the full SAM-QFS 5.0 PSARC case 2007/588 at: http://sac.eng/arc/PSARC/2007/588 6. Resources and Schedule: 6.1. Projected Availability: Available with the first release of the SAM-QFS HPC product. 6.2. Cost of Effort: Unspecified. 6.3. Cost of Capital Resources: Unspecified. 6.4. Product Approval Committee requested information: 6.4.1. Consolidation or Component Name: Available with the first release of the SAM-QFS HPC product. 6.4.3. Type of CPT Review and Approval expected: FastTrack 6.4.4. Project Boundary Conditions: Unknown. 6.4.5. Is this a necessary project for OEM agreements: No. 6.4.6. Notes: Intentionally left blank. 6.4.7. Target RTI Date/Release: RTI in time for the first release of the SAM-QFS HPC product. 6.4.8. Target Code Design Review Date: Review in time for the first release of the SAM-QFS HPC product. 6.4.9. Update approval addition: No. 6.5. ARC review type: FastTrack 6.6. ARC Exposure: open 6.6.1. Rationale: N/A 7. Prototype Availability: 7.1. Prototype Availability: Q4 2008 7.2. Prototype Cost: Unspecified. Functional Spec =============== SAM-QFS x.x Planning - Functional Specification Document ======================================================== Updated: 03/27/2008 FEATURE DESCRIPTION: ------------------- The current limit of 128 clients in a shared QFS cluster needs to be increased. Independent of the other issues related to a large number of clients, the current infrastructure for storing the client host table needs to be modified to accomodate a much larger number of clients (the short-term goal is 1024 clients). The current allocated space for the on-disk client hosts table is 16KB. This feature provides the ability to add new client hosts to a shared QFS cluster until the new 2MB of allocated space is exhausted. NOTE: Each client host table entry can be of arbitrary size. The primary influence on the size of each entry is it's host name. From an administrative standpoint, if we assume that the largest practical host name consumes 1/4 KB, then the maximum number of entries in a 2MB host table is on the order of 8K entries. Small client host tables will continue to be supported for existing file systems. sammkfs will allocate a larger (2MB) client host table on-disk for new SAM-QFS file systems. For a SAM-QFS file system that contains a 16KB client host table, that client host table will automatically be relocated into a new 2MB client host table when more than 16KB is necessary to hold the supplied client host table data. A file system with a 2MB client host table will not be mountable on a system running a legacy release of SAM-QFS, except under special circumstances (see section "FUNCTIONAL REQUIREMENTS"). 6555811: RFE: Increase the size of the client host table. SCOPE OF THE PROJECT: -------------------- - The sammkfs command and the libfscmd library will be modified to allow the creation of large host tables. - The new on disk host file will be a 2M direct map file created at sammkfs time. - The behaviour of existing small host tables will not change. A mechanism to convert existing small host tables to large ones will be provided. - In general, configuration and observation of large numbers of SAM-QFS clients via the affected interfaces. All other issues related to large numbers of SAM-QFS clients are outside the scope of this feature. FUNCTIONAL REQUIREMENTS: ----------------------- The existing library interfaces (see section 4.5 Interfaces) that are used to retrieve and update the client host table already include a buffer size embedded within their parameters. This allows SAM-QFS infrastructure to determine whether or not the supplied size is sufficient for retrieving or updating the client host table. However, the behavior of the existing library interfaces will be updated to recognize a buffer size incompatibility, and to return the error code EMSGSIZE ("Message size too long") when that condition is detected. In case of a size incompatibility error, the correct client host table size is embedded within the returned parameters. The parameters and format of existing library interfaces will remain unchanged. An error return code, EMSGSIZE ("Message size too long"), will be added to the set of possible return codes for those library interfaces. Affected library interfaces are: int sam_gethost(const char *fs, int len, char *tab) int sam_sethost(const char *fs, int newserver, int len, const char *tab) The above library interfaces are included in the SAM-QFS library libsam. Those interfaces are unpublished/internal/private. Certain SAM-QFS software components account for the error condition where a corrupted SAM-QFS file system can't be mounted. To retrieve and/or update the client host table those software components open and read/write the client host table directly from/to the appropriate metadata device. Those components will be updated to recognize, read and write both the small and large client host table formats. Affected components are: sammkfs samfsck samfsconfig sharefsd Sun Cluster Agent The small client host table of an existing file system will be automatically converted (i.e. moved) to a newly-allocated large client host table only when the client host table requires more than 16KB of storage space. Available space limitations may require that the new large client host table must be allocated on a non-ordinal-0 metadata device. The SAM-QFS host table management infrastructure, which currently assumes that the client host table always resides on the ordinal 0 metadata device, will be updated so that it can manage a client host table that resides on a metadata device of any available file system ordinal. Once a SAM-QFS file system contains a large client host table (2MB), the ability to mount that file system on a host that is running a legacy release of SAM-QFS becomes limited. Legacy releases of SAM-QFS can only manage a small (16KB) client host table. Therefore, a file system that contains a client host table with more than 16KB of data cannot be mounted on a host running a legacy release of SAM-QFS. However, if a filesystem that supports a 2MB client host table, but contains only 16KB (or less) of client host table data, then it can be mounted on a host running a legacy release of SAM-QFS. This feature will toggle an option bit in the SAM-QFS file system superblock to indicate whether or not the client host table contains more than 16KB of data. That superblock option field controls the ability to mount newer file system versions on hosts running a legacy release of SAM-QFS. DELIVERABLES: ------------ - Restructure the in core host table. - Allocate the on disk host table as a 2M direct map file at sammkfs time. - The existing sam_gethost and sam_sethost interfaces will continue to work for existing host tables and new host tables that fit within the current space limitation of 16k. - The behaviour of the existing interface will change when reading or writing a new large host table. If the caller of sam_gethost or sam_sethost provides a buffer that is too small then EMSGSIZE will be returned but the needed size will be returned in the size element of the argument structure. FUNCTIONAL DEPENDENCIES: ----------------------- This requires that voluntary and involuntary failover be reliable prior to integration of this feature.