| Description: | List volumes in the specified scope |
| Syntax: | volume list --sys [--verbose][--batch] [--mounted] |
| volume list server=name [--verbose][--batch] [--mounted] |
| volume list name [--all] [--verbose] [--batch] [--mounted] |
| volume list --global [--verbose] [--batch] [--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. |
| Examples: | volume list --sys - list all volumes |
| volume list server=srv2 - list all volumes with a mirror on 'srv2' |
| volume list sugarcrm - list volumes for application 'sugarcrm' |
| volume list sugarcrm:config - list volumes for class 'config' in application 'sugarcrm' |
| volume list sugarcrm/local - list volumes for local catalog of application 'sugarcrm' |
| volume list sugarcrm/volcache - list instance volumes for application 'sugarcrm' |
| volume list /system - list all volumes in global catalog 'system' |
| volume list /system:NAS - list all volumes for 'system' catalog class 'NAS' |
| volume list --global - list all global volumes |
| Notes: | If no name is specified and the --sys 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. |
| Description: | 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 |
| Notes: | A specification of the output of this command can be found here. |
| Description: | Set volume information |
| Syntax: | volume set name comment=comment |
| Arguments: | 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 - Set information for global catalog class volume |
| Notes: | Only maintainers may set information for global read-only volumes. |
| Description: | Create a new volume for an application |
| Syntax: | volume create name [size=size] [comment=comment] [link=link] [mkfs=|fs=fstype [fs_options=fs_options] [ mirrored=mirrored] [--prefill][-n] [--batch] |
| Arguments: | name | Name of the volume to create. The format of name is the following: |
| application:[class.]volume>/tt> |
| _GLOBAL:volume - global volume |
| _GLOBAL_RO:volume - global read-only volume |
| size | volume size, units may be specified (e.g., 128M[B], 2G[B]). If units are not specified, it is assumed that the size is specified in MB. |
| comment | volume comment |
| fstype | file system type |
| fs_options | file system-specific options used when installing the file system. This option is only valid if fstype is specified. |
| link | name of application user volume or global to which volume is to be linked |
| mirrored | volume is mirrored. default is 1 if multi-server grid is configured |
| --prefill | Allocate ALL blocks of the volume. |
| -n | Skip verification that volume reference is in the class descriptor if adding an application singleton class volume. |
| Examples: | volume create sugarcrm:data1 size=128M fs=ext3 - create application user volume |
| volume create sugarcrm:NAS1:data1 size=128M fs=ext3 - create application singleton class volume |
| volume create myapp:iso link=_GLOBAL:win_iso - create an application user volume that is a link to a global volume |
| Notes: | If the volume size is not specified, the default volume size of 1GB is used. |
| See this topic for a list of supported file systems. |
| Only maintainers may create global read-only volumes. |
| The value specified for the fs_options parameter is a space-separated list, is file system specific, and is valid only in conjunction with the mkfs parameter. The following are the options available for each supported filesystem: |
| ext2, ext3, swap, reiserfs | any option : any option understood by mkfs.. The options will be passed directly to the mkfs tool for the chosen filesystem. |
| ext3-snapshot | 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. |
| 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, remaining portion of the volume is for snapshots. If not specified, 80% of the volume is used for data. |
| zfs | pool_name : the name of the pool - defaults to volume name if this is not set |
| mountpoint : mount path of the pool root (or "legacy" or "none", i.e., mountpoint=legacy) - defaults to /pool_name |
| autoreplace : on/off - controls automatic device replacement - defaults to off |
| delegation : on/off - controls whether a non-privileged user is granted access based on the dataset permissions defined on the dataset - defaults to on |
| failmode : wait/continue/panic - defaults to wait |
| version : 1-10 - defaults to 10 (current) |
| ntfs | volume_label : the volume label for the dst volume. If empty, the vol_name property value is used instead. |
| active : create the new partition as active (bootable). Valid values are yes and no. If omitted, the default value of no is used during format while the value defaults to the src volume type during fscopy. |
| A specification of the output of this command can be found here. |
| Description: | Format an existing application user volume |
| Syntax: | volume format name [mkfs=|fs=fstype [fs_options=fs_options] [--force] |
| Arguments: | name | Name of the volume to format. The format of name is the following: |
| application:volume |
| _GLOBAL:volume - global volume |
| _GLOBAL_RO:volume - global read-only volume |
| fstype | file system type |
| fs_options | file system-specific options used when installing the file system. This option is only valid if fstype is specified. |
| --force | Skip verification of format operation. |
| Examples: | volume format sugarcrm:data fs=ext3 - format application user volume |
| Notes: | See this topic for a list of supported file systems. |
| Only maintainers may format global read-only volumes. |
| The value specified for the fs_options parameter is a space-separated list, is file system specific, and is valid only in conjunction with the mkfs parameter. The following are the options available for each supported filesystem: |
| ext2, ext3, swap, reiserfs | any option : any option understood by mkfs.. The options will be passed directly to the mkfs tool for the chosen filesystem. |
| ext3-snapshot | 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. |
| 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, remaining portion of the volume is for snapshots. If not specified, 80% of the volume is used for data. |
| zfs | pool_name : the name of the pool - defaults to volume name if this is not set |
| mountpoint : mount path of the pool root (or "legacy" or "none", i.e., mountpoint=legacy) - defaults to /pool_name |
| autoreplace : on/off - controls automatic device replacement - defaults to off |
| delegation : on/off - controls whether a non-privileged user is granted access based on the dataset permissions defined on the dataset - defaults to on |
| failmode : wait/continue/panic - defaults to wait |
| version : 1-10 - defaults to 10 (current) |
| ntfs | volume_label : the volume label for the dst volume. If empty, the vol_name property value is used instead. |
| active : create the new partition as active (bootable). Valid values are yes and no. If omitted, the default value of no is used during format while the value defaults to the src volume type during fscopy. |
| Description: | resize a volume for an application |
| Syntax: | volume resize name size=val [--prefill] |
| Arguments: | name | name of the volume to resize. May specify an application, singleton or global volume. |
| size=val | Specify new size for the volume. Units may be specified (e.g., 128M[B], 2G[B]). If units are not specified, it is assumed that the size is in MB. The content of the volume must fit within the specified size. |
| --prefill | Allocate ALL blocks of the volume. |
| Notes: | A specification of the naming convention for AppLogic entities can be found here. |
| This operation resizes the volume by performing a file-level copy preserving permissions, ownersheip, links, special attributes, etc. |
| Only maintainers may resize a global read-only volume. |
| Description: | Copy a volume to an application |
| Syntax: | volume copy source destination [comment= val [ mirrored=val ] [ -n ] [--overwrite [--force]] |
| volume copy source destination [--keepcomment] [ mirrored=val ] [--overwrite [--force]] |
| volume copy source destination [comment= val] [ mirrored=val ] [size=val] [--fscpy [--prefill] [fs_options=fs_options]] [ -n ] [--overwrite [--force]] |
| volume copy source destination [--stripcomment] [mirrored=val] [size=val] [--fscpy [--prefill][fs_options=fs_options]] [ -n ] [--overwrite [--force]] |
| Arguments: | source | name of the existing volume to copy. May specify any volume. |
| destination | Name of the new copied volume. Must specify an application, singleton or global volume. |
| comment=val | Comment that is to be set for the destination volume. |
| mirrored=val | Set to 1 if volume is to be mirrored. Default is 1 if multi-server grid is configured. |
| --keepcomment | If specified, the comment from the source volume is set for the destination volume. |
| size=val | Specify size for new volume. Units may be specified (e.g, 128M[B], 2G[B]). If units are not specified, it is assumed that the specified value is in MB. If not specified, the destination volume is created with the same size as the source volume. |
| --fscpy | Perform file-level copy when copying the volume. If this option is not specified, block-level copy is performed. |
| fs_options | file system-specific options used when installing the file system. This option is only valid if --fscpy is specified. Applogic 2.3+. |
| --prefill | Allocate ALL blocks of the volume. |
| --stripcomment | If specified, the comment from the source volume is not copied to the destination volume and the comment for the destination volume is set to empty. |
| -n | Skip verification that volume reference is in the class descriptor if the destination volume is an application singleton class volume |
| Examples: | volume copy sugarcrm:data sugarcrm:data2 - Copy application user volume |
| volume copy /system:NAS.boot sugarcrm:NAS2.boot - Copy global catalog class volume to application singleton class volume |
| Notes: | A specification of the naming convention for AppLogic entities can be found here. |
| Only maintainers may specify a global read-only volume as a destination volume. |
| If neither comment=val or --keepcomment arguments are specified, the comment for the new volume is set to the comment of the source volume with "copy of:" prepended to the comment if the comment of the source volume is non-empty. |
| If the --overwrite option is specified and the destination volume exists, the destination volume is overwritten, otherwise the copy is failed. |
| If the --force option is specified, the user is not asked to confirm the overwriting of the volume if --overwrite was specified. |
| If either the source or destination volume is currently in use, this command will fail. |
| If size=val argument is specifies, the destination volume must be an application user of singleton class volume and must not already exist. |
| If --fscpy and --overwrite options are provided, the destination volume is destroyed and re-created. |
| The value specified for the fs_options parameter is a space-separated list, is file system specific, and is valid only in conjunction with the --fscpy parameter. The following are the options available for each supported filesystem: |
| ext2, ext3, swap, reiserfs | any option : any option understood by mkfs.. The options will be passed directly to the mkfs tool for the chosen filesystem. |
| ext3-snapshot | 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. |
| 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, remaining portion of the volume is for snapshots. If not specified, 80% of the volume is used for data. |
| zfs | pool_name : the name of the pool - defaults to volume name if this is not set |
| mountpoint : mount path of the pool root (or "legacy" or "none", i.e., mountpoint=legacy) - defaults to /pool_name |
| autoreplace : on/off - controls automatic device replacement - defaults to off |
| delegation : on/off - controls whether a non-privileged user is granted access based on the dataset permissions defined on the dataset - defaults to on |
| failmode : wait/continue/panic - defaults to wait |
| version : 1-10 - defaults to 10 (current) |
| ntfs | volume_label : the volume label for the dst volume. If empty, the vol_name property value is used instead. |
| active : create the new partition as active (bootable). Valid values are yes and no. If omitted, the default value of no is used during format while the value defaults to the src volume type during fscopy. |
| Description: | Manage a volume |
| Syntax: | volume manage name [ name2 ][--ro | --rw] [ --nossh ] [ --nomount ] [ prop=val ]* |
| Arguments: | name | name of the volume to be manage. |
| 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. |
| --ro | access to volume is read-only. |
| --rw | access to volume is read-write. |
| --nossh | do not provide SSH access to the managed volume. |
| --nomount | do not mount file system of the managed volume. |
| prop=val | Specifies settings to configure external network access for use with the volume manager GUI/shell. The following values are supported: |
| ip - Specifies the IP address. |
| netmask - Specifies the network mask. This must be specified if ip is specified. |
| gateway - Specifies the IP address of the default network gateway. It can be left blank only if the remote host is on the same subnet; must be specified otherwise. |
| 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. |
| Examples: | volume manage sugarcrm:data --rw - manage application user volume |
| volume manage /system:NAS.boot --ro - manage global catalog class volume |
| volume manage /myapp:myvol --rw ip=192.168.1.100 netmask=255.255.255.0 gateway=192.168.1.254 - manage application user volume and set up external network access from within the volume manager. This allows the user to upload/download files to/from the specified volume to/from a remote location, all from within the volume manager GUI/shell. |
| volume manage my-app:data my-app:data1 - manage two application user volumes |
| Notes: | A specification of the naming convention for AppLogic entities can be found here. |
| Only maintainers may manage a global read-only volume in read-write mode. |
| By default, the user is SSH'd into the volume manager shell. The volume is accessible under /mnt/vol. |
| If two volume are specified, the first volume is managed as read-only and the second volume is managed as read-write. |
| If two volumes are specified, both volumes must be manageable by the same AppLogic filer application. |
| If no additional arguments are specified, application user and global volumes are managed as read-write and all other volumes are managed as read-only. To override the defaults, specify --ro or --rw as is appropriate. |
| When managing catalog class volumes, the user must have write access to the catalog class descriptor. |
| Note that the GUI does have a 10MB file upload limitation. To upload larger files to your volume, use the volume manager shell. |
| Description: | 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] |
| Arguments: | 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 |
| 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 |
| Notes: | A specification of the naming convention for AppLogic entities can be found here. |
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 AppLogic retrieves the list of degraded volumes that need to be repaired once every 6 hours. The user can force AppLogic to retrieve the list of degraded volumes by executing vol check; this can be used to ensure 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 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, please 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 (i.e., 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 |
| Description: | Display list of or destroy unused volume(s), unused volume streams, and/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, etc) as well as 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: | IMPORTANT: This command should only be run by a grid maintainer and prior to executing the command, the grid maintainer should ensure that there are no other operations being executed for the duration of this operation. See SCR 3809 for more information. As of AppLogic 2.9.7, the execution of vol clean without the --status option is restricted to grid maintainers. |
| A specification of the status output can be found here |
| Description: | Migrate volume(s) or display list of volumes that need migration |
| Syntax: | volume migrate name | --all [ n=n-vols ] [ --nowait ] [ --force ] [ --suspend ] |
| volume migrate --status [ --batch ] |
| Arguments: | name | Name of the volume(s) to migrate. |
| --all | Migrate all volumes that need migration. |
| n-vols | number of volumes to simultaneously migrate. If not specified, one volume at a time is migrated. |
| --nowait | Perform operation in the background - do not wait for it to complete. |
| --force | Ignore failures and continue with migration |
| --suspend | Cancel migration operation for volume(s) currently being migrated. |
| --status | Display list of volumes that need to be migrated. |
| Examples: | volume migrate --all - Migrate all volumes |
| volume migrate --all --nowait - Migrate all volumes in the background |
| volume migrate sugarcrm - Migrate all volumes in an application |
| volume migrate sugarcrm:data - Migrate an application user volume |
| volume migrate /system - Migrate all volumes in a global catalog |
| volume migrate --all --suspend - Stop migration for all volumes currently being migrated. |
| volume migrate --status - Display list of volume that need to be migrated. |
| Notes: | A specification of the naming convention for AppLogic entities can be found here. |
| A specification of the status output can be found here |
| Description | Import a volume to an application |
| Syntax | vol import name image file [prop=val]* [--overwrite[--force]] [ -n] |
| Arguments | 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. |
| prop=val | Volume parameters. The following parameters may be set: |
size - optional volume size, 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 is useful when importing large compressed images so that the image does not have to be downloaded and uncompressed twice (once to determine the size of the actual image and once for the actual import operation). |
| 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). |
| --overwrite | Overwrite existing volume. |
| --force | Do not prompt for confirmation of overwrite |
| -n | Skip verification that volume reference is in the class descriptor if adding an application singleton class volume. |
| Examples | vol import myapp:myvol myvol.img.gz size=1G - import an application user volume stored from the impex volume and specify a size so that the image does not have to be downloaded and uncomressed twice (see note below). |
| vol import myapp:myclass.cdrom os.iso - import an operating system ISO image to an application singleton class volume from the impex volume. |
| vol import myapp:myclass.cdrom http://mydomain.com/os.iso - import an operating system ISO image to an application singleton class volume from a URL. |
| Notes | A specification of the naming convention for AppLogic entities can be found here. |
| Only maintainers may import a global read-only volume. |
| If the --overwrite option is specified, the existing volume and the volume to be imported must be the same size. |
| If the volume image is compressed, it is advisable to specify the size argument so that the image file does not have to be downloaded and uncompressed twice (once to determine the size of the actual image and once for the actual import operation). |