VERITAS Storage Foundation 4.1 Intelligent Storage Provisioning Administrator’s Guide HP-UX 11i v2 Manufa cturing Part Nu mber: 5 991-121 6 September 2005 Edition 1 Printed in the United States © Copyright 2005 - 2006 Hewlett-Packard Development Company L.P.
Legal Notices Confidential computer software. Valid license from HP required for possession, use or copying. Consistent with FAR 12.211 and 12.212, Commercial Computer Software, Computer Software Documentation and Technical Data for Commercial Items are licensed to the U.S. Government under vendor’s standard commercial license. The information contained herein is subject to change without notice.
Contents Preface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15 How This Guide Is Organized . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16 Conventions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17 Getting Help . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Administration Roles in ISP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17 Basic Administration Tasks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17 Advanced Administration Tasks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19 Expert Administration Tasks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Adding Disks to a Storage Pool . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39 Removing Disks from a Storage Pool . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39 Associating Templates with a Storage Pool . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39 Associating Template Sets with a Storage Pool . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Growing and Shrinking Multiple Volumes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60 Preparing a Volume for DRL and Snapshot Operations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60 Removing Support for DRL and Snapshots from a Volume . . . . . . . . . . . . . . . . . . . . . . . 61 Evacuating a Volume . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61 Removing a Volume . . . . . . . . . . . . . . . .
Refreshing an Instant Snapshot (vxsnap refresh) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 88 Attaching Plexes of an Instant Snapshot (vxsnap reattach) . . . . . . . . . . . . . . . . . . . . . . . . 88 Restoring a Volume from an Instant Snapshot (vxsnap restore) . . . . . . . . . . . . . . . . . . . . . 89 Dissociating an Instant Snapshot (vxsnap dis) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 90 Removing an Instant Snapshot . . . . . . . . . . . . . . . . . .
Capabilities . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 114 Inheritance of Capabilities . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 115 Volume Templates . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 116 extends . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Appendix A. ISP Language Definition . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 137 Syntax Conventions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 138 Reserved Keywords . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 139 Capability . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
confineto_expr . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 150 exclude_expr . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 151 select_expr . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 151 multipath_expr . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
ConfineLogsToSimilarStorage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 161 ConfineMirrorsToSimilarStorage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 161 ConfineToSimilarStorage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 161 ConfineToSpecificStorage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 161 DataMirroring . .
DataMirroring . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 166 DataMirrorStripe . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 166 DataRedundancy . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 167 DataStripeMirror . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
raid5_volumes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 173 stripe_mirror_volumes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 174 striped_prefab_mirrored_volumes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 174 striped_volumes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
VERITAS Storage Foundation ISP Administrator’s Guide
Preface The VERITAS Storage Foundation Intelligent Storage Provisioning Administrator’s Guide provides information on how to use the VERITAS Intelligent Storage Provisioning (ISP) feature of the VERITAS Storage FoundationTM software.
How This Guide Is Organized How This Guide Is Organized This guide is organized as follows: ◆ Understanding ISP ◆ Creating and Administering Storage Pools ◆ Creating Application Volumes ◆ Administering Application Volumes ◆ Administering Instant Snapshots ◆ Administering Volume Templates and Other Configuration Elements ◆ Creating and Modifying User Templates ◆ Using Capabilities, Templates and Rules ◆ Changing the Allocation Behavior of ISP ◆ ISP Language Definition ◆ ISP Configuratio
Conventions Conventions Convention Usage Example monospace Used for path names, commands, output, directory and file names, functions, and parameters. Read tunables from the /etc/vx/tunefstab file. monospace (bold) Indicates user input. # ls pubs italic Identifies book titles, new terms, emphasized text, and variables replaced with a name or value. bold See the ls(1) manual page for more information. C:\> dir pubs See the User’s Guide for details.
Getting Help Getting Help For technical assistance, visit http://support.veritas.com and select phone or email support. This site also provides access to resources such as TechNotes, product alerts, software downloads, hardware compatibility lists, and the VERITAS customer email notification service. Use the Knowledge Base Search feature to access additional product information, including current and past releases of product documentation.
1 Understanding ISP VERITAS Intelligent Storage Provisioning (ISP) allows you to organize and manage your physical storage by creating virtual storage devices, application volumes. You can use such volumes in the same way as traditional volumes in VERITAS Volume Manager (VxVM). ISP creates application volumes from available storage with the required capabilities that you specify.
ISP Concepts This book describes the command-line interface to ISP, and the language that is used for writing new rules, capabilities and templates. For a description of the graphical interface to ISP that is provided by the VERITAS Enterprise Administrator (VEA), see the VERITAS Enterprise Administrator Getting Started guide and VEA online help. ISP Concepts The figure, “Relationship Between Concepts in ISP,” illustrates the dependencies between the various ISP components.
ISP Concepts These concepts are defined in the following sections: ◆ Disk Group ◆ LUN ◆ Attribute ◆ Storage Pool ◆ Storage Pool Set ◆ Policy ◆ Capability ◆ Rule ◆ Volume Template ◆ Template Sets ◆ User Template ◆ Application Volume ◆ Intent Disk Group A disk group is a named collection of disks that share a common configuration. Volumes and other VxVM objects must be created within a disk group, and are restricted to using disks from within that disk group.
ISP Concepts ◆ Manufacturer ◆ Model type ◆ Physical location, such as rack number, frame number, floor, building, or site ◆ Hardware RAID configuration ◆ Failover properties ◆ Performance properties Note You can use the annotation service, provided in the VEA graphical user interface, to create and delete storage attributes.
ISP Concepts Note Only one data pool can be created within a disk group. It should not usually be necessary to move a data pool to another disk group. However, if this is required, only an entire data pool can be moved. An individual application volume within a data pool cannot be moved. If you want to move a data pool into a different disk group, you must ensure that the data pool contains only those objects that you require.
ISP Concepts pool Use templates that have been manually assigned to the storage pool. diskgroup Use templates that have been manually assigned to the disk group. host Use templates that have been installed in the ISP repository on this host. The values of these two policies can be combined to suit how the storage pool is to be used. The policy levels that are associated with a storage pool control how it manages its templates and LUNs: ◆ The default level of the AutoGrow policy is diskgroup.
ISP Concepts Scope Levels for Storage Pool Policies LUNs and Templates in Disk Group (level = diskgroup) LUNS and Templates In Storage Pool (level = pool) Templates Default scope of AutoGrow policy for LUNs Default scope of SelfSufficient policy for templates Templates Templates All Available Templates (level = host) Note LUNs in other storage pools or disk groups or outside any disk group are not immediately available for aggregating into another storage pool or disk group.
ISP Concepts Capability A capability is a feature that is provided by a volume. For example, a volume may exhibit capabilities such as performance and reliability to various degrees. Each type of capability is defined as a set of rules. The following table shows some simple examples of capabilities that might be supported by a storage pool: Capability Adjustable Parameters Description DataMirroring nmirs — number of mirrors (plexes) Provides reliability by using mirrored plexes.
ISP Concepts Reliability Reliability specifies the level of redundancy that is required from a volume as a capability. Very reliable volumes have a high degree of redundancy. For example, a very reliable volume could be configured as a software mirrored volume built upon underlying prefabricated RAID-5 capable LUNs that are configured in the enclosure hardware.
ISP Concepts This example of a separation rule specifies that enclosures are to be treated as individual fault domains: separateby "Enclosure" Storage Layout Rules Storage layout rules specify how storage is used to create volumes. The following are examples of storage layout rules: Rule Description log Specifies the type of log and its degree of redundancy. mirror Specifies how many mirrors a volume should have. parity Specifies whether redundancy is provided by using parity.
ISP Concepts The following table shows some simple examples of templates and the capabilities that they might provide: Template Provides Capabilities Adjustable Parameters for the Capability DataMirroring DataMirroring nmirs — number of mirrors (plexes) Raid5Volume Raid5Capability, Raid5LogMirroring ncols — minimum number of columns nlogs — number of log copies nmaxcols — maximum number of columns Striping Striping ncols — minimum number of columns nmaxcols — maximum number of columns See “Vol
ISP Concepts The following table shows some examples of user templates that might be created: User Template Description OracleTable Provides a reliable high-performance volume that is suitable for use by a database table. OracleIndex Provides an extremely high-performance volume that is suitable for a database index. As for templates, each user template can have a number of adjustable parameters that you can use for tuning the characteristics of the created volumes.
The Benefits of ISP The Benefits of ISP When creating a volume in VERITAS Volume Manager in previous releases, you could specify the disk storage on which to lay out its various parts, subdisks, plexes, and so on. In specifying the storage to be used, you had to take into account the tolerance of a volume to failure of any component of the storage infrastructure, and how the specified layout affected I/O performance and reliability of service.
The Benefits of ISP Traditional Model for Creating and Administering Volumes in VERITAS Volume Manager Storage within a Disk Group User specifications for volume layout Attributes Knowledge of storage attributes in VxVM is limited to automatically discovered information such as enclosure membership, and path and controller connectivity. Beyond this, you must state explicitly which storage to use. vxassist Volumes The vxassist command uses hard-coded rules to create and administer volumes.
The Benefits of ISP How ISP Enhances Volume Management Storage Pool Attributes, templates, capabilities and policies VxVM’s knowledge of storage attributes is potentially unlimited. You can define additional attributes that are to be used when selecting storage. Storage Pool User-specified rules and capabilities vxvoladm Application Volumes The vxvoladm command uses the allocation engine to select available storage from the storage pool when creating and administering application volumes.
The Benefits of ISP ◆ All ISP operations preserve the original intent of the volumes. There is no possibility that operations such as grow, evacuate, add mirror, or add column can accidentally degrade the reliability or performance capabilities of a volume. ◆ ISP is SAN-aware and understands SAN attributes. It is also capable of using VAIL to learn the capabilities of LUNs.
Administration Roles in ISP Administration Roles in ISP The administration of ISP can seem overwhelming when compared with the traditional administration model in VERITAS Volume Manager.
Administration Roles in ISP The use of vxvoladm to create application volumes is illustrated in “Creation of Application Volumes.
Administration Roles in ISP Advanced Administration Tasks Advanced administration tasks include administering storage pools and user templates, creating clone pools, and creating volumes with additionally specified rules. The system administrator’s role requires the following knowledge of ISP: ◆ Knowledge of basic administration tasks, see “Basic Administration Tasks” on page 17.
Administration Roles in ISP “Creation of Storage Pools” illustrates that the vxpool command is used to create storage pools with associated policies, templates and capabilities. Creation of Storage Pools Templates and capabilities Required policies for storage pool vxpool Use the vxpool command to create a storage pool and to associate templates, capabilities and policies with it.
Administration Roles in ISP Expert Administration Tasks Expert administration tasks include creating new attributes to describe storage features, and designing and creating new templates and capabilities. The storage administrator’s role requires the following knowledge of ISP: ◆ Knowledge of basic and advanced administration tasks, see “Basic Administration Tasks” on page 17 and “Advanced Administration Tasks” on page 19.
Sample ISP Deployments Sample ISP Deployments This section contains high-level examples of how you can configure volume creation using ISP. Using Storage Pool Policies As described in “Policy” on page 6, a storage pool’s policies affect how it allocates LUNs to create new volumes, and how it uses templates. By selecting which templates and LUNs are associated with a storage pool, and setting appropriate policies on the storage pool, you can control how storage is allocated to volumes.
Sample ISP Deployments “Effect of Setting Non-Default Storage Pool Policies” illustrates how setting the AutoGrow policy to diskgroup allows LUNs from the same disk group that are outside the storage pool to be used, and setting the SelfSufficient policy to host allows templates that provide the required capabilities to be imported from outside the storage pool or disk group.
Sample ISP Deployments Arranging Storage by Volume Usage The simplest way to arrange storage so that its use is restricted to certain applications is to divide it between storage pools as shown in “Arranging Storage by Volume Usage.” This requires that each storage pool is configured in a separate disk group. Each storage pool can have its own set of policies and templates that are tailored to the requirements of the volumes that are created from its LUNs.
Sample ISP Deployments Arranging Storage by Attributes You can use storage attributes to control how ISP assigns storage to application volumes. For example, you can use confinement rules to restrict some volumes to a subset of LUNs which share common attributes, such as caching to enhance I/O performance, or hardware RAID to provide redundancy and/or enhance performance. As described in “Policy” on page 6, not all attributes of LUNs are capable of being discovered automatically.
Frequently Asked Questions About ISP Frequently Asked Questions About ISP ◆ What is the relationship between a storage pool and a volume template? Storage pools contain disks, VxVM objects such as volumes, and a set of volume templates. A storage pool is defined by the volume templates that it contains. The ISP Configuration Database contains a number of storage pool definitions that you can use to create a storage pool object in VxVM.
Frequently Asked Questions About ISP ◆ How does ISP discover LUN hardware characteristics? ISP relies on the VERITAS Array Integration Layer (VAIL) to provide detailed information on LUN characteristics via array-specific modules. ◆ How do I restrict allocation to storage from certain vendors, for example EMC BCV or Hitachi? By default, ISP use LUNs with similar characteristics for allocating storage. If insufficient storage is available, it relaxes this constraint.
Examples of Using ISP from the Command Line Examples of Using ISP from the Command Line This section provides examples of using ISP from the command line and provides pointers to where more information can be found. You can also find summaries of the usage of commonly used commands in “Command Summary” on page 181. Further examples may be found in “Examples of Using ISP” on page 185 and in the manual page for each command.
Examples of Using ISP from the Command Line Having created the application volume, stmrvol, you can use the following command to prepare it for use with volume snapshots: # vxvoladm -g mydg -p mypool add log stmrvol nlog=2 logtype=dco This command associates a data change object (DCO) and DCO volume with the volume. The attribute nlog is used to specify that the DCO volume has the same redundancy as the original volume.
Examples of Using ISP from the Command Line Preparing a Full-Sized Snapshot Volume Before you can take a full-sized snapshot of an application volume, you must prepare the empty volume that is to become the snapshot volume as shown here: # vxvoladm -g mydg -p myclpool make mysnpvol 2g type=snapshot\ init=active This command automatically associates a data change object (DCO) and DCO volume with the volume. For more information, see “Creating a Volume for Use as a Full-Sized Instant Snapshot” on page 76.
Examples of Using ISP from the Command Line Preparing a Space-Optimized Snapshot Having created a cache volume, you now need to prepare the space-optimized snapshots that you require. This command sets up a space-optimized snapshot, mysovol, using the cache volume, mycache: # vxvoladm -g mydg -p myclpool make mysovol 2g type=snapshot \ cachevolume=mycache init=active Note The argument 2g is the same as the length of the original source volume for which the snapshot is being prepared.
Examples of Using ISP from the Command Line 32 VERITAS Storage Foundation ISP Administrator’s Guide
2 Creating and Administering Storage Pools VERITAS Intelligent Storage Provisioning (ISP) allows you to group storage with similar characteristics for creating volumes. A storage pool is a named collection of volumes and the LUNs with which they are associated. The storage policies and rules that are associated with a storage pool determine its characteristics. Each storage pool represents a collection of volumes that are created according to these policies and rules.
Organizing Storage Pools in a Disk Group # vxedit [-g diskgroup] set "allocator_reserved=off" diskname To prevent a disk from being used by ISP, enter the following command: # vxedit [-g diskgroup] set "allocator_nouse=on" diskname The following command removes the restriction on ISP using a disk: # vxedit [-g diskgroup] set "allocator_nouse=off" diskname Note The flags allocator_reserved and allocator_nouse are mutually exclusive. Their values cannot both be set to on for a disk.
Organizing Storage Pools in a Disk Group that relate to striping. A suitable choice would be the mirrored_data_striped_clones storage pool set described on page 175. To create these storage pools within a disk group, you would use the following command: # vxpool -g diskgroup organize mirrored_data_striped_clones The section, “Creating a Storage Pool” on page 36, describes the alternate way of creating storage pools in a disk group.
Creating a Storage Pool Creating a Storage Pool As a alternative to the vxpool organize command described in “Organizing Storage Pools in a Disk Group” on page 34, you can use the vxpool create command to define and create a storage pool, as shown here: # vxpool [-g diskgroup] create storage_pool [dm=dm1[,dm2...] \ [description="description"] [autogrow={1|pool}|{2|diskgroup}] \ [selfsufficient={1|pool}|{2|diskgroup}|{3|host}] \ [rules=rule [ rule ...
Using Disk Group Split and Join with Storage Pools Listing Available Storage Pool Definitions To list all the available storage pool definitions, use the following command: # vxpool listpooldefinitions For a list of supported storage pool definitions, see “Storage Pools” on page 171. To display the details of a storage pool definition, see “Displaying Storage Pool Definitions” on page 37.
Adding Disks to a Storage Pool The following command is used to split one or more clone pools from a source disk group to a newly created target disk group: # vxdg split sourcedg targetdg clonepool ... All volumes (including instant snapshots) within the specified clone pools are moved to clone pools within the target disk group. Note Any disk group that contains a clone pool must also contain a data pool.
Removing Disks from a Storage Pool Note Any disks that you add to a storage pool must have already been initialized for use, and must belong to the same disk group as the storage pool. If a storage pool’s autogrow policy is set to diskgroup, ISP automatically brings additional disks from the disk group into the storage pool as required. Removing Disks from a Storage Pool To remove one or more disks from the storage pool, use the following command: # vxpool [-g diskgroup] rmdisk storage_pool dm=dm1[,dm2...
Associating Template Sets with a Storage Pool Associating Template Sets with a Storage Pool To associate one or more template sets, including all the templates that they contain, with a storage pool, use the vxpool assoctemplateset command as shown here: # vxpool [-g diskgroup] assoctemplateset storage_pool \ template_set=ts1[,ts2,...
Displaying Information About Storage Pools Displaying Information About Storage Pools To display information about one or more storage pools, use the following command: # vxpool [-g diskgroup] print storage_pool [storage_pool ...
Changing the Policies on a Storage Pool Changing the Policies on a Storage Pool By default, Storage Allocator sets the values of the autogrow policy to diskgroup, and the selfsufficient policy to pool. To change the policies that are set on a storage pool, use the vxpool setpolicy command: # vxpool [-g diskgroup] setpolicy storage_pool \ [autogrow={1|pool}|{2|diskgroup}] \ [selfsufficient={1|pool}|{2|diskgroup}|{3|host}] The existing pool policies are overwritten by the new levels that you set.
Deleting a Storage Pool The -r option must be specified to dissociate all disks from the storage pool and then deletes the storage pool as shown in this example: # vxpool -g mydg -r delete ReliablePool Note If any volumes are present in the storage pool, you must delete these before the storage pool can be deleted.
Deleting a Storage Pool 44 VERITAS Storage Foundation ISP Administrator’s Guide
3 Creating Application Volumes Volumes created by VERITAS Intelligent Storage Provisioning (ISP) are similar to traditional volumes created by vxassist, but have the advantage that their intent is preserved and cannot accidentally be degraded. Volumes that are created by ISP can be managed by using commands such as vxvoladm, or by using the VEA client graphical user interface. For information on using VEA to create volumes, refer to the VEA online help.
Determining the Maximum Volume Size Each invocation of vxvoladm is applied to only a single storage pool that has been configured within a disk group. The default disk group is that aliased by the setting of defaultdg. You can specify an alternate disk group by using the -g diskgroup option. Note Refer to the vxvoladm(1M) manual page for full details on using the vxvoladm command.
Creating Volumes Note The storage that is available for allocation is based on the setting of the AutoGrow policy on a storage pool. If the value of this policy is set to diskgroup and not to pool, all suitable disks in the disk group are used in the calculation. You can use the -p option to specify that only storage from the specified pool is to be considered.
Creating Volumes ◆ If you specify rules, capabilities and templates, ISP selects the appropriate templates from those specified that conform to the desired capabilities, and that adhere to the specified rules in addition to the rules in those templates. Note Refer to “Using Capabilities, Templates and Rules” on page 113 for more information.
Creating Volumes # vxvoladm -g mydg make strpvol 2g capability=’DataMirroring,\ MirrorsOnSeparateComponents,MultipathingThroughMultiplePaths’ Creating a Striped Volume The following command creates a 2-gigabyte striped volume with 10 columns: # vxvoladm -g mydg make strpvol 2g capability=’Striping(ncols=10)’ Creating a Mirrored-Stripe Volume with Mirrors on Separate Controllers The following command creates a 2-gigabyte mirrored-stripe volume with 8 columns, and with the mirrors located on separate contr
Creating Volumes Creating a RAID-5 Volume on Prefabricated Storage The following command creates a 10-gigabyte volume on a prefabricated RAID-5 disk that is exported from an array made by a specified vendor: # vxvoladm -g mydg make perfr5vol 10g \ capability='PrefabricatedRaid5' \ rules='confineto "VendorName"="ACME"' Creating a Mirrored Volume on Enclosures in Separate Locations The following command creates a mirrored volume that tolerates the failure of a single enclosure, where each enclosure is in a
Creating Volumes A template can refer to other templates in following ways: ◆ It can be an extension of another template. ◆ It can apply another template. ◆ It can require or inherit a capability that is provided by another template. If one or more of these conditions apply, ISP may not be able to use the given templates and volume creation may fail.
Creating Multiple Volumes as a Volume Group Creating Volumes by Specifying Templates and Rules The following command creates a striped volume using a template, and specifies a rule to ensure that storage is allocated only from a single enclosure in a specified location: # vxvoladm -g mydg make strvol 1g \ volume_template=’Striping’ \ rules=’confineto eachof("Enclosure","Room"="Room2")’ Note If you use a volume template to create a volume, and do not specify any capabilities, the values of all the variable
Creating Multiple Volumes as a Volume Group For convenience, it is easiest to define one or more volume groups in a definition file, and have vxvoladm read this file to create the volumes as shown here: # vxvoladm -M make < filename For a description of the syntax of a volume group definition, see “Volume Group Definition Syntax” on page 177.
Creating a Volume for Use with Snapshots and DRL separateby "Controller" } capability ’DataMirroring(nmirs=2)’ } }; Creating a Volume for Use with Snapshots and DRL If the dirty region logging (DRL) or instant snapshot features are going to be used with an application volume, a version 20 data change object (DCO) and DCO volume must be associated with the volume.
Creating a Volume for Use with Snapshots and DRL Chapter 3, Creating Application Volumes 55
Creating a Volume for Use with Snapshots and DRL 56 VERITAS Storage Foundation ISP Administrator’s Guide
4 Administering Application Volumes This chapter describes how to perform maintenance tasks on volumes that you have created using VERITAS Intelligent Storage Provisioning (ISP). This includes resizing and changing the capabilities of volumes without taking them offline. The operations in this chapter use the vxvoladm command. For full details, see the vxvoladm(1M) manual page.
Resizing Volumes Online you can later recreate the file system and restore its data. Alternatively, you can use the vxresize command to resize both the volume and its file system where this is supported. See the vxresize(1M) manual page for more information. Note If you use the vxvoladm command to resize application volumes of type fsgen or raid5, you must specify the -f (force) option to the command. You must also specify the -f option if growing a volume would violate any rules.
Resizing Volumes Online Increasing the Size of a Volume by a Specified Amount The following command grows a volume by a specified amount: # vxvoladm [-g diskgroup] [-f] growby volume length [attributes...] For example, the following command grows the volume vol1 by 1 gigabyte by allocating contiguous storage: # vxvoladm -g mydg growby vol1 1g layout=contig The setting layout=contig allows only contiguous regions of disk to be used for plexes or columns.
Preparing a Volume for DRL and Snapshot Operations Growing and Shrinking Multiple Volumes If the -M option is specified to the vxvoladm command, multiple volumes can be resized in the same operation.
Evacuating a Volume The value of the regionsize attribute specifies the size of the tracked regions in the volume. A write to a region is tracked by setting a bit in the change map. The default value is 64k (64KB). A smaller value requires more disk space for the change maps, but the finer granularity provides faster resynchronization. To enable DRL logging on the volume, specify drl=yes. If sequential DRL is required, specify drl=sequential.
Removing a Volume For example, the following command evacuates disks mydg01 and mydg02 on which volume, vol01, is configured, and specifies disks mydg03 and mydg04 as destination disks: # vxvoladm -g mydg evacuate disk vol01 !mydg01 !mydg02 \ use_storage=’allof("DM"="mydg03","DM"="mydg04")’ Not only disks can be evacuated. You can also specify subdisks, columns, logs, mirrors or entire volumes to be evacuated.
Performing Online Relayout on a Volume Performing Online Relayout on a Volume ISP does not support online relayout of an application volume in the same way as when the vxassist relayout command is used on a traditional volume. ISP can perform relayout internally if this is necessary to preserve the intent of a volume, or to support operations such as changing the number of mirrors, columns or logs that are associated with a volume.
Adding Mirrors to a Volume Adding Mirrors to a Volume To add mirrors to an existing volume, use the following command: # vxvoladm [-g diskgroup] [-b] add mirror volume \ [nmirrors=number] [attributes...] By default, one mirror is added. You can use the nmirrors attribute to specify the number of mirrors to add. If specified, the -b option performs the synchronization of the new mirrors in the background. You can also use storage attributes to specify the storage to be used for the mirrors.
Removing Columns from a Volume Note This operation creates a temporary 2-way mirror volume that requires at least two disks, and therefore twice as much disk space as the size of the temporary volume. The size of the temporary volume is based on the size of the volume that is being changed. If required, you can use the tmplen attribute to specify the size of the temporary volume.
Changing the Stripe Unit Size of Volumes volume. These file system types cannot be shrunk. This restriction does not apply to an Online JFS (Full VxFS) file system, which can be shrunk while mounted. See the vxresize(1M) manual page for more information. Changing the Stripe Unit Size of Volumes To change the stripe unit size of a striped or RAID-5 volume, use the following command: # vxvoladm [-g diskgroup] [-b] setstwidth volume stripeunit=size \ [tmplen=length] [attributes...
Removing Logs from a Volume attribute is ignored. For a DCO volume, ISP may round up the length to make room for the maps that are required. For a RAID-5 log, a minimum size of three times the full stripe width is imposed, and the length is rounded up to a integral multiple of the full stripe width. You can use storage attributes to specify the storage to be used for the logs.
Reversing Volume Transformations Note The online transformation of an ISP volume is not necessarily complete if the vxtask command shows that synchronization of the volume has finished. A small additional time is required to perform cleanup operations. For example, if you create a 2-way mirrored volume in the background, ISP creates an allocation task whose progress you can monitor using the vxvoladmtask monitor command.
Verifying the Intent of a Volume 1. Enter the following command to discover the task tag of the operation that you want to reverse: # vxtask list 2. Use the task tag with this form of the vxtask command to stop the operation: # vxtask abort task_tag 3. Finally, use the vxrelayout command to revert the volume to its former layout: # vxrelayout [-g diskgroup] reverse volume Note When mirrors are added or removed, ISP does not use the relayout or transform operations internally.
Migrating Volumes to ISP Migrating Volumes to ISP To make volumes that you previously created using vxassist manageable by ISP, you can use the following form of the vxvoladm command: # vxvoladm [-g diskgroup] [-p storage_pool] [-I rules] \ migrate volume ... Note Volumes to be migrated must be CDS-compliant and have an alignment value of 8k. After migration, you must use the vxvoladm command to administer the volumes instead of vxassist. It is not possible to perform a reverse migration.
Migrating Volumes to ISP The following example demonstrates how to use a definitions file to migrate two volumes to separate data and clone storage pools: vxvoladm -M migrate <
Migrating Volumes to ISP 72 VERITAS Storage Foundation ISP Administrator’s Guide
5 Administering Instant Snapshots VERITAS Volume Manager (VxVM) provides the capability for taking an image of a volume at a given point in time. Such an image is referred to as a volume snapshot. Instant volume snapshots allow you to make backup copies of your volumes online with minimal interruption to users.
Note A volume snapshot represents the data that exists in a volume at a given point in time. As such, VxVM does not have any knowledge of data that is cached by the overlying file system, or by applications such as databases that have files open in the file system. If the fsgen volume usage type is set on a volume that contains a VERITAS File System (VxFS), intent logging of the file system metadata ensures the internal consistency of the file system that is backed up.
Preparing Storage Pools for Full-Sized Instant Snapshots Preparing Storage Pools for Full-Sized Instant Snapshots Assuming that you have already set up a data storage pool in a disk group using the procedure given in “Creating a Storage Pool” on page 36, you can create one or more clone storage pools in the same disk group by using the same procedure. You may choose to use different types of disks or templates with a clone storage pool than you set up for the data storage pool.
Creating a Shared Cache Volume and Preparing Space-Optimized Snapshots Note The command shown in this and subsequent steps assumes that you are using a Bourne-type shell such as sh, ksh or bash. You may need to modify the command for other shells such as csh or tcsh. 2. Use the vxvoladm command to create a volume, snapvol, of the required size and redundancy: # vxvoladm [-g diskgroup] [-p storage_pool] make snapvol $LEN \ [storage_specification ...] [attribute ...
Creating a Shared Cache Volume and Preparing Space-Optimized Snapshots 2. ◆ If redundancy is a desired characteristic of the cache volume, it should be mirrored. This increases the space required by the cache volume in proportion to the number of mirrors that it has. ◆ If the cache volume is mirrored, space is required on at least as many disks as it has mirrors. These disks should not be shared with the disks used for the parent volumes.
Creating a Shared Cache Volume and Preparing Space-Optimized Snapshots Once created, such a volume is ready for use to take a space-optimized instant snapshot.
Creating a Shared Cache Volume and Preparing Space-Optimized Snapshots Tuning the autogrow Attributes The highwatermark, autogrowby and maxautogrow attributes determine how the VxVM cache daemon (vxcached) maintains the cache if the autogrow feature has been enabled and vxcached is running: ◆ When cache usage reaches the high watermark value, highwatermark (default value is 90 percent), vxcached grows the size of the cache volume by the value of autogrowby (default value is 20% of the size of the cache vo
Creating a Shared Cache Volume and Preparing Space-Optimized Snapshots Growing and Shrinking a Cache You can use the vxcache command to increase the size of the cache volume that is associated with a cache object: # vxcache [-g diskgroup] growcacheto cache_object size For example, to increase the size of the cache volume associated with the cache, mycache, to 2GB, use the following command: # vxcache -g mydg growcacheto mycache 2g To grow a cache by a specified amount, use the following form of the comma
Creating Instant Snapshots Creating Instant Snapshots Note Instant snapshots of ISP application volumes in a disk group’s data pool are best created in clone pools that are also associated with the same disk group. A snapshot of a snapshot does not have to be in the same clone pool as its parent.
Creating Instant Snapshots To back up a volume with the vxsnap command, use the following procedure: 1. If you intend to take a space-optimized instant snapshot of the volume, you must first set up a shared cache volume in the same disk group as the volume. This cache object for this cache volume can be maintained by using the vxcache command. For both full-sized and space-optimized instant snapshots, you must also create a volume for use as the snapshot volume.
Creating Instant Snapshots This example creates a DCO object and redundant DCO volume with two plexes, and associates them with myvol. The region size is also increased to 128KB from the default size of 64KB. The region size must be a power of 2, and be greater than or equal to 16KB. A smaller value requires more disk space for the change maps, but the finer granularity provides faster resynchronization.
Creating Instant Snapshots If you want to move a snapshot into a separate disk group, or to turn it into an independent volume, you must wait for its contents to be synchronized with those of its parent volume.
Creating Instant Snapshots You have the following choices for what to do with an instant snapshot: ◆ Refresh the contents of the snapshot. This creates a new point-in-time image of the original volume ready for another backup. If synchronization was already in progress on the snapshot, this operation may result in large portions of the snapshot having to be resynchronized. See “Refreshing an Instant Snapshot (vxsnap refresh)” on page 88 for details.
Creating Instant Snapshots Creating Multiple Instant Snapshots Note In these examples, all snapshot volumes and any cache volumes must be prepared in advance as described in “Creating a Volume for Use as a Full-Sized Instant Snapshot” on page 76 and “Creating a Shared Cache Volume and Preparing Space-Optimized Snapshots” on page 77.
Creating Instant Snapshots Refreshing an Instant Snapshot (vxsnap refresh) Refreshing an instant snapshot replaces it with another point-in-time copy of a parent volume. To refresh one or more snapshots and make them immediately available for use, use the following command: # vxsnap [-g diskgroup] refresh snapvol [source=vol] \ [[snapvol2 source=vol2]...] [sync=yes|no] If the source volume is not specified, the immediate parent of the snapshot is used.
Creating Instant Snapshots Caution This operation requires the specification of the -f (force) option as it violates the intent of the source volume. After the reattach operation completes, it may not be possible to perform other operations such as resizing the volume or transforming the layout of the volume. To restore the intent of the volume and allow such operations to be performed, use the vxplex dis plex command to dissociate the attached snapshot plexes.
Creating Instant Snapshots The destroy and nmirror attributes are not supported for space-optimized instant snapshots. The following example demonstrates how to restore the volume, myvol, from the space-optimized snapshot, snap3myvol.
Creating Instant Snapshots Splitting an Instant Snapshot Hierarchy (vxsnap split) Note This operation is not supported for space-optimized instant snapshots.
Creating Instant Snapshots The %DIRTY value for snapvol1 shows that its contents have changed by 1.30% when compared with the contents of vol1. As snapvol1 has not been synchronized with vol1, the %VALID value is the same as the %DIRTY value. If the snapshot were partly synchronized, the %VALID value would lie between the %DIRTY value and 100%. If the snapshot were fully synchronized, the %VALID value would be 100%. The snapshot could then be made independent or moved into another disk group.
Implementing Off-Host Processing Solutions Improving the Performance of Snapshot Synchronization Two optional arguments to the -o option are provided to help optimize the performance of synchronization when using the make, refresh, restore and syncstart operations: iosize=size Specifies the size of each I/O request that is used when synchronizing the regions of a volume.
Implementing Off-Host Processing Solutions These applications use the Persistent FastResync and disk group move, split and join features of VxVM in conjunction with full-sized instant volume snapshots. It is assumed that you have configured a data storage pool containing the application volumes, and a clone storage pool containing prepared empty volumes for any snapshots. You must also have associated a data change object (DCO) and DCO volume with all these volumes.
Implementing Off-Host Processing Solutions 4. On the primary host, if you temporarily suspended updates to the volume by a database in step 2, release all the tables from hot backup mode. 5. The snapshot volume must be completely synchronized before you can move it into another disk group.
Implementing Off-Host Processing Solutions 11. On the OHP host, use the following command to deport the snapshot volume’s disk group: # vxdg deport snapvoldg 12. On the primary host, re-import the snapshot volume’s disk group using the following command: # vxdg import snapvoldg 13. On the primary host, use the following command to rejoin the snapshot volume’s disk group with the original volume’s disk group: # vxdg join snapvoldg volumedg 14. The snapshot volume is initially disabled following the join.
Implementing Off-Host Processing Solutions If a database spans more than one volume, you can specify all the volumes and their snapshot volumes using one command, as shown in this example: # vxsnap -g dbasedg make source=vol1/snapvol=snapvol1 \ source=vol2/snapvol=snapvol2 \ source=vol3/snapvol=snapvol3 Note This step sets up the snapshot volumes, and starts tracking changes to the original volumes. When you are ready to create a replica database, proceed to step 3. 3.
Implementing Off-Host Processing Solutions 8. On the primary host, deport the snapshot volume’s disk group using the following command: # vxdg deport snapvoldg 9. On the OHP host where the replica database is to be set up, use the following command to import the snapshot volume’s disk group: # vxdg import snapvoldg 10. The snapshot volume is initially disabled following the split.
Implementing Off-Host Processing Solutions 5. The snapshot volume is initially disabled following the join. Use the following commands on the primary host to recover and restart the snapshot volume: # vxrecover -g volumedg -m snapvol # vxvol -g volumedg start snapvol The contents of the snapshot volume are now ready to be refreshed. You can then resume the procedure from step 3 on page 98. The snapshot volume can be split from the disk group when synchronization is again complete.
Implementing Off-Host Processing Solutions Chapter 5, Administering Instant Snapshots 99
Implementing Off-Host Processing Solutions 100 VERITAS Storage Foundation ISP Administrator’s Guide
Administering Volume Templates and Other Configuration Elements 6 The VERITAS Intelligent Storage Provisioning (ISP) feature creates volumes with a set of rules or capabilities. A volume template (or template for short) is a collection of rules that provide capabilities. ISP refers to templates when creating a volume, and selects an appropriate set of templates to use based on the requested capabilities. ISP follows certain rules when selecting templates to match a requested set of capabilities.
Installing Configuration Elements into Storage Pools and Disk Groups Installing Configuration Elements into Storage Pools and Disk Groups If you specify a template set, storage pool definition or a storage pool set definition when creating a storage pool, the required templates and capabilities are automatically associated with the storage pool and with its disk group. (See “Creating a Storage Pool” on page 36 for details.
Listing and Printing Configuration Elements Here the types vt and cp indicate volume template and capability definitions. To print the details of these templates and capabilities, use this command: # vxtemplate [-g diskgroup] [-p pool] print You can print the details of only certain elements by specifying these as arguments to the command: # vxtemplate [-g diskgroup] [-p pool] print [template=t1[,t2...]] \ [capability=c1[,c2...]] [template_set=ts1[,ts2...]] \ [storage_pool_set=ps1[,ps2...
Deactivating and Reactivating Templates As for storage pools and disk groups, you can print the details of certain elements by specifying these as arguments to the command, for example: # vxtemplate -C print template_set=DataMirroring,Raid5Templates You can also use the listcapabilities, listtemplates and listtemplatesets, listpooldefinitions, and listpoolsets keywords of vxtemplate to list only the capabilities or templates that are associated with the specified disk group and/or storage pool.
Removing Templates, Capabilities and Template Sets Removing Templates, Capabilities and Template Sets To remove a template, capability or template set from a disk group and/or storage pool, or from the ISP Configuration Database, use the vxtemplate uninstall command.
Removing Templates, Capabilities and Template Sets 106 VERITAS Storage Foundation ISP Administrator’s Guide
7 Creating and Modifying User Templates When using VERITAS Intelligent Storage Provisioning (ISP) to create an application volume with a specified set of capabilities, you can usually enter values for the parameters that modify these capabilities. For example, you can select the degree of redundancy, fault tolerance, or performance that you require from the volume. For convenience in creating volumes, you can set up user templates to store commonly used sets of capabilities and parameter values.
Format of User Templates usertmplt_name Defines the name of the user template, for example, MyReliableReplication, and MySWSnapshot. description Describes a user template in English. descriptionid References the message catalog where localized versions of the description may be found, and provides an index number for the description in the catalog. volume_templates Indicates the templates that can be used by the user template.
Creating User Templates capability Striping { NCOLS = 8 } rules { confineto "VendorName"="EMC" } }; The user template, DB_Table, can be used to create a mirrored volume with two plexes, but is restricted to using only EMC disks. Similarly, the user template, DB_Index, can be used to create a striped volume with eight columns, and is also restricted to using only EMC disks.
Using a User Template to Create an Application Volume } }; user_template DB_Index { description "Makes high performance volume for database index" capability Striping { NCOLS = 8 } rules { confineto "VendorName"="EMC" } }; You can then use the -d option with vxusertemplate create command to add the user template in the configuration file to the global usertemplates file, as shown here: # vxusertemplate -d config_file create Using a User Template to Create an Application Volume You can create an applicati
Deleting User Templates # vxusertemplate print usertemplate1 [usertemplate2 ...
Deleting User Templates 112 VERITAS Storage Foundation ISP Administrator’s Guide
8 Using Capabilities, Templates and Rules VERITAS Intelligent Storage Provisioning (ISP) provides a structured and flexible rule-based declarative language for expressing how an application volume with a given set of characteristics is to be configured from the available storage. The language can be used to specify rules for allocating storage to the individual parts of a volume, such as mirrors, columns, logs and snapshots, as well to as an entire volume.
Capabilities Capabilities A capability, as expressed in the ISP language, is a description of what a volume is capable of doing. Each template is associated with one or more capabilities so that ISP can choose those templates that are suitable for use in allocating storage to volumes. A capability is interpreted by ISP as a tag.
Capabilities var Defines a variable that may be specified as a parameter and its value to a capability. A template can use the variables in its rules section to provide the requested capability. Permitted variable types are int or string. defaultvalue Defines the default value of a capability’s parameter if no value is specified. For a formal definition of capability in the ISP language, see “Capability” on page 140.
Volume Templates extends DataMirroring, Striping }; DataMirrorStripe also inherits the variables nmirs and ncols from the two capabilities that it extends. Volume Templates A volume template (or template for short) is a meaningful collection of rules that provides capabilities for volumes as defined by those rules, or by reference to other capabilities. ISP refers to templates when creating an application volume.
Volume Templates requires Indicates that the template can acquire rules when required from other templates that provide the specified capabilities. See “requires” on page 120 for more information. description Describes a template in English. descriptionid References the message catalog where localized versions of the description may be found, and provides an index number for the description in the catalog.
Volume Templates ◆ Inherits all capabilities that BaseTemplate inherits (see “inherits” on page 119). ◆ Obtains and applies all the rules of BaseTemplate. ◆ Can use variables of all the capabilities that BaseTemplate provides. Note BaseTemplate and DerivedTemplate cannot use different capabilities that have variables with the same name. The derived template has an “is a” relationship with its base templates. The derived template can be used instead of any of its base templates.
Volume Templates } }; can be rewritten as: volume_template ReliableSnapshot { inherits Reliable provides Snapshot rules { ... } }; provides A template provides one or more capabilities as defined by its rules, or by requiring capabilities (see “requires”). Any variables that are defined for the capability can be used by the template’s rules.
Rules requires Reliable provides Snapshot rules { ... } }; This template picks up any templates that provide the Reliable capability, and merges their rules with its own rules. If the template were also required to provide the Reliable capability, the inherits keyword should be used as shown here: volume_template MyReliableSnapshot { inherits Reliable provides Snapshot rules { ...
Rules this number must be greater than or equal to 1. If no preference order value is specified for a rule, a value of 1 is assumed. Rules with low preference order values are preferred to be retained over rules with higher values. Rules with the same preference order are discarded together.
Storage Selection Rules Storage Selection Rules The following sections describe storage selection rules: ◆ affinity ◆ confineto ◆ exclude ◆ multipath ◆ select ◆ separateby ◆ strong separateby See “Compound Rules” on page 131 for details of how to limit the scope of interpretation of rules to the components of an application volume, such as its plexes, columns and logs.
Storage Selection Rules confineto A confineto rule restricts a VxVM object, such as volume or mirror, to being configured from a specific set of LUNs. The scope of the rule determines the VxVM object for which the restrictions apply. When a confineto rule is used at the top level, it usually applies to the volume. Refer to “Compound Rules” on page 131 for details on confining a mirror, column or log to a set of LUNs.
Storage Selection Rules Note When the anyof operator is used, ISP takes storage from the operands in the order that they are specified. In this example, ISP first attempts to select LUNs from the enclosure EMC1, and if this is not possible, it selects LUNs from the enclosure EMC2. If this also is not possible, ISP selects LUNs from both EMC1 and EMC2.
Storage Selection Rules exclude An exclude rule omits a set of LUNs from being allocated to a VxVM object. Note Expressions involving exclude can only use the allof and eachof operators to combine multiple arguments. By default, ISP applies the allof operator. See “Storage Selection Rule Operators” on page 128 for more information.
Storage Selection Rules select A select rule specifies which storage to use for creating VxVM objects. When used outside of a sub clause, this rule is applied to an entire volume. Note Expressions involving select can use the allof, anyof, eachof, noneof and oneof operators to combine multiple arguments. By default, ISP applies the anyof operator. See “Storage Selection Rule Operators” on page 128 for more information.
Storage Selection Rules separateby A separateby rule is used to describe separation between VxVM objects. This is typically used to define failure domains to provide greater reliability by avoiding a single point of failure. For example, a separateby rule can be used to define that the mirrors of a volume should not share a controller. This makes the volume resilient to the failure of a controller. Note The separateby rule does not take any rule operators.
Storage Selection Rule Operators Storage Selection Rule Operators The following table lists the operators that are provided for combining the confineto, exclude and select storage selection rules: Operator Description allof Select available storage that matches the union of all the operands. anyof Select available storage that matches any of the operands in the order that they are listed. The first match is chosen. eachof Select available storage that matches each of the operands.
Storage Layout Rules The following examples demonstrate the application of the apply rule: ◆ Apply the rules but not the capabilities from the template ArrayProductId to a compound rule within the template PrefabricatedDataMirroring: volume_template PrefabricatedDataMirroring { provides PrefabricatedDataMirroring rules { apply ArrayProductId confineto eachof ( "Redundancy" =nmirs , "Parity" ="0" } }; ) volume_template ArrayProductId { provides ArrayProductId rules { confineto "ProductId" } }; ◆ Typical
Compound Rules volume_template Raid5Volume { provides Raid5Capability, Raid5LogMirroring rules { parity true stripe ncols - nmaxcols log nlogs { type raid5 } } }; striped The striped rule indicates whether a volume or mirror is to be striped. If striped is set to true, the number of columns is not necessarily greater than one as striping can be implemented in hardware as well as software.
Compound Rules ◆ log mirror The mirror rule is used to describe one or more mirrors of a volume. All the basic rules except striped and parity, and a restricted form of the stripe rule, can be used within a mirror rule. Rules that are specified within a mirror rule apply only to those mirrors that are constructed from this rule.
Compound Rules mirror_group The mirror_group rule groups together different mirrors of a volume. It should be used when there are groups of mirrors with several things that are common to each group, or when such groups need to have a separateby rule between them. Merging of mirrors can only take place within mirror groups.
Compound Rules ◆ Use confineto rules to force a column to be created on separate enclosures, but which are attached to the same controller, ctlr1: stripe 6-2 { confineto "Controller"="ctlr1" separateby "Enclosure" } Six columns are created by preference. If this is not possible, ISP attempts to create fewer columns down to a minimum of two. log The log rule describes a volume’s logs. The argument of the rule specifies how many mirrors the log should have.
Attribute Aliases Attribute Aliases The following aliases are supported for attributes: 134 Attribute Aliases Description Controller c, controller, cntrl, ctlr, ctrl The name of a controller, for example: "Controller"="c1" DA d, da, daname, devicename A disk access name, for example: "DA"="c0t4d0" DM disk, dm A disk media name, for example: "DM"="mydg01" Enclosure enclosure, enclr The name of an enclosure, for example: "Enclosure"="enc0" ProductId pid, productid The product identifier fo
Simplified Syntax for Rules on the Command Line Simplified Syntax for Rules on the Command Line For convenience, rules may be expressed in the following simplified form on the command line for the vxvoladm command: rule_name=attribute_name[=value][,...
Simplified Syntax for Rules on the Command Line 136 VERITAS Storage Foundation ISP Administrator’s Guide
A ISP Language Definition You can define the following objects using the VERITAS Intelligent Storage Provisioning (ISP) specification language: ◆ Capability ◆ Volume Template ◆ User Template ◆ Storage Pool ◆ Template Set ◆ Storage Pool Set ◆ Volume Group Note the following points with regard to the syntax of the language: ◆ Each object category, such as capability, template, user template and storage pool and capability has its own name space.
Syntax Conventions Syntax Conventions The following typographic conventions are used in the syntax description: Typeface Usage Examples monospace (bold) Indicates a keyword. capability monospace (italic) Indicates an irreducible term such as an identifier, and its type. A value is expected if only a type is specified. c_name:string monospace Indicates a reducible term. capability_list Symbol Usage Examples [] Indicates an optional syntax component.
Reserved Keywords Reserved Keywords The following keywords are reserved. They may not be used as identifiers for names of capabilities, templates and so on.
Capability Capability capability c_name:string [ { [ extends string_list ] [ description quoted_string ] [ descriptionid msgcat_id:quoted_string, msg_id:int ] [ display_name quoted_string ] [ display_name_id msgcat_id:quoted_string, msg_id:int ] [ variable_list ] } ] ; See “Capabilities” on page 114 for more information about the elements of a capability specification.
Volume Template Volume Template volume_template vt_name:string { [ provides string_list ] [ requires string_list ] [ inherits string_list ] [ extends string_list ] [ description quoted_string ] [ descriptionid msgcat_id:quoted_string, msg_id:int ] [ group quoted_string ] [ rules [ { template_rules } ] ] } ; See “Volume Templates” on page 116 for more information about the elements of a volume template specification.
Volume Template [ [ [ [ [ [ [ [ [ [ [ desired [ pref_order ] ] mirror int [ { [ desired [ pref_order ] ] confineto confineto_expr ] [ desired [ pref_order ] ] exclude exclude_expr ] [ desired [ pref_order ] ] select select_expr ] [ desired [ pref_order ] ] separateby string_list ] [ desired [ pref_order ] ] strong separateby string_list ] [ desired [ pref_order ] ] affinity string_list ] [ desired [ pref_order ] ] multipath multipath_expr ] [ desired [ pref_order ] ] striped boolean ] [ desired [ pref_ord
Volume Template [ [ [ [ [ [ [ [ [ [ [ desired [ pref_order ] ] mirror all [ { [ desired [ pref_order ] ] confineto confineto_expr ] [ desired [ pref_order ] ] exclude exclude_expr ] [ desired [ pref_order ] ] select select_expr ] [ desired [ pref_order ] ] separateby string_list ] [ desired [ pref_order ] ] strong separateby string_list ] [ desired [ pref_order ] ] affinity string_list ] [ desired [ pref_order ] ] multipath multipath_expr ] [ desired [ pref_order ] ] striped boolean ] [ desired [ pref_ord
Volume Template [ [ [ [ [ [ [ [ [ [ desired [ pref_order ] ] mirror_group mg_name:string [ { [ desired [ pref_order ] ] confineto confineto_expr ] [ desired [ pref_order ] ] exclude exclude_expr ] [ desired [ pref_order ] ] select select_expr ] [ desired [ pref_order ] ] separateby string_list ] [ desired [ pref_order ] ] strong separateby string_list ] [ desired [ pref_order ] ] affinity string_list ] [ desired [ pref_order ] ] multipath multipath_expr ] [ desired [ pref_order ] ] mirror int [ { [ [ desi
Volume Template [ [ [ [ [ [ [ [ [ } ] desired [ [ desired [ desired [ desired [ desired [ desired [ desired [ desired ] | pref_order ] [ pref_order [ pref_order [ pref_order [ pref_order [ pref_order [ pref_order [ pref_order ] ] ] ] ] ] ] ] stripe all [ { ] confineto confineto_expr ] ] exclude exclude_expr ] ] select select_expr ] ] separateby string_list ] ] strong separateby string_list ] ] affinity string_list ] ] multipath multipath_expr ] [ [ [ [ [ [ [ [ [ [ [ [ [ desired [ pref_order ] ] log i
Volume Template [ [ desired [ pref_order ] ] log all { type dcm |dco | drl | raid5 [ [ desired [ pref_order ] ] confineto confineto_expr ] [ [ desired [ pref_order ] ] exclude exclude_expr ] [ [ desired [ pref_order ] ] select select_expr ] [ [ desired [ pref_order ] ] separateby string_list ] [ [ desired [ pref_order ] ] strong separateby string_list ] [ [ desired [ pref_order ] ] affinity string_list ] [ [ desired [ pref_order ] ] multipath multipath_expr ] [ [ desired [ pref_order ] ] striped boolean ]
Volume Template exclude_expr name:string operator value:string | name:quoted_string operator value:quoted_string | allof(exclude_expr) | exclude_expr, exclude_expr multipath_expr from:int [ - to:int ] name:string | from:int [ - to:int ] name:quoted_string | multipath_expr, multipath_expr select_expr confineto_expr operator <= | < | = | > | >= | != pref_order int Appendix A, ISP Language Definition 147
User Template User Template user_template ut_name:string [ { [ description quoted_string ] [ descriptionid descriptionid ] [ volume_templates vt_name_list ] [ capability capabilities_expr ] [ rules [ { [ rules ] } ] ] } ] ; See “Creating and Modifying User Templates” on page 107 for more information about the elements of a user template specification.
Storage Pool Storage Pool storage_pool sp_name:string [ { [ volume_templates vt_name_list ] [ description quoted_string ] [ descriptionid descriptionid ] [ autogrow boolean ] [ selfsufficient boolean ] [ rules [ { [ sp_rules ] } ] ] } ] ; sp_rules [ sp_rule ] | sp_rules sp_rule sp_rule [ [ [ [ [ [ [ [ [ [ [ [ desired desired desired desired desired desired [ [ [ [ [ [ pref_order pref_order pref_order pref_order pref_order pref_order ] ] ] ] ] ] ] ] ] ] ] ] exclude exclude_expr ] separateby string_
Template Set Template Set template_set sp_name:string [ { [ volume_templates vt_name_list ] [ description quoted_string ] [ descriptionid descriptionid ] } ] ; Storage Pool Set storage_pool_set sp_name:string [ { [ storage_pools st_pool_list ] [ description quoted_string ] [ descriptionid descriptionid ] } ] ; st_pool_list sp_name:string | st_pool_list, st_pool_list Volume Group vg_rules [ vg_rule ] | vg_rules vg_rule vg_rule [[ [[ [[ [[ [[ [[ [[ desired desired desired desired desired desired desired
Volume Group oneof(confineto_expr) | noneof(confineto_expr) | allof(confineto_expr) | confineto_expr , confineto_expr exclude_expr name:quoted_string operator value:quoted_string | allof(exclude_expr) | eachof(exclude_expr) | exclude_expr, exclude_expr select_expr quoted_string | name:quoted_string operator value:quoted_string | eachof(select_expr) | allof(select_expr) | noneof(select_expr) | anyof(select_expr) | oneof(select_expr) | select_expr, select_expr multipath_expr from:int [ - to: int ] name:qu
Volume Group 152 VERITAS Storage Foundation ISP Administrator’s Guide
B Changing the Allocation Behavior of ISP The behavior that ISP exhibits when allocating storage can be controlled by setting the value of the allocation_priority_order attribute. For example, this attribute determines if growing the storage pool is preferred to dropping the desired rules when there is insufficient storage to create a volume.
In the table, the precedence order symbols have the following meaning: Symbol Description A Autogrow: If permitted by the value of the AutoGrow setting, the storage pool may be grown to increase the available storage. D Desired Rules: Rules may be dropped if insufficient storage is available. S Self-Sufficient: If permitted by the value of the SelfSufficent setting, templates may be added to the storage pool if insufficient storage is available.
C ISP Configuration Elements This appendix lists and describes the following types of pre-defined elements that are available for use with VERITAS Intelligent Storage Provisioning (ISP): ◆ Template Sets ◆ Volume Templates ◆ Capabilities ◆ Storage Pools ◆ Storage Pool Sets These elements are defined in /etc/vx/alloc/configuration_database.txt. Before modifying this file, make a backup copy so that you can reverse any changes that you make.
Template Sets Template Sets ConfineVolume Ensures that a volume is confined to specified storage. Provides capabilities: ConfineToSimilarStorage, ConfineToSpecificStorage. Uses templates: ConfineToSimilarStorage, ConfineToSpecificStorage. DataMirroring Ensures that a volume has multiple copies of its data.
Template Sets DataMirroringPrefabricatedStriping Ensures that a volume has multiple copies of data on prefabricated striped disks that are exported by an array. Provides capabilities: ArrayProductId, ConfineLogsToSimilarStorage, ConfineMirrorsToSimilarStorage, DataMirroring, DCOLogMirroring, DCOLogStriping, InstantSnapshottable, LogsOnSeparateComponents, MirrorsOnSeparateComponents, PrefabricatedStriping.
Template Sets InstantSnapshottable Ensures that a volume supports dirty region logging (DRL) and instant snapshots. Provides capabilities: ConfineLogsToSimilarStorage, DCOLogMirroring, DCOLogStriping, InstantSnapshottable, LogsOnSeparateComponents. Uses templates: ConfineLogsToSimilarStorage, DCOLogMirroring, DCOLogStriping, InstantSnapshottable, LogsOnSeparateComponents. MultipathingThroughMirroring Ensures that a volume can withstand the failure of a number of paths.
Template Sets PrefabricatedStriping Ensures that a volume uses prefabricated striped disks that are exported by an array. Provides capabilities: ArrayProductId, PrefabricatedStriping. Uses templates: ArrayProductId, PrefabricatedStriping. Raid5Templates Ensures that a volume uses parity to maintain redundant data.
Volume Templates Volume Templates ArrayProductId Provides capability: ArrayProductId. ColumnsOnSeparateComponents Provides capability: ColumnsOnSeparateComponents. ConcatVolumes Provides capability: ConcatVolumes. ConfineColumnsToSimilarStorage Provides capability: ConfineColumnsToSimilarStorage. ConfineLogsToSimilarStorage Provides capability: ConfineLogsToSimilarStorage. ConfineMirrorsToSimilarStorage Provides capability: ConfineMirrorsToSimilarStorage.
Volume Templates DataMirroring Provides capability: DataMirroring. Variable: nmirs Number of mirrors. DataMirrorStripe Provides capability: DataMirrorStripe. Variables: ncols Minimum number of columns. nmaxcols Maximum number of columns. nmirs Number of mirrors. DataStripeMirror Provides capability: DataStripeMirror. Variables: ncols Minimum number of columns. nmaxcols Maximum number of columns. nmirs Number of mirrors. DCOLogMirroring Provides capability: DCOLogMirroring.
Volume Templates LogsOnSeparateComponents Provides capability: LogsOnSeparateComponents. MirrorsOnSeparateComponents Provides capability: MirrorsOnSeparateComponents. MultipathingThroughMirroring Provides capabilities: DataMirroring, Multipathing. Variable: nmirs Number of mirrors. MultipathingThroughMultiplePaths Provides capability: MultipathingThroughMultiplePaths. PrefabricatedDataMirroring Provides capability: PrefabricatedDataMirroring.
Volume Templates nlogs Number of logs. nmaxcols Maximum number of columns. Striping Provides capability: Striping. Variables: ncols Minimum number of columns. nmaxcols Maximum number of columns.
Capabilities Capabilities ArrayProductId A volume uses storage of the same type (productid). Provided by volume template: ArrayProductId. ColumnsOnSeparateComponents The columns of a volume are separated at the specified component level, such as "Controller" or "Enclosure". Provided by volume template: ColumnsOnSeparateComponents. Variable: Name of component (default value is "Controller"). component ConcatVolumes The volume is concatenated. Provided by volume template: ConcatVolumes.
Capabilities ConfineMirrorsToSimilarStorage Each mirror uses only storage that has the same value for a specified attribute. Provided by volume template: ConfineMirrorsToSimilarStorage. Variable: name Name of storage attribute (default value is "Enclosure"). ConfineToSimilarStorage A volume uses only storage that has the same value for a specified attribute. Provided by volume template: ConfineToSimilarStorage. Variable: name Name of storage attribute (default value is VendorName).
Capabilities DataRedundancy A volume that maintains redundant data. Extended by capability: Raid5Capability. Extended by capability: DataMirroring. DataStripeMirror A striped-mirror volume distributes I/O across multiple columns, where each column has multiple copies of data. This capability extends the DataMirroring and Striping capabilities. Provided by volume template: DataStripeMirror. Variables: ncols Minimum number of columns (default value is 8).
Capabilities InstantSnapshottable A volume supports instant snapshots (full-sized or space-optimized). This capability extends the Snapshottable capability. Provided by volume template: InstantSnapshottable. LogsOnSeparateComponents The logs of a volume are separated at the specified component level, such as "Controller" or "Enclosure". Provided by volume template: LogsOnSeparateComponents. Variable: component Name of component (default value is "Enclosure").
Capabilities PrefabricatedDataMirroring A volume uses prefabricated data mirroring that is configured on disks that are exported by an array. This capability extends the PrefabricatedDataRedundancy capability. Provided by volume template: PrefabricatedDataMirroring. Variable: nmirs Number of prefabricated mirrors to use (default value is 2). PrefabricatedDataRedundancy A volume uses prefabricated redundant disks that are exported by an array.
Capabilities Raid5LogMirroring The number of RAID-5 log copies to configure for a RAID-5 volume. Provided by volume template: Raid5Volume. Variable: nlogs Number of RAID-5 log copies (default value is 1). Raid5LogStriping The number of columns to configure for striped RAID-5 logs. Provided by volume template: Raid5LogStriping. Variables: nraid5cols Minimum number of columns (default value is 4). nmaxraid5cols Maximum number of columns (default value is 10).
Storage Pools Storage Pools any_volume_type Supports volumes using any template from the configuration database. Default policies: autogrow=diskgroup selfsufficient=host Associates volume templates: none. mirror_stripe_volumes Supports distribution of I/O from and to volumes across multiple columns within mirrors.
Storage Pools mirrored_prefab_striped_volumes Supports use by volumes of multiple copies of data configured on prefabricated striped disks that are exported by an array.
Storage Pools prefab_raid5_volumes Supports use by volumes of prefabricated RAID-5 disks that are exported by an array. Default policies: autogrow=diskgroup selfsufficient=host Associates volume templates: ArrayProductId, ConfineToSimilarStorage, ConfineToSpecificStorage, DCOLogStriping, ExcludeSpecificStorage, InstantSnapshottable, MultipathingThroughMultiplePaths, PrefabricatedRaid5. prefab_striped_volumes Supports use by volumes of prefabricated striped disks that are exported by an array.
Storage Pools stripe_mirror_volumes Supports distribution of I/O from and to volumes across multiple columns, where each column has multiple copies of data.
Storage Pool Sets Storage Pool Sets mirrored_data_striped_clones Supports data volumes with multiple copies of data, and snapshot volumes with I/O distributed across multiple columns. Data storage pool type: mirrored_volumes. Clone storage pool type: striped_volumes. mirrored_prefab_raid5_data_mirrored_clones Supports data volumes with multiple copies of data created from RAID-5 storage, and snapshot volumes with multiple copies of data. Data storage pool type: mirrored_prefab_raid5_volumes.
Storage Pool Sets stripe_mirrored_data_striped_clones Supports I/O from and to data volumes that are distributed across multiple columns, where each column has multiple copies of data, and snapshot volumes with I/O distributed across multiple columns. Data storage pool type: stripe_mirror_volumes. Clone storage pool type: striped_volumes.
Storage Pool Sets 176 VERITAS Storage Foundation ISP Administrator’s Guide
D Volume Group Definition Syntax This appendix describes the syntax of a volumegroup definition that may be used as input to the vxvoladm command. Volume groups are generally used to create several volumes at the same time within a storage pool and are given equal weighting by VERITAS Intelligent Storage Provisioning (ISP) when allocating storage resources.
[tasktag "tag"] [type data|snapshot|cachevolume] [user "user"] [user_template "ut1"[,"ut2"...]] [usetype "volume-usage-type"] [volume_template "vt1"[,"vt2"...]] [vxvmtaskid taskid] } [volume "name" length { ... }] }; The volumegroup fields in this definition are: diskgroup dgname The name of the disk group in which the volumes are to be created. rules { volume-group-rules } The rules that are to be applied to all volumes in this volume group.
init active|none|zero The type of initialization to perform on a volume. iodelay delay The delay in milliseconds between copy operations performed during recovery of a plex. iosize size The size of each region that is resynchronized during recovery of a plex. layout "layout-type" The plex layout that is to be created. max_ncolumn number The maximum number of columns in a striped volume. max_nraid5column number The maximum number of columns in a RAID-5 volume.
user "user" The user ownership of a volume. user_template ut1[,ut2...] The user templates that are to be used to create a volume. usetype "volume-usage-type" The usage type of a volume, such as fsgen or raid5. volume_template vt1[,vt2...] The templates that are to be used to create a volume. vxvmtaskid taskid VxVM task ID. Multiple volumes may be defined within a volume group, and multiple volume groups may be defined in a definitions file.
E Command Summary This appendix summarizes the usage and purpose of important commands for the VERITAS Intelligent Storage Provisioning (ISP) feature of VERITAS Volume Manager (VxVM). ◆ Creating and Administering Storage Pools ◆ Creating and Administering Application Volumes References are included to longer descriptions in the remainder of this book. For detailed information about an individual command, refer to the appropriate manual page in the 1M section.
Creating and Administering Storage Pools 182 Command Description vxpool [-g diskgroup] distemplate\ storage_pool template=t1[,t2,...] Dissociates one or more templates from a storage pool. See “Dissociating Templates from a Storage Pool” on page 40. vxpool [-g diskgroup] print \ storage_pool [storage_pool ...] Displays information about storage pools. See “Displaying Information About Storage Pools” on page 41. vxpool [-g diskgroup] getpolicy \ storage_pool Displays policies for a storage pool.
Creating and Administering Application Volumes Command Description vxvoladm [-g diskgroup] [-b] \ maxsize [storage_specification] \ [attribute=value ...] Determines the maximum volume size. See “Determining the Maximum Volume Size” on page 47. vxvoladm [-g diskgroup] [-b] make \ volume length [storage_specification] \ [attribute=value ...] Creates a volume. See “Creating Volumes” on page 47.
Creating and Administering Application Volumes 184 Command Description vxvoladm [-g diskgroup] remove \ volume volume Deletes a volume. See “Removing a Volume” on page 63. vxvoladm [-g diskgroup] verify \ volume Verifies the intent of a volume. See “Verifying the Intent of a Volume” on page 70.
F Examples of Using ISP This appendix lists examples of using the vxvoladm and other commands that are provided by the VERITAS Intelligent Storage Provisioning (ISP) feature.
Creating Volumes Create a 2-way mirrored volume with each mirror on a separate enclosure: # vxvoladm -g exdg make vol1 10g \ capability='DataMirroring(nmirs=2),\ MirrorsOnSeparateComponents(component="Enclosure")' Create a 2-way mirror volume that is enabled for the creation of instant snapshots: # vxvoladm -g exdg make vol1 10g \ capability='DataMirroring(nmirs=2), InstantSnapshottable' Create a volume using only disks from enclosure e1: # vxvoladm -g exdg make vol1 10g rules='confineto "Enclosure"="e1"
Resizing a Volume Create a 4-way mirrored volume in which each mirror uses disks from the same enclosure, and for which instant snapshots can be taken: # vxvoladm -g exdg make vol1 10g \ capability='DataMirroring(nmirs=2),InstantSnapshottable,\ ConfineMirrorsToSimilarStorage(name="Enclosure")' Resizing a Volume Note The following examples show how to resize volumes that do not contain file systems (volume type gen).
Adding or Removing Columns Remove a mirror from a volume: # vxvoladm -g exdg remove mirror vol1 Remove the plex p1 from the volume v1: # vxvoladm -g exdg remove mirror vol1 plexnames=p1 Adding or Removing Columns Add a column to a volume, and grow the volume while doing this: # vxvoladm -g exdg add column vol1 layout=grow Add 4 columns to a volume, and grow the volume while doing this: # vxvoladm -g exdg add column vol1 ncols=4 layout=grow Add a column, but do not grow the volume: # vxvoladm -g exdg ad
Using Clone Pools to Implement Off-Host Processing # vxvoladm -g exdg evacuate subdisk vol1 sd=sd01 Evacuate subdisks sd11 and sd12 from volume vol1: # vxvoladm -g exdg evacuate subdisk vol1 sd=sd11,sd12 Evacuate disks disk01 and disk01 from volume vol1: # vxvoladm -g exdg evacuate disk vol1 \!disk01 \!disk02 Evacuate columns 4 and 7 of volume vol1: # vxvoladm -g exdg evacuate column vol1 columnnames=4,7 Evacuate mirror p1 of volume vol1: # vxvoladm -g exdg evacuate mirror vol1 plexnames=p1 Evacuate c
Segregating Database Components Note You do not need to run the vxsnap prepare command. Volumes created in a clone pool are automatically allocated a data change object (DCO). 3. Using the newly created volumes, take full-sized instant snapshots of the corresponding five volumes in the data pool: # vxsnap -g hrdg make src=vol1/snap=snapvol1/sync=yes \ src=vol2/snap=snapvol2/sync=yes \ src=vol3/snap=snapvol3/sync=yes \ src=vol4/snap=snapvol4/sync=yes \ src=vol5/snap=snapvol5/sync=yes 4.
Segregating Database Components This technique allows you to share appropriately tagged disks among a set of volumes of the same type. For example, if you specify the same confinement rule when creating several redo log volumes in a storage pool, those volumes share the disks that are reserved for that purpose.
Segregating Database Components 192 VERITAS Storage Foundation ISP Administrator’s Guide
G Configuring ISP to Work with SAL The SAN Access Layer (SAL) provides information about storage, hosts, and connectivity between hosts, and storage, HBAs, volumes and file systems. You can configure ISP to understand and consume information that is provided by SAL. The storage attributes provided by SAL can then be used with ISP rules. This appendix describes how to configure ISP and the SAN Access Layer (SAL) so that they can work together.
Configuring root as a SAL User Note The vxsalcmd command is provided by SAL to manage SAL user accounts. It is not a VERITAS Volume Manager command. 4. Edit the etc/default/vxassist file, and add an entry to define the user name that ISP uses for authentication. In the following example, the root account is used: sal_username=root Configuring root as a SAL User To add the root user on the remote host, island.universe.com, as a SAL user with SAL administrator privileges on the SAL primary, private.
Configuring root as a SAL User 4. Use the following command to create the local SAL account file: # vxsalcmd private.universe.com:2802 -f /tmp/maintain_user To confirm that the password has been set up correctly, enter the following command: # vxsalcmd private.universe.com:2802 user list This command should now list all the configured users without prompting for the SAL administrator’s password. 5. Remove the /tmp/add_user and /tmp/maintain_user files as these contain passwords in clear text.
Configuring root as a SAL User 196 VERITAS Storage Foundation ISP Administrator’s Guide
Index Symbols /etc/default/allocator file 46, 153 /etc/default/allocator_readme file 46 /etc/default/vxassist file 193 /etc/default/vxassist_sal_info file 193 /etc/vx/alloc/configuration_database.
sal_primary 193 sal_primary_port 193 sal_username 194 salcontact 193 storage 4 syncing 82 autogrow attributes tuning for space-optimized snapshot cache 79 autogrow feature 79 AutoGrow policy 6 autogrowby attribute 79 B backup off-host 94 behavior changing for ISP 153 benefits summarized for ISP 15 C cache daemon 79 cache volumes example of creating 30 caches changing size of 80 deleting 81 finding out snapshots configured on 81 preparing for space-optimized snapshots 77 removing 81 stopping 81 tuning autogr
Configuration Database 101 installing additional elements 101 configuration elements 101 installing into ISP Configuration Database 101 installing into storage pools and disk groups 102 listing 103 printing 103 provided in database 155 ConfineColumnsToSimilarStorage capability 165 ConfineColumnsToSimilarStorage volume template 161 ConfineLogsToSimilarStorage capability 165 ConfineLogsToSimilarStorage volume template 161 ConfineMirrorsToSimilarStorage capability 166 ConfineMirrorsToSimilarStorage volume temp
ExcludeSpecificStorage capability 168 ExcludeSpecificStorage volume template 162 extends keyword 117 InstantSnapshottable volume template 162 Intelligent Storage Provisioning (ISP) introduced 1 intent displaying rules for objects 70 preservation 63 purpose of application volume 12 verifying for volumes 70 iodelay field 179 iosize field 179 ISP 101 administration roles 17 benefits over vxassist 13 changing behavior of 153 concepts 2 configuring to work with SAL 193 examples of command-line usage 28 frequent
enclosures 49, 50 mirrored volumes example of creating 48 mirrored_data_striped_clones storage pool set 175 mirrored_prefab_raid5_data_mirrored_clones storage pool set 175 mirrored_prefab_raid5_volumes storage pool 171 mirrored_prefab_stripe_data_striped_clones storage pool set 175 mirrored_prefab_striped_volumes storage pool 172 mirrored_volumes storage pool 172 mirrored-stripe volumes example of creating 49 mirrors adding to volumes 64 example of adding and removing 187 removing from volumes 64 MirrorsOnS
Raid5Capability capability 50, 170 raid5loglen field 179 Raid5LogMirroring capability 50, 170 Raid5LogStriping capability 170 Raid5LogStriping volume template 163 Raid5Templates template set 159 Raid5Volume volume template 163 regionsize attribute 83 regionsize field 179 relayout 63 reliability capabilities 9 requires keyword 120 rules collected to form templates 10 compound 131 default_rules 46 displaying for objects 70 for storage layout 128 for storage selection 122 format of 121 in ISP 9 introduced 113
listing available 37 storage pool sets bundled definitions 5 displaying definition of 35 listing available 35 mirrored_data_striped_clones 175 mirrored_prefab_raid5_data_mirrored_clon es 175 mirrored_prefab_stripe_data_striped_clones 175 prefab_mirrored_data_prefab_striped_clone s 175 stripe_mirrored_data_striped_clones 176 striped_prefab_mirrored_data_striped_clone s 176 syntax of 150 using to organize storage pools 34 storage pools adding disks to 39 any_volume_type 171 associating template sets with 40 a
template rules syntax of 141 template sets associating with storage pools 40 collections of capabilities and templates 11 ConfineVolume 156 DataMirroring 156 DataMirroringPrefabricatedRaid5 156 DataMirroringPrefabricatedStriping 157 DataMirrorStripe 157 DataStripeMirror 157 InstantSnapshottable 158 MultipathingThroughMirroring 158 MultipathingThroughMultiplePaths 158 PrefabricatedDataMirroring 158 PrefabricatedRaid5 159 PrefabricatedStriping 159 Raid5Templates 159 removing 105 Striping 159 StripingPrefabric
ConcatVolumes 161 ConfineColumnsToSimilarStorage 161 ConfineLogsToSimilarStorage 161 ConfineMirrorsToSimilarStorage 161 ConfineToSimilarStorage 161 ConfineToSpecificStorage 161 DataMirroring 162 DataMirrorStripe 162 DataStripeMirror 162 DCOLogMirroring 162 DCOLogStriping 162 deactivating 104 dissociating from storage pools 40 ExcludeSpecificStorage 162 format of 116 installing into ISP Configuration Database 101 installing into storage pools and disk groups 102 InstantSnapshottable 162 introduction to admin
joining disk groups and their storage pools 38 moving storage pools between disk groups 38 splitting storage pools from disk groups 38 vxdisk listing disks reserved for ISP 34 vxdiskadm reserving disks for use with ISP 33 unreserving disks for use with ISP 34 vxedit preventing use of disks with ISP 34 removing a cache 81 removing restriction on non-usage with ISP 34 removing snapshots from a cache 81 reserving disks for use with ISP 33 unreserving disks for use with ISP 34 vxpool adding disks to storage poo
ISP model for allocating storage 14 migrating volumes from vxassist 71 overriding default values 46 overview of command 45 reducing the size of volumes 59 removing a DCO from a volume 61 removing columns from volumes 65 removing logs from volumes 68 removing mirrors from volumes 64 Index removing snapshots 91 removing volumes 63 reversing transformations 69 setting default values for 46 transforming volume capabilities 63 verifying intent of volumes 70 vxvoladmtask monitoring and controlling ISP tasks 69