Previous Topic: Server ManagementNext Topic: Service Endpoint Management


Volume Management

This section describes commands that manage the set of volumes accessible to the grid.

This section contains the following topics:

volume check

volume clean

volume copy

volume create

volume destroy

volume export

volume format

volume fscheck

volume fsrepair

volume import

volume info

volume list

volume manage

volume migrate

volume move

volume relocate

volume rename

volume repair

volume resize

volume set

volume check

Initiate background check for volumes that need repair

Syntax
volume check  
Parameters

None.

Examples
volume check

Initiate background check for volumes that need repair

Note: Execute volume repair --status to see the current state of the volume repair status for all volumes in the grid

volume clean

Destroy or display list of unused volume(s), unused volume streams, or volumes that have broken symbolic links.

Syntax
volume clean [ --unused | --link ] [--fail ] [--force] 
volume clean --status [ --unused | --link ] [ --batch ]  
Arguments
--unused

Destroy or display unused volumes that don't belong to any known entity (application, class, and so on) and unused volume streams.

--link

Destroy or display broken symbolic link volumes (symbolic link volumes that point to a non-existing volume.)

--fail

Abort clean operation if there is any failure.

--force

Disable prompting and user verification.

--status

Display list of unused volumes

--batch

Display output in UDL format

Examples
volume clean

clean all unused volumes, unused volume streams, and broken symbolic link volumes

volume clean --unused

clean unused volumes and unused volume streams

volume clean --link

clean broken symbolic link volumes

volume clean --status

list all unused volumes, unused volume streams, and broken symbolic link volumes

volume clean --status --unused

list unused volumes and volume streams

volume clean --status --link

list broken symbolic link volumes

Notes:

volume clean Output

This topic contains command output specification.

The output of the clean command is the following when invoked with --status option:

-- Unused Volumes ---
Table with the following columns: Name, Scope, Type, State, Size(MB), Mirrored, Linked
(type can be: unused, broken)

---Unused Volume Streams ---
Table with the following headings: Name, State, Size(MB)

The output of the clean command is the following when invoked with --batch option:
volume name : scope_name=scope, state=state, type=type, size=size, mirrored=(yes|no|?), [link,] sysvol=logical-vol-name
...

volume copy

Copy a volume.

Syntax
volume copy <src>[%<spar>]<dst>[%<dpar>][comment=<val> | --stripcomment]
                         [mirrored=<val>][size=<val>] [store=<store>]
                         [fs_options=<val>] [--use-filer]
                         [--fscpy [--prefill]] [ -n ] [--overwrite [--force]]
Options
<src>

Name of the existing volume to copy. Can specify any volume

<spar>

Specifies the partition/logical volume to copy from (for example, '%parN[.parN]'). By default, a block level copy is done, leaving any additional space on the destination partition unused. If --fscpy is used, a filesystem level copy is done. In this case, the filesystem will be created with the full size of the destination partition/volume and the fs_options property will be honored when creating the fs. If the source volume has no partition table, this property should not be specified to copy of the whole volume.

<dst>

Name of the newly copied volume. Must specify an application user, singleton class volume, or global volume

<dpar>

Specifies the partition/logical volume to copy to (for example, '%parN[.parN]'). To copy the source to the whole destination volume, instead of a partition, this property should remain blank.

comment=<val>

Comment that is to be set for the destination volume

--stripcomment

Set the comment for the destination volume to empty.

mirrored=<val>

Set to 1 for mirrored volume.

size=<val>

Specify size for new volume. If not specified, the destination volume is created with the same size as the source volume. Units may be specified, such as 128M[B] or 2G[B]. If units are not specified, it is assumed that the size is in MB.

<store>

Specifies the volume store where the volume is created. Can set to one of the following values:

local - store volume on local server storage

san - store volume on a SAN

fs_options=<val>

File system-specific options. Only valid if --fscpy argument is specified.

--use-filer

If the copy operation can be done as a block level copy and this option is specified, do the block level copy in the filer instead of on the controller. This can be used for partitioned or unpartitioned volumes.

--fscpy

Perform filesystem level copy when copying the volume. If this option is not specified, block-level copy is performed.

--prefill

Allocate ALL blocks for new volume. This option is only valid if --fscpy is specified; otherwise it is ignored.

--overwrite

Overwrite destination volume if it exists

--force

Do not prompt for confirmation of overwrite

-n

Skip verification the volume reference that is in the class descriptor, if destination volume is an application singleton class volume.

Notes:

Examples
volume copy my-app:data my-app:data2

Copy application user volume. The volume may be partitioned or unpartitioned.

volume copy my-app:data my-app:data2 --fscpy

Copy application user volume using filesystem level copy. The operation will fail if any of the partitions are not supported by the Filer.

volume copy /system:MYSQL5.boot my-app:DBASE.boot -n

Copy global catalog class volume.

volume copy my-app:DBASE.boot my-app2:DBASE.boot

Copy application singleton class volume.

volume copy my-app:data1%par3.par1 my-app:data2%par3.par1

Copy logical partition 1 of extended partition 3 of a volume to logical partition 1 of extended partition 3 of another volume. Volume data2 must exist and have a partitioning table that has extended partition 3 with logical partition 1 in it that is large enough to fit the source partition.

volume copy my-app:data1%par3.par1.home my-app:data2

Copy lvm logical volume "home" (on the first logical partition of extended partition 3) to a separate unpartitioned volume. If the destination volume exists, --overwrite can be used to replace it.

volume copy my-app:data1 my-app:data2%par2 --fscpy

Copy an unpartitioned volume as partition 2 on the destination volume, doing filesystem copy and using all of the space on the destination partition.

volume create

Create a new application or global volume.

Syntax
vol create <name>(mkfs=<fs>|fs=<fs>)[ <prop>=<val> ]* [ -n ][--prefill][ --batch ] 
Options
<name>

Name of the volume to create. The format of <name> is the following: <application>:[<class>.]<volume>, _GLOBAL:<volume>

or _GLOBAL_RO:<volume>.

<fs>

File system type (for example, ext3)

<prop>=<val>

Volume parameters. The following parameters may be set:

* store

Specifies the volume store where the volume is created. May be set to one of the following values:

local - store volume on local server storage

san- store volume on a SAN

size

Volume size, units may be specified (for example, 128M[B], 2G[B]). If units are not specified, it is assumed that the value is in MB. Default is 1G

comment

Volume comment. This parameter is not supported if the 'link' parameter is specified.

fs_options

Additional file system options used to format the volume (See notes below for specifics)

mirrored

Volume is mirrored

link

Name of application user or global volume to which the volume is to be linked. The format of the link is the following:

<application>:<volume>

or _GLOBAL:<volume>.

parN.*

Partitioning parameters. (See notes below for specifics)

-n

Skip verification that volume reference is in the class descriptor if adding an application singleton class volume.

--prefill

Allocate ALL blocks of volume.

--batch

Display output in UDL format.

Notes:

Examples
vol create my-app:data fs=ext3

create 1G application user volume

vol create my-app:data fs=ext3 fs_options="-b 4096 -j -J size=180 -m 0"

create 1G application user volume specifying block size, journal size and reserved blocks.

vol create my-app:DBASE.boot fs=ext3 size=256M -n

create 256M application singleton class boot volume and don't check that volume reference exists in the class descriptor of DBASE.

vol create my-app:data fs=ext3-snapshot size=1G fs_options="vol_group_name=VGVOL data_percentage=75 -b 2048"

create 1G application user volume of type ext3-snapshot, with block size set to 2048 for the fs on the data volume.

vol create my-app:data size=5G par1.fs=ext2 par1.size=100M par2.fs=lvm par2.vg=VOLGR00 par2.root_lv.size=2GB par2.root_lv.fs=ext3 par2.home_lv.fs=ext3

Create 5GB disk with 2 primary partitions, first one is of size 100MB and ext2 formated, second one uses the rest of the disk space and has lvm on it with two volumes - one for / (using 2GB) and one for /home (using the rest of the partition space) - this is a typical setup that distro installers do by default

vol create my-app:data size=10G par1.fs=ext2 par2.fs=ext3 par3.fs=ext3 par4.fs=ext3

Create 10GB disk with 4 partitions

vol create my-app:data size=10G par1.fs=ext2 par2.fs=ext3 par3.fs=ext3 par4.fs=Extended par4.par1.fs=ext3

Same thing as above, but the last partition is logical (it will actually create 5 partitions, 3 primary, 1 extended and 1logical which resides on the extended)

volume create Output

This topic contains command output specification.

The output of this command is the following: volume name created [ with filesystem fstype ].

Non-batch Output
a.	Symbolic link:
Volume ‘<name>’ created as a symbolic link to <volume>.
b.	Regular volume:
Volume ‘<name>’ created with filesystem ‘<fstype>’.
Batch Output

If the --batch option is specified, the output of this command is the following:

1.	Batch output 
	a.	Symbolic link:
	volume <name>
  	 {
  	 link         = <val>
  	 comment = <val>
  	 }
	b.	Regular volume
	volume <name>
  	 {
  	 size         = <val>
  	 comment = <val>
  	 fs_type    = <val>
  	 }
2.	Non-batch output
	a.	Symbolic link:
	Volume ‘<name>’ created as a symbolic link to <volume>.
	b.	Regular volume:
	Volume ‘<name>’ created with filesystem ‘<fstype>’.

volume destroy

Remove an existing volume from an application.

Syntax
volume destroy <name> [ --force ]  
Parameters
<name>

Name of the volume to remove. format of name is the following:

application:[class.]volume

_GLOBAL:volume - global volume

_GLOBAL_RO:volume - global read-only volume

--force

Skip verification of volume destroy

Examples
volume destroy lamp:data

Destroy application user volume

volume destroy lamp:NAS1.boot

Destroy application singleton class volume

Notes:

volume export

Export a volume (application or singleton class volume or global volume).

Syntax
volume export <name> <image file> [ --nocompress ] [ --force ]
vol export <name> local_ip=<local> remote_ip=<remote>
              [migrating_class=<class>] encr_key=<volume> [--force] 
Parameters
<name>

Name of volume to export. The format of <name> is the following: <application>:[<class>.]<volume>, _GLOBAL:<volume>, or _GLOBAL_RO:<volume>

<image file>

Name of the exported volume image residing within the root of the /vol/_impex directory. If the --nocompress option is not specified, a '.gz' extension is added to the image file name if not already specified. If executed by a grid maintainer, the volume image may reside within a subdirectory relative to the /vol/_impex folder.

<local>

Network information to configure on the migrator application running on the local grid. It has the following format:

[_vlan.][<vlan id>.]<ip address> | _net.<network name>.<ip_address>
<remote>

Network information to configure on the migrator application running on the remote grid. It has the following format:

[_vlan.][<vlan id>.]<ip address> | _net.<network name>.<ip_address>
[<class>]

Specifies the assembly to use in building the local migrator application.

Default is /filer:Filer_Linux_ADMI

<volume>

specifies the volume containing the fixed encryption keys to be supplied to the migrator application. This argument is required only when migration is between two grids.

--nocompress

Do not compress the exported volume image.

--force

Overwrite the volume image already residing within the root of the /vol/_impex directory.

Examples
vol export myapp:myvol myvol.img

export application user volume creating compressed image file with name of myvol.img.gz.

vol export myapp:myclass.boot myclass.boot.img --nocompress

export application singleton class boot volume without compression with the name of 'myclass.boot.img'.

vol export _GLOBAL:myiso myiso.img

export a global volume with the name of 'myiso.img.gz'

vol export myapp:myvol local_ip=1.2.3.4 remote_ip=2.3.4.5 encr_key=_GLOBAL:mig_key

Start an export migrator application to be used to export a volume to a remote grid running an import migrator application.

Note: When a migrating class is specified, CA AppLogic assembles an application migrator application - consisting of the specified migrating class and a VPN appliance.

volume format

Format an existing volume.

Syntax
vol format <name> [ <prop>=<val> ]* [ --force ]  
Options
<name>

Name of the volume to format. The format of <name> is the following: <application>:<volume>, _GLOBAL:<volume>

or

_GLOBAL_RO:<volume>

<prop>=<val>

Volume parameters. The following parameters may be set:

mkfs | fs

file system type (for example, ext3)

fs_options

additional file system options used to format the volume (See notes below for specifics)

parN.*

Partitioning parameters. (See notes below for specifics)

--force

Do not ask for verification of format operation

Notes:

Examples
vol format my-app:data fs=ext3    

format application user volume

volume fscheck

Check the health of the filesystem on a volume.

Syntax
vol fscheck <name> [par=<par>]  
Options
<name>

Name of the volume to be checked

par=<par>

Specifies the partition to run the operation on. The syntax is the same as the one used by vol create/copy. If not specified, the operation is run on all of the supported partitions and logical volumes (if present)

Examples
vol fscheck my-app:data

check application user volume

vol fscheck /system:MYSQL5.boot

check application catalog volume

vol fscheck my_app:data par=par2

check second partition

Note: This operation is similar to executing 'fsck' over the volume.

volume fsrepair

Check and repair the filesystem on a volume.

Syntax
vol fsrepair <name> [par=<par>]  
Parameters
<name>

Name of the volume to be repaired

par=<par>

Specifies the partition to run the operation on. The syntax is the same as the one used by vol create/copy. If not specified, the operation is run on all of the supported partitions and logical volumes (if present).

Examples
vol fsrepair my-app:data

repair application user volume

vol fsrepair /system:MYSQL5.boot

repair application catalog volume

vol fsrepair my_app:data par=par2.par1.root_lv

repair logical volume root_lv on the first logical partition of extended partition 2

Note: This operation is similar to executing 'fsck' with repair option over the volume.

volume import

Import a volume to an application (application or singleton class volume) or import a global volume.

Syntax
vol import <name> <image file> [<prop>=<val>]*
                               [--overwrite[--force]][ -n]
vol import <name> local_ip=<local> remote_ip=<remote>
                     migrating_class=<class> encr_key=<key>
                     [ <prop>=<val> ]* [ --overwrite [ --force]] [ -n ]
vol import <name> --abort

Parameters
<name>

Name of the volume to import. The format of name is the following:

application:[class.]volume - application user volume or application singleton class volume

_GLOBAL:volume - global volume

_GLOBAL_RO:volume - global read-only volume

<image file>

Name of the volume image residing within the root directory of the /vol/_impex folder or a URL in the following format: http://path.

Compressed image files should have a .gz extension. If the image file does not have a .gz extension, then it is assumed that the image is not compressed. If executed by a grid maintainer, the volume image may reside within a subdirectory relative to the /vol/_impex folder.

<local>

IP information to be used for the migrator application on the local grid. The value has the following format:

[_vlan.][<vlan id>.]<ip address> |
                                  _net.<network name>.<ip_address>
<remote>

IP information to be used for communicating with the the migrator application on the remote grid. The value has the following format:

[_vlan.][<vlan id>.]<ip address> | _net.<network name>.<ip_address>
<class>

Specifies the assembly to use in building the local migrator application. This class may be from a catalog or application. If class is "default" or migrating_class not specified then "Filer_Linux_ADMI" will be used to do a file system level copy.

<volume>

Specifies the volume containing fixed encryption keys to be supplied the migrating application. This argument is required only when migration is between two grids.

<prop>=<val>

Volume parameters. The following parameters may be set:

*size

volume size (recommended when importing compressed volume from a URL). Units may be specified (e.g., 128M[B], 2G[B]). If units are not specified, it is assumed that the value is in MB. This parameter must be specified when importing a volume using a migrating class.

*fs

Filesystem type. This parameter must be specified when importing a volume using a migrating class.

*fs options

Additional filesystem options used to format the volume (See notes below for specifics).

*store

Specifies the volume store where the volume is created. May be set to one of the following values:

local - store volume on local server storage

san - store volume on a SAN

*comment

(optional) volume comment

*mirrored

(optional) volume is mirrored

*user

(optional) user name to use for authentication when importing the volume from a URL. If not specified, then it is assumed that there is no authentication.

*pwd=-

(Optional) Prompt for password to use for authentication purposes when importing the volume from a URL. If the standard input is not a terminal device, it will not print a prompt and expect only one copy of the password on 'stdin' (this can be used for batch operations, to set the password from a file).

--abort

Abort a volume import operation. This option is only valid when importing a volume using a migrating class.

--overwrite

Overwrite existing volume.

--force

Do not prompt for confirmation of volume overwrite.

-n

Skip verification that volume reference is in the class descriptor if adding an application singleton class volume.

Notes:

Examples
vol import myapp:myvol myvol.img.gz size=1G

Import an application user volume.

vol import myapp:myclass.cdrom os.iso size=2G

Import an operating system ISO image to an application singleton class volume from the impex volume.

vol import _GLOBAL:my-iso http://mysrv.com/os.iso size=2G

Import an ISO image into a global volume from an HTTP server that does not require authentication.

vol import myapp:myvol local_ip=1.2.3.4 remote_ip=2.3.4.5 migrating_class=default

Start an import migrator application to be used to import a volume from a remote grid running an export migrator application.

