Sponsored Content
Top Forums Shell Programming and Scripting Help with awk regular expression for RS record separator Post 303001641 by 1Brajesh on Tuesday 8th of August 2017 11:10:37 AM
Old 08-08-2017
thanks drl I will take a look
 

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

awk and regular expression

Ive got a file with words and also numbers. Bla BLA 10 10 11 29 12 89 13 35 And i need to change "10,29,89,25" and also remove anything that contains actually words... (4 Replies)
Discussion started by: maskot
4 Replies

2. UNIX for Dummies Questions & Answers

regular expression and awk

I can print a line with an expression using this: awk '/regex/' I can print the line immediately before an expression using this: awk '/regex/{print x};{x=$0}' How do I print the line immediately before and then the line with the expression? (2 Replies)
Discussion started by: nickg
2 Replies

3. Shell Programming and Scripting

awk & cut record separator problem

Hi All, I've got some strange behaviour going on when trying to manipulate a file that contains spaces. My input file looks something like this: xxxxxxxxx,yyyy,sss sss sss,bbbbbbb If I use awk: When running from the command line I get: sss sss sss But when running from a... (7 Replies)
Discussion started by: pondlife
7 Replies

4. Shell Programming and Scripting

Regular expression in AWK

Hello world, I was wondering if there is a nicer way to write the following code (in AWK): awk ' FNR==NR&&$1~/^m$/{tok1=1} FNR==NR&&$1~/^m10$/{tok1=1} ' my_file In fact, it looks for m2, m4, m6, m8 and m10 and then return a positive flag. The problem is how to define 10 thanks... (3 Replies)
Discussion started by: jolecanard
3 Replies

5. Shell Programming and Scripting

awk - double quotes as record separator

How do I use double quotes as a record seperator in awk? (4 Replies)
Discussion started by: locoroco
4 Replies

6. Shell Programming and Scripting

awk, string as record separator, transposing rows into columns

I'm working on a different stage of a project that someone helped me address elsewhere in these threads. The .docs I'm cycling through look roughly like this: 1 of 26 DOCUMENTS Copyright 2010 The Age Company Limited All Rights Reserved The Age (Melbourne, Australia) November 27, 2010... (9 Replies)
Discussion started by: spindoctor
9 Replies

7. Shell Programming and Scripting

apply record separator to multiple files within a directory using awk

Hi, I have a bunch of records within a directory where each one has this form: (example file1) 1 2 50 90 80 90 43512 98 0909 79869 -9 7878 33222 8787 9090 89898 7878 8989 7878 6767 89 89 78676 9898 000 7878 5656 5454 5454 and i want for all of these files to be... (3 Replies)
Discussion started by: amarn
3 Replies

8. Shell Programming and Scripting

awk - single quotes as record separator

How do I use single quotes as record separator in awk? I just couldn't figure that out. I know how to use single quotes as field separator, and double quotes as both field and record separator ... (1 Reply)
Discussion started by: locoroco
1 Replies

9. Programming

Perl: How to read from a file, do regular expression and then replace the found regular expression

