Veritas Storage Foundation™ Intelligent Storage Provisioning 5.0.1 Administrator's Guide HP-UX 11i v3 HP Part Number: 5900-0085 Published: November 2009 Edition: 1.
© Copyright 2009 Hewlett-Packard Development Company, L.P. 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 Technical Support ............................................................................................... 4 Chapter 1 Understanding ISP .............................................................. 17 About Intelligent Storage Provisioning ............................................ The benefits of ISP ....................................................................... Support for ISP in the vxassist command .................................... Summary of the benefits of using ISP .
8 Contents Creating a clone storage pool .................................................... Preparing a full-sized snapshot volume ...................................... Taking a full-sized snapshot of an application volume .................. Creating a cache volume for space-optimized snapshots ................ Preparing a space-optimized snapshot ....................................... Taking a space-optimized snapshot of an application volume ..........................................................
Contents Creating volumes with associated tags ............................................. Creating multiple volumes with the same prefix ................................ Creating multiple volumes as a volume group .................................... Creating a volume for use with snapshots and DRL ............................. Chapter 4 Administering application volumes ................................. 77 About administration of application volumes ....................................
10 Contents Creating a shared cache volume and preparing space-optimized snapshots ........................................................................... Creating a cache volume and preparing the space-optimized volumes ........................................................................ Creating a cache volume and preparing the space-optimized volumes in a single operation ........................................... Tuning the autogrow attributes ...............................................
Contents Listing templates included by template sets .................................... Finding template sets containing specified templates ........................ Listing templates included by storage pool definitions ...................... Removing templates, capabilities and template sets .......................... Chapter 7 Creating and modifying user templates ....................... 139 About creating user templates ......................................................
12 Contents Attribute aliases ......................................................................... 166 Simplified syntax for rules on the command line .............................. 166 Appendix A ISP language definition .................................................... 169 About the ISP language ............................................................... Syntax conventions .................................................................... Reserved keywords ................................
Contents Appendix C ISP configuration elements ............................................. 187 About ISP configuration elements ................................................. Template set .............................................................................. ConfineVolume .................................................................... DataMirroring ..................................................................... DataMirroringPrefabricatedRaid5 .......................................
14 Contents Raid5Volume ....................................................................... Striping .............................................................................. Capability ................................................................................. ArrayProductId .................................................................... ColumnsOnSeparateComponents ............................................ ConcatVolumes ..............................................................
Contents striped_prefab_mirrored_volumes ........................................... striped_volumes ................................................................... Storage pool set ......................................................................... mirrored_data_striped_clones ................................................ mirrored_prefab_raid5_data_mirrored_clones ........................... mirrored_prefab_stripe_data_striped_clones .............................
16 Contents
Chapter 1 Understanding ISP This chapter includes the following topics: ■ About Intelligent Storage Provisioning ■ The benefits of ISP ■ Frequently asked questions about ISP ■ Administration roles in ISP ■ Sample ISP deployments ■ About ISP concepts ■ Examples of using ISP from the command line About Intelligent Storage Provisioning Intelligent Storage Provisioning (ISP) allows you to organize and manage your physical storage by creating virtual storage devices, as application volumes.
18 Understanding ISP The benefits of ISP ■ Adding mirrors and columns to a volume while it is online. ■ Removing mirrors and columns from a volume while it is online. ■ Relocating a subdisk of a volume while it is online. ■ Changing the capabilities of a volume while it is online. ■ Creating volume snapshots using software or hardware. ■ Reallocation of storage to preserve the capabilities of a volume.
Understanding ISP The benefits of ISP enclosures,” and using the set of heuristic rules that were hard-coded within vxassist. Although some storage attributes are known to VxVM, you must do most of the work in deciding how to lay out the storage if you are to create a volume with the desired performance, reliability and fault tolerance. Figure 1-1 shows the traditional model for allocating storage to volumes.
20 Understanding ISP The benefits of ISP perform manually. ISP aids you in managing large sets of storage by providing an allocation engine that chooses which storage to use based on the capabilities that you specify for the volumes to be created.
Understanding ISP The benefits of ISP Support for ISP in the vxassist command You can use the vxassist command to create and administer ISP volumes. The vxassist command now accepts the same specification of templates, capabilities and rules as the vxvoladm command, and a set of vxassist storage specification attributes are automatically translated into equivalent ISP rules.
22 Understanding ISP Frequently asked questions about ISP ■ The vxassist utility includes a number of hard-coded rules that it uses when selecting storage. For example, vxassist may configure objects on separate controllers without being instructed to do so. ISP requires that the selection of storage is made explicit through rules, capabilities and templates. ■ Disk group split and join is supported at the level of storage pools.
Understanding ISP Frequently asked questions about ISP characteristics in the pool. If you attempted to create a striped volume in the pool, the resulting volume is mirrored as well as striped. However, you are not constrained from creating volumes with other characteristics. You can use rules to bypass restrictions that are imposed by higher-level abstractions like volume templates and capabilities.
24 Understanding ISP Administration roles in ISP they share storage, the type of I/O requests made by applications, and the amount of I/O from/to each volume. For example, allocating two volumes to a single disk array that has a large cache would probably provide better overall I/O performance than placing one volume on the disk array and the other on a JBOD. If necessary, you can configure smaller storage pools in separate disk groups to restrict the allocation of storage.
Understanding ISP Administration roles in ISP As a system administrator, you can use either the VEA or the vxassist and vxvoladm utilities to perform your tasks. The VEA graphical interface is most suitable for day-to-day administration. The vxassist and vxvoladm utilities are primarily intended for use in administration scripts. Figure 1-3 shows the use of the vxassist or vxvoladm command to create application volumes.
26 Understanding ISP 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 24.
Understanding ISP Administration roles in ISP Figure 1-5 illustrates that the vxpool command is used to create storage pools with associated policies, templates and capabilities. Figure 1-5 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.
28 Understanding ISP Sample ISP deployments Figure 1-6 shows that the command-line utilities are primarily intended for use in administration scripts, but can also be used to compile and install templates and capabilities. Figure 1-6 Creating templates and capabilities Template and capability definitions vxtemplate Use the vxtemplate command to compile templates and capabilities, and to install these in a disk group.
Understanding ISP Sample ISP deployments 29 allocated to volumes. For example, a storage pool might be composed entirely of LUNs that have a hardware snapshot capability (for example, EMC Business Continuity Volumes). Figure 1-7 shows how to Set the AutoGrow policy to pool to ensure that the entire storage pool remains snapshot-capable.
30 Understanding ISP Sample ISP deployments Figure 1-8 Effect of setting non-default storage pool policies Disk Group Policies: AutoGrow = diskgroup SelfSufficient = host Storage pool LUNs outside the storage pool can be used Templates Other templates in the disk group can be used Templates Templates outside the disk group can be used Templates Application volumes LUNs outside the disk group cannot be used About arranging storage by volume usage Figure 1-9 shows that the simplest way to arrange
Understanding ISP Sample ISP deployments Figure 1-9 Arranging storage by volume usage Disk group 2 Disk group 1 Storage pool 1 Storage pool 2 Templates Templates Application volumes Application volumes Although this is the simplest way of arranging storage and is expected to be the most common, it may not provide sufficient flexibility for some installations. See “About arranging storage by attributes” on page 31.
32 Understanding ISP About ISP concepts Figure 1-10 Example usage of attached attributes Disk Group Storage pool LUNs with attached attribute Building = Bld1 Templates LUNs with attached attribute Building = Bld2 Templates are configured to provide the capability of mirroring application volumes between buildings Application volumes Alternatively, you could specify appropriate separation rules to instruct ISP to mirror volumes between buildings.
Understanding ISP About ISP concepts Figure 1-11 Relationship between ISP concepts Disk group Storage pool LUNs Configuration database User templates Attributes LUN policies and template policies Rules Capabilities Capabilities Volume templates Volume templates Volume templates Intent Rules Application volumes These concepts are defined in the following sections (in order of increasing abstraction): ■ About disk groups ■ About LUNs ■ About attributes ■ About storage pools ■ About stor
34 Understanding ISP About ISP concepts ■ About capabilities ■ About rules ■ About volume templates ■ About template sets ■ About user templates ■ About application volumes ■ About volume intent About disk groups 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.
Understanding ISP About ISP concepts ■ Performance properties You can use disk tags to create storage attributes in addition to those that are intrinsically associated with the disk hardware, and which are automatically discovered or assigned by VxVM. Disk tags are administered by using the vxdisk command or the VEA graphical user interface.
36 Understanding ISP About ISP concepts About data pools A data storage pool is the first storage pool that is created within a disk group. All other storage pools that are subsequently created within a disk group are clone pools. 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.
Understanding ISP About ISP concepts About storage pool policies A storage pool’s policies define how it behaves when more storage is required, and when you try to create volumes whose capabilities are not permitted by the current templates. The following policies are associated with a storage pool: ■ AutoGrow defines how a storage pool uses LUNs. This policy can take the following level values: pool uses storage that has been manually assigned to the storage pool.
38 Understanding ISP About ISP concepts Scope levels for storage pool policies Figure 1-12 LUNs and templates in a disk group (level = diskgroup) LUNS and Templates In a 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) About capabilities A capability is a feature that is provided by a volume.
Understanding ISP About ISP concepts Table 1-1 Storage pool capabilities (continued) Capability Adjustable parameters Description Raid5LogMirroring nlogs — number of log copies Provides reliability for RAID-5 logs by mirroring. Striping ncols — minimum number of Provides performance by striping across columns. columns nmaxcols — maximum number of columns Capabilities have variable parameters that you can specify, such as the number of mirrors or columns.
40 Understanding ISP About ISP concepts Table 1-2 shows examples of storage selection rules. Table 1-2 Storage selection rules Rule Description affinity Attempts to select storage with shared attributes. confineto Restricts selection of storage by specifying attributes. exclude Prevents storage with certain attributes from being selected. select Specifies the storage to be used. separateby Defines fault domains for objects such as plexes.
Understanding ISP About ISP concepts Table 1-3 Storage layout rules (continued) Rule Description striped Specifies whether a volume is striped. For example, the following rule specifies that a volume can be created using parity to provide data redundancy: parity true About volume templates A volume template (or template for short) is a meaningful collection of rules that provide a capability.
42 Understanding ISP About ISP concepts Table 1-4 Example templates (continued) Template Provides capabilities Adjustable parameters for the capability Striping Striping ncols — minimum number of columns nmaxcols — maximum number of columns See “Volume template” on page 191. About template sets A template set consists of related capabilities and templates that have been collected together for convenience.
Understanding ISP Examples of using ISP from the command line A user template is not directly associated with a storage pool. Its association is implied by its reference to capabilities and templates. About application volumes An application volume is created by ISP, and then exported for use by an application such as a database or file system. It is identical to a traditional volume that you would create using vxassist and other VxVM commands, or via the VEA GUI.
44 Understanding ISP Examples of using ISP from the command line See “Creating a storage pool” on page 51. Adding the disks to a storage pool You can use the vxpool adddisk command to add initialized disks to a storage pool. For example, the following command adds two disks to the storage pool, mypool: # vxpool -g mydg adddisk mypool dm=mydg07,mydg08 See “Adding disks to a storage pool” on page 54.
Understanding ISP Examples of using ISP from the command line # vxassist -g mydg -p mypool growto stmrvol 4g Any file system or other application storage layout that you have created on the volume can be resized after you have grown the volume. See “Resizing volumes online” on page 78.
46 Understanding ISP Examples of using ISP from the command line # vxsnap -g mydg syncwait mysnpvol See “Creating instant snapshots” on page 107. Creating a cache volume for space-optimized snapshots If you want to use space-optimized snapshots, you must prepare a storage cache where the snapshots can be created.
Chapter Storage pools This chapter includes the following topics: ■ About storage pools and ISP ■ Reserving and unreserving disks for use with ISP ■ Organizing storage pools in a disk group ■ Creating a storage pool ■ Using disk group split and join with storage pools ■ Adding disks to a storage pool ■ Removing disks from a storage pool ■ Associating templates with a storage pool ■ Associating template sets with a storage pool ■ Dissociating templates from a storage pool ■ Displaying i
48 Storage pools About storage pools and ISP About storage pools and ISP 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.
Storage pools 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 The flags allocator_reserved and allocator_nouse parameters are mutually exclusive. Their values cannot both be set to on for a disk.
50 Storage pools Organizing storage pools in a disk group mirroring, and the clone pool has associated templates that relate to striping. A suitable choice would be the mirrored_data_striped_clones storage pool set. To create these storage pools within a disk group, use the following command: # vxpool -g diskgroup organize mirrored_data_striped_clones See “Listing storage pool sets” on page 50. See “Displaying storage pool set definitions” on page 50.
Storage pools Creating a storage pool Creating a storage pool As a alternative to the vxpool organize command, you can use the vxpool create command to define and create a storage pool, as shown in the following command definition: # 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 ...
52 Storage pools Creating a storage pool snapshots of the volumes in the data storage pool. You need only place such snapshots in a separate clone storage pool if they need to be created using different templates from their parent volumes, or if they are to be moved into a different disk group. Listing available storage pool definitions To list all the available storage pool definitions, use the following command: # vxpool listpooldefinition See “Storage pool” on page 202.
Storage pools Using disk group split and join with storage pools autogrow 2 selfsufficient 1 }; Using disk group split and join with storage pools Storage pools form the smallest unit that can participate in disk group split and join operations. See the section “Reorganizing the Contents of Disk Groups” in the “Creating and Administering Disk Groups” section of the Veritas Volume Manager Administrator’s Guide for details.
54 Storage pools Adding disks to a storage pool # vxdg move sourcedg targetdg clonepool ... As for the split operation, a data pool is created in the target disk group if no data pool currently exists there. Adding disks to a storage pool To add one or more initialized disks to the storage pool, use the following command definition: # vxpool [-g diskgroup] adddisk storage_pool \ dm=dm1[,dm2,...
Storage pools Associating templates with a storage pool Associating templates with a storage pool To associate one or more volume templates with a storage pool, use the vxpool assoctemplate command as shown in the following command definition: # vxpool [-g diskgroup] assoctemplate storage_pool \ template=t1[,t2,...
56 Storage pools Dissociating templates from a storage pool Dissociating templates from a storage pool To dissociate a template from a storage pool, use the following command definition: # vxpool [-g diskgroup] distemplate storage_pool \ template=t1[,t2,...
Storage pools Displaying storage pool policies Displaying storage pool policies To display the policies that are set on a storage pool, use the vxpool getpolicy command as shown in the following command definition: # vxpool [-g diskgroup] getpolicy storage_pool In the following example, this command is used to display the policies for the storage pool, ReliablePool: # vxpool -g mydg getpolicy ReliablePool Autogrow Selfsufficient 2 1 Changing the policies on a storage pool By default, ISP sets the values
58 Storage pools Finding storage pool sets containing specified pool definitions # vxpool -g mydg list Finding storage pool sets containing specified pool definitions To list the storage pool set definitions in the ISP Configuration Database that contain certain storage pool definitions, use the following command: # vxpool -C listpoolset [pooldefn=pd1[,pd2...
Storage pools Deleting a storage pool If any volumes are present in the storage pool, you must delete these before the storage pool can be deleted.
60 Storage pools Deleting a storage pool
Chapter 3 Creating application volumes This chapter includes the following topics: ■ About creating application volumes ■ Overview of the command line interface ■ Determining the maximum volume size ■ Creating volumes ■ Creating volumes with associated tags ■ Creating multiple volumes with the same prefix ■ Creating multiple volumes as a volume group ■ Creating a volume for use with snapshots and DRL About creating application volumes Volumes created by Veritas Intelligent Storage Provisio
62 Creating application volumes Overview of the command line interface license and a Veritas FlashSnap™ or FastResync license to use the instant snapshot feature. Vendors of disk arrays may also provide capabilities that require special licenses for certain features of their hardware. Overview of the command line interface You can use the vxassist command to create and manage ISP volumes provided that you have set up a storage pool in the disk group.
Creating application volumes Determining the maximum volume size The file, /etc/default/allocator_readme, contains a copy of the defaults file as it is shipped and first installed. By default, the attribute settings in the installed /etc/default/allocator file are commented out. If required, you can uncomment the entries, and edit their values. If you do this, you should first make a backup copy of the original unedited file to keep for reference.
64 Creating application volumes Creating volumes For example, the following command returns the maximum possible size of a mirrored volume with three mirrors that can be created from all the available free storage: # vxassist -g mydg -P mypool maxsize layout=mirror nmir=3 The following command is equivalent if the DataMirroring capability is specified: # vxassist -g mydg -P mypool maxsize \ capability=’DataMirroring(nmirs=3)’ The following example checks for the maximum volume size that can be created u
Creating application volumes Creating volumes ■ If you specify rules along with templates, ISP creates volumes that comply to the rules in the templates, and also to those rules that are specified as arguments to vxassist. ■ If you specify capabilities along with templates, ISP selects the appropriate templates from those specified that conform to the desired capabilities.
66 Creating application volumes Creating volumes Creating a mirrored volume The following command creates a 1 GB volume with the default number of two mirrors: # vxassist -g mydg -o intent make mir2vol 1g layout=mirror \ nmir=2 init=active The init=active attribute makes the volume immediately available for use without attempting to synchronize its empty plexes.
Creating application volumes Creating volumes # vxassist -g mydg -P mypool make strpvol 2g \ layout=mirror-stripe ncols=8 mirror=controller Creating a RAID-5 volume with a RAID-5 log The following command creates a 2 GB RAID-5 volume with eight data columns and a RAID-5 log that has two redundant copies: # vxassist -g mydg -P mypool make r5vol 2g layout=raid5 \ ncols=8 nraid5logs=2 Creating volumes by specifying capabilities A capability is a high-level description of a volume, for example, DataMirroring
68 Creating application volumes Creating volumes # vxassist -g mydg -P mypool make strpvol 2g \ capability=’DataMirroring,MirrorsOnSeparateComponents’ Such a volume tolerates the failure of one enclosure and provides greater reliability.
Creating application volumes Creating volumes # vxassist -g mydg -P mypool make r5vol 2g \ capability=’Raid5Capability(ncols=8),\ Raid5LogMirroring(nlogs=2)’ Creating volumes by specifying capabilities and rules You can specify storage selection and layout rules in addition to capabilities when creating volumes. This allows you to select explicitly which storage can and cannot be used for certain volumes.
70 Creating application volumes Creating volumes # vxassist -g mydg -P mypool make strvol 1g \ capability=’Striping(ncols=4)’ \ rules=’exclude allof("Room"="Room1","DeviceName"="Enc1_1",\ "DeviceName"="Enc1_2")’ Creating volumes by specifying templates Volumes can be created by specifying templates instead of capabilities.
Creating application volumes Creating volumes The following vxtemplate print command is then run to examine the definition of the PrefabricatedRaid5 volume template: # vxtemplate -g mydg print PrefabricatedRaid5 volume_template PrefabricatedRaid5 { provides PrefabricatedRaid5 rules { apply ArrayProductId confineto "Parity" ="1" } }; The apply rule in the listing shows that the PrefabricatedRaid5 template depends on the ArrayProductId template.
72 Creating application volumes Creating volumes with associated tags # vxassist [-g diskgroup] [-P storage_pool] make volume length \ capability=’capability[,capability...]’ \ volume_template=template[,template...] If you specify rules in addition to capabilities and templates, these rules are applied after ISP has selected the templates that satisfy the required capabilities.
Creating application volumes Creating multiple volumes as a volume group This creates three mirrored volumes named mirvol1, mirvol2 and mirvol3. If volumes with the same name prefix and numeric suffix already exist, the numbering of the new volumes continues from the highest number found plus 1. For example, if there are existing volumes named mirvol1 and mirvol2, the new volumes are named mirvol3, mirvol4 and mirvol5.
74 Creating application volumes Creating multiple volumes as a volume group The following sample definition specifies a prefabricated striped volume on storage that is restricted to the location Room1, and a volume that is mirrored across controllers in the disk group testdg. In addition, the rules for the volume group specify that the volumes are to be created on separate enclosures, and that storage may only be allocated on disks from a given vendor.
Creating application volumes Creating a volume for use with snapshots and DRL 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.
76 Creating application volumes Creating a volume for use with snapshots and DRL
Chapter Administering application volumes This chapter includes the following topics: ■ About administration of application volumes ■ Resizing volumes online ■ Setting tags on volumes ■ Preparing a volume for DRL and snapshot operations ■ Evacuating a volume ■ Removing a volume ■ Performing online relayout on a volume ■ Transforming the capabilities of a volume online ■ Adding mirrors to a volume ■ Removing mirrors from a volume ■ Adding columns to a volume ■ Removing columns from a
78 Administering application volumes About administration of application volumes ■ Reversing volume transformations ■ Finding volumes that use specified capabilities or templates ■ Verifying the intent of a volume ■ Displaying the rules associated with volumes ■ Migrating non-ISP volumes to ISP volumes ■ Migrating ISP volumes to non-ISP volumes About administration of application volumes You can perform maintenance tasks on volumes that you have created using Veritas Intelligent Storage Provis
Administering application volumes Resizing volumes online You can specify the length argument in sectors, kilobytes, megabytes, gigabytes or as a percentage by adding the unit of measure as a suffix (s, m, k, g, t, p, e or %) to the length value. If no unit is specified, sectors are assumed. If the volume that is being resized has any linked mirror volumes, these mirror volumes are also resized in the same operation.
80 Administering application volumes Resizing volumes online # vxassist [-g diskgroup] [-f] growto volume length \ [attributes...] You can use storage specification attributes with this command to restrict the storage that is used to grow a volume.
Administering application volumes Setting tags on volumes Reducing the size of a volume by a specified amount The following command reduces the length of a volume by a specified amount: # vxassist [-g diskgroup] [-f] shrinkby volume length \ [attributes...
82 Administering application volumes Preparing a volume for DRL and snapshot operations # vxassist [-g diskgroup] settag volume tagname[=tagvalue] # vxassist [-g diskgroup] replacetag volume oldtag newtag # vxassist [-g diskgroup] removetag volume tagname To list the tags that are associated with a volume, use the following command: # vxassist [-g diskgroup] listtag volume To list the volumes that have a specified tag name, use the following command: # vxassist [-g diskgroup] list tag=tagname volume Ta
Administering application volumes Evacuating a volume Use the following command to add a version 20 DCO and DCO volume to an existing volume: # vxassist [-g diskgroup] [-P storage_pool] addlog volume \ [nlog=number] logtype=dco [regionsize=size] \ [drl=yes|no|sequential] The nlog attribute specifies the number of DCO plexes that are created in the DCO volume. It is recommended that you configure as many DCO plexes as there are data plexes in the volume.
84 Administering application volumes Evacuating a volume # vxassist [-g diskgroup] [-b] evacuate disk volume \ evac_storage=rule[,...] [use_storage=rule[,...]] \ [attributes...] The disk media names of the disks that are to be evacuated are specified as !dmname where dmname is a disk media name. Alternatively, you can also use the storage specification attribute, evac_storage, to specify rules for evacuating currently used storage.
Administering application volumes Removing a volume If the specified volume is currently enabled, the data in enabled plexes and their component enabled plexes is moved without interrupting the availability of the volume and without changing its redundancy. Subdisks that are within detached plexes, disabled plexes, detached logs, or RAID-5 subdisks are moved without any attempt to recover the data. If the specified volume is not currently enabled, stale or offline plexes are moved without recovery.
86 Administering application volumes Transforming the capabilities of a volume online Transforming the capabilities of a volume online To change the capabilities of an existing volume online, use the vxassist transform command as shown in the following command definition: # vxassist [-g diskgroup] [-b] transform volume [attributes...] If specified, the -b option performs the transformation in the background.
Administering application volumes Adding columns to a volume # vxassist [-g diskgroup] [-f] remove mirror volume \ [nmirrors=number] [attributes...] By default, one mirror is removed. You can use the nmirrors attribute to specify the number of mirrors to remove. You can use storage attributes to specify the storage to be removed.
88 Administering application volumes Removing columns from a volume JFS (Full VxFS) file system, which can be grown while mounted. See the vxresize(1M) manual page for more information. Removing columns from a volume To remove columns from a striped or RAID-5 volume, use the following command: # vxassist [-g diskgroup] [-b] [-f] remove column volume \ [ncols=number] [tmplen=length] The ncols attribute specifies the number of columns to remove.
Administering application volumes Adding logs to a volume 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.
90 Administering application volumes Removing logs from a volume Removing logs from a volume To remove logs from a volume, use the following command: # vxassist [-g diskgroup] [-f] remove log volume \ [nlogs=number] logtype=type [attributes...] The supported log types are dco and raid5. By default, one RAID-5 log or one plex of a DCO volume is removed. You can use the nlogs attribute to specify the number of logs or DCO plexes to remove.
Administering application volumes Reversing volume transformations See the “Monitoring and Controlling Tasks” section in the “Administering Volumes” section of the Veritas Volume Manager Administrator’s Guide. See the vxtask(1M) manual page.
92 Administering application volumes Finding volumes that use specified capabilities or templates Finding volumes that use specified capabilities or templates To list the volumes that were created using certain capabilities or templates, use the following command: # vxassist [-g diskgroup] [-P storage_pool] list \ [capability=c1[,c2...]] [template=t1[,t2...
Administering application volumes Migrating non-ISP volumes to ISP volumes If a rule is marked as desired, the output indicates whether the rule was obeyed or not. The vxassist printintent command displays the capabilities, volume templates and rules that were specified when a volume was created. The vxassist printrules command displays the final set of rules that were obtained by precessing the specified capabilities, volume templates and rules.
94 Administering application volumes Migrating non-ISP volumes to ISP volumes . . . The default intent that ISP applies to the volumes that are being migrated is to allocate plexes, logs and columns on separate disks. You can specify additional rules using the -I option on the command line, or by entries in the definitions file. You cannot include mirror, stripe or log rules.
Administering application volumes Migrating ISP volumes to non-ISP volumes ■ The disk group containing the volumes to be migrated must have a version number of 120 or greater. Migrating ISP volumes to non-ISP volumes The vxassist reversemigrate operation allows you to convert ISP volumes to non-ISP volumes.
96 Administering application volumes Migrating ISP volumes to non-ISP volumes
Chapter 5 Administering instant snapshots This chapter includes the following topics: ■ About administration of instant snapshots ■ Limitations of volume snapshots ■ Preparing storage pools for full-sized instant snapshots ■ Creating a volume for use as a full-sized instant or linked break-off snapshot ■ Creating a shared cache volume and preparing space-optimized snapshots ■ Creating instant snapshots About administration of instant snapshots Veritas Volume Manager (VxVM) provides the capabil
98 Administering instant snapshots Limitations of volume snapshots of the volume whose snapshot is being taken. A snapshot volume can be created in either a data pool or in a clone pool. ■ Linked break-off snapshot volumes differ from full-sized instant snapshots in that they can be set up in a different disk group from the data volume.
Administering instant snapshots Preparing storage pools for full-sized instant snapshots other than by shutting down the applications and temporarily unmounting the file system. In many cases, it may only be important to ensure the integrity of file data that is not in active use at the time that you take the snapshot. Traditional third-mirror break-off snapshots cannot be taken of application volumes that have been created by ISP.
100 Administering instant snapshots Creating a volume for use as a full-sized instant or linked break-off snapshot This command assigns default names for the storage pools. These names are based on the definition names. If required you can rename these storage pools. See “Storage pool set” on page 206. See “Renaming a storage pool” on page 58.
Administering instant snapshots Creating a shared cache volume and preparing space-optimized snapshots To create an empty volume for use by a full-sized instant or linked break-off snapshot 1 Use the vxprint command on the original volume to find the required size for the snapshot volume. # LEN=‘vxprint [-g diskgroup] -F%len volume‘ The command shown in this and subsequent steps assumes that you are using a Bourne-type shell such as sh, ksh or bash.
102 Administering instant snapshots Creating a shared cache volume and preparing space-optimized snapshots space-optimized snapshots that use a shared cache fails if the region size of the volume is smaller than the region size of the cache. If the region size of a space-optimized snapshot differs from the region size of the cache, this can degrade the system’s performance compared to the case where the region sizes are the same.
Administering instant snapshots Creating a shared cache volume and preparing space-optimized snapshots I/O performance for critical volumes, or hindering disk group split and join operations. 2 Use the following vxassist command to create the cache volume: # vxassist [-g diskgroup] [-P storage_pool] make cachevol \ size [storage_specification ...] [attribute ...
104 Administering instant snapshots Creating a shared cache volume and preparing space-optimized snapshots Creating a cache volume and preparing the space-optimized volumes in a single operation Alternatively, you can use the following command to create a cache volume and prepare the space-optimized snapshot volumes in a single operation: # vxassist -M make <
Administering instant snapshots 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.
106 Administering instant snapshots Creating a shared cache volume and preparing space-optimized snapshots You can use the maxautogrow attribute to limit the maximum size to which a cache can grow. To estimate this size, consider how much the contents of each source volume are likely to change between snapshot refreshes, and allow some additional space for contingency. If necessary, you can use the vxcache set command to change other autogrow attribute values for a cache.
Administering instant snapshots Creating instant snapshots To remove a cache completely, including the cache object, its cache volume and all space-optimized snapshots that use the cache 1 Use the following command to find out the names of the top-level snapshot volumes that are configured on the cache object: # vxprint -g diskgroup -vne \ "v_plex.pl_subdisk.sd_dm_name ~ /cache_object/" where cache_object is the name of the cache object.
108 Administering instant snapshots Creating instant snapshots A plex in a full-sized instant snapshot requires as much space as the original volume. If you instead make a space-optimized instant snapshot of a volume, this only requires enough storage to record the original contents of the parent volume as they are changed during the life of the snapshot. The recommended approach to performing volume backup from the command line, or from a script, is to use the vxsnap command.
Administering instant snapshots Creating instant snapshots To prepare a volume for the creation of instant and break-off snapshots 1 Use the following commands to see if the volume is associated with a version 20 data change object (DCO) and DCO volume that allow instant snapshots and Persistent FastResync to be used with the volume, and to check that FastResync is enabled on the volume: # vxprint -g volumedg -F%instant volume # vxprint -g volumedg -F%fastresync volume If both commands return a value of
110 Administering instant snapshots Creating instant snapshots 3 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 full-sized instant snapshots, linked break-off snapshots and space-optimized instant snapshots, you must also create a volume for use as the snapshot volume.
Administering instant snapshots Creating instant snapshots The attributes for a snapshot are specified as a tuple to the vxsnap make command. This command accepts multiple tuples; one for each snapshot that is being created. Each element of a tuple is separated from the next by a slash character (/). Tuples are separated by white space. To create and manage a space-optimized instant snapshot 1 Create a shared cache object, and prepare a snapshot that uses this cache.
112 Administering instant snapshots Creating instant snapshots Creating and managing full-sized instant snapshots Full-sized instant snapshots are not suitable for write-intensive volumes (such as for database redo logs) because the copy-on-write mechanism may degrade the performance of the volume. If you intend to split the volume and snapshot into separate disk groups (for example, to perform off-host processing), you must use a fully synchronized linked break-off snapshot.
Administering instant snapshots Creating instant snapshots 3 You can use the vxsnap syncwait command to wait for the synchronization of the snapshot volume to be completed, as shown in the following command: # vxsnap [-g diskgroup] syncwait snapvol For example, you would use the following command to wait for synchronization to finish on the snapshot volume, snap2myvol: # vxsnap -g mydg syncwait snap2myvol This command exits (with a return code of zero) when synchronization of the snapshot volume is comp
114 Administering instant snapshots Creating instant snapshots result of the operation. A space-optimized instant snapshot always remains intact at the end of the operation. See “Restoring a volume from an instant snapshot” on page 120. ■ Dissociate the snapshot volume entirely from the original volume. This may be useful if you want to use the copy for other purposes such as testing or report generation. If desired, you can delete the dissociated volume.
Administering instant snapshots Creating instant snapshots To create and manage a linked break-off snapshot 1 Use the following command to link the prepared snapshot volume, snapvol, to the data volume: # vxsnap [-g diskgroup] [-b] addmir volume mirvol=snapvol \ [mirdg=snapdg] The optional mirdg attribute can be used to specify the snapshot volume’s current disk group, snapdg. The -b option can be used to perform the synchronization in the background.
116 Administering instant snapshots Creating instant snapshots 5 If you require a backup of the data in the snapshot, use an appropriate utility or operating system command to copy the contents of the snapshot to tape, or to some other backup medium. 6 You now have the following choices of what to do with a linked break-off snapshot: ■ Refresh the contents of the snapshot. This creates a new point-in-time image of the original volume ready for another backup.
Administering instant snapshots Creating instant snapshots source=vol2/snapvol=snapvol2 \ source=vol3/snapvol=snapvol3 The specified source volumes (vol1, vol2 and so on) may be the same volume or different volumes. The vxsnap make command allows the snapshots to be of different types as shown in the following command: # vxsnap [-g diskgroup] make \ source=vol1/snapvol=snapvol1 \ source=vol2/snapvol=snapvol2 In this example, snapvol1 is a full-sized snapshot, and snapvol2 is a space-optimized snapshot.
118 Administering instant snapshots Creating instant snapshots # vxsnap -g dbdg make source=dbvol/snapvol=fri_bu/\ infrontof=thurs_bu/cache=dbdgcache For more information on the application of cascaded snapshots, see the Veritas Volume Manager Administrator’s Guide. Refreshing an instant snapshot Refreshing an instant snapshot replaces it with another point-in-time copy of a parent volume.
Administering instant snapshots Creating instant snapshots # vxsnap [-g diskgroup] reattach snapvol source=vol \ [nmirror=number] By default, all the plexes are attached, which results in the removal of the snapshot. If required, the number of plexes to be attached may be specified as the value assigned to the nmirror attribute. The snapshot being reattached must not be open to any application. For example, any file system configured on the snapshot volume must first be unmounted.
120 Administering instant snapshots Creating instant snapshots # vxsnap -g snapdg reattach prepsnap source=myvol sourcedg=mydg After resynchronization of the snapshot volume is complete, it is placed in the ACTIVE state.
Administering instant snapshots Creating instant snapshots Dissociating an instant snapshot The following command breaks the association between a snapshot volume, snapvol, and its parent volume, so that the snapshot may be used as an independent volume: # vxsnap [-f] [-g diskgroup] dis snapvol This operation fails if the snapshot, snapvol, has a snapshot hierarchy below it that contains unsynchronized snapshots. If this happens, the dependent snapshots must be fully synchronized from snapvol.
122 Administering instant snapshots Creating instant snapshots Splitting an instant snapshot hierarchy You can split an instant snapshot hierarchy, to break the association between a snapshot hierarchy that has the snapshot volume, and its parent volume, so that the snapshot hierarchy may be used independently of the parent volume This operation is not supported for space-optimized instant snapshots.
Administering instant snapshots Creating instant snapshots snapvol1_snp1 volume snapvol1 vol1_snp1 volume -vol1 snapvol1 -- 1.30 1.30 -1.30 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%.
124 Administering instant snapshots Creating instant snapshots vset1, with component volumes v1 and v2. This volume set has a mirror break-off snapshot, svset1, with component volumes sv1 and sv2. The last two entries show a detached plex, vol-03, and a detached mirror volume, mvol2, which have vol as their parent volume. These snapshot objects may have become detached due to an I/O error, or, in the case of the plex, by running the vxplex det command.
Administering instant snapshots Creating instant snapshots Table 5-1 Commands for controlling the synchronization (continued) Command Description vxsnap [-b] [-gdiskgroup] syncstartvol Start synchronization of a volume. The -b option puts the operation in the background. vxsnap [-g diskgroup] syncstop vol Stop synchronization of a volume. vxsnap [-g diskgroup] syncwait vol Exit when synchronization of a volume is complete.
126 Administering instant snapshots Creating instant snapshots # vxsnap -g mydg -o iosize=2m,slow=100 make \ source=myvol/snapvol=snap2myvol/syncing=on # vxsnap -g mydg -o iosize=10m,slow=250 syncstart snap2myvol These optional parameters only affect the synchronization of full-sized instant snapshots. They are not supported for space-optimized snapshots.
Chapter Administering volume templates and other configuration elements This chapter includes the following topics: ■ About volume templates and configuration ■ Installing configuration elements in the ISP database ■ Installing configuration elements in storage pools and disk groups ■ Listing and printing configuration elements ■ Deactivating and reactivating templates ■ Renaming a capability ■ Renaming a template ■ Finding templates for specified capabilities ■ Listing template dependenci
128 Administering volume templates and other configuration elements About volume templates and configuration About volume templates and configuration 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.
Administering volume templates and other configuration elements Listing and printing configuration elements See “Creating a storage pool” on page 51. A storage pool's selfsufficient policy governs whether configuration elements can be installed automatically from the ISP Configuration Database as required. If the policy is set to host, elements are available to the pool from the ISP Configuration Database, from the disk group and from the pool itself.
130 Administering volume templates and other configuration elements Listing and printing configuration elements cp cp PerformanceByStriping Reliability - - Here the types vt and cp indicate volume template and capability definitions.
Administering volume templates and other configuration elements Deactivating and reactivating templates Here the types ts, pd and ps indicate template set, storage pool and storage pool set definitions respectively. To print the details of elements in the Configuration Database, use the following command: # vxtemplate -C print [template=t1[,t2...]] \ [capability=c1[,c2...]] [template_set=ts1[,ts2...]] \ [storage_pool_set=ps1[,ps2...]] \ [pool_definition=pd1[,pd2...
132 Administering volume templates and other configuration elements Renaming a capability Renaming a capability To change the name of a capability, use the following command: # vxtemplate [-C | -g diskgroup] renamecapability \ oldname newname For example, you may want to change the name if you have modified the attributes of the capability for a particular disk group.
Administering volume templates and other configuration elements Listing template dependencies To list the templates that depend on one or more given templates, use the following command: # vxtemplate [-C | -g diskgroup] -w listtemplate \ template1 [template2 ...] To list all the templates upon which one or more given templates depend, use the following command: # vxtemplate [-C | -g diskgroup] -r listtemplate \ template1 [template2 ...
134 Administering volume templates and other configuration elements Listing capability dependencies T2 T3 # vxtemplate -g mydg -r listtemplate T1 T2 T3 T4 # vxtemplate -g mydg -w -r listtemplate T2 T0 T1 T2 T3 T4 A template is always shown as depending on itself as it is required to make itself “whole.
Administering volume templates and other configuration elements Listing capability dependencies Figure 6-2 shows an example hierarchy of capability dependencies. The arrows show the direction of inheritance.
136 Administering volume templates and other configuration elements Listing template sets cp cp cp cp DataMirrorStripe DataRedundancy DataStripeMirror Raid5Capability - - Listing template sets To list the template sets in the ISP Configuration Database that contain certain template definitions, use the following command: # vxtemplate -C listtemplateset [template=t1[,t2...
Administering volume templates and other configuration elements Finding template sets containing specified templates If no template sets are specified, the command lists the templates that are included in all template sets in the ISP Configuration Database. Finding template sets containing specified templates To list the template set definitions in the ISP Configuration Database that contain certain template definitions, use the following command: # vxtemplate -C listtemplateset [template=t1[,t2...
138 Administering volume templates and other configuration elements Removing templates, capabilities and template sets If no storage pool definitions are specified, the command lists the templates that are included in all storage pool definitions in the ISP Configuration Database. 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.
Chapter 7 Creating and modifying user templates This chapter includes the following topics: ■ About creating user templates ■ Format of user templates ■ Creating user templates ■ Using a user template to create an application volume ■ Listing currently defined user templates ■ Printing user template definitions ■ Deleting user templates About creating user templates When using Veritas Intelligent Storage Provisioning (ISP) to create an application volume with a specified set of capabilities,
140 Creating and modifying user templates Format of user templates Format of user templates A user template consists of a list of capabilities and rules. Associated with each capability is a list of parameter-value pairs that define default parameter values for the capability. The format of a typical user template specification is shown in the following definition: user_template usertmplt_tname { description "string" descriptionid id capability capability1 { attribute_name:type = default_value ...
Creating and modifying user templates Format of user templates rules Specifies the start of the section that contains the rules for selecting and laying out storage, and which implement the capabilities that the user template provides. See “Rules” on page 153. tag Specifies an optional default tag for a volume. See “User template” on page 179.
142 Creating and modifying user templates Creating user templates } }; 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. Creating user templates You can either create a user template by defining it directly from the command line, or by defining it in a configuration file.
Creating and modifying user templates Using a user template to create an application volume confineto "VendorName"="EMC" } }; 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 the vxusertemplate create command to add the user template in the configuration file to the global usertemplates file, as shown in the following example: # vxusertemplate -d config_fil
144 Creating and modifying user templates Printing user template definitions Printing user template definitions Use the following command to print detailed information about one or more user templates that are currently defined in the global usertemplates file: # vxusertemplate print usertemplate1 [usertemplate2 ...
Chapter 8 Using capabilities, templates and rules This chapter includes the following topics: ■ About capabilities, templates and rules ■ Capabilities ■ Volume templates ■ Rules ■ Storage selection rules ■ Storage selection rule operators ■ Storage layout rules ■ Compound rules ■ Attribute aliases ■ Simplified syntax for rules on the command line About capabilities, templates and rules Veritas Intelligent Storage Provisioning (ISP) provides a structured and flexible rule-based declarat
146 Using capabilities, templates and rules Capabilities See “About ISP configuration elements” on page 187. 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.
Using capabilities, templates and rules Capabilities display_name Defines the English name of the capability that is displayed in the VEA. display_name_id References the message catalog where localized versions of the display name may be found, and provides an index number for the display name in the catalog. 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.
148 Using capabilities, templates and rules Volume templates ■ A derived capability cannot define variables with the same name as any of the variables in any of its base capabilities. ■ If a capability is derived from more than one base capability, none of the variable names in any of its base capabilities should be the same as a variable name in any other base capability.
Using capabilities, templates and rules Volume templates template_name Indicates the nature of the volume that can be created by the template, for example, DataMirroring, Raid5Volume and InstantSnapshottable. extends Indicates that the template includes all the capabilities, rules and variables from the named templates. See “extends” on page 150. inherits Indicates that the template can inherit capabilities when required from those listed. See “inherits” on page 151.
150 Using capabilities, templates and rules Volume templates extends A template can derive some of its properties by extending one or more base templates as shown in the following example: volume_template DerivedTemplate { extends BaseTemplate rules { ... } }; By extending template BaseTemplate, the template DerivedTemplate provides the following features: ■ Provides all capabilities that BaseTemplate provides. See “provides” on page 151. ■ Requires all capabilities that BaseTemplate requires.
Using capabilities, templates and rules Volume templates inherits If a template specifies that it can inherit a capability, it provides that capability when required. Inheriting a capability is equivalent to the combination of requiring and providing a capability. See “requires” on page 152. See “provides” on page 151. The following example demonstrates the application of the inherits keyword: volume_template ReliableSnapshot { inherits Reliable provides Snapshot rules { ...
152 Using capabilities, templates and rules Volume templates mirror NMIRS { ... } } }; requires If a template requires one or more capabilities, it can take the appropriate rules from any templates that provide those capabilities. The requires keyword does not imply provides. Whenever a template provides a capability by specifying that it requires it, it should be explicitly listed in a provides or inherits clause. See provides. See inherits.
Using capabilities, templates and rules Rules By allowing ISP to choose any template that provides the required capability, the requires keyword gives ISP more flexibility when allocating storage. This behavior is known as dynamic inheritance. When choosing a template with a required capability, ISP gives preference to templates that provide only that capability. This behavior avoids giving unrelated capabilities to a volume.
154 Using capabilities, templates and rules Storage selection rules ■ exclude ■ multipath ■ select ■ separateby ■ strong separateby You can limit the scope of interpretation of rules to the components of an application volume, such as its plexes, columns and logs. See “Compound rules” on page 162. Multiple arguments to the confineto, exclude and select storage selection rules can be combined by using operators. If an operator is not specified, ISP uses the default operator for the rule.
Using capabilities, templates and rules Storage selection rules Expressions involving confineto can use the allof, anyof, eachof, noneof and oneof operators to combine multiple arguments. By default, ISP applies the eachof operator. See “Storage selection rule operators” on page 159. The expression argument of a confineto rule usually consists of one or more LUN attributes that can be specified either with or without an accompanying value. The LUN attributes can be auto-discovered or user-defined.
156 Using capabilities, templates and rules Storage selection rules 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.
Using capabilities, templates and rules Storage selection rules confineto eachof("Columns">"1", "Parity"="0")) exclude An exclude rule omits a set of LUNs from being allocated to a VxVM object. 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 159.
158 Using capabilities, templates and rules Storage selection rules ■ The following example tolerates the failure of one controller and one switch: multipath 2 "Controller", 2 "Switch" 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. Expressions involving select can use the allof, anyof, eachof, noneof and oneof operators to combine multiple arguments. By default, ISP applies the anyof operator.
Using capabilities, templates and rules Storage selection rule operators The separateby rule does not take any rule operators.
160 Using capabilities, templates and rules Storage layout rules See the description of the individual selection rules for details of the applicability of these operators. See “confineto” on page 154. See “exclude” on page 157. See “select” on page 158. Storage layout rules The following sections describe storage layout rules: ■ apply ■ parity ■ striped You can limit the scope of interpretation of rules to the components of an application volume, such as its plexes, columns and logs.
Using capabilities, templates and rules Storage layout rules rules { confineto "ProductId" } }; ■ Typically, you would use the apply keyword when you want to get the rules of a template without its associated capabilities.
162 Using capabilities, templates and rules Compound rules } } }; 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.
Using capabilities, templates and rules Compound rules 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.
164 Using capabilities, templates and rules Compound rules 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.
Using capabilities, templates and rules Compound rules 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. Compound rules can include storage selection rules, stripe rules, and define the log type.
166 Using capabilities, templates and rules Attribute aliases Attribute aliases Table 8-2 shows the aliases that are supported for attributes.
Using capabilities, templates and rules Simplified syntax for rules on the command line may be expressed by equivalent simplified rule expression confineto=VendorName=EMC,Room=Room1,Building The example rule expression select anyof("Room"="Room1","Room"="Room2","Building") may be expressed by equivalent simplified rule expression select=Room=Room1,Room=Room2,Building The example rule expression exclude allof("VendorName"="EMC","VendorName"="Hitachi") may be expressed by equivalent simplified rule expre
168 Using capabilities, templates and rules Simplified syntax for rules on the command line
Appendix A ISP language definition This appendix includes the following topics: ■ About the ISP language ■ Syntax conventions ■ Reserved keywords ■ Capability object ■ Volume template object ■ User template ■ Storage pool object ■ Template set object ■ Storage pool set object ■ Volume group object About the ISP language You can define the following objects using the Veritas Intelligent Storage Provisioning (ISP) specification language: ■ Capability object ■ Volume template object ■
170 ISP language definition Syntax conventions ■ Storage pool set object ■ Volume group object 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. This means that a capability and a template can have the same name, but two capabilities cannot have the same name. ■ All keywords are case insensitive.
ISP language definition Reserved keywords Table A-2 Typographic conventions Typeface Usage Examples monospace Indicates a keyword. capability (bold) monospace (italic) Indicates an irreducible term such c_name:string as an identifier, and its type. uint32 A value is expected if only a type is specified. monospace Indicates a reducible term.
172 ISP language definition Capability object const group requires volume_templates data host rules widget_plugin_id dcm hosts select dco implements stripe drl inherits strong Capability object The following syntax defines a capability object: 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 ] } ] ;
ISP language definition Volume template object [ descriptionid msgcat_id:quoted_string, msg_id:int ] } ] Volume template object The following syntax defines a volume template object: 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 ] [ rules [ { template_rules } ] ] } ; See Volume templates.
174 ISP language definition Volume template object } } ] [ [ } } ] [ [ [ [ desired [ pref_order ] ] striped boolean ] [ [ desired [ pref_order ] ] stripe from:int - to: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 ] ] ] ] |
ISP language definition Volume template object 175 [ [ desired [ pref_order ] ] affinity string_list ] } ] ] } ] ] | [ [ desired [ pref_order ] ] stripe from:int - to: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 ] [ [ desire
176 ISP language definition Volume template object [ [ 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_order ] ] stripe from:int - to:int [ { [ [ desired [ pref_order ] ] confineto confineto_expr ] [ [ desired [ pref_order ] ] exclude exclude_expr ] [ [ desired [ pref_order ] ] select select_expr ] [ [ desired [ pref_order ]
ISP language definition Volume template object 177 [ 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 ]
178 ISP language definition Volume template object [ [ desired [ pref_order ] ] strong separateby string_list ] [ [ desired [ pref_order ] ] affinity string_list ] [ [ desired [ pref_order ] ] multipath multipath_expr ] } ] ] } ] ] confineto_expr The following syntax defines a confineto_expr object: name:string | name:string operator value:string | name:quoted_string | name:quoted_string operator value:quoted_string | eachof(confineto_expr) | anyof(confineto_expr) | allof(confineto_expr) | oneof(confinet
ISP language definition User template operator The following syntax defines a operator object: <= | < | = | > | >= | != pref_order The following syntax defines a pref_order object: int User template The following syntax defines a user template object: user_template ut_name:string [ { [ [ [ [ description quoted_string ] descriptionid descriptionid ] capability capabilities_expr ] rules [ { [ rules ] } ] ] } ] ; See “Format of user templates” on page 140.
180 ISP language definition Storage pool object value_expr The following syntax defines a value_expr object: string | int Storage pool object The following syntax defines a storage pool object: storage_pool sp_name:string [ { [ volume_templates vt_name_list ] [ description quoted_string ] [ descriptionid descriptionid ] [ autogrow boolean ] [ selfsufficient boolean ] } ] ; Template set object The following syntax defines a template set object: template_set sp_name:string [ { [ volume_templates vt_name_l
ISP language definition Volume group object Volume group object The following syntax sections define a volume group object.
182 ISP language definition Volume group object select_expr The following syntax defines a select_expr object: 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 The following syntax defines a multipath_expr object: from:int [ - to: int ] name:quoted_string | from:int [ - to: int ] name:string | multipath_expr, multipath_expr operator The follo
Appendix B Changing the allocation behavior of ISP This appendix includes the following topics: ■ About ISP allocation behavior About ISP allocation behavior 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.
184 Changing the allocation behavior of ISP About ISP allocation behavior Table B-1 Values of the precedence order (continued) Value Precedence order 6 S
Changing the allocation behavior of ISP About ISP allocation behavior A
186 Changing the allocation behavior of ISP About ISP allocation behavior
Appendix C ISP configuration elements This appendix includes the following topics: ■ About ISP configuration elements ■ Template set ■ Volume template ■ Capability ■ Storage pool ■ Storage pool set About ISP configuration elements The following types of pre-defined elements are available for use with Veritas Intelligent Storage Provisioning (ISP): ■ Template set ■ Volume template ■ Capability ■ Storage pool ■ Storage pool set These elements are defined in the configuration_database.
188 ISP configuration elements Template set Template set The following template sets are available for use with Veritas ISP. 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.
ISP configuration elements Template set Provides capabilities: ArrayProductId, ConfineLogsToSimilarStorage, ConfineMirrorsToSimilarStorage, DataMirroring, DCOLogMirroring, DCOLogStriping, InstantSnapshottable, LogsOnSeparateComponents, MirrorsOnSeparateComponents, PrefabricatedStriping.
190 ISP configuration elements Template set 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.
ISP configuration elements Volume template 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.
192 ISP configuration elements Volume template ArrayProductId Provides capability: ArrayProductId. ColumnsOnSeparateComponents Provides capability: ColumnsOnSeparateComponents. ConcatVolumes Provides capability: ConcatVolumes. ConfineColumnsToSimilarStorage Provides capability: ConfineColumnsToSimilarStorage. ConfineLogsToSimilarStorage Provides capability: ConfineLogsToSimilarStorage. ConfineMirrorsToSimilarStorage Provides capability: ConfineMirrorsToSimilarStorage.
ISP configuration elements Volume template 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. DCOLogStriping Provides capability: DCOLogStriping. ExcludeSpecificStorage Provides capability: ExcludeSpecificStorage.
194 ISP configuration elements Volume template MultipathingThroughMirroring Provides capabilities: DataMirroring, Multipathing. Variable: nmirs Number of mirrors. MultipathingThroughMultiplePaths Provides capability: MultipathingThroughMultiplePaths. PrefabricatedDataMirroring Provides capability: PrefabricatedDataMirroring. PrefabricatedRaid5 Provides capability: PrefabricatedRaid5. PrefabricatedStriping Provides capability: PrefabricatedStriping.
ISP configuration elements Capability ncols Minimum number of columns. nmaxcols Maximum number of columns. Capability The following capabilities are available for use with Veritas ISP. 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.
196 ISP configuration elements Capability ConfineLogsToSimilarStorage Each log uses only storage that has the same value for a specified attribute. Provided by volume template: ConfineLogsToSimilarStorage. Variable: name Name of storage attribute (default is "Enclosure"). ConfineMirrorsToSimilarStorage Each mirror uses only storage that has the same value for a specified attribute. Provided by volume template: ConfineMirrorsToSimilarStorage.
ISP configuration elements Capability DataMirroring A mirrored volume maintains multiple copies of its data. This capability extends the DataRedundancy capability. Provided by volume template: DataMirroring. Variable: nmirs Number of mirrors (default is 2). DataMirrorStripe A mirrored-stripe volume distributes I/O across multiple columns within mirrors. This capability extends the DataMirroring and Striping capabilities. Provided by volume template: DataMirrorStripe.
198 ISP configuration elements Capability nmirs Number of mirrors (default is 2). DCOLogMirroring The number of DCO plexes (copies) to configure for a DCO volume. Provided by volume template: DCOLogMirroring. Variable: nlogs Number of DCO plexes (default is 1). DCOLogStriping The number of columns to configure for a striped DCO volume. Provided by volume template: DCOLogStriping. Variables: ndcocols Minimum number of columns (default is 4). nmaxdcocols Maximum number of columns (default is 10).
ISP configuration elements Capability 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 is "Enclosure"). MirrorsOnSeparateComponents The mirrors of a volume are separated at the specified component level, such as "Controller" or "Enclosure". Provided by volume template: MirrorsOnSeparateComponents.
200 ISP configuration elements Capability 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 is 2). PrefabricatedDataRedundancy A volume uses prefabricated redundant disks that are exported by an array.
ISP configuration elements Capability An additional virtual column is always allocated to store parity information. This column is not included in the number of data columns that are specified. 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.
202 ISP configuration elements Storage pool Storage pool The following storage pool types are available for use with Veritas ISP. 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.
ISP configuration elements Storage pool MirrorsOnSeparateComponents, MultipathingThroughMultiplePaths, PrefabricatedRaid5. mirrored_prefab_striped_volumes Supports use by volumes of multiple copies of data configured on prefabricated striped disks that are exported by an array.
204 ISP configuration elements Storage pool InstantSnapshottable, MultipathingThroughMultiplePaths, PrefabricatedDataMirroring. 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.
ISP configuration elements Storage pool stripe_mirror_volumes Supports distribution of I/O from and to volumes across multiple columns, where each column has multiple copies of data.
206 ISP configuration elements Storage pool set Storage pool set The following storage pool sets are available for use with Veritas ISP. 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.
ISP configuration elements Storage pool set Data storage pool type: stripe_mirror_volumes. Clone storage pool type: striped_volumes. striped_prefab_mirrored_data_striped_clones Supports I/O from and to data volumes distributed across multiple columns constructed from mirrored storage, and snapshot volumes with I/O distributed across multiple columns. Data storage pool type: striped_prefab_mirrored_volumes. Clone storage pool type: striped_volumes.
208 ISP configuration elements Storage pool set
Appendix D Volume group definition syntax This appendix includes the following topics: ■ About the syntax of volume group definition About the syntax of volume group definition This syntax of a volumegroup definition may be used as input to the vxassist and vxvoladm commands. 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.
210 Volume group definition syntax About the syntax of volume group definition [iodelay delay] [iosize size] [layout "layout-type"] [max_ncolumn number] [max_nraid5column number] [min_ncolumn number] [min_nraid5column number] [mode mode] [nvol number] [nvols number] [pool "poolname"] [raid5_stripeunit width] [raid5loglen length] [regionsize size] [rules { volume-rules } ] [spare yes|no|only] [stripe_stripeunit width] [tag "volume_tag"] [tasktag "tag"] [type data|snapshot|cachevolume] [user "user"] [user_t
Volume group definition syntax About the syntax of volume group definition capability ‘capability [(name=value, ..)] The capabilities that are desired for the volume. [,capability...]’ comment "comment" A description of the volume. dcologlen length The size of a DCO volume whose creation is implied by the specified capabilities or templates. dm dm1,[dm2,...] A list of disk media which can be allocated to a volume.
212 Volume group definition syntax About the syntax of volume group definition nvol number The number of volumes to be created. The volumes are named using the specified volume name as a prefix with a number starting from 1 appended. If any volume names already exist in the same pool with the same prefix and an appended number, numbering starts at the highest number found plus 1. nvols number Alias for nvol. pool "poolname" The name of the storage pool.
Volume group definition syntax About the syntax of volume group definition 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.
214 Volume group definition syntax About the syntax of volume group definition
Appendix E Equivalences between vxassist attributes and ISP rules This appendix includes the following topics: ■ About vxassist and ISP rules About vxassist and ISP rules Table E-1 shows the equivalent ISP rules for attributes in vxassist that specify volume configuration. Table E-1 ISP rules and vxassist attributes vxassist attribute ISP rules Description layout=mirror-stripe mirror nmir { stripe max_ncolumn-min_ncolumn } Mirrored-stripe volume.
216 Equivalences between vxassist attributes and ISP rules About vxassist and ISP rules Table E-1 ISP rules and vxassist attributes (continued) vxassist attribute ISP rules Description layout=raid5 stripe RAID-5 volume. max_nraid5column-min_nraid5column parity true log 1 { type raid5 } layout=stripe stripe max_ncolumn-min_ncolumn Striped volume. layout=mirror-concat mirror nmir Mirrored volume. layout=concat-mirror mirror nmir Concatenated-mirror volume.
Equivalences between vxassist attributes and ISP rules About vxassist and ISP rules Table E-1 ISP rules and vxassist attributes (continued) vxassist attribute ISP rules Description fastresync=on log nlog { type dco } DCO volume (enables the use of FastResync). ndcmlog=2 log 2 { type dcm } DCM log with 2 mirrors. ndcomirror=2 log 2 { type dco } DCO volume with 2 mirrors. nlog=2 log 2 { type dco }. DCO volume with 2 mirrors. nraid5log=2 log 2 { type raid5 } RAID-5 log with 2 mirrors.
218 Equivalences between vxassist attributes and ISP rules About vxassist and ISP rules
Appendix F Command summary This appendix includes the following topics: ■ About ISP commands About ISP commands This section summarizes the usage and purpose of important commands for the Veritas Intelligent Storage Provisioning (ISP) feature of Veritas Volume Manager (VxVM). The following categories of commands are relevant to ISP: ■ Creating and administering application volumes ■ Creating and administering storage pools References are also included to longer descriptions.
220 Command summary About ISP commands Table F-1 Creating and administering application volumes (continued) Command Description vxassist [-g diskgroup] \ Creates a volume. [-P storage_pool] [-b] \ See “Creating volumes” on page 64. make volume length \ [storage_specification] \ [attribute=value ...] vxassist [-g diskgroup] \ [-P storage_pool] [-b] \ make volume length \ Creates a volume with 2 mirrors and makes it immediately available for use. See “Creating a mirrored volume” on page 67.
Command summary About ISP commands Table F-1 Creating and administering application volumes (continued) Command Description vxassist [-g diskgroup] \ Grows a volume. {growby | growto}\ See “Increasing the size of a volume to a specified length” on page 79. volume length \ [storage_specification] \ See “Increasing the size of a volume by a specified amount” on page 80. [attribute=value ...] vxassist [-g diskgroup] \ Shrinks a volume.
222 Command summary About ISP commands Table F-2 Creating and administering storage pools Command Description vxpool [-g diskgroup] \ Creates a storage pool. create storage_pool \ See “Creating a storage pool” on page 51. [dm=dm1[,dm2...] \ [description="description"]\ [autogrow=1|2] \ [selfsufficient=1|2|3] \ [rules=rule[,rule ...] vxpool [-g diskgroup] \ Adds one or more disks to a storage pool. adddisk storage_pool \ See “Adding disks to a storage pool” on page 54. dm=dm1[,dm2,...
Command summary About ISP commands Table F-2 Creating and administering storage pools (continued) Command Description vxpool [-g diskgroup] \ Displays policies for a storage pool. getproperty storage_pool See “Displaying storage pool policies” on page 57. vxpool [-g diskgroup] \ Sets policies on a storage pool. setproperty storage_pool \ See “Changing the policies on a storage pool” on page 57.
224 Command summary About ISP commands
Appendix G Examples of using ISP This appendix includes the following topics: ■ About ISP examples ■ Creating example volumes ■ Resizing a volume ■ Adding or removing mirrors ■ Adding or removing columns ■ Adding or removing logs ■ Evacuating data from a volume ■ Segregating database components About ISP examples The following examples of using the vxassist and other commands provide for administration of the Veritas Intelligent Storage Provisioning (ISP) feature: ■ Creating example volum
226 Examples of using ISP Creating example volumes See the vaxassist(1M) manual page.
Examples of using ISP Creating example volumes 227 # vxassist -g exdg -P expool make vol1 10g \ rules='confineto "Controller"' or alternatively: # vxassist -g exdg -P expool make vol1 10g \ capability='ConfineToSimilarStorage (name="Controller")' Use the following command to create a RAID-5 volume with a 2-way mirrored RAID-5 log and a 2-way mirrored DCO volume: # vxassist -g exdg -P expool make vol1 10g \ capability='Raid5Capability,\ Raid5LogMirroring(nlogs=2), DCOLogMirroring(nlogs=2)' Use the follo
228 Examples of using ISP Resizing a volume Resizing a volume You can resize volumes that do not contain file systems (volume type gen). If an application is using the volume to store data, use the appropriate utility to reduce the size of the data object before reducing the size of the volume, or to increase the size of the data object after increasing the size of the volume.
Examples of using ISP Adding or removing columns # vxassist -g exdg remove mirror vol1 plexnames=p1 Adding or removing columns Use the following command to add a column to a volume, and grow the volume while doing this: # vaxassist -g exdg add column vol1 layout=grow Use the following command to add four columns to a volume, and grow the volume while doing this: # vaxassist -g exdg add column vol1 ncols=4 layout=grow Use the following command to add a column, but do not grow the volume: # vaxassist -g e
230 Examples of using ISP Evacuating data from a volume Evacuating data from a volume Use the following command to evacuate a subdisk sd01 from the volume vol1: # vaxassist -g exdg evacuate subdisk vol1 sd=sd01 Use the following command to evacuate subdisks sd11 and sd12 from volume vol1: # vaxassist -g exdg evacuate subdisk vol1 sd=sd11,sd12 Use the following command to evacuate disks disk01 and disk01 from volume vol1: # vaxassist -g exdg evacuate disk vol1 \!disk01 \!disk02 Use the following command
Examples of using ISP Segregating database components By tagging disks with a suitable attribute name and value such as reserved_for and redo_log, you can use a confineto rule to ensure that the volume for a redo log is only allocated space from those disks, as shown in the following example: confineto "reserved_for"="redo_log" Conversely when creating volumes that are not to be used for the redo logs, you can specify an exclude rule, as shown in the following example: exclude "reserved_for"="redo_log" T
232 Examples of using ISP Segregating database components
Appendix H Configuring ISP to work with SAL This appendix includes the following topics: ■ About ISP and the SAN Access Layer ■ Enabling ISP to work with SAL ■ Configuring root as a SAL user About ISP and the SAN Access Layer 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.
234 Configuring ISP to work with SAL Configuring root as a SAL user To enable ISP to receive information from SAL 1 To allow ISP to contact SAL, add the following line to the /etc/default/vxassist file: salcontact=yes If this attribute is set to no or is not present, ISP cannot contact SAL. 2 Define the SAL Primary Host and SAL Primary Port by adding sal_primary and sal_primary_port definitions to the /etc/default/vxassist_sal_info file, as shown in the following sample entries: sal_primary=private.
Configuring ISP to work with SAL Configuring root as a SAL user If ISP fails to authenticate with SAL, it can neither see nor use any of the associated storage attributes. To add the root user on the remote host as a SAL user with SAL administrator privileges on the SAL primary 1 Create a file, such as /tmp/add_user, that contains the following single line definition of the new SAL user: user add root@island.veritas.com clydenw Admin This defines root on the remote host (island.cosmos.
236 Configuring ISP to work with SAL Configuring root as a SAL user 8 To confirm that the password has been set up correctly, enter the following command: # vxsalcmd private.cosmos.com:2802 user list This command should now list all the configured users without prompting for the SAL administrator’s password. 9 Remove the /tmp/add_user and /tmp/maintain_user files as these contain passwords in clear text.
Index Symbols /etc/default/allocator file 62, 183 /etc/default/allocator_readme file 63 /etc/default/vxassist file 234 /etc/default/vxassist_sal_info file 234 /etc/vx/alloc/configuration_database.
238 Index attributes (continued) salcontact 234 snapvol 115 source 115 storage 34 syncing 108 autogrow attributes tuning for space-optimized snapshot cache 105 autogrow feature 105 AutoGrow policy 37 autogrowby attribute 105 B behavior changing for ISP 183 benefits summarized for ISP 21 C cache daemon 105 cache volumes example of creating 46 caches changing size of 106 deleting 107 finding out snapshots configured on 107 preparing for space-optimized snapshots 102 removing 107 stopping 107 tuning autogr
Index Configuration Database 128 installing additional elements 128 configuration elements 128 installing into ISP Configuration Database 128 installing into storage pools and disk groups 128 listing 129 printing 129 provided in database 187 ConfineColumnsToSimilarStorage capability 195 ConfineColumnsToSimilarStorage volume template 192 ConfineLogsToSimilarStorage capability 196 ConfineLogsToSimilarStorage volume template 192 ConfineMirrorsToSimilarStorage capability 196 ConfineMirrorsToSimilarStorage volu
240 Index full-sized instant snapshots 98 creating 112 full-sized snapshots creating 112 creating volumes for use as 100 example of creating 45 example of preparing 45 preparing storage pools 99 fullinst snapshot type 124 G group field 211 H highwatermark attribute 105 host level policy 37 I infrontof attribute 117 inheritance 147 inherits keyword 151 init field 211 init=active attribute 66 instant snapshots adding to a snapshot hierarchy 117 attaching plexes 118 controlling synchronization of 124 crea
Index mirrored volume example of creating on separate enclosures 66– 67, 69 mirrored volumes example of creating 66–67 mirrored-stripe volumes example of creating 66, 68 mirrored_data_striped_clones storage pool set 206 mirrored_prefab_raid5_data_mirrored_clones storage pool set 206 mirrored_prefab_raid5_volumes storage pool 202 mirrored_prefab_stripe_data_striped_clones storage pool set 206 mirrored_prefab_striped_volumes storage pool 203 mirrored_volumes storage pool 203 mirrors adding to volumes 86 exam
242 Index regionsize attribute 109 regionsize field 212 relayout 85 reliability capabilities 39 requires keyword 152 rules collected to form templates 41 compound 162 default_rules 63 displaying for volumes 92 for storage layout 160 for storage selection 153 format of 153 in ISP 39 introduced 145 preference order of 153 specifying when creating volumes 65, 69, 71 storage layout 40 storage selection 39 storage selection operators 159 syntax of 173 rules field 210, 212 S SAL configuring ISP to work with 23
Index storage pool definitions displaying definitions 52 listing available 52 storage pool sets bundled definitions 36 displaying definition of 50 finding 58 listing available 50 mirrored_data_striped_clones 206 mirrored_prefab_raid5_data_mirrored_clones 206 mirrored_prefab_stripe_data_striped_clones 206 prefab_mirrored_data_prefab_striped_clones 206 stripe_mirrored_data_striped_clones 206 striped_prefab_mirrored_data_striped_clones 207 syntax of 180 using to organize storage pools 49 storage pools adding
244 Index tags (continued) setting on volumes 81 tasks controlling 90 monitoring 90 tasktag field 212 template rules syntax of 173 template sets associating with storage pools 55 collections of capabilities and templates 42 ConfineVolume 188 DataMirroring 188 DataMirroringPrefabricatedRaid5 188 DataMirroringPrefabricatedStriping 188 DataMirrorStripe 189 DataStripeMirror 189 finding 137 finding templates in 136 InstantSnapshottable 190 MultipathingThroughMirroring 190 MultipathingThroughMultiplePaths 190 P
Index volume groups (continued) used to create multiple volumes 73 volume sets support for snapshot operations with 107 volume template sets syntax of 180 volume templates ArrayProductId 192 associating with storage pools 55 collections of rules 41 ColumnsOnSeparateComponents 192 ConcatVolumes 192 ConfineColumnsToSimilarStorage 192 ConfineLogsToSimilarStorage 192 ConfineMirrorsToSimilarStorage 192 ConfineToSimilarStorage 192 ConfineToSpecificStorage 192 DataMirroring 192 DataMirrorStripe 192 DataStripeMirr
246 Index volumes (continued) preparing for use with snapshots and DRL 82 reducing size of 80 removing 85 removing a data change object from 83 removing a DCO from 83 removing columns from 88, 90 removing linked break-off snapshots from 117 removing mirrors from 86 resizing 78 using templates 92 verifying intent of 92 vxassist adding a DCO to a volume 83 adding columns to volumes 87 adding logs to volumes 89 adding mirrors to volumes 86 changing stripe width 88 changing the size of multiple volumes 81 con
Index vxpool (continued) used to associate templates with storage pools 55 vxprint displaying snapshots configured on a cache 107 verifying if a disk is reserved for ISP 49 verifying if volumes are prepared for instant snapshots 109 vxrelayout reversing relayout operations 91 vxsnap adding a snapshot to a snapshot hierarchy 117 attaching plexes to snapshots 118 controlling snapshot synchronization 124 creating full-sized snapshots 112 creating linked break-off snapshot volumes 115 creating multiple instant