vol import myapp:myvol --abort

Abort volume import operation that is using a migrator application

volume info

Retrieve detailed information for an existing volume.

Syntax
volume info <name> [--batch]  
Arguments
<name>

Name of the volume for which to retrieve information The format of name is the following:

application:volume - application volume

application:class.volume - singleton class volume

application/catalog:class.volume - application catalog class volume

/catalog:class.volume - global catalog class volume

application/volcache:subordinate.volume - application instance volume

_GLOBAL:volume - global volume

_GLOBAL_RO:volume - global read-only volume

--batch

Display output in UDL format

Examples
volume info sugarcrm:data

Retrieve information for application user volume

volume info sugarcrm:NAS1.boot

Retrieve information for application singleton class volume

volume info sugarcrm/catalog:NAS1.boot

Retrieve information for application local catalog class volume

volume info /system:NAS.boot

Retrieve information for global catalog class volume

Note: A specification of the output of this command can be found here.

Typical Output
   Name                : sugarcrm:data
   Link                   : no
   Comment           :
   Size                  : 50 MB
   State                 : ok
   Filesystem         : ext3
   Mount State       : in_use
   Mounted Device  : none
   Current Users     : 1
   Attributes           : rw
   Time Created      : Sat May 27 08:16:24 2006
   Time Written       : Sat May 27 08:16:24 2006
   Time Accessed   : Sat May 27 10:58:53 2006
   Number Mirrors   : 2
   Mirrors               :
      Server   State
      srv3     ok
      srv1     ok
volume info Output

This topic contains command output specification.

The output of this command is the following:

Non-batch Output
Name             : val
Link To          : val
Comment          : val
UUID             : val
Size             : val
State            : val
Progress         : val
Filesystem       : val
Partitions       : val
   Partition   Filesystem  Size
   val         val         val
Unused Space     : val
Mount State      : val
Mounted Device   : val
Current Users    : val
Mount Attributes : val
Time Created     : val
Time Written     : val
Time Accessed    : val
Number Mirrors   : val

Batch Output
volume <name>
   {
   link            = val
   comment         = val
   uuid            = val
   size            = val
   state           = val
   progress        = val
   filesystem      = val
   partitions
      {
      partition <name> : size = <val> fs = <val>
      ...
      }
   unused_space    = val

   mount_state     = val
   mount_path      = val
   n_users         = val

   mount_attr      = val
   time_created    = val
   time_written    = val
   time_accessed   = val
   n_mirrors       = val
   mirror <name>, server = val, state = val
   ...
   }
volume list

List volumes in the specified scope.

Syntax
vol list --all [--verbose][--batch] [--mounted]
vol list --global | _GLOBAL | _GLOBAL_RO [--verbose][--batch] [--mounted]
vol list server=<name> [ --verbose ][ --batch ] [--mounted]
vol list <name> [ --verbose ] [ --batch ] [ --all ] [--mounted]
  
Arguments
name

application, catalog, class, cache, or server name.

For global catalogs, the format of name is /catalog.

For application volumes, the format of name is application.

For application class volumes, the format of name is application:class.

For local catalogs, the format of name is application/catalog.

For local catalog class volumes, the format of name is application/catalog:class.

For cached volumes, the format of name is application/volcache.

If server is specified, name is the name of a server.

--verbose

Include volume comment in the list

--batch

Display output in UDL format

--mounted

Display only those volumes that are mounted on the controller.

--all

List all volumes. When specified in addition to an application name, all volumes for that application are listed.

--global

List all global volumes.

_GLOBAL

List global volumes.

_GLOBAL_RO

List only global read-only volumes.

server=<name>

List all volumes that have at least one mirror on the specified server.

Examples
volume list --all

List all volumes

volume list server=srv2

List all volumes with a mirror on 'srv2'

volume list my-app

List volumes for 'my-app'

volume list my-app --all

List ALL volumes for 'my-app'

volume list my-app/volcache

List instance volumes for 'my-app'

volume list my-app:DBASE

List volumes for application singleton class 'DBASE'

volume list /system:MYSQL5

List volumes for global catalog class 'MYSQL5'

volume list _GLOBAL

List all global read-write volumes

volume list _GLOBAL_RO

List all global read-only volumes

Notes: If no name is specified and the --all option is specified, all volumes in the grid are listed.

If an application name is specified and the --all option is specified, ALL volumes for the application are listed.

A specification of the output of this command can be found here.