Hi all, How am I read a file, find the match regular expression and overwrite to the same files. open DESTINATION_FILE, "<tmptravl.dat" or die "tmptravl.dat"; open NEW_DESTINATION_FILE, ">new_tmptravl.dat" or die "new_tmptravl.dat"; while (<DESTINATION_FILE>) { # print... (1 Reply)
Discussion started by: jessy83
1 Replies

10. Shell Programming and Scripting

Use string as Record separator in awk

Hello to all, Please some help on this. I have the file in format as below. How can I set the record separator as the string below in red "No. Time Source Destination Protocol Length Info" I've tried code below but it doesn't seem to... (6 Replies)
Discussion started by: cgkmal
6 Replies
vxvoladm(1M)															      vxvoladm(1M)

NAME
vxvoladm - create and administer application volumes on allocated storage SYNOPSIS
vxvoladm [options] [-b] add {column|log|mirror} volume [storage-spec ...] [attribute ...] vxassist [options] [-b] [--noattach] -M add mirror volume ... [storage-spec ...] [attribute ...] vxvoladm [options] evacuate {column|disk|log|mirror|subdisk|volume} volume [storage_spec ...] [attribute ...] vxvoladm [options] [-b] growby volume length_change [storage_spec ...] [attribute ...] vxvoladm [options] -M growby vxvoladm [options] [-b] growlogby volume length_change [storage_spec ...] [attribute ...] vxvoladm [options] [-b] growlogto volume length_change [storage_spec ...] [attribute ...] vxvoladm [options] [-b] growto volume new_length [storage_spec ...] [attribute ...] vxvoladm [options] -M growto vxvoladm help [options | keywords | attributes] vxadm [options] list [capability=c1[,c2...]] [tag=tagname] ... [template=t1[,t2...]] vxvoladm [options] listattrs [lun_name1 [lun_name2 ...]] vxadm [options] listtag {volume|vset} ... vxvoladm [options] [-b] make volume length [storage_spec ...] [attribute ...] vxvoladm [options] -M make vxvoladm [options] maxgrow volume [storage_spec ...] vxvoladm [options] maxsize [attribute ...] vxvoladm [options] [-b] [-g diskgroup] [-P storage_pool] [-I rules] migrate volume ... vxvoladm [options] -M migrate vxvoladm [options] printintent [object_names ...] vxvoladm [options] printrules volume ... vxvoladm [options] [-b] remove column volume [storage-spec ...] [attribute ...] vxvoladm [options] remove {log|mirror|volume} volume [storage-spec ...] [attribute ...] vxvoladm [options] removeall log volume [storage_spec ...] [attribute ...] vxassist [options] [-b] -M remove mirror volume ... [storage-spec ...] [attribute ...] vxvoladm [options] removetag {volume|vset} tagname[=[tagvalue]] ... vxvoladm [options] replacetag {volume|vset} old_tagname new_tagname vxvoladm [-b] [-g diskgroup] reversemigrate volume ... vxvoladm [-b] [-g diskgroup] reversemigrateall vxvoladm [options] [-b] setstwidth volume [attribute ...] vxvoladm [options] settag {volume|vset} tagname[=tagvalue] ... vxvoladm [options] shrinkby volume length_change [attribute ...] vxvoladm [options] -M shrinkby vxvoladm [options] shrinkto volume new_length [attribute ...] vxvoladm [options] -M shrinkto vxvoladm [options] [-b] transform volume [storage_spec ...] [attribute ...] vxvoladm [options] transformreverse volume vxvoladm [options] verify DESCRIPTION
The vxvoladm utility provides a command line interface to the Veritas Intelligent Storage Provisioning (ISP) feature of Veritas Volume Man- ager (VxVM) that provides rule-based allocation of storage for the creation and administration of application volumes. The operations that can be performed by vxvoladm are selected by specifying the appropriate keyword on the command line. See the KEYWORDS section for a description of the available operations. Most operations can be applied to a single disk group only. If a disk group is not specified by using the -g option, and an alternate default disk group is not defined by specifying the diskgroup attribute on the command line or in a defaults file (usually /etc/default/allocator), the default disk group is determined using the rules given in the vxdg(1M) manual page. Many vxvoladm operations take attributes that specify how volumes should be laid out, which storage can and cannot be used, and so on. Attributes are of two basic types: storage specifications and attribute settings. You can specify storage specification attributes in the same way as for the vxassist command by naming individual disks (for example, disk01), or by grouping disks that are selected by target, tray, controller or enclosure (for example, !ctrl:c1 specifies that no disks on controller c1 can be used). In addition, vxvoladm allows you to specify rule-based expressions that determine how storage can be allo- cated. See the STORAGE SPECIFICATION section for details. Other attributes are specified in the form attribute_name=value. See the ATTRIBUTES section for a list of supported attributes. KEYWORDS
add column|log|mirror Adds columns, logs or mirrors to a volume. Unless the number is specified, one column, log or mirror is added. The addition of columns supports the specification of the following attributes: layout=grow, ncols, stripe_stripeunit, tmplen and use_storage. The addition of logs supports the specification of the following attributes: drl, loglen (for the first log of this type that is being added), lognames, logtype, nlogs, regionsize, and use_storage. The logtype attribute must be specified. The addition of mirrors supports the specification of the following attributes: nmirror, plexnames and use_storage. These operations support the specification of the following options: -b, -d defaultfile, -g diskgroup, -n, -P storage_pool and -t tasktag. In addition, the add log and add mirror operations support the specification of the -f option. If the -M option is specified to add mirror, mirrors may be added to multiple volumes in a single operation. evacuate Relocates columns, disks, logs, subdisks, or mirrors that belong to the named volume, or moves an entire volume. For disks, excluded storage may specified using the ! prefix. The names of column, log, mirror and subdisk names may be specified by the attributes columnnames, lognames, plexnames and sd respectively. This operation also supports the use of the attributes evac_storage and use_storage to specify storage that is to be evacuated and populated respectively. This operation supports the specification of the following options: -d defaultfile, -g diskgroup, -n, -P storage_pool and -t tasktag. growby | growto Increases the length of the named volume to (growto) or by (growby) the specified length in Veritas Volume Manager standard units (see vxintro(1M)) or a percentage (for example, 110%). Note: When you grow a volume, it is recommended that you also grow any file system that is configured on that volume (see vxre- size(1M)). vxvoladm does not resize file systems (or other uses of the volume, such as databases) that reside on the volume. If necessary, use the appropriate application command to adjust the layout of data in the volume after the grow operation has fin- ished. Note: Growing a volume requires that it is enabled. The growto operation fails if the new length is smaller than the current volume length. The length of the volume is increased by extending existing subdisks in the volume, or by adding and associating new subdisks. Plexes that are not already fully populated (that is, that are sparse) are left unchanged. Log-only plexes are also left unchanged. When a volume is grown, the volume may be converted from one layout to another as a side effect. For example, a volume that has the mirror-stripe layout may be converted to stripe-mirror when it is grown. This kind of conversion is done if vxvoladm deter- mines that the new volume is too large for the original layout. These operations can be applied to single volumes, or to multiple volumes if the -M option is specified. These operations support the specification of the following attributes: layout=contig, layout=span, spare, use_storage. These operations support the specification of the following options: -b, -d defaultfile, -f, -g diskgroup, -M, -n, -P stor- age_pool and -t tasktag. growlogby | growlogto Increases the length of DCO volume associated with the named volume to (growlogto) or by (growlogby) the specified length in Ver- itas Volume Manager standard units (see vxintro(1M)) or as a percentage (for example, 110%). The growlogto operation fails if the new length is smaller than the current DCO volume length. The logtype=dco attribute must be specified. These operations support the specification of the following options: -b, -d defaultfile, -f, -g diskgroup, -n, -P storage_pool and -t tasktag. help Displays information on vxvoladm usage, keywords, options and attributes. list Lists the volumes that were created using at least one of the capabilities or templates that are specified as arguments to the capability and template attributes, or that have the volume tag specified as an argument to the tag attribute. The displayed volume sizes are rounded down to the nearest whole number of standard length units. If no capabilities, tags or templates are specified, all volumes in the disk group (and storage pool, if specified) are listed. Dotted tag hierarchies are understood. For example, the listing for tag=a.b includes all volumes that have tag names that start with a.b. listattrs Lists the attribute tags of the logical units (LUNs) in the specified disk group and/or storage pool. If LUN names are specified, only the attributes of those LUNs are displayed. If the -a option is specified, the attributes of all LUNs that are attached to the host are displayed. Otherwise, an error is returned if a disk group is not specified and no default disk group is defined (see the vxdg(1M) manual page). listtag Lists the tags that are associated with one or more specified volumes or volume sets. make Creates a volume with a specified name and length. The units of the volume length may be specified in Veritas Volume Manager standard units (see vxintro(1M)). This operation can be used to create multiple volumes if the -M option is specified. This allows the allocation of storage to be balanced among the volumes that are created in the same operation. See the section OPERATIONS ON MULTIPLE VOLUMES for details. This operation supports the specification of the following attributes: capability, comment, dcologlen, drl, excl, fmr, fstype, group, init, layout, max_ncolumn, max_nraid5column, min_ncolumn, min_nraid5column, mode, raid5loglen, raid5_stripeunit, region- size, rules, spare, stripe_stripeunit, use_storage, user, user_template, usetype, volume_template and vxvmtaskid. This operation supports the specification of the following options: -b, -d defaultfile, -g diskgroup, -M, -n, -o iosize, -o iode- lay, -P storage_pool and -t tasktag. maxgrow Reports the maximum size to which a volume can be grown given the specified attribute constraints and available storage. This operation supports the specification of the following options: -b, -d defaultfile, -f, -g diskgroup, -n, -P storage_pool and -t tasktag. maxsize Reports the maximum size of volume that can be created given the specified attribute constraints and available storage. This operation supports the specification of the following attributes: capability, drl, fstype, layout, loglen, max_ncolumn, min_ncolumn, max_nraid5column. min_nraid5column, raid5_stripeunit, rules, spare, stripe_stripeunit, use_storage, user_template and volume_template. This operation supports the specification of the following options: -b, -d defaultfile, -g diskgroup, -n, -P storage_pool and -t tasktag. migrate Makes non-ISP volumes previously created using vxassist manageable by ISP. The volumes to be migrated from a disk group may be specified on the command line, or in a definitions file that is read from the standard input if the -M option is specified. See the section OPERATIONS ON MULTIPLE VOLUMES for details of the syntax of this file. ISP assigns the default intent, "allocate plexes, logs and columns on separate disks" to the volumes that are being migrated. You can specify additional rules using the -I option on the command line, or by entries in the definitions file. However, you cannot include mirror, stripe or log rules. Rules specified on the command line are applied to all the specified volumes. The use of a definitions file allows different rules to be applied to each volume. Volumes specified on the command line are also associated with the same storage pool. If a storage pool is not specified using the -P option, the volumes are placed in the data storage pool of the disk group. The use of a definitions file allows the migrated volumes to be placed in different storage pools. Note: Volumes to be migrated must be compatible with the Cross-platform Data Sharing (CDS) feature and have an alignment value of 8k. All volumes in a VVR replicated volume group (RVG) must be migrated together. All volumes that share a set of disks must be migrated in a single operation. Disks cannot be shared with any volumes that are not listed on the command line or in a defini- tions file. Volumes cannot share disks unless these disks are to be located in the same storage pool. Volumes with a usage type of root, such as those on a root disk that is under VxVM control, cannot be migrated. The disk group containing the volumes to be migrated must have a version number of 120 or greater (see vxdg(1M)). This operation supports the specification of the following options: -b, -d defaultfile, -g diskgroup, -I, -M -n, -P storage_pool and -t tasktag. printintent Prints the rules, capabilities and volume templates that are associated with the specified objects. The types of object that can be specified are disk groups, storage pools, volumes and plexes. If no object names are specified, the disk group is assumed as the default object. This information may also be obtained by using the vxprint -m command. The only supported option is -g diskgroup. printrules Displays the complete set of rules that were used to create one or more volumes. This set of rules was obtained by processing the capabilities, volume templates and rules that were specified when a volume was created. The only supported option is -g diskgroup. remove column|log|mirror|volume Deletes columns, logs, or mirrors from a volume, or deletes an entire volume. Unless the number is specified, one column, log or mirror is removed. The removal of columns supports the specification of the following attributes: layout=shrink, ncols, stipeunit and tmplen. The removal of logs supports the specification of the following attributes: logtype (mandatory), lognames, nlogs, remaininglog and remove_storage. The removal of mirrors supports the specification of the following attributes: nmirror, plexnames, remainingmirror and remove_storage. If the -M option is specified, mirrors may be removed from multiple volumes in a single operation. Note: When deleting a mirror or a log, storage that is not to be removed is specified using the ! prefix. Storage that is to be removed is specified without this prefix. This operation supports the specification of the following options: -b, -d defaultfile, -f, -g diskgroup, -n, -P storage_pool and -t tasktag. removeall log Deletes all logs of the type specified by the logtype attribute from a volume. removetag Removes the specified tags from a volume or volume set. If only a tag name is specified, a tag with a matching name is removed regardless of its value. If a tag value is specified, a tag is only removed if both its name and value match. If tagname= is specified without a tag value, a tag with a matching name is only removed if its value is null. replacetag Replaces the specified tag that is set on a volume or volume set. reversemigrate Converts ISP volumes to non-ISP volumes. The converted volumes permanently lose any intent that was associated with them when they were ISP volumes, and the vxvoladm command cannot be used to administer the configuration of any associated storage. The volumes that are specified on the command line must not share any disks with any volumes that are not listed on the command line. reversemigrateall Migrates all ISP volumes in a disk group to non-ISP volumes. The converted volumes permanently lose any intent that was associ- ated with them when they were ISP volumes, and the vxvoladm command cannot be used to administer the configuration of any associ- ated storage. setstwidth Sets the stripe unit width for a striped or RAID-5 volume. in Veritas Volume Manager standard units (see vxintro(1M)). The tmplen attribute may be used in conjunction with this operation. settag Sets one or more specified tags on a volume or volume set. If only a tag name is specified, the tag is applied with a null value. If a tag value is also specified, the tag is set with that value. If a tag already exists with the same name, it is overwritten. Tag names and tag values are case-sensitive character strings of up to 256 characters. Tag names can consist of letters (A-Z and a-z), numbers (0-9), dashes (-), underscores (_) or periods (.) from the ASCII character set. A tag name must start with either a letter or an underscore. Tag values can consist of any character from the ASCII character set with a numeric value from 32 to 127. The tag names "site", "udid" and "vdid" are reserved and should not be used. To avoid possible clashes with future product fea- tures, it is recommended that tag names do not start with any of the following strings: "asl", "be", "isp", "nbu", "sf", "symc" or "vx". shrinkby | shrinkto Reduces the length of the named volume to (shrinkto) or by (shrinkby) the specified length in Veritas Volume Manager standard units (see vxintro(1M)) or a percentage (for example, 110%). Caution: Data can be lost or corrupted if file systems or other organized data residing on a volume are not shrunk before shrink- ing the volume. vxvoladm does not resize file systems (or other uses of the volume, such as databases) that reside on the vol- ume. You can use the vxresize command to shrink file systems on the volume (see vxresize(1M)). Otherwise, use the appropriate application command to adjust the layout of data in the volume before initiating the shrink operation. You must specify the -f option to forcibly shrink volumes of usage type fsgen or raid5. Note: Shrinking a volume requires that it is enabled. The shrinkto operation fails if the new length is greater than the current volume length. When a volume is shrunk, the volume may be converted from one layout to another as a side effect. For example, a volume that has the stripe-mirror layout may be converted to mirror-stripe when it is shrunk. This kind of conversion is done if vxvoladm deter- mines that the new volume is too small for the original layout. This operation can be applied to single volumes, or to multiple volumes if the -M option is specified. This operation supports the specification of the following attributes: layout=contig, layout=nocontig, spare, use_storage. This operation supports the specification of the following options: -b, -d defaultfile, -f, -g diskgroup, -M, -n, -P storage_pool and -t tasktag. transform Changes the capabilities of the existing volume online without changing the size of the volume. This operation supports all the attributes and options that are supported by the make operation. Note: The online transformation of an ISP volume is not necessarily complete if the vxtask command shows that synchronization of the volume has finished. A small additional time is required to perform cleanup operations. transformreverse Converts a volume that is undergoing a transformation back to its original state. Note: If volume is undergoing a transformation, the vxtask list command shows that a synchronization task is being performed on the top-level volume. verify Checks the intent of volumes that have been created by vxvoladm for conformance to template rules, user-specified rules, volume group rules and storage pools rules. Error messages are displayed if the intent has been violated. This operation supports the specification of the following options: -a, -d defaultfile, -g diskgroup, -n, -P storage_pool and -t tasktag. If the -a option is specified, the intent of all ISP application volumes in all disk groups is verified. Otherwise, the -g diskgroup option can be used to verify the intent of all application volumes in the specified disk group. OPTIONS
-a When used with the listattrs keyword, lists the attributes of all LUNs that are attached to the host. When used with the verify keyword, verifies the intent of volumes in all disk groups. -b Puts operations that can take a long time into the background. -d defaultfile Specifies a file that contains default attribute values for volume creation and space allocation. If not specified, vxvoladm reads the standard defaults file, /etc/default/allocator if this exists. -f --force Forces operations not usually allowed by vxvoladm. This is necessary for the following operations: o To resize a volume of type fsgen or raid5. o To grow a volume or a log where to do so would violate rules. o To remove mirrors, columns or logs that would violate rules. For example, the rules may imply that a volume must have minimum number of mirrors of a particular kind. o To remove a DCO while DRL is enabled on it. For the add log, add mirror, growby, growto, growlogby, growlogto and maxgrow operations, the -f option allows rules to be ignored that would otherwise be obeyed. The intent of the volume is preserved, but the rules that have been overridden are marked. To remove a rule from a volume's intent permanently, use the transform operation. -g diskgroup Specifies the disk group for the operation, either by disk group ID or by disk group name. If this option is not specified, and an alternate default disk group is not defined by specifying the diskgroup attribute on the command line or in a defaults file (usually /etc/default/allocator), the default disk group is determined using the rules given in the vxdg(1M) manual page. -I rules Specifies additional rules to the migrate operation. mirror, stripe and log rules cannot be included. -M Performs the operation on multiple volumes. See the section OPERATIONS ON MULTIPLE VOLUMES for details. -n Do not read the system defaults file. --noattach When used with the -M option and the mirror or add mirror operations to add mirrors to a volume, indicates that the newly added mirrors are to remain in the disabled state. -o useopt[,useopt...] Passes in option values to the operation. attribute_name=value Any attribute that is defined in the /etc/default/allocator file can be overridden by specifying it and its value as arguments to the -o option. See the ATTRIBUTES section for a list of the attributes that can be defined. iosize=size Performs copy and recovery operations in regions with the length specified by size, which can be specified in Veritas Volume Manager standard units (see vxintro(1M)). Specifying a larger number typically causes the operation to complete sooner, but with greater impact on other processes using the volume. The default I/O size is 1 megabyte. iodelay[=milliseconds] Reduces the system performance impact of copy operations. Copy and plex consistency recovery operations are usually a set of short operations on small regions of the volume (normally from 16 kilobytes to 128 kilobytes). This option inserts a delay between the recovery of each such region. A specific delay can be specified as a number of millisec- onds, or a default is chosen (normally 250 milliseconds). -P storage_pool Specifies the name of the storage pool to which an operation is applied. If a disk group contains only a data storage pool, this option is not required. If a disk group contains a data storage pool and one or more clone storage pools, it may be necessary to specify this option. -t tasktag If any tasks that are registered to track the progress of an operation, mark them with the tag tasktag. This option is passed to utilities called by vxvoladm, so any child tasks are also tagged with the same task tag. ATTRIBUTES
Attribute values are specified with arguments of the form attribute_name=value. Default attribute values can be stored in the file /etc/default/allocator, and may be overridden for a particular invocation of the command by specifying them as arguments to the -o option. The /etc/default/allocator_readme file contains a pristine copy of the /etc/default/allocator file as it is shipped and installed. allocation_policy_order={1|2|3|4|5|6|7|8|9|10|11|12} Specifies the order of priority in which ISP takes action to allocate space. 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. The numeric argument to allocation_policy_order determines the behavior of ISP as follows: 1 S < T < A < D 2 S < T < D < A 3 S < A < T < D 4 S < D < T < A 5 S < A < D < T 6 S < D < A < T 7 A < S < T < D (default behavior) 8 D < S < T < A 9 A < S < D < T 10 D < S < A < T 11 A < D < S < T 12 D < A < S < T Here A stands for "autogrow," D for "desired rules," S for "self-sufficient," and T for "template combinations." The < operator indicates the precedence, so that "X < Y" means that Y is chosen in preference to X, and the rightmost items in the list are cho- sen before those to the left. For example, the default behavior of ISP (equivalent to allocation_policy_order=7), "A < S < T < D," means: T < D First, drop desired rules in preference to using a different template combination. S < T Next, use a different template combination in preference to adding more templates to the storage pool. A < S Finally, add more templates to the storage pool in preference to growing the storage pool. autogrow={on|off|true|false|yes|no} Enables or disables the autogrow feature for a cache volume that is used by space-optimized instant snapshots. cachevolume=cachevol Specifies the cache volume that a space-optimized instant snapshot is to use. capability='cap_name(var_name=var_value, ...),cap_name ...' Specifies the capabilities to be used with a make, maxsize, or transform operation. Capabilities take optional parameters, and multiple capabilities can be specified for a volume. See the Veritas Storage Foundation Intelligent Storage Provisioning Administrator's Guide for a list of the set of capabilities that are provided by Veritas Volume Manager. columnnames=plex-name (alias: column, columns) Specifies the name of columns for an evacuate operation. comment=comment Specifies a comment to give to a volume when it is created. dcologlen=length Specifies the DCO volume size to be used. This attribute may be used with the make operation if the specified templates and/or capabilities imply that storage is to be allocated for a DCO volume. Note: The actual size of the log that is added may be adjusted because of constraints on minimum size and alignment. diskgroup=diskgroup Specifies the disk group for an operation. If a disk group is specified in a defaults file, then it just specifies the default disk group to use for the make operation, if no other means of determining the disk group can be used. If specified as a command line attribute, it has the same effect as specifying a disk group with the -g option (the operation is forced to apply to the given disk group). drl={{true|yes|y|on}|sequential|{false|no|n|off}} Specifies whether dirty region logging (DRL), sequential DRL, or no DRL is to be enabled. excl={yes|y|on|true|no|n|off|false} Sets or clears the EXCLUSIVE flag on the volume. A volume in exclusive open state can be opened by only one node in the cluster at a time. Multiple opens of an exclusive volume from the same node are permitted. Non-exclusive volumes can be simultaneously opened by more than one node. After a node opens an exclusive volume, every other node's open attempt fails until the last close of the volume by the first opener. Such an open failure returns a EBUSY error code. Available only if the Veritas Volume Manager cluster feature is enabled. fastresync={yes|y|on|true|no|n|off|false} (alias: fmr) Enables or disables Persistent FastResync on a volume. A DCO object and DCO log volume must have been associated with the volume. Note: A license is necessary to use the FastResync feature. fstype=file-system-type Specifies the file system type for a new volume. group=owning-group Sets the group ID for a new volume. The group ID can be specified numerically or with a system group name. This attribute is used only with the make operation. By default, volumes are created with group 0. growby=growby-percentage Sets the growby value as a percentage for a cache volume that is used by space-optimized instant snapshots. highwatermark=high-water-mark-percentage Sets the high watermark value as a percentage for a cache volume that is used by space-optimized instant snapshots. init=initialization-type Specifies how to initialize a new volume. The default method (which can be selected explicitly with init=default) is to call vxvol start to perform a default initialization that is specific to a usage type. A new volume can be left uninitialized with init=none. Specifying init=zero clears a volume before enabling it for general use. layout=layout-spec[,layout-spec, ...] Specifies a plex layout type. See the LAYOUT SPECIFICATION section for details. By default, unmirrored non-striped volumes are created without any logs. loglen=length (alias: logsize) Specifies the log length to be used. Note: The actual size of the log that is added may be adjusted because of constraints on minimum size and alignment. lognames=log-name (alias: log, logs) Specifies the name of an existing log to the add log or remove log operation. For the add log operation, it specifies that the new log should be similar to that named. For the remove log operation, it specifies that the named log should be removed. logtype=type Specifies the type of log to use with a volume: dcm Data change map (DCM) used with Veritas Volume Replicator volumes to enable the fast resynchronization of a secondary RVG with its primary. dco Data change object (DCO) used to implement persistent snapshots and new-style dirty region logging (DRL). DRL allows the speedy recovery of mirrors after a system crash. drl Traditional DRL log (implemented as a dedicated plex, and not using DCO) used with mirrored layout volumes only. raid5 RAID-5 log used to permit the speedy recovery of RAID-5 volumes. Note: Use of this attribute with the make operation is not supported. max_ncolumn=number (alias: maxcolumns, max_nstripe, maxstripes) Specifies the default maximum number of columns for a striped plex (default value is 8). The rules for selecting the default number of columns are described for the nstripe attribute. max_nraid5column=number (alias: maxraid5columns, max_nraidcolumn, max_nraid5stripe, max_nraidstripe, maxraidcolumns, maxraid5stripes, maxraidstripes) Specifies the default maximum number of columns for a RAID-5 volume (default value is 8). The rules for selecting the default number of RAID-5 columns are described for the nstripe attribute. maxgrow=maxgrow-percentage Sets the maxgrow value as a percentage for a cache volume that is used by space-optimized instant snapshots. min_ncolumn=number (alias: mincolumns, min_nstripe, minstripes) Specifies the default minimum number of stripe columns for either a RAID-5 volume (if min_nraid5column is not also specified) or for a striped plex (default value is 2). The policy for selecting the default num- ber of stripe columns does not allow the creation of a striped plex with fewer than this number of columns. min_nraid5column=number (alias: minraid5columns, min_nraidcolumn, min_nraid5stripe, min_nraidstripe, minraidcolumns, minraid5stripes, minraidstripes) Specifies the default minimum number of columns for a RAID-5 volume (default value is 3). The policy for selecting the default number of RAID-5 columns does not allow the creation of a RAID-5 volume with fewer than this number of columns. mode=permissions Specifies the permissions for the block and character device nodes that are created for a new volume. The mode can be specified either as an octal number or symbolically (see the chmod(1) manual page). The default mode for a volume gives read and write access only to the owner. ncols=number Specifies the number of columns to add or remove. nlogs=number (alias: nlog, logs) Specifies the number of logs to add or remove. nmirror=number-of-mirrors Specifies the number of mirrors (plexes) to add or remove. nvol=number (alias: nvols) Specifies the number of volumes to be created by the make operation. 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. plexnames=plex-name (alias: plex, plexes) Specifies the name of a plex to an add or remove mirror operation. probe_granularity=size Specifies the granularity for the maxgrow and maxsize requests. The default size value is 1m (1 megabyte). raid5_stripeunit=width (alias: raid5_stwid, raid5_stwidth, raid5_st_width, raid_st_width, raid_stripeunitsize, raid5_stripeunitsize, raid5_stripeu- nitwidth, raid_stwid, raid_stwidth, raid_stripeunit, raid_stripeunitwidth) Specifies the stripe unit size to use when creating a new RAID-5 volume (default value is 16K). raid5loglen=length (alias: raidloglen) Specifies the RAID-5 log length to be used. This attribute may be used with the make operation if the speci- fied templates and/or capabilities imply that storage is to be allocated for a RAID-5 log. Note: The actual size of the log that is added may be adjusted because of constraints on minimum size and alignment. regionsize=size Specifies the size of each region that is tracked by a bit in the maps within a version 20 DCO volume. The value of size must be a power of 2 and be greater than or equal to 16k(16KB). The default value is 64k(64KB). remaininglog=number Sets the number of RAID-5 log copies or DCO plexes that must remain in a volume after a delete log operation. remainingmirror=number Sets the number of mirrors that must remain in a volume after a delete mirror operation. rules=rules Specifies the rules that are to be used with a make, maxsize, or transform operation. See the ALLOCATOR RULES section for more information. spare=no|only|yes Controls the use of spare disks when hot-relocation is performed. If set to yes, spare disks are used. If necessary, free space is also used on disks that have been marked nohotuse=off. This is the default behavior. If set to only, relocation storage is allocated using only spare disks. If set to no, spare disks are not used. Alternatively, do not mark any of your disks as spares and do not mark them as available for use by hot relocation. stripe_stripeunit=width (alias: stripe_stwid, stripe_stwidth, stripe_st_width, stripe_stripeunitsize, stripe_stripeunitwidth) Specifies the default stripe unit size for RAID-5 and striped plexes. This attribute also resets the values for both raid5_stripeunit and stripe_stripeunit. tag=tagname[=[tagvalue]] Associates a tag name and optional tag value with a volume. Tag names and tag values are case-sensitive character strings of up to 256 characters, consisting of letters, numbers, dashes (-), underscores (_) or periods (.). A tag name should start with either a letter or an underscore. The tag names "site", "udid" and "vdid" are reserved and should not be used. To avoid possible clashes with future product fea- tures, it is recommended that tag names do not start with any of the following strings: "asl", "be", "isp", "nbu", "sf", "symc" or "vx". If not specified, a tag value is set to null. More than one tag may be associated with a volume provided that each tag is uniquely named. tmplen=size Controls the size of the temporary volume that is used for add column, rmcolumn and setstwidth operations. If not specified, the size of the temporary volume is based on the size of the volume that is being operated upon. Note: The temporary volume is a 2-way mirror that requires at least two disks, and twice as much disk space as the size of the temporary volume. type={cachevolume|data|snapshot} Sets the type of a volume to data for a normal volume, snapshot for a volume that is being created to hold a full-sized instant snapshot, or cache for a volume that is being created to hold the cache volume for use by space-optimized instant snapshots. If no type is specified, data is assumed. For the cachevolume type, a cache object is also created above the cache volume. For the snapshot type, a DCO and DCO volume are also created for the volume. user=owning-user Specifies the user ID for a new volume (default value is root). The user ID can be specified numerically or it can be a system login name. user_template=ut1[,ut2, ...] Specifies the list of user templates to be used with a make, maxsize, or transform operation. usetype=volume-usage-type Specifies the usage type to use when creating a new volume (the default value is raid5 for RAID-5 volumes; otherwise fsgen is the default). volume_template=t1[,t2 ...] Specifies a list of volume templates to be used with a make, maxsize, or transform operation. STORAGE SPECIFICATION
Storage specification attributes are used to specify which storage can and cannot be allocated during vxvoladm operations. They are also used with the evacuate operation to specify the storage from which VxVM objects are to be removed and the storage that may be allocated to relocate these objects. Storage specification attributes have one of the following forms: [!]diskname Includes a disk for allocation by ISP. If ! is specified, the disk is ignored. diskname refers to a disk media record name in a Veritas Volume Manager disk group. [!]diskclass:instance Includes a set of disks for allocation by ISP. If ! is specified, the disks are ignored. diskclass names a particular type of disk grouping (for example, ctlr to indicate groups of disks on a single controller), and instance specifies which grouping of that type (for example c1). Each type of disk class has a particular format for specifying instances of the class. diskclass:same Specifies that the allocation must be constrained to include disks from the same instance of the given class. For example, a storage specification of diskparam:same indicates that all disks selected must have the same basic parameters (tracksize, cylin- der size, size, and revolutions-per-minute), but does not specify which specific parameters to use. The defined disk classes (and alternate names, or aliases, for those classes) are as follows: ctlr (alias: c, ctrl, cntrl, controller) Specifies disks accessible through a controller group. All disks accessible through the spec- ified controller name(c#) are selected for the operation. da Specifies a Veritas Volume Manager disk (VM disk) by device name (disk access record name). For example, c2t1d0 indicates a VM disk defined on disk c2t1d0. device (alias: d) Specifies all VM disks on a physical disk. The physical disk is specified in the form c#t#d#, which indicates the controller, target ID, and disk number. Typically, only one VM disk device is created for each physical disk. diskrpm (alias: rpm) Specifies disks with a given rotation speed in revolutions per minute (for example, 7200). dm (alias: disk) Specifies a VM disk by disk name (disk media record name) in the disk group of the volume. Specifying a disk class type of dm or disk is equivalent to giving a storage specification with no disk class name. enclr (alias: e, enclr, enclosure) Specifies disks belonging to a particular enclosure. The enclosure name is obtained using the vxdm- padm listenclosure all command. target (alias: t) Specifies disks with the same SCSI target address on the same controller. The target is specified in the form c#t#. For example, t:c2t4 selects disks on target 4 of controller 2. Storage can additionally be specified using the following expressions in conjunction with rules that may be combined by using the allof, eachof and noneof operators (see the OPERATORS section): evac_storage=rules Specifies storage assigned to a volume that is to be evacuated by the evacuate operation on columns, disks, logs, mirrors or sub- disks. remove_storage=rules Specifies storage that is to be removed from use by a volume in a remove operation on a column, log or mirror. use_storage=rules Specifies storage that may be used to relocate columns, disks, logs, mirrors, subdisks or a volume that are being evacuated. The following example evacuates data from subdisks belongs to the volume vol1 that are currently on controller c1 to available storage on any other controller: vxvoladm -g mydg evacuate sd vol1 evac_storage='eachof("Controller"="c1")' use_storage='noneof("Controller"="c1")' The next example creates a 10-gigabyte volume using disks from enclosure encl1 that are not available exclusively on controller c1: vxvoladm -g mydg make vol2 10g use_storage='allof("Enclosure"="encl1",noneof("Controller"="c1"))' Note: The storage specification does not contribute to the intent of a volume. LAYOUT SPECIFICATION
The layout attribute specifies a comma-separated list of parameters that may be applied to a vxvoladm operation. See the vxassist(1M) manual page for details of the layout specifications that are supported. ALLOCATOR RULES
affinity Expresses attraction between VxVM objects. Objects that conform to this rule share as many attribute values as possible. confineto Depending on the scope in which the rule is used, confines a volume, mirror, column or log to a specific set of LUNs. confineto expressions may be used with the allof, anyof, eachof, noneof and oneof operators. The default operator for merging confineto expressions is eachof. exclude Depending on the scope in which the rule is used, excludes a set of LUNs from allocation to a volume, mirror, column or log. exclude expressions may be used with the allof, eachof and noneof operators. The noneof operator can be used to forcibly include sets of LUNs in the allocation. The default operator for merging exclude expressions is eachof. multipath Specifies how tolerant a VxVM object is to the failure of a number of specified components. The rule defines how many paths a VxVM object should have available through each component. Note: Expressions involving multipath do not use operators to combine multiple arguments. parity Specifies whether redundancy should be based on parity. Parity-based redundancy is typically implemented using a RAID-5 layout in hardware or using software. select Depending on the scope in which the rule is used, confines a volume, mirror, column or log to a specific set of LUNs. specifies storage that can be allocated to create a volume, mirror, column or log. select expressions may be used with the allof, anyof, eachof, noneof and oneof operators. The default operator for merging select expressions is anyof. separateby Defines how mirrors are separated in a volume. A separateby expression is typically used to place mirrors in different failure domains for greater reliability. striped Specifies whether a volume or mirror is to be striped. As striping can be implemented in hardware as well as in software, a value of true does not imply that the number of columns is greater than one. strong separateby A more restrictive form of the separateby rule, that does not permit any sharing of attributes for the storage that is assigned to VxVM objects Simplified Rule Syntax For convenience, rules may be expressed in the following simplified form on the command line: rulename=attribute_name[=value][, ...] as shown in the following examples: confineto=VendorName=EMC,Room=Room1,Building select=Room=Room1,Room=Room2,Building exclude=VendorName=EMC,VendorName=Hitachi affinity=Enclosure separateby=Controller strong separateby=Spindles which are equivalent to these rule expressions: confineto eachof("VendorName"="EMC","Room"="Room1","Building") select anyof("Room"="Room1","Room"="Room2","Building") exclude allof("VendorName"="EMC","VendorName"="Hitachi") affinity "Enclosure" separateby "Controller" strong separateby "Spindles" See the Veritas Storage Foundation Intelligent Storage Provisioning Administrator's Guide for details of the syntax of rule expressions. OPERATORS
allof Selects available storage that matches the union of all of the operands. anyof Selects available storage that matches any of the operands in the order that they are listed. The first match is chosen. eachof Selects available storage that matches the intersection of the operands. noneof Does not select storage that matches any of the operands. oneof Selects available storage that matches one and only one of the operands. The first match is chosen. See the Veritas Storage Foundation Intelligent Storage Provisioning Administrator's Guide for more information about these operators. OPERATIONS ON MULTIPLE VOLUMES
The make, grow and shrink operations can be performed on only a single volume if this is specified on the command line. The migrate opera- tion can be performed on multiple volumes that are specified on the command line, but the same rules are applied to each volume, and only a single destination storage pool may be used. These limitations may be overcome by specifying the -M option with these operations. The com- mand then reads multiple volume definitions from the standard input until the end of file is encountered. Input can be redirected from a definitions file or from a here document. The -M option can also be used to add mirrors to (mirror), or to remove mirrors from (remove mirror) multiple volumes in a single opera- tion. The syntax of the definitions for creating multiple volumes with make is shown here: volumegroup { [diskgroup "dgname"] [rules { volume-group-rules } ] volume "name" length { [cachevolume "cachevol"] [capability 'capability[(name=value[, ...])],capability ...]'] [comment "comment"] [dcologlen length] [dm dm1,[dm2, ...]] [drl on|off|true|false|yes|no|sequential] [excl on|off|true|false|yes|no] [fmr on|off|true|false|yes|no] [fstype file-system-type] [group "group"] [init active|none|zero] [iodelay delay] [iosize size] [layout "type"] [max_ncolumn number] [max_nraid5column number] [min_ncolumn number] [min_nraid5column number] [mode mode] [nvol number] [pool "poolname"] [raid5_stripeunit width] [raid5loglen length] [regionsize size] [rules { volume-rules } ] [spare yes|no|only] [stripe_stripeunit width] [tasktag "tag"] [type cachevolume|data|snapshot] [user "user"] [user_template "ut1[,ut2 ...]"] [usetype volume-usage-type] [volume_template "vt1[,vt2 ...]"] [vxvmtaskid taskid] } [volume "name2" length2 { ... }] }; [volumegroup { ... };] Each volume group (volumegroup) definition contains the rules and volume definitions for the volumes that are to be created for a disk group. For the migrate operation, the specification syntax is: diskgroup "dgname" volume "volumename1" { pool "pool_name1" rules { volume1_rules } }; volume "volumename2" { pool "pool_name2" rules { volume2_rules } }; ... For operations to grow or shrink multiple volumes, the syntax of each line in the input is: diskgroup dgname volume volname length EXAMPLES
Maximum Volume Size Find out the maximum size of a mirrored volume that can be created in the disk group mydg using the available free storage: vxvoladm -g mydg maxsize capability='DataMirroring' Volume Creation Create a 100-megabyte concatenated volume with 2 mirrors in the default disk group, and which is made immediately active: vxvoladm make vol1 100m rules='mirror 2' init=active Create a 20-gigabyte striped volume with 4 stripes and its contents initialized to all zeros: vxvoladm -g mydg make vol2 20g rules='stripe 4' init=zero Create a 500-megabyte mirrored-stripe volume which is not initialized: vxvoladm -g mydg make vol3 500m init=none rules='mirror 2{stripe 3}' Using the DataStripeMirror capability, create a 30-gigabyte striped-mirror volume which is immediately active: vxvoladm -g mydg make vol4 30g capability='DataStripeMirror(ncols=3,nmirs=2)' init=active Create a 500-megabyte mirrored volume, relvol, using the volume template DataMirroring. vxvoladm -g mydg make relvol 500m volume_template=DataMirroring Create a 10-gigabyte 4-mirror volume, perfvol, on hardware-striped EMC storage that is in the same location: vxvoladm -g mydg make perfvol 10g capability='DataMirroring(nmirs=4),PrefabricatedStriping' rules='confineto allof("Room","Vendor"="EMC")' Multiple Volume Creation Create a 1-gigabyte contiguous volume, tvol1, and a 10-gigabyte mirrored volume, tvol2 : vxvoladm -M make <<!! volumegroup { diskgroup "tvdg" volume "tvol1" 1g { layout "contig" } volume "testvol2" 10g { init active capability 'DataMirroring(nmirs=3)' } }; !! Mirror Addition and Removal Add two mirrors to the volume myrelvol: vxvoladm -g mydg add mirror myrelvol nmirror=2 Add a mirror to the volume myvol2 using disk mydg10 for storage: vxvoladm -g mydg add mirror myvol2 dm:mydg10 Remove the two mirrors from volume myvol3 with plexes named plex01 and plex02: vxvoladm -g mydg remove mirror testvol3 nmirror=2 plexnames=plex01,plex02 Maximum Growable Volume Size Find out the maximum size to which the volume relvol can be grown: vxvoladm -g mydg maxgrow relvol Growing and Shrinking Volumes Grow the volume pervol by 25%: vxvoladm -g mydg growby pervol 25% Shrink the volume myvol by 100MB: vxvoladm -g mydg shrinkby myvol 100m Growing and Shrinking Multiple Volumes Grow several volumes in varying disk groups by different amounts: vxvoladm -M growby <<!! diskgroup ttdg volume vol1 100m diskgroup ttdg volume vol2 200m diskgroup mydg volume myvol3 50% !! Shrink several volumes in different disk groups by varying amounts: vxvoladm -M shrinkto <<!! diskgroup ttdg volume vol1 1g diskgroup mydg volume myvol4 90% !! Log Addition and Removal Add a DCO log to the volume tvol1: vxvoladm -g ttdg add log tvol1 logtype=dco Remove the DCO log from the volume tvol1: vxvoladm -g ttdg remove log tvol1 logtype=dco Growing a Log Grow the DCO volume associated with the volume myvol2 by 100%: vxvoladm -g mydg growlogby myvol2 100% logtype=dco Volume Removal Delete the volume vol2: vxvoladm -g mydg remove volume vol2 Migrating a Volume to ISP Migrate the volumes myvol and snap_myvol to data and clone storage pools respectively: vxvoladm -M migrate <<!! diskgroup mydg volume myvol { pool "mydatapool" }; volume snap_myvol { pool "myclonepool" }; !! EXIT STATUS
The vxvoladm utility exits with a non-zero status if the attempted operation fails. A non-zero exit code is not a complete indicator of the problems encountered, but rather denotes the first condition that prevented further execution of the utility. NOTES
Attribute names and their values are case sensitive. You can use the vxvoladm listattrs command to find out the correct names of LUN attributes. Values for attributes such as max_ncolumn and min_nstripe are ignored if they would contradict the values specified by capability parame- ters or rules. FILES
/etc/default/allocator Defaults file used by vxvoladm. /etc/default/allocator_readme Pristine copy of the defaults file as shipped and installed. NOTES
Operations on mirrored-stripe volumes to add or remove columns, or to change the stripe width can be reversed by using transformreverse. Such operations on striped, striped-mirror and RAID-5 volumes can only be reversed by first running vxtask abort to stop the operation, and then running vxrelayout reverse to undo it. If an HFS or Base JFS file system is configured on an ISP volume, do not specify layout=shrink to the vxvoladm command when removing col- umns from the volume. Similarly, do not specify layout=grow to the vxvoladm command when adding columns to the volume unless you first unmount the file system. Both HFS and Base JFS file systems cannot be shrunk, and can only be grown if they are first unmounted. These restrictions do not apply to an Online JFS file system, which can be grown and shrunk while mounted. See the vxresize(1M) manual page for more information. SEE ALSO
vxassist(1M), vxpool(1M), vxrelayout(1M), vxresize(1M), vxtask(1M), vxtemplate(1M), vxusertemplate(1M) Veritas Storage Foundation Intelligent Storage Provisioning Administrator's Guide VxVM 5.0.31.1 24 Mar 2008 vxvoladm(1M)
All times are GMT -4. The time now is 08:56 AM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy