Please find draft of scope/requirements and design for supporting Multiple Disk and Multiple Pool's in the Automated Installer (AI).

Would appreciate any feedback/comments.

Requirements / Scope:
- Provide basic support for Multiple Disk and Multiple Pool specification in an AI Manifest. Schema will include the ability to set properties on pools
   and datasets.

- Complex disk layouts including ability to create cache, intent log and spare ZFS volumes are not part of the scope of this project. It is perceived that
   these will be implemented via a ZFS supported serialization scheme. The
schema needs to designed to support this, and discussion with the ZFS team
   has been initiated to determine if they can support this.

 - Provide support for Multiple Disk/Pool specifications in an AI manifest,
   whilst maintaining the current default specification if possible, and
   attempt to map currently defined ZFS support from Jumpstart profiles.

- Analysis of current support for ZFS in JumpStart will be performed as a guide and some (or all) of the ZFS support in JumpStart may be included in this
   specification.

Design :
 - AI Manifest :
   - Design schema for AI manifest which will facilitate Multiple Disk and
     Multiple Pool support.

   - ZFS Multiple Pool Support will include
     - Root pool specification, can only exist on single disk or mirrored
       disk, Cannot exist in Concatenated or RAID configurations.
       Design should enable ease of extension should these be supported by
ZFS in the future. Root pools must be SMI VTOC with slices, GPT labeling
       not supported yet.

     - Data pool specification, created on single, concatened, mirrored, or
       RAID configurations with current default GPT label.

- A disk virtual device as specified in zpool manpage can be whole disks,
       slices, partitions or files. However it is recommended to use whole
       disks.

     - Pool Types :
       - Non-Redundant Pool Configurations (Dynamic Stripe)
         Possibly including :
         the following :
         - Single disk root pool
         - Optional Single disk or concatended disk data pools
         - Optional Dump volume (either on root or separate pool) of single
           or concanenated disks.
         - Optional Dump volume (either on root or separate pool) of single
           or concanenated disks.

       - Redundant Pool Configurations
         - Mirror (2 or more whole disks)
           - Mirrored Root configuration
           - Optional Mirrored data disk pools
           - Optional Dump must be on root pool
- Optional Swap can be on root pool or separate pool of single or
             concatenated disks, mirrored swap does not make sense.
         - RaidZ, RaidZ1, RaidZ2, RaidZ3
           - Only used for optional Data disks

       - Other vdev types
         - Spare - Hot pluggable spare disks
           - Only for mirrored or RaidZ configurations
           - Use disks equal or larger than largest disk in pool(s) spare
             is being attached to.
           - Can be added to more than one pool but must be on same system

         - Log - Separate ZFS Intent Log (Sometimes referred to as ZIL)
           - Used for performance improvements,
           - Recommended that log device is mirrored
           - Min Size of 64MB
           - Max Size recommended to be 1/2 the size of Physical Memory.
- Only for Non-Redundant(Dynamic Stripe) or mirror configurations.
           - Root Pools cannot have separate log devices
           - slog's can be created on separte disks (SSD, NVRAM, etc),
              or disk slices.

         - Cache - Increase random read speed
- Cache devices cannot be mirrored or part of RaidZ configuration

- Complex pool configurations may not be considered here, this will depend
     on whether a serialization scheme can be suppored by ZFS.
- Re-Define (if neccessary), default.xml minimum/recommended configuration.
   - Ensure ability to name pools is included in schema definition

 - liborchestrator :
- Define new NVPAIR's to match required data being passed from auto_install

 - libti
   - Define new API's if required for multidisk/pool support

regards

Matt

_______________________________________________
caiman-discuss mailing list
[email protected]
http://mail.opensolaris.org/mailman/listinfo/caiman-discuss

Reply via email to