Typical Output
Scope               Name               Size(MB)   Server              State       Filesystem   Mirrored   Mount State
   ---------------------------------------------------------------------------------------------------------------------
   perf                perf               2500       srv2,srv3           ok          ext3         Y          available
   perf                perf1              2500       srv2                ok          ext3         N          available
   perf                PERF1.boot         1650       srv2,srv3           ok          ext3         Y          available
   sugarcrm            code               50         srv2,srv3           ok          ext3         Y          in_use
   sugarcrm            config             50         srv1,srv2           ok          ext3         Y          in_use
   sugarcrm            data               50         srv3,srv1           ok          ext3         Y          in_use
   sugarcrm            logs               50         srv2,srv3           ok          ext3         Y          in_use
   test                uservol            10         srv2,srv3           ok          ext3         Y          available
   applfc/local        in1.boot           80         srv1,srv2           ok          ext3         Y          available
   applfc/local        in1.usr            200        srv2,srv3           ok          ext3         Y          available
   jsperf/catalog      PERF.boot          1650       srv2,srv3           ok          ext3         Y          available
   newcat/catalog      HLB.boot           80         srv3,srv1           ok          ext3         Y          available
   newcat/catalog      HLB.usr            200        srv2,srv3           ok          ext3         Y          available
   newcat/catalog      IN.boot            80         srv2,srv3           ok          ext3         Y          available
   newcat/catalog      IN.usr             200        srv2,srv3           ok          ext3         Y          available
   applfc/volcache     main.T_DRN.boot    901        srv1,srv3           ok          ext3         Y          available
   applfc/volcache     main.T_SRC.boot    1101       srv1,srv3           ok          ext3         Y          available
   bh/volcache         main.LUX.boot      80         srv3,srv1           ok          ext3         Y          available
   jsperf/volcache     main.PERF.boot     1650       srv2                degraded    ext3         Y          available
   jsperf/volcache     main.PERF1.boot    1650       srv3                degraded    ext3         Y          available
   jsperf/volcache     main.T_DRN.boot    901        srv1,srv2           ok          ext3         Y          available
   perf/volcache       main.PERF.boot     1650       srv3,srv2           ok          ext3         Y          available
   qa_app1/volcache    main.comp1.boot    901        srv1,srv2           degraded    ext3         Y          available
   qa_app1/volcache    main.comp2.boot    901        srv2,srv3           degraded    ext3         Y          available
   qa_app1/volcache    main.comp3.boot    901        srv3,srv1           ok          ext3         Y          available
   qa_app1/volcache    main.comp4.boot    901        srv1,srv2           degraded    ext3         Y          available
   qa_app1/volcache    main.comp5.boot    901        srv3,srv1           ok          ext3         Y          available
   qa_app1/volcache    main.comp6.boot    901        srv2,srv3           degraded    ext3         Y          available
   qa_app1/volcache    main.comp7.boot    901        srv1,srv2           degraded    ext3         Y          available
   qa_app1/volcache    main.comp8.boot    901        srv2,srv3           degraded    ext3         Y          available
   qa_gway/volcache    main.in1.boot      80         srv3,srv1           ok          ext3         Y          available
   qa_gway/volcache    main.in2.boot      80         srv1,srv2           ok          ext3         Y          available
   qa_gway/volcache    main.out1.boot     80         srv1,srv2           ok          ext3         Y          available
   qa_gway/volcache    main.out2.boot     80         srv3,srv1           ok          ext3         Y          available
   qa_gway/volcache    main.prc1.boot     901        srv2,srv3           ok          ext3         Y          available
   qa_gway/volcache    main.prc2.boot     901        srv2,srv3           ok          ext3         Y          available
   sugarcrm/volcache   main.admin.boot    80         srv2,srv3           ok          ext3         Y          in_use
   sugarcrm/volcache   main.config.boot   80         srv1,srv2           ok          ext3         Y          in_use
   sugarcrm/volcache   main.dbase.boot    80         srv3,srv1           ok          ext3         Y          in_use
   sugarcrm/volcache   main.logs.boot     80         srv3,srv1           ok          ext3         Y          in_use
   sugarcrm/volcache   main.mail.boot     80         srv1,srv2           ok          ext3         Y          in_use
   sugarcrm/volcache   main.srv1.boot     110        srv3,srv1           ok          ext3         Y          in_use
   sugarcrm/volcache   main.srv2.boot     110        srv1,srv2           ok          ext3         Y          in_use
   sugarcrm/volcache   main.usr.boot      80         srv2,srv3           ok          ext3         Y          in_use
   sugarcrm/volcache   main.webs.boot     80         srv2,srv3           ok          ext3         Y          in_use
   /proto              LINUX.boot         2048       srv2,srv3           ok          ext3         Y          available
   /system             HLB.boot           80         srv1,srv2           ok          ext3         Y          available
   /system             HLB.usr            200        srv3,srv1           ok          ext3         Y          in_use
   /system             IN.boot            80         srv2,srv3           ok          ext3         Y          available
   /system             IN.usr             200        srv1,srv2           ok          ext3         Y          in_use
   /system             LUX.boot           80         srv3,srv1           ok          ext3         Y          available
   /system             LUX.usr            200        srv2,srv3           ok          ext3         Y          available
   /system             MYSQL.boot         80         srv1,srv2           ok          ext3         Y          available
   /system             MYSQL.usr          200        srv3,srv1           ok          ext3         Y          in_use
   /system             NAS.boot           80         srv2,srv3           ok          ext3         Y          available
   /system             NAS.usr            200        srv1,srv2           ok          ext3         Y          in_use
   /system             NET.boot           80         srv2,srv3           ok          ext3         Y          available
   /system             NET.usr            200        srv1,srv2           ok          ext3         Y          available
   /system             OUT.boot           80         srv3,srv1           ok          ext3         Y          available
   /system             OUT.usr            200        srv2,srv3           ok          ext3         Y          in_use
   /system             WEB.boot           110        srv1,srv2           ok          ext3         Y          available
   /system             WEB.usr            400        srv3,srv1           ok          ext3         Y          in_use
   /test               LINUX.boot         2048       srv1,srv2           ok          ext3         Y          available
   /test               PERF.boot          1650       srv1,srv2           ok          ext3         Y          available
volume list Output

This topic contains command output specification.

The output of this command is a table which contains the following columns:

For application, catalog, and cache scopes, the Scope Name column is not included in the output.

If the --verbose option is specified, Link and Comment columns are included in the output.
The states for a volume are:

The mount states for a volume are:

If the --batch option is specified, the output of this command is the following:
volume name : scope_type=val, scope_name=val, size=val, \
state=val, filesystem=val, n_mirrors=val, \
mount_state=val,[link=volume,] comment=val

The output specifies a single volume per line.

volume info

The output of this command is the following:

Name             : val
Link              : val (display only if volume is a symbolic link)
Comment          : val
Size             : val
State            : val
Progress         : val% (displayed only if in transitional state)
Filesystem       : val
Mount State      : val
Mounted Device   : val
Current Users    : val
Attributes       : val
Time Created     : val
Time Written     : val
Time Accessed    : val
Number Mirrors   : val
Mirrors          :
   (Table containing the following columns: Server, State)

If the --batch option is specified, the output of this command is the following:

volume name      
   {
   link           = val
   comment       = "val"
   size          = val
   state         = val
   progress      = val (displayed only if in transitional state)
   filesystem    = val
   mount_state   = val
   mount_path    = val
   n_users       = val
   attributes    = val
   time_created  = val
   time_written  = val
   time_accessed = val
   n_mirrors     = val
   mirror <name> : server = val, state = val
   ...
   }
volume manage

Manage a volume

Syntax
vol manage <name> [<name2>] [ --abort | ( [ --ro | --rw ] [ <prop>=<val> ]* [ --nossh ] [ --nomount ] [filer=<filer> ] ) ]

Parameters
name

Name of the volume to be managed.

name2

Name of secondary volume to be managed. If this argument is specified, the volume represented by name is managed read-only and the volume represented by name2 is managed read/write.

--abort

Terminates previous volume manage session.

--ro

Manage volume as read-only.

--rw

Manage volume as read/write.

prop=val

Specifies settings to configure external network access to the volume to allow for files being uploaded or downloaded to or from the volume.

The following values are supported:

ip

Specifies a comma separated list of one or more network resources to which the interface is to be connected. A network resource has the following format:

[[_net.]<networkname>.]<ipaddr> - text representation of an IP address optionally prefixed by a network name. If the IP address does not appear in multiple networks, just <ipaddr> is allowed.

host.<hostname> - Refers to the IP address that corresponds to <hostname> (via gethostbyname()).

The IP address must be present in the list of network resources and be unique, in other words it cannot appear on multiple networks, such as VLANS.

dns1

Specifies the IP address of the primary DNS server used to resolve domain names. This allows the user to specify hostnames when uploading/downloading files to/from a volume.

dns2

Specifies the IP address of the secondary DNS server, which will be used if the primary DNS server does not respond.

--nossh

Do not provide SSH access to the managed volume.

--nomount

Do not mount file system within the filer.

filer=<filer>

Specifies the Filer used for the operation. Values are 'windows' or 'linux'. If this option is not specified, the filer is selected based on the first partition that is not raw. The option must be specified when managing raw volumes.

Examples
volume manage my-aoo:data 

manage application user volume

volume manage /system:MYSQL5.boot --ro

manage application catalog class volume as read-only

volume manage /myapp:data ip=192.168.1.100 dns1=192.168.1.254

manage application user volume and configure external network interface.

volume manage my-app:data my-app:data1

manage two application user volumes

vol manage my-app:data --abort

abort management of application user volume

vol manage my-app:data1 --abort

abort management of the previous volume management session

Notes:

volume migrate

Migrate a volume between grids

Syntax

vol migrate <remote_grid> <name> [local_ip=<local_ip> remote_ip=<remote_ip>]
                             [migrating_class=<migrating_class>]
                             [encr_key=<encr_key>]
                             [new_name=<new_name>]
                             [<option>]* [<prop>=<val>]*

Parameters

remote grid

Name or IP address of the remote grid.

name

Name of the volume to migrate. The format of <name> is:

<application>:<volume>, _GLOBAL:<volume>, or _GLOBAL_RO:<volume>
local_ip

IP address information assigned to the migrating application on this grid used to perform the volume migration. The format of the IP information is:

[_vlan.] [<vlan id>.]<ip address> | _net.<networkName>.<ip_address>

This argument is only valid if the grids have different architectures.

remote_ip

IP address information assigned to the migrating application on the remote grid used to perform the volume migration. The format of the IP information is:

[_vlan.][<vlan id>.]<ip address> | _net.<networkName>.<ip_address>

This argument is only valid if the grids have different architectures.

migrating_class

Specifies the class to use in building the local migrator application. This class must reside in a global catalog. The default is /filer:Filer_Linux_ADMI

This argument is only valid if the grids have different architectures.

new_name

New name for the volume. The format of <name> is:

<application>:<volume>, _GLOBAL:<volume>, or _GLOBAL_RO:<volume>

encr_key

Specifies the name of a volume containing fixed encryption keys to be supplied to the applications performing the volume migration.

This argument is only valid if the grids have different architectures.

--export

Migrate the volume to the remote grid. This requires bi-directional trust between the two grids.

--import

Migrate the volume from the remote grid.

--nocompress

Do not compress volume while migrating.

--nocleanup

Skip cleanup upon failure or completion (troubleshooting).

<prop>=<val>

Volume parameters. Volume attributes are retrieved from the volume being migrated. The following parameters may be used to override the current values from the volumes being migrated. Use extreme caution when reducing sizes of volumes or partitions.

- fs

File system type (e.g., ext3)

- size

Volume size. Units may be specified (e.g., 128M[B], 2G[B]). If units are not in MB. Default is 1G.

- comment

Volume comment

- fs_options

Additional filesystem options used to format the volume

- mirrored

Volume is mirrored.

- parN.*

(Optional) Partitioning parameters. For details, refer to Notes.

Examples

vol migrate mynewgrid.ca.net myapp:myvol local_ip=1.2.3.4 remote_ip=2.3.4.5

Migrate volume between grids with different architectures

vol migrate mynewgrid.ca.net myapp:myvol local_ip=1.2.3.4 remote_ip=2.3.4.5 encr_key=GLOBAL:mig_key

Migrate volume between grids with different architectures and specify an encryption key volume to use.

vol migrate mynewgrid.ca.net myapp:myvol local_ip=1.2.3.4 remote_ip=2.3.4.5 migrating_clss=/filer:Filer_Linux_ADMI

Migrate volume between grids with different architectures and specify a migrating class.

Notes

* vol_group_name - String specifying the name of the LVM volume group to create on the volume. If not specified, a volume group name is randomly generated.

* data_percentage - Percentage of the volume that is used to store data. The remaining portion of the volume is for snapshots. If not specified, 80% of the volume is used for data.

* <any option> - Any option understood by mkfs.ext3. The options will be passed directly to the mkfs tool and will be used for the data volume.

volume move

Move a volume to another application.

Syntax
volume move src dest  
Parameters
src

Name of the existing volume to move. Must specify an application user volume.

dst

Name of the destination volume. Must specify an application user volume.

Examples
volume move sugarcrm:data newapp:data

Move volume from application 'sugarcrm' to application 'newapp'

Notes: A specification of the naming convention for CA AppLogic entities can be found here.

This command is not supported in single server mode.

If the volume is currently in use, this command will fail.

volume relocate

Relocate volume(s) or display list of volumes that need relocation.

Syntax

vol relocate (<name> | --all) [ n=<n-vols> ] [ --nowait ] 
                 [ --force ] [ --suspend ] 
vol relocate (<name> | --all) [ store=<store> ] 
                 [ --force ] [ --suspend ] 
vol relocate --status [--batch]

Parameters

<name>

Name of the volume(s) to relocate.

--all

Relocate all volumes that need relocation.

n=<n-vols>

Specify the number of volumes to simultaneously relocate; if not specified, relocate one volume at a time.

<store>

Specify the volume store to which the volume is to be relocated. The value may be 'san' or 'local'. This operation is essentially a volume copy.

--nowait

Start operation in the background - do not wait for operation to complete.

--force

Ignore failures and continue with relocation.

--suspend

Stop relocation of volumes currently relocating.

--status

Display list of volumes that need to be relocated or display status for a specific volume.

--batch

Display output in UDL format

Examples:

vol relocate --all

Relocate all volumes

vol relocate --all --nowait

Relocate all volumes in background

vol relocate /system

Relocate any global catalog volumes

vol relocate /system:MYSQL5.boot

Relocate global catalog class volume

vol relocate my-app

Relocate any app volumes

vol relocate my-app:data

Relocate app user volume

vol relocate my-app:DBASE.boot

Relocate app singleton class volume

vol relocate my-app/local:DBASE.boot

Relocate app catalog class volume

vol relocate --all --suspend

Stop relocation of all volumes currently being relocated.

vol relocate --status

Display list of volumes that currently need relocation.

volume rename

Rename an application, singleton class, or global volume.

Syntax
volume rename name new-name  
Parameters
name

Name of application, singleton class, or global volume to rename. The format of <name> is the following:

<application>:<volume>, <application>:<class>.<volume>,

_GLOBAL:<volume>, or _GLOBAL_RO:<volume>

new-name

New name for application or global volume. The format of <new-name> is the following:

<volume> or <application>:<volume>, <application>:<class>.<volume>,

_GLOBAL:<volume>, or _GLOBAL_RO:<volume>

Examples
volume rename my-app:data data2

rename 'data' user volume to 'data2'

volume rename my-app:data my-app:data2

rename 'data' user volume to 'data2'

volume rename my-app:myclass.vol1 my-app:vol1

rename singleton class volume to user volume

volume rename my-app:vol1 my-app:myclass.vol1

rename user volume to singleton class volume

volume rename _GLOBAL:vol1 vol2

rename global volume to global volume _GLOBAL:vol2

volume rename _GLOBAL:vol1 _GLOBAL:vol2

rename global volume to global volume

Notes:

volume repair

Repair volume(s).

Syntax
volume repair (--suspend [time=time ]) | --resume  
volume repair <name> --resume  
volume repair <name> [--force | (--suspend [time=time])]  
volume repair [name] --status [--batch]  
vol repair --all [--force]
Parameters
<name>

Name of the volume to repair or retrieve status for.

--suspend

Suspend volume repair operation(s); for a maximum of 1 week

--resume

Resume volume repair operation(s)

time

(optional) Number of minutes to suspend the volume repair operation(s). If not specified, volume repair operation(s) are suspended for 60 minutes.

--force

Start repairing the volume right away.

--status

Display volume repair operation status.

--batch

Display volume repair operation status in UDL format

--all

Initiate backgound volume repair (alias for 'vol check')

Examples
volume repair /system:MYSQL5.boot

repair global catalog class volume

volume repair my-app:data --force

start repair of app user volume right away

volume repair my-app:DBASE.boot

repair app singleton class volume

volume repair my-app/local:DBASE.boot

repair app catalog class volume

volume repair --suspend time=30

Suspend automatic volume repair for 30 minutes

volume repair --resume

Resume automatic volume repair

volume repair my-app:data --suspend time=30

Suspend repair of an app user volume for 30 minutes

volume repair my-app:data --resume

Resume repair of an app user volume

volume repair --status

Retrieve the current repair status for all volumes

volume repair my-app:data --status

Retrieve the current repair status of an app user volume

 vol repair --all --force            

Resume any suspended volume repairs and initiate check for volumes that need repair.

Note: Adhere to the naming conventions for CA AppLogic entities.

All volume repair operations are performed in the background (one per server). To retrieve the current status of a volume repair operation, execute one of the following:

vol repair --status - retrieve repair status for all volumes

vol repair name --status - retrieve repair status for a single volume.

The automated volume repair in CA AppLogic retrieves the list of degraded volumes that need to be repaired once every 6 hours. The user can force CA AppLogic to retrieve the list of degraded volumes by executing vol check; this can be used to verify that the current list of degraded volumes are scheduled for repair.

When initiating the repair of a volume - vol repair name - the repair of the volume will start immediately if there are enough available servers to execute the repair. If there are not available servers, the repair will start when the servers become available.

When initiating a repair of a volume with --force, the repair operation is started immediately and may result in the suspension of the repair of a different volume currently being repaired. Use this command if the repair of a particular volume needs to be initiated right away.

When initiating the repair of all volumes with --force, all volumes will be repaired including suspended volumes, whether they were suspended by the user or CA AppLogic itself.

When the repair of a volume is suspended, the repair operation on the volume is stopped and restarted as soon as servers are available following the specified time period.

When resuming the repair of a volume with --resume, the volume will be repaired as soon as enough servers become available.

When the repair of a volume fails, the volume will be rescheduled for repair. If the volume fails to be repaired three times within a 24 hour period, the volume repair will not be attempted again until 24 hours later. If there is a volume on the grid that continuously fails repair, contact your service provider immediately.

The following is a description of the various volume statuses that are reported when vol repair is executed with the --status option:

- error: The volume is in 'error' state meaning that the volume does not have any good streams (that is, mirrors)

- failed: One or more repair operations over the volume failed

- repairing: The volume is currently being repaired

- queued: The volume is queued for repair. Once servers become available, the repair for the volume will be initiated.

- suspended: The repair of the volume has been suspended or the volume has failed to be repaired and will be re-scheduled for repair.

- complete : The repair operation of the volume was successfully completed.

A specification of the repair status output can be found here.

volume repair Output

This topic contains command output specification.

The output of this command is the following:

Last Volume Repair Check: val Hrs ago
Next Volume Repair Check: <date/time> | in progress

---Error Volumes---
(table with the following columns: Scope, Name)

---Failed Volumes---
(table with the following columns: Scope, Name, Start Time, End Time, End State, Failure #)

---Repairing Volumes---
(table with the following columns: Scope, Name, Size(MB), Progress, Start Time, Elapsed Time)

---Queued Volumes---
(table with the following columns: Scope, Name, Priority)

---Suspended Volumes---
(table with the following columns: Scope, Name, Queue Time)

---Complete Volumes---
(table with the following columns: Scope, Name, Start Time, End Time)

If the --batch option is specified, the output of this command is the following:

volume_status
   {
   last_check        = val 
   t_next_check      = val
   check_in_progress = yes|no

   error
      {
      volume <name> : scope_type=val, scope_name=val
      ...
      }
   failed
      {
      volume <name> : scope_type=val, scope_name=val, t_start=val, t_end=val, end_state=val, failure_num=val
      ...
      }
   repairing
      {
      volume <name> : scope_type=val, scope_name=val, size=val, progress=val, t_start=val, t_elapsed=val, server=val
      ...
      }
   queued
      {
      volume <name> : scope_type=val, scope_name=val, priority=val
      ...
      }
   suspended
      {
      volume <name> : scope_type=val, scope_name=val, t_queue=val
      ...
      }
   complete
      {
      volume <name> : scope_type=val, scope_name=val, t_start=val, t_end=val 
      ...
      }
   }
volume resize

Resize a volume.

Syntax
volume resize <name> size=<size> [parN.size=<val>][store=<store>][--prefill] 
Options
<name>

Name of the existing volume to resize. The format of <name> is the following:

<application>:<volume>

application volume

<application>:<class>.<volume>

singleton class volume

_GLOBAL:<volume>

global volume

_GLOBAL_RO:<volume>

global read-only volume

size=<size>

New volume size, units may be specified (for example, 128M[B], 2G[B]). If units are not specified, it is assumed that the size is in MB.

parN.size=<val>

Specifies the size for partition N. The value can be absolute (that is, 20G) or relative (that is +10G). parN refers to a primary, extended or logical partition or an lvm logical volume.

For primary partitions, this can be specified as parN.size, for logical partitions, the syntax is parN.parM.size (N is the number of the extended partition, M is the number of the logical partition on it starting from 1).

For lvm logical volumes the syntax is parN.lv_name.size.

<store>

Specifies the volume store where the volume is created. May be set to one of the following values:

local - store volume on local server storage

san - store volume on a SAN

--prefill

Allocate ALL blocks for the resized volume.

Examples
volume resize my-app:data size=500M

resize an unpartitioned volume

volume resize my-app:MYSQL.boot size=1G

resize application singleton class volume

volume resize my-app:data par2.size=+2G

resize a partitioned volume, adding 2GB to the second partition

volume resize my-app:data size=10G

Resize a partitioned volume with one existing partition, to 10GB - the partition will be expanded/shrunk to the full size of the volume

volume resize my-app:data par3.par2.size=-3G

Resize a partitioned volume, shrinking second logical partition by 3GB, total size of volume will be adjusted accordingly

volume resize my-app:data size=10G par3.size=-1G

Resize a partitioned volume, changing partition 3 size but keeping the overall volume size (10GB) and leaving the freed space unallocated

volume resize my-app:data par2.size=+1G par3.size=-1G

Modify a partitioned volume by moving space (1GB) from partition 3 to partition 2

volume resize my-app:data par2.size=+1G

Resize a partitioned volume by adding additional space to an lvm partition without changing the size of logical volumes - this will leave unallocated space on the volume group which can be used for new logical volumes or/and snapshots

Notes:

volume set

Set volume information.

Syntax
volume set <name> comment=<comment>  
Parameters
<name>

Name of volume The format of name is the following:

application:volume - application volume

application:class.volume - singleton class volume

application/catalog:class.volume - application catalog class volume

/catalog:class.volume - global catalog class volume

_GLOBAL:volume - global volume

_GLOBAL_RO:volume - global read-only volume

<comment>

volume comment

Examples
volume set sugarcrm:data comment="My comment"

Set information for application user volume

volume set sugarcrm:NAS1.boot comment="My comment"

Set information for application singleton class volume

volume set sugarcrm/catalog:NAS1.boot comment="My comment"

Set information for application local catalog class volume

volume set /system:NAS.boot comment="My comment"

Set information for global catalog class volume

Note: Only maintainers may set information for global read-only volumes.

This operation will fail if the volume is a symbolic link volume.