Difference between revisions of "+ CLI Guide Overview"

From OSNEXUS Online Documentation Site
Jump to: navigation, search
m (Ceph Management)
m (QuantaStor CLI Command Reference v4.3)
(60 intermediate revisions by the same user not shown)
Line 6: Line 6:
 
==Authentication==
 
==Authentication==
 
''It is important to note that running the ''qs'' CLI locally as ''root'' affords no additional access privileges.  Each command run via the CLI must include the ''--server'' specification which includes which server and what credentials should be used to access the appliance with.''
 
''It is important to note that running the ''qs'' CLI locally as ''root'' affords no additional access privileges.  Each command run via the CLI must include the ''--server'' specification which includes which server and what credentials should be used to access the appliance with.''
 +
=== Authentication via --server Argument ===
 +
All CLI commands accept the server specification argument which is of this form:
 +
<pre>[--server=ipaddress[,username,password]]</pre>
 +
If you do not specify a username or password it will try to use the defaults which are 'admin' and 'password'.
 +
=== Authentication via QS_SERVER Environment Variable ===
 +
Rather than having to specify the --server argument over and over again you can set an environment variable once then it will use this as the default appliance IP address and credentials. The form of the variable is like so:
 +
<pre>export QS_SERVER=ipaddress[,username,password]]</pre>
 +
 +
Examples:
 +
<pre>
 +
export QS_SERVER=localhost,admin,password
 +
export QS_SERVER=10.0.5.10,admin,mypass123
 +
export QS_SERVER=myhostname.domain.net,mike,mypass123
 +
</pre>
 +
=== Authentication via .qs.cnf Configuration File ===
 +
Finally, rather than using an environment variable you can also create a file in your home directory called .qs.cnf with your credentials in it.  Here's an example of how to create the file:
 +
<pre>
 +
echo "192.168.0.10,admin,password" > ~/.qs.cnf
 +
chmod 600 ~/.qs.cnf
 +
</pre>
  
 
==Usage==
 
==Usage==
Line 55: Line 75:
 
In this way you can reduce down help results to just what you need.   
 
In this way you can reduce down help results to just what you need.   
  
=Remote System Specification=
+
= Remote System Specification =
  
 
You can use the CLI to manage remote QuantaStor systems, but in such cases you'll need to specify the IP address and username/password of the remote storage system using the 'server' argument.
 
You can use the CLI to manage remote QuantaStor systems, but in such cases you'll need to specify the IP address and username/password of the remote storage system using the 'server' argument.
Line 64: Line 84:
 
Note that the The service specification must be comma delimited with no spaces. If no username and password are supplied the default Administrator username 'admin' and the default password 'password' will be tried.
 
Note that the The service specification must be comma delimited with no spaces. If no username and password are supplied the default Administrator username 'admin' and the default password 'password' will be tried.
  
=CLI Usage Examples=
+
= Command Error Code Definitions =
 +
 
 +
For all commands a 0 is returned for SUCCESS and a non-zero error code is returned if there is a command failure.  Use the --xml mode to get verbose detail on the error.  Full list of error codes are available [[Error Codes | here]].
 +
 
 +
=Usage Examples=
  
 
It's always nice to see some common examples of how the CLI can be used so here's a number of commands so you can see the general syntax of how the CLI is used.  You'll notice that sometimes we specify arguments with a single hyphen (-), other times with the double hyphen (--) and sometimes it is omitted.  All three are supported.  The only hard rule is that the command name must be the first argument after the 'qs' command-line utility name.  After that the arguments can be specified in any order with or without hyphens.
 
It's always nice to see some common examples of how the CLI can be used so here's a number of commands so you can see the general syntax of how the CLI is used.  You'll notice that sometimes we specify arguments with a single hyphen (-), other times with the double hyphen (--) and sometimes it is omitted.  All three are supported.  The only hard rule is that the command name must be the first argument after the 'qs' command-line utility name.  After that the arguments can be specified in any order with or without hyphens.
Line 76: Line 100:
 
</pre>
 
</pre>
  
=CLI Commands=
+
=Help Commands=
The following list of commands is the complete list of everything you can do from the CLI.  In fact, the list of CLI commands is a pretty close 1-to-1 match with our SOAP based management interface API set.  As such, anything you can do via the web management interface, you can do through the CLI, and with the XML output mode you can easily integrate your QuantaStor system with any automated provisioning system in any language.
+
Note that we list the command names along with a short version in square brackets (ex: help [h]). If you find yourself using the CLI frequently learning the short command names can make the CLI easier to work with as it reduces the amount of typing required. For scripting, it's often better to use the long command names as it makes your script easier to read and maintain.
+
  
== General Commands ==
+
; help : Display help for all commands. 'qs help' provides a verbose listing of all commands with their input parameters. Use 'qs help --min' for a compacted list of commands, or use 'qs help --category=<some category>' for help on aspecific category or command (for example, 'qs help --category=volume').
=== help [h] ===
+
Help page for all commands. Try 'help --min' for a compacted list of commands, or just 'help' by itself for a verbose listing of all commands with their input parameters. Optionally you can get help on a specific category or command (ex: help --category=volume).
+
<pre>
+
[--command]      :: A specific CLI command to get detailed help with.
+
[--category]    :: Category of commands to get help with (acl, alert, host, host-group,
+
                            license, role, session, schedule, pool, quota, system, volume,
+
                            volume-group, task, user, user-group).
+
</pre>
+
  
== Alert Mangement ==
+
<pre> qs help|h [--command=value ] [--category=value ] [--wiki=value ] [--api=value ] </pre>
 +
{| cellspacing='0' cellpadding='5'
 +
|-
 +
| &nbsp; || <tt>command</tt> || A specific CLI command to get detailed help with.
 +
|-
 +
| &nbsp; || <tt>category</tt> || Category of commands to get help with (acl, alert, host, host-group, license, role, session, schedule, pool, quota, system, volume, volume-group, task, user, user-group).
 +
|-
 +
| &nbsp; || <tt>wiki</tt> || Generates help output in a format that's importable into MediaWiki.
 +
|-
 +
| &nbsp; || <tt>api</tt> || Generates help output in a parsable format for automating API.
 +
|}
  
=== alert-clear [a-clear] ===
 
Deletes the alert with the specified ID.
 
<pre>
 
<--id>          :: Unique identifier (GUID) for the object.
 
</pre>
 
  
 +
; tc-commands : List of commands for tab completion
  
=== alert-clear-all [a-clear-all] ===
+
<pre> qs tc-commands [--command=value ] </pre>
Clears all the alerts.
+
{| cellspacing='0' cellpadding='5'
 +
|-
 +
| &nbsp; || <tt>command</tt> || Command to show method args for.
 +
|}
  
=== alert-config-get [ac-get] ===
+
=CLI Overview=
Alert configuration settings indicate where alert notifications should be sent.
+
The Command Reference covers the complete list of all operations accessible via the qs CLI utility (available on Linux, Windows, and is installed within the appliance).  All commands (with few exceptions) are available via the QuantaStor REST API, QuantaStor CLI, and QuantaStor Web Management interface.  The CLI includes an XML output mode which can be utilized to integrate with scripts and other automated systems but for more advanced integrations we recommend using the QuantaStor REST API.  CLI commands have a short name and long time.  When developing scripts it is recommended to use the long command names as it makes scripts easier to read and maintain.
  
=== alert-config-set [ac-set] ===
+
=CLI Command Reference Versions=
Sets the alert configuration settings such as the administrator email address, SMTP server address, etc. Be sure to use the alert-raise command to generate a test alert after you modify the alert configuration settings to ensure that emails are being properly sent.
+
<pre>
+
[--sender-email] :: Sender email address to be used for alert emails sent from the storage
+
                            system.
+
[--smtp-server]  :: IP Address of the SMTP service where emails should be routed through.
+
[--smtp-user]    :: SMTP user name to use for secure SMTP access to your SMTP server for
+
                            sending alert emails.
+
[--smtp-password] :: SMTP password to use for secure SMTP access to your SMTP server.
+
[--smtp-auth]    :: SMTP security mode.
+
[--support-email] :: Email address for local customer support.
+
[--freespace-warning] :: The percentage of free-space left in a pool at which a warning is sent
+
                            to indicate pool growth plans should be made.
+
[--freespace-alert] :: The percentage (default=10) of free-space left in a pool at which alerts
+
                            are generated.
+
[--freespace-critical] :: The percentage (default=5) of free-space left in a pool at which all
+
                            provisioning operations are blocked.
+
[--pagerduty-key] :: Specifies the service key to which alerts will be posted to PagerDuty. 
+
                            Please see www.pagerduty.com for more detail on service keys.
+
</pre>
+
  
 +
Each new release of QuantaStor CLI generates an updated specification which can be found below.  All effort is made to maintain backward compatibility between versions but we recommend that the XML mode be used for scripting.
  
=== alert-get [a-get] ===
+
==[[QuantaStor CLI Command Reference v4.3]]==
Gets information about a specific alert.
+
CHANGES: Adds commands for disk-multipath-config-add/list/remove/scan, site-cluster-restart-services, pool-add-write-log, pool-remove-write-log, replica-report-entry-get/list, replica-report-summary-get/list/delete, password-policy-get/set, share-session-get/list. session-list/get/close was renamed to volume-session-list/get/close, target-port commands are now network-port commands.  To maintain backward compatibility the old command names still work but are marked as deprecated.
<pre>
+
<--id>          :: Unique identifier (GUID) for the object.
+
</pre>
+
  
 +
==[[QuantaStor CLI Command Reference v4.2]]==
 +
NOTES: QuantaStor v4.2 introduces new CLI commands for creation of pass-thru Storage Volumes so that NVMe and other physical devices and be presented directly to HA control nodes via iSCSI/FC.  Additionally new commands are added for creation of Network Share aliases and sub-shares.
  
=== alert-list [a-list] ===
+
==[[QuantaStor CLI Command Reference v4.1 and earlier]]==
Returns a list of all the alerts from all systems in the grid. Adjust the settings for the 'admin' or custom user account(s) to indicate alerts to be sent out via email call-home mechanism.
+
 
+
=== alert-raise [a-raise] ===
+
Allows one to raise a user generated alert for testing the SMTP server configuration settings.
+
<pre>
+
<--message>      :: Message string to be echoed back from the server.
+
[--alert-severity] :: Severity of the user generated alert to be raise. [always, critical,
+
                            error, *info, warning]
+
</pre>
+
 
+
 
+
=== event-list [ev-list] ===
+
Returns a list of all the internal events in the event queue (used for service monitoring).
+
<pre>
+
[--index]        :: Starting event index of where to begin listing events from.
+
[--max]          :: Maximum number of events to enumerate.
+
[--time-stamp]  :: Time-stamp of the service.
+
</pre>
+
 
+
 
+
== Backup Policy Management ==
+
 
+
=== backup-job-list [bj-list] ===
+
Returns a list of backup jobs in the system.
+
 
+
=== backup-policy-create [bp-create] ===
+
Creates a ingest backup policy which pull data from NFS shares to the QuantaStor appliance.
+
<pre>
+
<--name>        :: Names may include any alpha-numeric characters '_' and '-', spaces are
+
                            not allowed.
+
<--desc>        :: A description for the object.
+
<--network-share> :: Name or ID of a CIFS/NFS network share.
+
<--remote-hostname> :: Name of the remote host containing NFS shares to be backed up
+
<--remote-export-path> :: Remote export path to be mounted to access the data to be backed up.
+
[--remote-export-type] :: Remote mount type (currently NFS only) [*nfs]
+
[--retain-rules] :: Retention rules (atime, ctime, mtime) [atime, ctime, *mtime]
+
[--policy-type]  :: Backup policy type [*inbound]
+
[--scan-threads] :: Number of concurrent threads for walking/scanning the specified target
+
                            export
+
[--hours]        :: For the specified days of the week, snapshots will be created at the
+
                            specified hours. [10am, 10pm, 11am, 11pm, 12am, 12pm, 1am, 1pm, 2am, 2pm,
+
                            *3am, 3pm, 4am, 4pm, 5am, 5pm, 6am, 6pm, 7am, 7pm, 8am, 8pm, 9am, 9pm]
+
[--days]        :: The days of the week on which this schedule should create snapshots.
+
                            [fri, mon, sat, *sun, thu, tue, wed]
+
[--retain-period] :: Number of days of file history on the specified filer export to backup
+
[--purge-policy] :: Indicates how old files should be cleaned up / purged from the backup.
+
                            [after-backup, *daily, never, weekly]
+
[--enabled]      :: Set to enabled to activate the backup policy.
+
</pre>
+
 
+
 
+
=== backup-policy-delete [bp-delete] ===
+
Deletes the specified backup policy.
+
<pre>
+
<--policy>      :: A backup policy name or ID which is associated with a network share to
+
                            do ingest backups.
+
</pre>
+
 
+
 
+
=== backup-policy-disable [bp-disable] ===
+
Disables the specified backup policy so job are not automatically run.
+
<pre>
+
<--policy>      :: A backup policy name or ID which is associated with a network share to
+
                            do ingest backups.
+
</pre>
+
 
+
 
+
=== backup-policy-enable [bp-enable] ===
+
Enables a backup policy that was previously disabled.
+
<pre>
+
<--policy>      :: A backup policy name or ID which is associated with a network share to
+
                            do ingest backups.
+
</pre>
+
 
+
 
+
=== backup-policy-get [bp-get] ===
+
Returns detailed information on a specific backup policy.
+
<pre>
+
<--policy>      :: A backup policy name or ID which is associated with a network share to
+
                            do ingest backups.
+
</pre>
+
 
+
 
+
=== backup-policy-list [bp-list] ===
+
Returns a list of backup policies in the system.
+
 
+
=== backup-policy-modify [bp-modify] ===
+
Modifies the specified backup policy settings.
+
<pre>
+
<--policy>      :: A backup policy name or ID which is associated with a network share to
+
                            do ingest backups.
+
<--name>        :: Names may include any alpha-numeric characters '_' and '-', spaces are
+
                            not allowed.
+
<--desc>        :: A description for the object.
+
<--network-share> :: Name or ID of a CIFS/NFS network share.
+
<--remote-hostname> :: Name of the remote host containing NFS shares to be backed up
+
<--remote-export-path> :: Remote export path to be mounted to access the data to be backed up.
+
[--remote-export-type] :: Remote mount type (currently NFS only) [*nfs]
+
[--retain-rules] :: Retention rules (atime, ctime, mtime) [atime, ctime, *mtime]
+
[--policy-type]  :: Backup policy type [*inbound]
+
[--scan-threads] :: Number of concurrent threads for walking/scanning the specified target
+
                            export
+
[--hours]        :: For the specified days of the week, snapshots will be created at the
+
                            specified hours. [10am, 10pm, 11am, 11pm, 12am, 12pm, 1am, 1pm, 2am, 2pm,
+
                            *3am, 3pm, 4am, 4pm, 5am, 5pm, 6am, 6pm, 7am, 7pm, 8am, 8pm, 9am, 9pm]
+
[--days]        :: The days of the week on which this schedule should create snapshots.
+
                            [fri, mon, sat, *sun, thu, tue, wed]
+
[--retain-period] :: retain-period
+
[--purge-policy] :: Indicates how old files should be cleaned up / purged from the backup.
+
                            [after-backup, *daily, never, weekly]
+
[--enabled]      :: Set to enabled to activate the backup policy.
+
</pre>
+
 
+
 
+
=== backup-policy-trigger [bp-trigger] ===
+
Triggers the specified backup policy which in turn starts a backup job.
+
<pre>
+
<--policy>      :: A backup policy name or ID which is associated with a network share to
+
                            do ingest backups.
+
</pre>
+
 
+
 
+
== Cloud Container Management ==
+
 
+
=== cloud-backup-container-add [cbc-add] ===
+
Recovers a cloud backup container that was previously removed or used with a prior installation.
+
<pre>
+
<--provider-creds> :: Credentials for accessing your cloud storage provider account.  With
+
                            Amazon S3 this is your 'Access Key ID' and your 'Secret Access Key'.
+
<--locaiton>    :: Cloud storage provider endpoint location.
+
<--encryption-key> :: A passphrase which is used to encrypt all the data sent to the cloud
+
                            container.
+
<--storage-url>  :: The Amazon S3 or other storage URL used to identify a cloud backup
+
                            container.
+
<--enable-nfs>  :: Enable NFS sharing of the cloud container.
+
</pre>
+
 
+
 
+
=== cloud-backup-container-create [cbc-create] ===
+
Creates a cloud backup container into which cloud backups of storage volumes can be made.
+
<pre>
+
<--name>        :: Names may include any alpha-numeric characters '_' and '-', spaces are
+
                            not allowed.
+
<--desc>        :: A description for the object.
+
<--provider-creds> :: Credentials for accessing your cloud storage provider account.  With
+
                            Amazon S3 this is your 'Access Key ID' and your 'Secret Access Key'.
+
<--locaiton>    :: Cloud storage provider endpoint location.
+
<--encryption-key> :: A passphrase which is used to encrypt all the data sent to the cloud
+
                            container.
+
<--enable-nfs>  :: Enable NFS sharing of the cloud container.
+
</pre>
+
 
+
 
+
=== cloud-backup-container-delete [cbc-delete] ===
+
Deletes the specified cloud backup container. WARNING, all data in the container will be destroyed.
+
<pre>
+
<--container>    :: A cloud backup container into which storage volumes can be backed up.  A
+
                            cloud backup container is like an unlimited storage pool in the cloud.
+
</pre>
+
 
+
 
+
=== cloud-backup-container-disable [cbc-disable] ===
+
Disables access to the specified cloud container without having to remove it.
+
<pre>
+
<--container>    :: A cloud backup container into which storage volumes can be backed up.  A
+
                            cloud backup container is like an unlimited storage pool in the cloud.
+
</pre>
+
 
+
 
+
=== cloud-backup-container-enable [cbc-enable] ===
+
Enables a cloud container that was previously disabled or was inaccessible due to network connection issues.
+
<pre>
+
<--container>    :: A cloud backup container into which storage volumes can be backed up.  A
+
                            cloud backup container is like an unlimited storage pool in the cloud.
+
</pre>
+
 
+
 
+
=== cloud-backup-container-get [cbc-get] ===
+
Returns detailed information on a specific cloud backup container.
+
<pre>
+
<--container>    :: A cloud backup container into which storage volumes can be backed up.  A
+
                            cloud backup container is like an unlimited storage pool in the cloud.
+
</pre>
+
 
+
 
+
=== cloud-backup-container-list [cbc-list] ===
+
Returns a list of cloud backup containers in the system.
+
 
+
=== cloud-backup-container-modify [cbc-modify] ===
+
Modifies the specified cloud backup container settings.
+
<pre>
+
<--name>        :: Names may include any alpha-numeric characters '_' and '-', spaces are
+
                            not allowed.
+
<--desc>        :: A description for the object.
+
<--container>    :: A cloud backup container into which storage volumes can be backed up.  A
+
                            cloud backup container is like an unlimited storage pool in the cloud.
+
<--encryption-key> :: A passphrase which is used to encrypt all the data sent to the cloud
+
                            container.
+
<--enable-nfs>  :: Enable NFS sharing of the cloud container.
+
</pre>
+
 
+
 
+
=== cloud-backup-container-remove [cbc-remove] ===
+
Removes the specified cloud backup container from the system but does not delete any backup data in the cloud.
+
<pre>
+
<--container>    :: A cloud backup container into which storage volumes can be backed up.  A
+
                            cloud backup container is like an unlimited storage pool in the cloud.
+
</pre>
+
 
+
 
+
=== cloud-backup-container-repair [cbc-repair] ===
+
Repairs the specified cloud backup container.
+
<pre>
+
<--container>    :: A cloud backup container into which storage volumes can be backed up.  A
+
                            cloud backup container is like an unlimited storage pool in the cloud.
+
</pre>
+
 
+
 
+
=== cloud-backup-credentials-add [cbcred-add] ===
+
Adds cloud provider credentials to enable cloud backup to cloud backup containers.
+
<pre>
+
<--access-key>  :: The access key provided by your cloud storage provider for accessing
+
                            your cloud storage account.
+
<--secret-key>  :: The secret key provided by your cloud storage provider for accessing
+
                            your cloud storage account.
+
</pre>
+
 
+
 
+
=== cloud-backup-credentials-get [cbcred-get] ===
+
Returns information about the specified cloud provider credential.
+
<pre>
+
<--provider-creds> :: Credentials for accessing your cloud storage provider account.  With
+
                            Amazon S3 this is your 'Access Key ID' and your 'Secret Access Key'.
+
</pre>
+
 
+
 
+
=== cloud-backup-credentials-list [cbcred-list] ===
+
Returns a list of all the cloud provider credentials in the system. Passwords are masked.
+
 
+
=== cloud-backup-credentials-remove [cbcred-remove] ===
+
Removes the specified cloud provider credentials
+
<pre>
+
<--provider-creds> :: Credentials for accessing your cloud storage provider account.  With
+
                            Amazon S3 this is your 'Access Key ID' and your 'Secret Access Key'.
+
</pre>
+
 
+
 
+
=== cloud-backup-provider-get [cbp-get] ===
+
Returns detailed information about the specified cloud provider.
+
<pre>
+
<--provider>    :: A cloud provider is a storage provider like Amazon S3 which QuantaStor
+
                            utilizes for backup in the cloud.
+
</pre>
+
 
+
 
+
=== cloud-backup-provider-list [cbp-list] ===
+
Returns the list of supported cloud providers.
+
 
+
== Gluster Management ==
+
 
+
=== gluster-brick-get [gb-get] ===
+
Gets information about a specific Gluster brick.
+
<pre>
+
<--gluster-brick> :: Name or ID of a Gluster brick
+
</pre>
+
 
+
 
+
=== gluster-brick-list [gb-list] ===
+
Returns a list of all the Gluster bricks
+
 
+
=== gluster-ha-intf-get [gi-get] ===
+
Returns a list of all the Gluster HA failover interface definitions.
+
<pre>
+
<--ha-interface> :: High-availability interface for a specific Gluster Volume.
+
</pre>
+
 
+
 
+
=== gluster-ha-intf-list [gi-list] ===
+
Gets information about a specific Gluster HA failover interface definition.
+
 
+
=== gluster-peer-get [gp-get] ===
+
Gets information about a specific Gluster peer system
+
<pre>
+
<--gluster-peer> :: Name or ID of the Gluster peer
+
</pre>
+
 
+
 
+
=== gluster-peer-list [gp-list] ===
+
Returns a list of all the Gluster peer systems.
+
 
+
=== gluster-volume-add-bricks [gv-add-bricks] ===
+
Adds one or more bricks on the specified volume.
+
<pre>
+
<--gluster-volume> :: Name or ID of the Gluster volume
+
<--pool-list>    :: List of one or more storage pools.
+
<--restripe-volume> :: Restripe files across the new Gluster bricks
+
</pre>
+
 
+
 
+
=== gluster-volume-create [gv-create] ===
+
Create a new Gluster volume with new Bricks on the specified Storage Pools.
+
<pre>
+
<--name>        :: Names may include any alpha-numeric characters '_' and '-', spaces are
+
                            not allowed.
+
[--desc]        :: A description for the object.
+
<--pool-list>    :: List of one or more storage pools.
+
<--replica-count> :: Number of replia copies to have of each file in the Gluster volume
+
<--stripe-volume> :: Enable striping of files across Gluster bricks
+
[--flags]        :: Optional flags for the operation. [async, force, *none]
+
</pre>
+
 
+
 
+
=== gluster-volume-delete [gv-delete] ===
+
Deletes the specified Gluster volume.
+
<pre>
+
<--gluster-volume> :: Name or ID of the Gluster volume
+
</pre>
+
 
+
 
+
=== gluster-volume-get [gv-get] ===
+
Gets information about the specified Gluster volume
+
<pre>
+
<--gluster-volume> :: Name or ID of the Gluster volume
+
</pre>
+
 
+
 
+
=== gluster-volume-list [gv-list] ===
+
Returns a list of all the Gluster volumes in the grid
+
 
+
=== gluster-volume-modify [gv-modify] ===
+
Modifies the name and/or description of the specified Gluster volume.
+
<pre>
+
<--gluster-volume> :: Name or ID of the Gluster volume
+
<--name>        :: Names may include any alpha-numeric characters '_' and '-', spaces are
+
                            not allowed.
+
[--desc]        :: A description for the object.
+
[--flags]        :: Optional flags for the operation. [async, force, *none]
+
</pre>
+
 
+
 
+
=== gluster-volume-rebalance [gv-rebalance] ===
+
Rebalances files across the bricks in the specified Gluster volume
+
<pre>
+
<--gluster-volume> :: Name or ID of the Gluster volume
+
</pre>
+
 
+
 
+
=== gluster-volume-start [gv-start] ===
+
Starts the specified Gluster volume
+
<pre>
+
<--gluster-volume> :: Name or ID of the Gluster volume
+
[--flags]        :: Optional flags for the operation. [async, force, *none]
+
</pre>
+
 
+
 
+
=== gluster-volume-stop [gv-stop] ===
+
Stops the specified Gluster volume.
+
<pre>
+
<--gluster-volume> :: Name or ID of the Gluster volume
+
[--flags]        :: Optional flags for the operation. [async, force, *none]
+
</pre>
+
 
+
 
+
== Storage System Grid Management ==
+
 
+
=== grid-add [mg-add] ===
+
Adds the specified storage system to the management grid.
+
<pre>
+
<--node-ipaddress> :: IP address of a storage system node.
+
[--node-username] :: Admin user account with permissions to add/remove nodes from the grid.
+
[--node-password] :: Admin user account password.
+
</pre>
+
 
+
 
+
=== grid-assoc-get [mg-aget] ===
+
Get general information about the associated storage system management grid.
+
<pre>
+
<--name>        :: Names may include any alpha-numeric characters '_' and '-', spaces are
+
                            not allowed.
+
<--storage-system> :: Name or ID of a storage system in a management grid.
+
[--flags]        :: Optional flags for the operation. [async, force, *none]
+
</pre>
+
 
+
 
+
=== grid-assoc-list [mg-alist] ===
+
Returns a list of the associated storage system nodes in the grid.
+
 
+
=== grid-create [mg-create] ===
+
Creates a new management grid.  A given storage system can only be a member of one grid at a time.
+
<pre>
+
<--name>        :: Names may include any alpha-numeric characters '_' and '-', spaces are
+
                            not allowed.
+
[--vif-enable]  :: Enables the use of a virtual interface for grid management.
+
[--vif-ipaddress] :: Virtual host IP address to be associated with the master node in a the
+
                            management grid.
+
[--vif-netmask]  :: Virtual host netmask to be used with the specified IP address.
+
[--desc]        :: A description for the object.
+
[--vif-hostname] :: Cluster virtual host name to be associated with the master node in the
+
                            management grid
+
[--port]        :: Default physical target port to associate the management grid virtual
+
                            host IP address with.
+
[--bind-port]    :: This is the network address to bind with the Corosync cluster.
+
[--grid-num]    :: Defaults to zero (0), increment this to a unique value between 0-9 if
+
                            you have more than one grid on your network.
+
</pre>
+
 
+
 
+
=== grid-delete [mg-delete] ===
+
Deletes the management grid.  After the grid is deleted each node in the grid operates independently again.
+
 
+
=== grid-get [mg-get] ===
+
Get general information about the storage system management grid.
+
 
+
=== grid-get-hosts [mg-get-hosts] ===
+
Returns the /etc/hosts configuration file configuration for grid nodes.
+
 
+
=== grid-modify [mg-modify] ===
+
Modify the management grid properties.
+
<pre>
+
<--name>        :: Names may include any alpha-numeric characters '_' and '-', spaces are
+
                            not allowed.
+
[--vif-enable]  :: Enables the use of a virtual interface for grid management.
+
[--vif-ipaddress] :: Virtual host IP address to be associated with the master node in a the
+
                            management grid.
+
[--vif-netmask]  :: Virtual host netmask to be used with the specified IP address.
+
[--desc]        :: A description for the object.
+
[--vif-hostname] :: Cluster virtual host name to be associated with the master node in the
+
                            management grid
+
[--port]        :: Default physical target port to associate the management grid virtual
+
                            host IP address with.
+
[--bind-port]    :: This is the network address to bind with the Corosync cluster.
+
[--grid-num]    :: Defaults to zero (0), increment this to a unique value between 0-9 if
+
                            you have more than one grid on your network.
+
</pre>
+
 
+
 
+
=== grid-remove [mg-remove] ===
+
Removes the specified storage system from the management grid.
+
<pre>
+
<--storage-system> :: Name or ID of a storage system in a management grid.
+
</pre>
+
 
+
 
+
=== grid-set-hosts [mg-set-hosts] ===
+
Configures the /etc/hosts configuration file on all systems to facilitate host name based gluster volume configurations.
+
<pre>
+
<--portid-list>  :: List of UUIDs for the ethernet ports to be used for grid wide /etc/hosts
+
                            file configuration.
+
</pre>
+
 
+
 
+
=== grid-set-master [mg-set] ===
+
Sets the master node for a storage system.
+
<pre>
+
<--storage-system> :: Name or ID of a storage system in a management grid.
+
</pre>
+
 
+
 
+
== Storage Pool HA Failover Management ==
+
 
+
=== ha-group-activate [hag-activate] ===
+
Activates/enables the specified high-availability group to failover can occur on a system outage.
+
<pre>
+
<--ha-group>    :: Name or UUID of a storage pool high-availability group
+
</pre>
+
 
+
 
+
=== ha-group-create [hag-create] ===
+
Creates a new storage pool high-availability group.
+
<pre>
+
<--name>        :: Names may include any alpha-numeric characters '_' and '-', spaces are
+
                            not allowed.
+
<--pool>        :: Name of the storage pool or its unique ID (GUID).
+
<--sys-secondary> :: Storage system associated with the failover group secondary node
+
[--sys-primary]  :: Storage system associated with the failover group primary node
+
[--desc]        :: A description for the object.
+
[--ha-module]    :: Name or UUID of a storage pool high-availability module
+
</pre>
+
 
+
 
+
=== ha-group-deactivate [hag-deactivate] ===
+
Deactivates the specified high-availability group so that failover policies are disabled.
+
<pre>
+
<--ha-group>    :: Name or UUID of a storage pool high-availability group
+
</pre>
+
 
+
 
+
=== ha-group-delete [hag-delete] ===
+
Deletes the specified high-availability group
+
<pre>
+
<--ha-group>    :: Name or UUID of a storage pool high-availability group
+
</pre>
+
 
+
 
+
=== ha-group-failover [hag-failover] ===
+
Manually triggers a failover of the specified storage pool using the associated storage pool HA group policy.
+
<pre>
+
<--ha-group>    :: Name or UUID of a storage pool high-availability group
+
<--storage-system> :: Name or ID of a storage system in a management grid.
+
</pre>
+
 
+
 
+
=== ha-group-get [hag-get] ===
+
Gets information about the specified storage pool HA group
+
<pre>
+
<--ha-group>    :: Name or UUID of a storage pool high-availability group
+
</pre>
+
 
+
 
+
=== ha-group-list [hag-list] ===
+
Returns a list of all the HA groups
+
 
+
=== ha-group-modify [hag-modify] ===
+
Modifies the settings for the specified high-availability group
+
<pre>
+
<--ha-group>    :: Name or UUID of a storage pool high-availability group
+
[--name]        :: Names may include any alpha-numeric characters '_' and '-', spaces are
+
                            not allowed.
+
[--desc]        :: A description for the object.
+
[--sys-secondary] :: Storage system associated with the failover group secondary node
+
[--ha-module]    :: Name or UUID of a storage pool high-availability module
+
</pre>
+
 
+
 
+
=== ha-interface-create [hai-create] ===
+
Creates a new virtual network interface for the specified HA failover group.
+
<pre>
+
<--ha-group>    :: Name or UUID of a storage pool high-availability group
+
<--parent-port>  :: Parent network port like 'eth0' which the virtual interface should be
+
                            attached to.  On failover the virtual interface will attach to the port
+
                            with the same name on the failover/secondary node.
+
<--ip-address>  :: IP Address of the host being added; if unspecified the service will look
+
                            it up.
+
[--netmask]      :: Subnet IP mask (ex: 255.255.255.0)
+
[--interface-tag] :: Tags are a alpha-numeric tag which is appended onto a given HA virtual
+
                            interface for easy identification.
+
[--desc]        :: A description for the object.
+
[--gateway]      :: IP address of the network gateway
+
[--mac-address]  :: MAC Address
+
[--iscsi-enable] :: Enables or disables iSCSI access to the specified port(s).
+
</pre>
+
 
+
 
+
=== ha-interface-delete [hai-delete] ===
+
Deletes the specified virtual network interface resource from the HA group
+
<pre>
+
<--ha-interface> :: Name or UUID of a storage pool high-availability virtual network
+
                            interface
+
</pre>
+
 
+
 
+
=== ha-interface-get [hai-get] ===
+
Gets information about the specified storage pool HA virtual network interface
+
<pre>
+
<--ha-interface> :: Name or UUID of a storage pool high-availability virtual network
+
                            interface
+
</pre>
+
 
+
 
+
=== ha-interface-list [hai-list] ===
+
Returns a list of all the HA interfaces on the specified group
+
 
+
=== ha-module-get [ham-get] ===
+
Gets information about the specified storage pool HA module
+
<pre>
+
<--ha-module>    :: Name or UUID of a storage pool high-availability module
+
</pre>
+
 
+
 
+
=== ha-module-list [ham-list] ===
+
Returns a list of all the HA failover modules
+
 
+
== Host Group Management ==
+
 
+
=== host-group-create [hg-create] ===
+
Creates a new host group with the specified name.
+
<pre>
+
<--name>        :: Names may include any alpha-numeric characters '_' and '-', spaces are
+
                            not allowed.
+
<--host-list>    :: A list of one or more hosts by name or ID.
+
[--desc]        :: A description for the object.
+
[--flags]        :: Optional flags for the operation. [async]
+
</pre>
+
 
+
 
+
=== host-group-delete [hg-delete] ===
+
Removes the specified host group.
+
<pre>
+
<--host-group>  :: An arbitrary collection of hosts used to simplify volume ACL management
+
                            for grids and other groups of hosts.
+
[--flags]        :: Optional flags for the operation. [async, force]
+
</pre>
+
 
+
 
+
=== host-group-get [hg-get] ===
+
Gets information about a specific host group.
+
<pre>
+
<--host-group>  :: An arbitrary collection of hosts used to simplify volume ACL management
+
                            for grids and other groups of hosts.
+
</pre>
+
 
+
 
+
=== host-group-host-add [hg-host-add] ===
+
Adds a host to the specified host group.
+
<pre>
+
<--host-group>  :: An arbitrary collection of hosts used to simplify volume ACL management
+
                            for grids and other groups of hosts.
+
<--host-list>    :: A list of one or more hosts by name or ID.
+
</pre>
+
 
+
 
+
=== host-group-host-remove [hg-host-remove] ===
+
Removes a host from the specified host group.
+
<pre>
+
<--host-group>  :: An arbitrary collection of hosts used to simplify volume ACL management
+
                            for grids and other groups of hosts.
+
<--host-list>    :: A list of one or more hosts by name or ID.
+
</pre>
+
 
+
 
+
=== host-group-list [hg-list] ===
+
Returns a list of all the host groups.
+
 
+
=== host-group-modify [hg-modify] ===
+
Modifies the properties of a host group such as its name and/or description.
+
<pre>
+
<--host-group>  :: An arbitrary collection of hosts used to simplify volume ACL management
+
                            for grids and other groups of hosts.
+
[--name]        :: Names may include any alpha-numeric characters '_' and '-', spaces are
+
                            not allowed.
+
[--desc]        :: A description for the object.
+
</pre>
+
 
+
 
+
== Host Mangement ==
+
 
+
=== host-add [h-add] ===
+
Modifies a host entry. The username/password fields are optional and are not yet leveraged by the QuantaStor system. Later this may be used to provide additional levels of integration such as automatic host side configuration of your iSCSI initiator.
+
<pre>
+
<--hostname>    :: Names may include any alpha-numeric characters '_' and '-', spaces are
+
                            not allowed.
+
[--iqn]          :: IQN (iSCSI Qualified Name) of the host's iSCSI initiator
+
[--ip-address]  :: IP Address of the host being added; if unspecified the service will look
+
                            it up.
+
[--desc]        :: A description for the object.
+
[--username]    :: Administrator user name for the host, typically 'Administrator' for
+
                            Windows hosts.
+
[--password]    :: Administrator password for the host; enables auto-configuration of
+
                            host's iSCSI initiator.
+
[--host-type]    :: Operating system type of the host. [aix, hpux, linux, other, solaris,
+
                            vmware, *windows, xenserver]
+
[--flags]        :: Optional flags for the operation. [async]
+
</pre>
+
 
+
 
+
=== host-get [h-get] ===
+
Gets information about a specific host.
+
<pre>
+
<--host>        :: Name of the host or its unique ID (GUID).
+
</pre>
+
 
+
 
+
=== host-initiator-add [hi-add] ===
+
Adds an additional iSCSI host initiator IQN to the specified host.
+
<pre>
+
<--host>        :: Name of the host or its unique ID (GUID).
+
<--iqn>          :: IQN (iSCSI Qualified Name) of the host's iSCSI initiator
+
</pre>
+
 
+
 
+
=== host-initiator-get [hi-get] ===
+
Gets information about a specific host identified by its initiator IQN.
+
<pre>
+
<--iqn>          :: IQN (iSCSI Qualified Name) of the host's iSCSI initiator
+
</pre>
+
 
+
 
+
=== host-initiator-list [hi-list] ===
+
Returns a list of all the initiators (IQN) of the specified host
+
<pre>
+
<--host>        :: Name of the host or its unique ID (GUID).
+
</pre>
+
 
+
 
+
=== host-initiator-remove [hi-remove] ===
+
Removes a iSCSI host initiator (IQN) from the specified host.
+
<pre>
+
<--host>        :: Name of the host or its unique ID (GUID).
+
<--iqn>          :: IQN (iSCSI Qualified Name) of the host's iSCSI initiator
+
</pre>
+
 
+
 
+
=== host-list [h-list] ===
+
Returns a list of all the hosts that you have added to the QuantaStor system. Host groups allow you to assign storage to multiple host all at once. This is especially useful when you have a VMware or Windows cluster as you can assign and unassign storage to all nodes in the cluster in one operation.
+
 
+
=== host-modify [h-modify] ===
+
Modifies a host.
+
<pre>
+
<--host>        :: Name of the host or its unique ID (GUID).
+
[--desc]        :: A description for the object.
+
[--ip-address]  :: IP Address of the host being added; if unspecified the service will look
+
                            it up.
+
[--username]    :: Administrator user name for the host, typically 'Administrator' for
+
                            Windows hosts.
+
[--password]    :: Administrator password for the host; enables auto-configuration of
+
                            host's iSCSI initiator.
+
[--host-type]    :: Operating system type of the host. [aix, hpux, linux, other, solaris,
+
                            vmware, *windows, xenserver]
+
[--flags]        :: Optional flags for the operation. [async]
+
</pre>
+
 
+
 
+
=== host-remove [h-remove] ===
+
Removes the specified host, *WARNING* host's active iSCSI sessions will be dropped.
+
<pre>
+
<--host>        :: Name of the host or its unique ID (GUID).
+
[--flags]        :: Optional flags for the operation. [async, force]
+
</pre>
+
 
+
 
+
== Hardware RAID Management ==
+
 
+
=== hw-alarm-clear-all [hwa-clear-all] ===
+
Clears all the hardware alarms that have been recorded for the specified hardware RAID controller.
+
<pre>
+
<--controller>  :: Name or ID of a hardware RAID controller.
+
</pre>
+
 
+
 
+
=== hw-alarm-get [hwa-get] ===
+
Returns information about a specific hardware alarm.
+
<pre>
+
<--id>          :: Unique identifier (GUID) for the object.
+
</pre>
+
 
+
 
+
=== hw-alarm-list [hwa-list] ===
+
Returns a list of all the current hardware alarms/alert messages generated from the controller.
+
<pre>
+
[--controller]  :: Name or ID of a hardware RAID controller.
+
</pre>
+
 
+
 
+
=== hw-controller-change-security-key [hwc-change-security-key] ===
+
Change the security key for encryption on SED/FDE-enabled drives on hardware RAID controller.
+
<pre>
+
<--controller>  :: Name or ID of a hardware RAID controller.
+
<--old-security-key> :: Prior security key on HW Controller card, for changing key, for
+
                            encryption on FDE-enabled secure disk drives.
+
<--security-key> :: Security key on HW Controller card for encryption on FDE-enabled secure
+
                            disk drives.
+
</pre>
+
 
+
 
+
=== hw-controller-create-security-key [hwc-create-security-key] ===
+
Create the security key for encryption on SED/FDE-enabled drives on hardware RAID controller.
+
<pre>
+
<--controller>  :: Name or ID of a hardware RAID controller.
+
<--security-key> :: Security key on HW Controller card for encryption on FDE-enabled secure
+
                            disk drives.
+
</pre>
+
 
+
 
+
=== hw-controller-get [hwc-get] ===
+
Returns information about a specific hardware RAID controller.
+
<pre>
+
<--controller>  :: Name or ID of a hardware RAID controller.
+
</pre>
+
 
+
 
+
=== hw-controller-group-get [hwcg-get] ===
+
Returns information about all the support hardware RAID controller group types.
+
<pre>
+
<--controller-group> :: Name or ID of a hardware RAID controller group.
+
</pre>
+
 
+
 
+
=== hw-controller-group-list [hwcg-list] ===
+
Returns a list of all the hardware controller groups.
+
 
+
=== hw-controller-import-units [hwc-import-units] ===
+
Scan and import foreign disks associated with RAID groups that were attached to another RAID controller or that require re-importing to the local appliance.
+
<pre>
+
<--controller>  :: Name or ID of a hardware RAID controller.
+
</pre>
+
 
+
 
+
=== hw-controller-list [hwc-list] ===
+
Returns a list of all the hardware controllers.
+
<pre>
+
[--controller-group] :: Name or ID of a hardware RAID controller group.
+
</pre>
+
 
+
 
+
=== hw-controller-rescan [hwc-rescan] ===
+
Rescans the hardware controller to look for new disks and RAID units.
+
<pre>
+
<--controller>  :: Name or ID of a hardware RAID controller.
+
</pre>
+
 
+
 
+
=== hw-disk-delete [hwd-delete] ===
+
Marks the specified disk so that it can be removed from the enclosure.  Disks marked as hot-spares will return to normal status after being deleted.
+
<pre>
+
<--disk>        :: Specifies a physical disk connected to a hardware RAID controller.
+
[--duration]    :: Duration in seconds to repeat the disk identification pattern.
+
</pre>
+
 
+
 
+
=== hw-disk-get [hwd-get] ===
+
Returns information about a specific disk managed by a hardware RAID controller.
+
<pre>
+
<--disk>        :: Specifies a physical disk connected to a hardware RAID controller.
+
</pre>
+
 
+
 
+
=== hw-disk-identify [hwd-identify] ===
+
Flashes the LED indicator light on the specified disk so that it can be identified in the enclosure chassis.
+
<pre>
+
<--unit>        :: Name of a hardware RAID unit or it unique ID.
+
[--duration]    :: Duration in seconds to repeat the disk identification pattern.
+
</pre>
+
 
+
 
+
=== hw-disk-list [hwd-list] ===
+
Returns a list of all the disks managed by the specified hardware controller.
+
<pre>
+
[--controller]  :: Name or ID of a hardware RAID controller.
+
</pre>
+
 
+
 
+
=== hw-disk-mark-good [hwd-mark-good] ===
+
Marks the specified disk as 'good' or 'ready'.  You can use this to correct the disk status for good disks that the controller has in 'bad' or 'failed' state.
+
<pre>
+
<--disk>        :: Specifies a physical disk connected to a hardware RAID controller.
+
</pre>
+
 
+
 
+
=== hw-disk-mark-spare [hwd-mark-spare] ===
+
Marks the specified disk as a universal hot spare within the group of RAID units managed by the controller in which the disk is attached.
+
<pre>
+
<--disk>        :: Specifies a physical disk connected to a hardware RAID controller.
+
</pre>
+
 
+
 
+
=== hw-enclosure-get [hwe-get] ===
+
Returns information about a specific enclosure managed by the specified hardware RAID controller.
+
<pre>
+
<--enclosure>    :: Name of a hardware RAID enclosure or it unique ID.
+
</pre>
+
 
+
 
+
=== hw-enclosure-list [hwe-list] ===
+
Returns a list of all the enclosures managed by the specified hardware RAID controller.
+
<pre>
+
[--controller]  :: Name or ID of a hardware RAID controller.
+
</pre>
+
 
+
 
+
=== hw-unit-create [hwu-create] ===
+
Creates a new hardware RAID unit using the specified controller.
+
<pre>
+
<--raid>        :: Hardware RAID type for a hardware RAID unit. [*AUTO, RAID0, RAID1,
+
                            RAID10, RAID5, RAID50, RAID6, RAID60]
+
<--disk-list>    :: Specifies one or more physical disks connected to a hardware RAID
+
                            controller. Use 'all' to indicate all unused disks.
+
[--controller]  :: Name or ID of a hardware RAID controller.
+
[--flags]        :: Optional flags for the operation. [async, force, *none]
+
</pre>
+
 
+
 
+
=== hw-unit-delete [hwu-delete] ===
+
Deletes the specified RAID unit.  Note that you must first delete the Storage Pool before you delete the RAID unit.
+
<pre>
+
<--unit>        :: Name of a hardware RAID unit or it unique ID.
+
[--duration]    :: Duration in seconds to repeat the disk identification pattern.
+
</pre>
+
 
+
 
+
=== hw-unit-encrypt [hwu-encrypt] ===
+
Enable hardware SED/FDE encryption for the specified hardware RAID unit.
+
<pre>
+
<--unit>        :: Name of a hardware RAID unit or it unique ID.
+
[--options]      :: Special options to hardware encryption policy.
+
</pre>
+
 
+
 
+
=== hw-unit-get [hwu-get] ===
+
Returns information about a specific RAID unit managed by the specified hardware RAID controller.
+
<pre>
+
<--unit>        :: Name of a hardware RAID unit or it unique ID.
+
</pre>
+
 
+
 
+
=== hw-unit-identify [hwu-identify] ===
+
Flashes the LED indicator light on all the disks in the RAID unit so that it can be identified in the enclosure.
+
<pre>
+
<--unit>        :: Name of a hardware RAID unit or it unique ID.
+
[--duration]    :: Duration in seconds to repeat the disk identification pattern.
+
</pre>
+
 
+
 
+
=== hw-unit-list [hwu-list] ===
+
Returns a list of all the RAID units managed by the specified hardware controller.
+
<pre>
+
[--controller]  :: Name or ID of a hardware RAID controller.
+
</pre>
+
 
+
 
+
== SAS Switch Management ==
+
 
+
=== hw-switch-adapter-get [hwsa-get] ===
+
Returns information about the specified HW switch management module.
+
<pre>
+
<--switch-adapter> :: Storage switch adapter module ID
+
</pre>
+
 
+
 
+
=== hw-switch-adapter-list [hwsa-list] ===
+
Returns a list of all the storage switch management adapters
+
 
+
=== hw-switch-cred-add [hwsc-add] ===
+
Adds storage switch login credentials for a specific switch management adapter
+
<pre>
+
<--username>    :: Administrator user name for the host, typically 'Administrator' for
+
                            Windows hosts.
+
<--password>    :: Administrator password for the host; enables auto-configuration of
+
                            host's iSCSI initiator.
+
<--domain-password> :: Password for the committing zoneset changes to a storage switch.
+
<--ip-address>  :: IP Address of the host being added; if unspecified the service will look
+
                            it up.
+
[--switch-adapter] :: Storage switch adapter module ID
+
[--primary]      :: Primary storage system responsible for managing and discovering the
+
                            switch(es)
+
[--secondary]    :: Secondary storage system responsible for managing and discovering the
+
                            switch(es)
+
</pre>
+
 
+
 
+
=== hw-switch-cred-get [hwsc-get] ===
+
Returns information about specific storage switch login credentials
+
<pre>
+
<--creds>        :: Storage switch credentials (user/pass)
+
</pre>
+
 
+
 
+
=== hw-switch-cred-list [hwsc-list] ===
+
Returns a list of all the storage switch login credentials
+
<pre>
+
[--switch-adapter] :: Storage switch adapter module ID
+
</pre>
+
 
+
 
+
=== hw-switch-cred-remove [hwsc-remove] ===
+
Removes storage switch login credentials
+
<pre>
+
<--creds>        :: Storage switch credentials (user/pass)
+
</pre>
+
 
+
 
+
=== hw-switch-failover-group-activate [hwsfg-activate] ===
+
Activates the pools in a switch failover group on the specified storage system
+
<pre>
+
<--failover-group> :: Name/ID of a storage switch failover group
+
<--storage-system> :: Name or ID of a storage system in a management grid.
+
</pre>
+
 
+
 
+
=== hw-switch-failover-group-create [hwsfg-create] ===
+
Creates a new switch failover group
+
<pre>
+
<--name>        :: Names may include any alpha-numeric characters '_' and '-', spaces are
+
                            not allowed.
+
<--pool-list>    :: List of one or more storage pools.
+
<--sys-primary>  :: Storage system associated with the failover group primary node
+
<--zoneset-primary> :: Zoneset to be associated with the failover group primary node
+
<--sys-secondary> :: Storage system associated with the failover group secondary node
+
<--zoneset-secondary> :: Zoneset to be associated with the failover group secondary node
+
[--ip-address]  :: IP Address of the host being added; if unspecified the service will look
+
                            it up.
+
[--netmask]      :: Subnet IP mask (ex: 255.255.255.0)
+
[--gateway]      :: IP address of the network gateway
+
[--desc]        :: A description for the object.
+
</pre>
+
 
+
 
+
=== hw-switch-failover-group-delete [hwsfg-delete] ===
+
Deletes a failover group
+
<pre>
+
<--failover-group> :: Name/ID of a storage switch failover group
+
</pre>
+
 
+
 
+
=== hw-switch-failover-group-get [hwsfg-get] ===
+
Returns information about a specific switch failover group
+
<pre>
+
<--failover-group> :: Name/ID of a storage switch failover group
+
</pre>
+
 
+
 
+
=== hw-switch-failover-group-list [hwsfg-list] ===
+
Returns a list of all the switch failover groups
+
<pre>
+
[--switch]      :: Name or ID of a SAS/FC storage switch
+
</pre>
+
 
+
 
+
=== hw-switch-failover-group-modify [hwsfg-modify] ===
+
Modifies the properties of a failover group
+
<pre>
+
<--failover-group> :: Name/ID of a storage switch failover group
+
[--name]        :: Names may include any alpha-numeric characters '_' and '-', spaces are
+
                            not allowed.
+
[--ip-address]  :: IP Address of the host being added; if unspecified the service will look
+
                            it up.
+
[--netmask]      :: Subnet IP mask (ex: 255.255.255.0)
+
[--gateway]      :: IP address of the network gateway
+
[--pool-list]    :: List of one or more storage pools.
+
[--sys-primary]  :: Storage system associated with the failover group primary node
+
[--zoneset-primary] :: Zoneset to be associated with the failover group primary node
+
[--sys-secondary] :: Storage system associated with the failover group secondary node
+
[--zoneset-secondary] :: Zoneset to be associated with the failover group secondary node
+
[--desc]        :: A description for the object.
+
</pre>
+
 
+
 
+
=== hw-switch-get [hws-get] ===
+
Returns detailed information about a storage switch
+
<pre>
+
<--switch>      :: Name or ID of a SAS/FC storage switch
+
</pre>
+
 
+
 
+
=== hw-switch-list [hws-list] ===
+
Returns a list of all the discovered storage switches
+
<pre>
+
[--switch-adapter] :: Storage switch adapter module ID
+
</pre>
+
 
+
 
+
=== hw-switch-zoneset-activate [hwsz-activate] ===
+
Activates a specific storage switch zonset
+
<pre>
+
<--zoneset>      :: Name or ID of a storage switch zoneset
+
[--switch]      :: Name or ID of a SAS/FC storage switch
+
</pre>
+
 
+
 
+
=== hw-switch-zoneset-get [hwsz-get] ===
+
Returns information about a specific switch zoneset
+
<pre>
+
<--zoneset>      :: Name or ID of a storage switch zoneset
+
</pre>
+
 
+
 
+
=== hw-switch-zoneset-list [hwsz-list] ===
+
Returns a list of all the discovered zonesets
+
<pre>
+
[--switch]      :: Name or ID of a SAS/FC storage switch
+
</pre>
+
 
+
 
+
== License Mangement ==
+
 
+
=== license-activate [lic-act] ===
+
Activates the system using a activation key received from customer support.
+
<pre>
+
<--activation-key> :: Activation key you'll receive from customer support after you send the
+
                            activation request code.
+
</pre>
+
 
+
 
+
=== license-activate-online [lic-aon] ===
+
Requests automatic activation via the online activation service.
+
<pre>
+
[--key]          :: Unique license key identifier, use key-enum to get a list of these.
+
</pre>
+
 
+
 
+
=== license-add [lic-add] ===
+
Adds a license key using a license key block specified in a key file. In general, you have 7 days to activate your license using online activation of activation via email. If you do not activate after the 7 days the system will continue to run but you will not be able to make configuration changes.
+
<pre>
+
[--storage-system] :: Name or ID of a storage system in a management grid.
+
<--key-file>    :: Key file you received which contains a key block section.
+
</pre>
+
 
+
 
+
=== license-get [lic-get] ===
+
Shows the current license key info, and any activation request code.
+
<pre>
+
<--key>          :: Unique license key identifier, use key-enum to get a list of these.
+
</pre>
+
 
+
 
+
=== license-list [lic-list] ===
+
Returns a list of all the registered license keys.
+
 
+
=== license-remove [lic-remove] ===
+
Removes the specified license key.
+
<pre>
+
<--key>          :: Unique license key identifier, use key-enum to get a list of these.
+
</pre>
+
 
+
 
+
== Cloud I/O Stats Management ==
+
 
+
=== metrics-get [lm-get] ===
+
Get the current username, token, and interval settings for Librato Metrics.
+
<pre>
+
<--storage-system> :: Name or ID of a storage system in a management grid.
+
</pre>
+
 
+
 
+
=== metrics-set [lm-set] ===
+
Set the username, token, and interval for Librato Metrics posting.
+
<pre>
+
[--storage-system] :: Name or ID of a storage system in a management grid.
+
<--username>    :: The username/email of the Librato Metrics account.
+
<--token>        :: The API token associated with the Librato Metrics account.
+
[--interval]    :: The interval in seconds of how often Quantastor should post data to
+
                            Librato Metrics.
+
[--dashboards]  :: Autmatically create the QuantaStor system dashboard in Librato Metrics
+
[--alert-anno]  :: Add alert annotations to the Librato Metrics postings.
+
[--config-anno]  :: Add config annotations to the Librato Metrics postings.
+
</pre>
+
 
+
 
+
== Storage Pool Management ==
+
 
+
=== disk-add-spare [pd-add] ===
+
Adds one or more dedicated hot-spares to the global hotspare pool.
+
<pre>
+
<--disk-list>    :: Comma delimited list of drives (no spaces) to be used for the operation.
+
[--flags]        :: Optional flags for the operation. [async, force, *none]
+
</pre>
+
 
+
 
+
=== disk-get [pd-get] ===
+
Gets information about a specific physical disk.
+
<pre>
+
<--disk>        :: Name of the physical disk or its unique ID/serial number.
+
</pre>
+
 
+
 
+
=== disk-identify [pd-id] ===
+
Pulses the disk activity light so that the specified disk can be identified in the cassis.
+
<pre>
+
<--disk>        :: Name of the physical disk or its unique ID/serial number.
+
[--pattern]      :: Pattern to flash the disk LED lights in, p = short pulse, P = long
+
                            pulse, d = short delay, D = long delay, ex: pattern=pppD
+
[--duration]    :: Duration in seconds to repeat the disk identification pattern.
+
</pre>
+
 
+
 
+
=== disk-list [pd-list] ===
+
Enumerates all physical disks.
+
 
+
=== disk-remove-spare [pd-remove] ===
+
Removes one or more dedicated hot-spares from the global hotspare pool.
+
<pre>
+
<--disk-list>    :: Comma delimited list of drives (no spaces) to be used for the operation.
+
[--flags]        :: Optional flags for the operation. [async, force, *none]
+
</pre>
+
 
+
 
+
=== disk-scan [pd-scan] ===
+
Scans for any new physical disks that may have been hot-plugged into the storage system.
+
<pre>
+
[--storage-system] :: Name or ID of a storage system in a management grid.
+
</pre>
+
 
+
 
+
=== path-list [pdp-list] ===
+
Enumerates all physical disk paths for multipath devices.
+
 
+
=== pool-add-spare [p-add] ===
+
Adds a dedicated hot-spare to the specified storage pool.
+
<pre>
+
<--pool>        :: Name of the storage pool or its unique ID (GUID).
+
<--disk-list>    :: Comma delimited list of drives (no spaces) to be used for the operation.
+
[--flags]        :: Optional flags for the operation. [async]
+
</pre>
+
 
+
 
+
=== pool-create [p-create] ===
+
Creates a new storage pool from which storage volumes can be created.
+
<pre>
+
<--name>        :: Names may include any alpha-numeric characters '_' and '-', spaces are
+
                            not allowed.
+
<--disk-list>    :: Comma delimited list of drives (no spaces) to be used for the operation.
+
[--raid-type]    :: RAID type for the storage pool. [*AUTO, RAID0, RAID1, RAID10, RAID5,
+
                            RAID6]
+
[--pool-type]    :: The type of storage pool to be created. [btrfs, ext4, jfs, *xfs, zfs]
+
[--desc]        :: A description for the object.
+
[--is-default]  :: Indicates that this pool should be utilized as the default storage pool.
+
[--ssd]          :: Enable solid state disk (SSD) storage pool optimizations.
+
[--compress]    :: Enable storage volume compression on the pool, this boosts both read and
+
                            write performance on most IO loads.
+
[--nobarriers]  :: Enable storage pool write optimizations.  This requires that you have a
+
                            hardware controller with a battery backup unit.
+
[--profile]      :: Specifies an optional IO optimization profile for the storage pool. 
+
                            Storage pool profiles control elements like read-ahead, queue depth and
+
                            other device configurable settings.
+
[--raid-set-size] :: Then number of disks to use in each set of disks when creating a RAID50
+
                            or RAID60 storage pool.
+
[--flags]        :: Optional flags for the operation. [async]
+
</pre>
+
 
+
 
+
=== pool-destroy [p-destroy] ===
+
Deletes a storage pool, *WARNING* any data in the pool will be lost.
+
<pre>
+
<--pool>        :: Name of the storage pool or its unique ID (GUID).
+
[--flags]        :: Optional flags for the operation. [async, force]
+
</pre>
+
 
+
 
+
=== pool-device-get [spd-get] ===
+
Gets information about a specific storage pool device.
+
<pre>
+
<--name>        :: Names may include any alpha-numeric characters '_' and '-', spaces are
+
                            not allowed.
+
</pre>
+
 
+
 
+
=== pool-device-list [spd-list] ===
+
Returns a list of all the storage pool devices.
+
 
+
=== pool-expand [p-expand] ===
+
Expands a storage pool after the underlying hardware RAID unit has been grown underneath.
+
<pre>
+
<--pool>        :: Name of the storage pool or its unique ID (GUID).
+
[--flags]        :: Optional flags for the operation. [async]
+
</pre>
+
 
+
 
+
=== pool-export [p-export] ===
+
Deactivate and removes the storage pool from the storage system database so that it can be exported and used on another system.
+
<pre>
+
<--pool>        :: Name of the storage pool or its unique ID (GUID).
+
</pre>
+
 
+
 
+
=== pool-get [p-get] ===
+
Gets information about a specific storage pool.
+
<pre>
+
<--pool>        :: Name of the storage pool or its unique ID (GUID).
+
</pre>
+
 
+
 
+
=== pool-grow [p-grow] ===
+
Grows the specified storage pool by adding an additional disk.  You can only grow storage pools that are using the RAID5 or RAID6 layout.
+
<pre>
+
<--pool>        :: Name of the storage pool or its unique ID (GUID).
+
<--disk-list>    :: Comma delimited list of drives (no spaces) to be used for the operation.
+
[--raid-type]    :: RAID type for the storage pool. [*AUTO, RAID0, RAID1, RAID10, RAID5,
+
                            RAID6]
+
[--flags]        :: Optional flags for the operation. [async]
+
</pre>
+
 
+
 
+
=== pool-identify [p-id] ===
+
Pulses the disk activity lights for all disks in the pool so they can be identified in the chassis.
+
<pre>
+
<--pool>        :: Name of the storage pool or its unique ID (GUID).
+
[--pattern]      :: Pattern to flash the disk LED lights in, p = short pulse, P = long
+
                            pulse, d = short delay, D = long delay, ex: pattern=pppD
+
[--duration]    :: Duration in seconds to repeat the disk identification pattern.
+
</pre>
+
 
+
 
+
=== pool-list [p-list] ===
+
Returns a list of all the storage pools.
+
 
+
=== pool-modify [p-modify] ===
+
Modifies the properties of the storage pool such as its name and description.
+
<pre>
+
<--pool>        :: Name of the storage pool or its unique ID (GUID).
+
[--name]        :: Names may include any alpha-numeric characters '_' and '-', spaces are
+
                            not allowed.
+
[--is-default]  :: Indicates that this pool should be utilized as the default storage pool.
+
[--ssd]          :: Enable solid state disk (SSD) storage pool optimizations.
+
[--compress]    :: Enable storage volume compression on the pool, this boosts both read and
+
                            write performance on most IO loads.
+
[--nobarriers]  :: Enable storage pool write optimizations.  This requires that you have a
+
                            hardware controller with a battery backup unit.
+
[--profile]      :: Specifies an optional IO optimization profile for the storage pool. 
+
                            Storage pool profiles control elements like read-ahead, queue depth and
+
                            other device configurable settings.
+
[--desc]        :: A description for the object.
+
[--sync]        :: Synchroniztion policy to use for handling writes to the storage pool
+
                            (standard, always, none).  standard mode is a hybrid of write-through and
+
                            write-back caching based on the O_SYNC flag, always mode is write-through
+
                            to ZIL which could be SSD cache, and disabled indicates to always use
+
                            async writes. [always, disabled, *standard]
+
[--compression-type] :: Type of compression to be used. (on | off | lzjb | gzip | gzip-[1-9] |
+
                            zle | lz4)
+
[--copies]      :: Indicates the number of copies of each block should be maintained in the
+
                            storage pool.  This is a way of getting duplicates for bit-rot protection
+
                            on a single device.
+
[--flags]        :: Optional flags for the operation. [async]
+
</pre>
+
 
+
 
+
=== pool-profile-get [pp-get] ===
+
Gets information about a specific storage pool profile.
+
<pre>
+
<--profile>      :: Specifies an optional IO optimization profile for the storage pool. 
+
                            Storage pool profiles control elements like read-ahead, queue depth and
+
                            other device configurable settings.
+
</pre>
+
 
+
 
+
=== pool-profile-list [pp-list] ===
+
Returns a list of all the storage pool profiles.
+
 
+
=== pool-remove-spare [p-remove] ===
+
Removes the specified hot-spare from the specified pool.
+
<pre>
+
<--pool>        :: Name of the storage pool or its unique ID (GUID).
+
<--disk-list>    :: Comma delimited list of drives (no spaces) to be used for the operation.
+
[--flags]        :: Optional flags for the operation. [async]
+
</pre>
+
 
+
 
+
=== pool-scan [p-scan] ===
+
Rescans the specified storage system for storage pools.
+
<pre>
+
[--storage-system] :: Name or ID of a storage system in a management grid.
+
</pre>
+
 
+
 
+
=== pool-scrub-start [p-scrub-start] ===
+
Starts a zpool scrub/verify operation which verifies data integrity and prevents bit-rot.  Use 'zpoolscrub --cron' to setup an automatic monthly scrub.
+
<pre>
+
<--pool>        :: Name of the storage pool or its unique ID (GUID).
+
</pre>
+
 
+
 
+
=== pool-scrub-stop [p-scrub-stop] ===
+
Stops the zpool scrub/verify operation if it is currently active on the storage pool.  Only applies to ZFS based storage pools.
+
<pre>
+
<--pool>        :: Name of the storage pool or its unique ID (GUID).
+
</pre>
+
 
+
 
+
=== pool-start [p-start] ===
+
Starts up a previously stopped storage pool.
+
<pre>
+
<--pool>        :: Name of the storage pool or its unique ID (GUID).
+
</pre>
+
 
+
 
+
=== pool-stop [p-stop] ===
+
Stops all volume activity to the pool and disables it for maintenance.
+
<pre>
+
<--pool>        :: Name of the storage pool or its unique ID (GUID).
+
</pre>
+
 
+
 
+
== Pool Replication Management (DEPRECATED) ==
+
 
+
=== pool-replink-create [prl-create] ===
+
Create a async remote replication link between two storage pools.
+
<pre>
+
<--primary-pool> :: Primary storage pool, source of data transfer for replication.
+
<--secondary-pool> :: Secondary storage pool, target of data transfer for replication.
+
<--primary-address> :: Primary system target port.
+
<--secondary-address> :: Secondary system target port.
+
[--protocol-type] :: Replication protocol type
+
[--resync-rate]  :: Resync rate in KB/sec
+
[--flags]        :: Optional flags for the operation. [async]
+
</pre>
+
 
+
 
+
=== pool-replink-delete [prl-delete] ===
+
Delete the remote replication link between two storage pools.
+
<pre>
+
<--replication-link> :: Name or ID of the storage pool replication link/configuration
+
</pre>
+
 
+
 
+
=== pool-replink-demote [prl-demote] ===
+
Demote the specified storage pool to be a secondary.
+
<pre>
+
<--replication-link> :: Name or ID of the storage pool replication link/configuration
+
</pre>
+
 
+
 
+
=== pool-replink-get [prl-get] ===
+
Get info about a specific remote replication link between two pools
+
<pre>
+
<--replication-link> :: Name or ID of the storage pool replication link/configuration
+
</pre>
+
 
+
 
+
=== pool-replink-list [prl-list] ===
+
List the remote replication links between pools
+
 
+
=== pool-replink-modify [prl-modify] ===
+
Modify the async remote replication link between pools.
+
<pre>
+
<--replication-link> :: Name or ID of the storage pool replication link/configuration
+
[--sendbuf-size] :: Maximum network send-buffer size.
+
[--cong-policy]  :: Congestion policy.
+
[--cong-fill-size] :: Congestion fill size.
+
[--resync-rate]  :: Resync rate in KB/sec
+
[--barriers]    :: Disk barriers
+
[--disk-flushes] :: Disk flushes IO
+
[--resource]    :: Enable DRBD Proxy
+
[--source-ip]    :: Source system IP address or port name.
+
[--target-ip]    :: Target system IP address or port name.
+
[--replication-portnum] :: Port number on which the replication data flows between the source and
+
                            target systems (7789-7799)
+
[--flags]        :: Optional flags for the operation. [async]
+
</pre>
+
 
+
 
+
=== pool-replink-promote [prl-promote] ===
+
Promote the specified pool to be a primary.
+
<pre>
+
<--replication-link> :: Name or ID of the storage pool replication link/configuration
+
</pre>
+
 
+
 
+
=== pool-replink-resume [prl-resume] ===
+
Resume the replication for the specified pool remote replication link.
+
<pre>
+
<--replication-link> :: Name or ID of the storage pool replication link/configuration
+
</pre>
+
 
+
 
+
=== pool-replink-suspend [prl-suspend] ===
+
Suspend the replication for the specified pool remote replication link.
+
<pre>
+
<--replication-link> :: Name or ID of the storage pool replication link/configuration
+
</pre>
+
 
+
 
+
== Resource Group Quota Management ==
+
 
+
=== quota-create [q-create] ===
+
Creates a new storage quota on a pool for the specified storage cloud.
+
<pre>
+
<--name>        :: Names may include any alpha-numeric characters '_' and '-', spaces are
+
                            not allowed.
+
<--pool>        :: Name of the storage pool or its unique ID (GUID).
+
<--cloud>        :: Name of a Storage Cloud or its unique id.
+
[--policy]      :: Indicates the type of quota to be created. [hard, *soft]
+
[--desc]        :: A description for the object.
+
[--psize]        :: The total thin-provisionable space allowed by this quota.
+
[--usize]        :: The total utilizable space allowed by this quota which may be less than
+
                            the provisionable space.
+
[--max-volumes]  :: The maximum number of volumes that can be created using this quota,
+
                            specify 0 for no limit.
+
[--max-shares]  :: The maximum number of share that can be created using this quota,
+
                            specify 0 for no limit.
+
[--flags]        :: Optional flags for the operation. [async]
+
</pre>
+
 
+
 
+
=== quota-delete [q-delete] ===
+
Deletes a storage quota, the associated volumes are not deleted.
+
<pre>
+
<--quota>        :: Name or ID of a storage quota.
+
[--flags]        :: Optional flags for the operation. [async, force]
+
</pre>
+
 
+
 
+
=== quota-get [q-get] ===
+
Returns information about a specific storage quota.
+
<pre>
+
<--quota>        :: Name or ID of a storage quota.
+
</pre>
+
 
+
 
+
=== quota-list [q-list] ===
+
Returns a list of all the storage quotas.
+
 
+
=== quota-modify [q-modify] ===
+
Modifies one to change the name and/or description of a storage quota.
+
<pre>
+
<--quota>        :: Name or ID of a storage quota.
+
<--cloud>        :: Name of a Storage Cloud or its unique id.
+
[--name]        :: Names may include any alpha-numeric characters '_' and '-', spaces are
+
                            not allowed.
+
[--desc]        :: A description for the object.
+
[--psize]        :: The total thin-provisionable space allowed by this quota.
+
[--usize]        :: The total utilizable space allowed by this quota which may be less than
+
                            the provisionable space.
+
[--max-volumes]  :: The maximum number of volumes that can be created using this quota,
+
                            specify 0 for no limit.
+
[--max-shares]  :: The maximum number of share that can be created using this quota,
+
                            specify 0 for no limit.
+
[--policy]      :: Indicates the type of quota to be created. [hard, *soft]
+
[--flags]        :: Optional flags for the operation. [async]
+
</pre>
+
 
+
 
+
=== quota-share-add [qs-add] ===
+
Adds one or more shares to the specified quota.
+
<pre>
+
<--quota>        :: Name or ID of a storage quota.
+
<--share-list>  :: A list of one or more network shares.
+
</pre>
+
 
+
 
+
=== quota-share-assoc-list [qs-alist] ===
+
Returns a list of all the associated quotas of a specified share.
+
<pre>
+
<--share>        :: Name or ID of a network share.
+
</pre>
+
 
+
 
+
=== quota-share-remove [qs-remove] ===
+
Removes one or more shares from the specified quota.
+
<pre>
+
<--quota>        :: Name or ID of a storage quota.
+
<--share-list>  :: A list of one or more network shares.
+
</pre>
+
 
+
 
+
=== quota-volume-add [qv-add] ===
+
Adds one or more volumes to the specified quota.
+
<pre>
+
<--quota>        :: Name or ID of a storage quota.
+
<--volume-list>  :: A list of one or more storage volumes.
+
</pre>
+
 
+
 
+
=== quota-volume-assoc-list [qv-alist] ===
+
Returns a list of all the associated quotas of a specified volume.
+
<pre>
+
<--volume>      :: Name of the storage volume or its unique ID (GUID).
+
</pre>
+
 
+
 
+
=== quota-volume-remove [qv-remove] ===
+
Removes one or more volumes from the specified quota
+
<pre>
+
<--quota>        :: Name or ID of a storage quota.
+
<--volume-list>  :: A list of one or more storage volumes.
+
</pre>
+
 
+
 
+
== Remote Replication Management ==
+
 
+
=== replica-assoc-delete [rep-assoc-delete] ===
+
Deletes the specified replication association between a source/target pair of volumes or shares.
+
<pre>
+
<--replica-assoc> :: Name or ID of a replica association between a source/target volume or
+
                            share
+
</pre>
+
 
+
 
+
=== replica-assoc-get [rep-assoc-get] ===
+
Returns details of the specified replication association.
+
<pre>
+
<--replica-assoc> :: Name or ID of a replica association between a source/target volume or
+
                            share
+
</pre>
+
 
+
 
+
=== replica-assoc-list [rep-assoc-list] ===
+
Returns a list of all the replication associations.
+
 
+
=== replica-assoc-rollback [rep-assoc-rollback] ===
+
Reverses the replication to send the changes on the target back to the source volume/share.  Requires the --force flag.
+
<pre>
+
<--replica-assoc> :: Name or ID of a replica association between a source/target volume or
+
                            share
+
</pre>
+
 
+
 
+
=== replica-assoc-stop [rep-assoc-stop] ===
+
Attempts to stop the replication process between a source/target pair of volumes or shares.
+
<pre>
+
<--replica-assoc> :: Name or ID of a replica association between a source/target volume or
+
                            share
+
</pre>
+
 
+
 
+
=== replica-assoc-sync [rep-assoc-sync] ===
+
Restarts the replication process between a source/target pair of volumes or shares.
+
<pre>
+
<--replica-assoc> :: Name or ID of a replica association between a source/target volume or
+
                            share
+
</pre>
+
 
+
 
+
=== replication-schedule-add [rsch-add] ===
+
Adds one or more volumes/shares to the specified schedule.
+
<pre>
+
<--schedule>    :: Name or ID of a replication schedule.
+
[--volume-list]  :: A list of one or more storage volumes.
+
[--share-list]  :: A list of one or more network shares.
+
</pre>
+
 
+
 
+
=== replication-schedule-create [rsch-create] ===
+
Creates a new replication schedule to replicate the specified storage volumes and shares to the specified target pool on a schedule.
+
<pre>
+
<--name>        :: Names may include any alpha-numeric characters '_' and '-', spaces are
+
                            not allowed.
+
<--target-pool>  :: Target storage pool on remote system to replicate to.
+
[--volume-list]  :: A list of one or more storage volumes.
+
[--share-list]  :: A list of one or more network shares.
+
[--start-date]  :: Start date at which the system will begin creating snapshots for a given
+
                            schedule.
+
[--enabled]      :: While the schedule is enabled snapshots will be taken at the designated
+
                            times.
+
[--desc]        :: A description for the object.
+
[--cloud]        :: Name of a Storage Cloud or its unique id.
+
[--max-replicas] :: Maximum number of replica snapshot checkpoints to retain for this
+
                            schedule, after which the oldest snapshot is removed before a new one is
+
                            created.
+
[--days]        :: The days of the week on which this schedule should create snapshots.
+
                            [fri, mon, sat, *sun, thu, tue, wed]
+
[--hours]        :: For the specified days of the week, snapshots will be created at the
+
                            specified hours. [10am, 10pm, 11am, 11pm, 12am, 12pm, 1am, 1pm, 2am, 2pm,
+
                            *3am, 3pm, 4am, 4pm, 5am, 5pm, 6am, 6pm, 7am, 7pm, 8am, 8pm, 9am, 9pm]
+
[--interval]    :: Interval in minutes between replications, minimum is 15 minutes.
+
[--flags]        :: Optional flags for the operation. [async]
+
</pre>
+
 
+
 
+
=== replication-schedule-delete [rsch-delete] ===
+
Deletes a replication schedule, snapshots associated with the schedule are not removed.
+
<pre>
+
<--schedule>    :: Name or ID of a replication schedule.
+
[--flags]        :: Optional flags for the operation. [async, force]
+
</pre>
+
 
+
 
+
=== replication-schedule-disable [rsch-disable] ===
+
Disables the specified replication schedule.
+
<pre>
+
<--schedule>    :: Name or ID of a replication schedule.
+
[--flags]        :: Optional flags for the operation. [async, force]
+
</pre>
+
 
+
 
+
=== replication-schedule-enable [rsch-enable] ===
+
Enables the specified replication schedule.
+
<pre>
+
<--schedule>    :: Name or ID of a replication schedule.
+
[--flags]        :: Optional flags for the operation. [async, force]
+
</pre>
+
 
+
 
+
=== replication-schedule-get [rsch-get] ===
+
Returns information about a specific replication schedule.
+
<pre>
+
<--schedule>    :: Name or ID of a replication schedule.
+
</pre>
+
 
+
 
+
=== replication-schedule-list [rsch-list] ===
+
Returns a list of all the replication schedules.
+
 
+
=== replication-schedule-modify [rsch-modify] ===
+
Modifies the name, description or other properties of a replication schedule.
+
<pre>
+
<--schedule>    :: Name or ID of a replication schedule.
+
[--name]        :: Names may include any alpha-numeric characters '_' and '-', spaces are
+
                            not allowed.
+
[--start-date]  :: Start date at which the system will begin creating snapshots for a given
+
                            schedule.
+
[--enabled]      :: While the schedule is enabled snapshots will be taken at the designated
+
                            times.
+
[--desc]        :: A description for the object.
+
[--cloud]        :: Name of a Storage Cloud or its unique id.
+
[--max-replicas] :: Maximum number of replica snapshot checkpoints to retain for this
+
                            schedule, after which the oldest snapshot is removed before a new one is
+
                            created.
+
[--days]        :: The days of the week on which this schedule should create snapshots.
+
                            [fri, mon, sat, *sun, thu, tue, wed]
+
[--hours]        :: For the specified days of the week, snapshots will be created at the
+
                            specified hours. [10am, 10pm, 11am, 11pm, 12am, 12pm, 1am, 1pm, 2am, 2pm,
+
                            *3am, 3pm, 4am, 4pm, 5am, 5pm, 6am, 6pm, 7am, 7pm, 8am, 8pm, 9am, 9pm]
+
[--interval]    :: Interval in minutes between replications, minimum is 15 minutes.
+
[--flags]        :: Optional flags for the operation. [async]
+
</pre>
+
 
+
 
+
=== replication-schedule-remove [rsch-remove] ===
+
Removes one or more volumes/shares from the specified schedule.
+
<pre>
+
<--schedule>    :: Name or ID of a replication schedule.
+
[--volume-list]  :: A list of one or more storage volumes.
+
[--share-list]  :: A list of one or more network shares.
+
</pre>
+
 
+
 
+
=== replication-schedule-trigger [rsch-trigger] ===
+
Triggers the specified schedule to run immediately.
+
<pre>
+
<--schedule>    :: Name or ID of a replication schedule.
+
[--flags]        :: Optional flags for the operation. [async, force]
+
</pre>
+
 
+
 
+
== RBAC Role Management ==
+
 
+
=== role-add [r-add] ===
+
Adds a new role to the role based access control (RBAC) system.
+
<pre>
+
<--name>        :: Names may include any alpha-numeric characters '_' and '-', spaces are
+
                            not allowed.
+
[--desc]        :: A description for the object.
+
[--permissions]  :: List of permissions and/or permission groups to add to the specified
+
                            role.
+
</pre>
+
 
+
 
+
=== role-get [r-get] ===
+
Gets information about the specified role.
+
<pre>
+
<--role>        :: Name of a security role or its unique ID (GUID).
+
</pre>
+
 
+
 
+
=== role-list [r-list] ===
+
Returns a list of all the defined roles the RBAC system.
+
 
+
=== role-modify [r-modify] ===
+
Modifies the name and/or description of a role
+
<pre>
+
<--role>        :: Name of a security role or its unique ID (GUID).
+
[--name]        :: Names may include any alpha-numeric characters '_' and '-', spaces are
+
                            not allowed.
+
[--desc]        :: A description for the object.
+
</pre>
+
 
+
 
+
=== role-permission-add [rp-add] ===
+
Adds additional permissions and/or permission groups to the specified role.
+
<pre>
+
<--role>        :: Name of a security role or its unique ID (GUID).
+
<--permissions>  :: List of permissions and/or permission groups to add to the specified
+
                            role.
+
</pre>
+
 
+
 
+
=== role-permission-remove [rp-remove] ===
+
Removes one or more permissions and/or permission groups from the specified role.
+
<pre>
+
<--role>        :: Name of a security role or its unique ID (GUID).
+
<--permissions>  :: List of permissions and/or permission groups to add to the specified
+
                            role.
+
</pre>
+
 
+
 
+
=== role-remove [r-remove] ===
+
Removes the specified role identified by name or ID
+
<pre>
+
<--role>        :: Name of a security role or its unique ID (GUID).
+
</pre>
+
 
+
 
+
== Snapshot Schedule Management ==
+
 
+
=== cloud-create [c-create] ===
+
Creates a new storage cloud comprised of the specified users, resources and chap information.
+
<pre>
+
<--name>        :: Names may include any alpha-numeric characters '_' and '-', spaces are
+
                            not allowed.
+
[--desc]        :: A description for the object.
+
[--subject-list] :: A list subjects in the following format name:type. Ex:
+
                            userName:user,groupName:user_group...
+
[--resource-list] :: A list resources in the following format name:type. Ex:
+
                            vol:volume,hostname:host...
+
[--parent-cloud] :: The name or unique id of a storage cloud.
+
[--tier]        :: The tier of the storage cloud.
+
[--organization] :: The name of the organization this storage cloud is assigned to.
+
[--chap-user]    :: An optional iSCSI CHAP username.
+
[--chap-pass]    :: An optional iSCSI CHAP password.
+
[--flags]        :: Optional flags for the operation. [async, force, *none]
+
</pre>
+
 
+
 
+
=== cloud-delete [c-delete] ===
+
Deletes a storage cloud, the resources and users will not be deleted.
+
<pre>
+
<--cloud>        :: Name of a Storage Cloud or its unique id.
+
[--flags]        :: Optional flags for the operation. [async, force]
+
</pre>
+
 
+
 
+
=== cloud-get [c-get] ===
+
Returns information of the specified storage clouds.
+
<pre>
+
<--cloud>        :: Name of a Storage Cloud or its unique id.
+
[--flags]        :: Optional flags for the operation. [async, force]
+
</pre>
+
 
+
 
+
=== cloud-list [c-list] ===
+
Returns a list of all the storage clouds.
+
<pre>
+
[--flags]        :: Optional flags for the operation. [async, force]
+
</pre>
+
 
+
 
+
=== cloud-modify [c-modify] ===
+
Modifies the name, description, parent storage cloud, tier, organization, and chap information of a storage cloud.
+
<pre>
+
<--cloud>        :: Name of a Storage Cloud or its unique id.
+
[--name]        :: Names may include any alpha-numeric characters '_' and '-', spaces are
+
                            not allowed.
+
[--desc]        :: A description for the object.
+
[--parent-cloud] :: The name or unique id of a storage cloud.
+
[--tier]        :: The tier of the storage cloud.
+
[--organization] :: The name of the organization this storage cloud is assigned to.
+
[--chap-user]    :: An optional iSCSI CHAP username.
+
[--chap-pass]    :: An optional iSCSI CHAP password.
+
[--flags]        :: Optional flags for the operation. [async, force, *none]
+
</pre>
+
 
+
 
+
=== cloud-resource-add [cr-add] ===
+
Add one or more resources to the specified storage cloud.
+
<pre>
+
<--cloud>        :: Name of a Storage Cloud or its unique id.
+
<--resource-list> :: A list resources in the following format name:type. Ex:
+
                            vol:volume,hostname:host...
+
</pre>
+
 
+
 
+
=== cloud-resource-mode [cr-mode] ===
+
Set the mode of a specified resource in the storage cloud.
+
<pre>
+
<--cloud>        :: Name of a Storage Cloud or its unique id.
+
<--resource>    :: The unique id of a volume or volume group or share or host or host group.
+
<--access-mode>  :: Access mode for the volume.
+
[--flags]        :: Optional flags for the operation. [async, force, *none]
+
</pre>
+
 
+
 
+
=== cloud-resource-remove [cr-remove] ===
+
Remove one or more resource from the specified storage cloud.
+
<pre>
+
<--cloud>        :: Name of a Storage Cloud or its unique id.
+
<--resource-list> :: A list resources in the following format name:type. Ex:
+
                            vol:volume,hostname:host...
+
</pre>
+
 
+
 
+
=== cloud-subject-assoc-list [csub-alist] ===
+
Returns a list of associated storage clouds to the specified subject.
+
<pre>
+
<--subject>      :: The unique id of a user or user group.
+
[--flags]        :: Optional flags for the operation. [async, force]
+
</pre>
+
 
+
 
+
=== cloud-user-add [cu-add] ===
+
Add one or more users to the specified storage cloud.
+
<pre>
+
<--cloud>        :: Name of a Storage Cloud or its unique id.
+
<--subject-list> :: A list subjects in the following format name:type. Ex:
+
                            userName:user,groupName:user_group...
+
</pre>
+
 
+
 
+
=== cloud-user-remove [cu-remove] ===
+
Remove one or more users from specified storage cloud.
+
<pre>
+
<--cloud>        :: Name of a Storage Cloud or its unique id.
+
<--subject-list> :: A list subjects in the following format name:type. Ex:
+
                            userName:user,groupName:user_group...
+
</pre>
+
 
+
 
+
=== snap-schedule-add [sch-add] ===
+
Adds one or more volumes/shares to the specified schedule.
+
<pre>
+
<--schedule>    :: Name of a snapshot schedule or its unique ID (GUID).
+
[--volume-list]  :: A list of one or more storage volumes.
+
[--share-list]  :: A list of one or more network shares.
+
</pre>
+
 
+
 
+
=== snap-schedule-create [sch-create] ===
+
Creates a new snapshot schedule comprised of the specified storage volumes.
+
<pre>
+
<--name>        :: Names may include any alpha-numeric characters '_' and '-', spaces are
+
                            not allowed.
+
[--volume-list]  :: A list of one or more storage volumes.
+
[--share-list]  :: A list of one or more network shares.
+
[--start-date]  :: Start date at which the system will begin creating snapshots for a given
+
                            schedule.
+
[--enabled]      :: While the schedule is enabled snapshots will be taken at the designated
+
                            times.
+
[--desc]        :: A description for the object.
+
[--cloud]        :: Name of a Storage Cloud or its unique id.
+
[--max-snaps]    :: Maximum number of snapshots to retain for this schedule, after which the
+
                            oldest snapshot is removed before a new one is created.
+
[--days]        :: The days of the week on which this schedule should create snapshots.
+
                            [fri, mon, sat, *sun, thu, tue, wed]
+
[--hours]        :: For the specified days of the week, snapshots will be created at the
+
                            specified hours. [10am, 10pm, 11am, 11pm, 12am, 12pm, 1am, 1pm, 2am, 2pm,
+
                            *3am, 3pm, 4am, 4pm, 5am, 5pm, 6am, 6pm, 7am, 7pm, 8am, 8pm, 9am, 9pm]
+
[--flags]        :: Optional flags for the operation. [async]
+
</pre>
+
 
+
 
+
=== snap-schedule-delete [sch-delete] ===
+
Deletes a snapshot schedule, snapshots associated with the schedule are not removed.
+
<pre>
+
<--schedule>    :: Name of a snapshot schedule or its unique ID (GUID).
+
[--flags]        :: Optional flags for the operation. [async, force]
+
</pre>
+
 
+
 
+
=== snap-schedule-disable [sch-disable] ===
+
Disables the specified snapshot schedule.
+
<pre>
+
<--schedule>    :: Name of a snapshot schedule or its unique ID (GUID).
+
[--flags]        :: Optional flags for the operation. [async, force]
+
</pre>
+
 
+
 
+
=== snap-schedule-enable [sch-enable] ===
+
Enables the specified snapshot schedule.
+
<pre>
+
<--schedule>    :: Name of a snapshot schedule or its unique ID (GUID).
+
[--flags]        :: Optional flags for the operation. [async, force]
+
</pre>
+
 
+
 
+
=== snap-schedule-get [sch-get] ===
+
Returns information about a specific snapshot schedule.
+
<pre>
+
<--schedule>    :: Name of a snapshot schedule or its unique ID (GUID).
+
</pre>
+
 
+
 
+
=== snap-schedule-list [sch-list] ===
+
Returns a list of all the snapshot schedules.
+
 
+
=== snap-schedule-modify [sch-modify] ===
+
Modifies the name, description or other properties of a snapshot schedule.
+
<pre>
+
<--schedule>    :: Name of a snapshot schedule or its unique ID (GUID).
+
[--name]        :: Names may include any alpha-numeric characters '_' and '-', spaces are
+
                            not allowed.
+
[--start-date]  :: Start date at which the system will begin creating snapshots for a given
+
                            schedule.
+
[--enabled]      :: While the schedule is enabled snapshots will be taken at the designated
+
                            times.
+
[--desc]        :: A description for the object.
+
[--cloud]        :: Name of a Storage Cloud or its unique id.
+
[--max-snaps]    :: Maximum number of snapshots to retain for this schedule, after which the
+
                            oldest snapshot is removed before a new one is created.
+
[--days]        :: The days of the week on which this schedule should create snapshots.
+
                            [fri, mon, sat, *sun, thu, tue, wed]
+
[--hours]        :: For the specified days of the week, snapshots will be created at the
+
                            specified hours. [10am, 10pm, 11am, 11pm, 12am, 12pm, 1am, 1pm, 2am, 2pm,
+
                            *3am, 3pm, 4am, 4pm, 5am, 5pm, 6am, 6pm, 7am, 7pm, 8am, 8pm, 9am, 9pm]
+
[--flags]        :: Optional flags for the operation. [async]
+
</pre>
+
 
+
 
+
=== snap-schedule-remove [sch-remove] ===
+
Removes one or more volumes/shares from the specified schedule.
+
<pre>
+
<--schedule>    :: Name of a snapshot schedule or its unique ID (GUID).
+
[--volume-list]  :: A list of one or more storage volumes.
+
[--share-list]  :: A list of one or more network shares.
+
</pre>
+
 
+
 
+
=== snap-schedule-trigger [sch-trigger] ===
+
Triggers the specified schedule to run immediately.
+
<pre>
+
<--schedule>    :: Name of a snapshot schedule or its unique ID (GUID).
+
</pre>
+
 
+
 
+
== iSCSI Session Management ==
+
 
+
=== session-close [sn-close] ===
+
Forcibly closes the specified iSCSI session; generally not recommended, use acl-remove instead.
+
<pre>
+
<--session>      :: iSCSI session identifier for an active iSCSI session.
+
</pre>
+
 
+
 
+
=== session-get [sn-get] ===
+
Returns detailed information on a specific iSCSI session.
+
<pre>
+
<--session>      :: iSCSI session identifier for an active iSCSI session.
+
</pre>
+
 
+
 
+
=== session-list [sn-list] ===
+
Returns a list of all the active iSCSI sessions.
+
<pre>
+
[--volume]      :: Name of the storage volume or its unique ID (GUID).
+
[--host]        :: Name of the host or its unique ID (GUID).
+
</pre>
+
 
+
 
+
== Network Share Management ==
+
 
+
=== share-ad-user-group-enum [shr-ad-ug-enum] ===
+
Returns a list of all the users and groups in the domain that QuantaStor is in.
+
<pre>
+
<--storage-system> :: Name or ID of a storage system in a management grid.
+
[--share]        :: Name or ID of a network share.
+
[--flags]        :: Optional flags for the operation. [async, force]
+
</pre>
+
 
+
 
+
=== share-client-add [shr-cadd] ===
+
Adds a client for the specified network share.
+
<pre>
+
<--share>        :: Name or ID of a network share.
+
<--filter>      :: A filter string for the client
+
[--async]        :: Use asynchronous communication between NFS server and client
+
[--secure]      :: Requires the requests to originate from an Internet port less than
+
                            IPPORT_RESERVED
+
[--subtree]      :: Enables subtree checking
+
[--rdonly]      :: Allow only read requests for the NFS volume
+
[--flags]        :: Optional flags for the operation. [async, force]
+
</pre>
+
 
+
 
+
=== share-client-enum [shr-cenum] ===
+
Returns a list of clients for the specified network share.
+
<pre>
+
<--share>        :: Name or ID of a network share.
+
[--flags]        :: Optional flags for the operation. [async, force]
+
</pre>
+
 
+
 
+
=== share-client-get [shr-cget] ===
+
Returns information about the specific network share client.
+
<pre>
+
<--share>        :: Name or ID of a network share.
+
<--filter>      :: A filter string for the client
+
[--flags]        :: Optional flags for the operation. [async, force]
+
</pre>
+
 
+
 
+
=== share-client-modify [shr-cmodify] ===
+
Modifies a client for the specified network share.
+
<pre>
+
<--share>        :: Name or ID of a network share.
+
<--filter>      :: A filter string for the client
+
[--rdonly]      :: Allow only read requests for the NFS volume
+
[--secure]      :: Requires the requests to originate from an Internet port less than
+
                            IPPORT_RESERVED
+
[--async]        :: Use asynchronous communication between NFS server and client
+
[--subtree]      :: Enables subtree checking
+
[--flags]        :: Optional flags for the operation. [async, force]
+
</pre>
+
 
+
 
+
=== share-client-remove [shr-cremove] ===
+
Removes a client for the specified network share.
+
<pre>
+
<--share>        :: Name or ID of a network share.
+
<--filter>      :: A filter string for the client
+
[--flags]        :: Optional flags for the operation. [async, force]
+
</pre>
+
 
+
 
+
=== share-clone [shr-clone] ===
+
Creates a full copy of the specified network share to another storage pool.
+
<pre>
+
<--share>        :: Name or ID of a network share.
+
<--pool>        :: Name of the storage pool or its unique ID (GUID).
+
[--name]        :: Name for the clone, if not provided the source volume name will be used
+
                            as a prefix.
+
[--desc]        :: A description for the object.
+
[--flags]        :: Optional flags for the operation. [async, force]
+
</pre>
+
 
+
 
+
=== share-create [shr-create] ===
+
Creates a new NFSv3 network share.
+
<pre>
+
<--name>        :: Names may include any alpha-numeric characters '_' and '-', spaces are
+
                            not allowed.
+
<--pool>        :: Name of the storage pool or its unique ID (GUID).
+
[--desc]        :: A description for the object.
+
[--public]      :: Indicates that the specified network share should be made public and
+
                            open for read/write access to all systems on the network.
+
[--active]      :: Indicates that the network share should be activated.
+
[--cifs-enable]  :: Enables Samba support for network share.
+
[--user-access-list] :: List of users with permission to access the network share.
+
[--cifs-options] :: Additional CIFS/Samba configuration options specified as
+
                            'key=value,key2=value2,...'.
+
[--space-quota]  :: Size of the quota for the network share (optional).
+
[--disable-snap-browsing] :: When this is true, ability to browse snapshot directories over CIFS is
+
                            disabled.
+
[--flags]        :: Optional flags for the operation. [async, force]
+
</pre>
+
 
+
 
+
=== share-delete [shr-delete] ===
+
Deletes the specified network share
+
<pre>
+
<--share>        :: Name or ID of a network share.
+
[--flags]        :: Optional flags for the operation. [async, force]
+
</pre>
+
 
+
 
+
=== share-get [shr-get] ===
+
Returns information about the specified network share.
+
<pre>
+
<--share>        :: Name or ID of a network share.
+
</pre>
+
 
+
 
+
=== share-join-domain [shr-jdomain] ===
+
Joins the specified domain/realm.
+
<pre>
+
<--storage-system> :: Name or ID of a storage system in a management grid.
+
<--domain>      :: The name of the domain to have the QuantaStor system join. (DOMAIN)
+
<--realm>        :: The name of the realm that the domain is in. (DOMAIN.COM)
+
<--kdc>          :: The name of the active directory machine.
+
<--ad-admin>    :: The administrator account of the domain that QuantaStor is a member of.
+
<--ad-password>  :: The password to the administrator account of the domain that QuantaStor
+
                            is a member of.
+
[--flags]        :: Optional flags for the operation. [async, force]
+
</pre>
+
 
+
 
+
=== share-leave-domain [shr-ldomain] ===
+
Leaves the current domain.
+
<pre>
+
<--storage-system> :: Name or ID of a storage system in a management grid.
+
[--ad-admin]    :: The administrator account of the domain that QuantaStor is a member of.
+
[--ad-password]  :: The password to the administrator account of the domain that QuantaStor
+
                            is a member of.
+
[--flags]        :: Optional flags for the operation. [async, force]
+
</pre>
+
 
+
 
+
=== share-list [shr-list] ===
+
Returns a list of all the network shares in the system.
+
 
+
=== share-modify [shr-modify] ===
+
Modifies the properties of the specified network share.
+
<pre>
+
<--share>        :: Name or ID of a network share.
+
[--name]        :: Names may include any alpha-numeric characters '_' and '-', spaces are
+
                            not allowed.
+
[--desc]        :: A description for the object.
+
[--active]      :: Indicates that the network share should be activated.
+
[--space-quota]  :: Size of the quota for the network share (optional).
+
[--sync]        :: Synchroniztion policy to use for handling writes to the storage pool
+
                            (standard, always, none).  standard mode is a hybrid of write-through and
+
                            write-back caching based on the O_SYNC flag, always mode is write-through
+
                            to ZIL which could be SSD cache, and disabled indicates to always use
+
                            async writes. [always, disabled, *standard]
+
[--compression-type] :: Type of compression to be used. (on | off | lzjb | gzip | gzip-[1-9] |
+
                            zle | lz4)
+
[--copies]      :: Indicates the number of copies of each block should be maintained in the
+
                            storage pool.  This is a way of getting duplicates for bit-rot protection
+
                            on a single device.
+
[--cifs-enable]  :: Enables Samba support for network share.
+
[--user-access-list] :: List of users with permission to access the network share.
+
[--cifs-options] :: Additional CIFS/Samba configuration options specified as
+
                            'key=value,key2=value2,...'.
+
[--disable-snap-browsing] :: When this is true, ability to browse snapshot directories over CIFS is
+
                            disabled.
+
</pre>
+
 
+
 
+
=== share-snapshot [shr-snap] ===
+
Creates and instant space efficient snapshot of the specified network share (requires Advanced Storage Pool)
+
<pre>
+
<--share>        :: Name or ID of a network share.
+
[--name]        :: Names may include any alpha-numeric characters '_' and '-', spaces are
+
                            not allowed.
+
[--desc]        :: A description for the object.
+
[--flags]        :: Optional flags for the operation. [async, force]
+
</pre>
+
 
+
 
+
== Storage Tier Management ==
+
 
+
=== storage-tier-create [st-create] ===
+
Creates a new storage storage tier comprised of the specified storage pools
+
<pre>
+
<--name>        :: Names may include any alpha-numeric characters '_' and '-', spaces are
+
                            not allowed.
+
<--pool-list>    :: List of storage pools.
+
[--desc]        :: A description for the object.
+
[--storage-class] :: The classification/primary use case of the storage such as
+
                            Backup/Archive, High-Performance, or General Purpose.
+
[--storage-type] :: Type of the storage pools included in this tier: SATA, SAS, SSD, SSHD,
+
                            MULTI, Unknown [AOE, MULTI, *SAS, SATA, SSD, SSHD, UNKNOWN]
+
[--perf-level]  :: An estimation of the relative performance of the storage teir as a
+
                            simplified number in the range of 1 to 100.
+
[--flags]        :: Optional flags for the operation. [async]
+
</pre>
+
 
+
 
+
=== storage-tier-delete [st-delete] ===
+
Deletes the specified storage storage tier (pools are not deleted).
+
<pre>
+
<--tier>        :: Storage tier is a group of one or more storage pools used to simplify
+
                            storage provisioning by teir/category/classification.
+
[--flags]        :: Optional flags for the operation. [async, force]
+
</pre>
+
 
+
 
+
=== storage-tier-get [st-get] ===
+
Returns information about a specific storage storage tier.
+
<pre>
+
<--tier>        :: Storage tier is a group of one or more storage pools used to simplify
+
                            storage provisioning by teir/category/classification.
+
</pre>
+
 
+
 
+
=== storage-tier-list [st-list] ===
+
Returns a list of all the storage storage tiers.
+
 
+
=== storage-tier-modify [st-modify] ===
+
Modifies the name, description or other property of the specified storage tier.
+
<pre>
+
<--tier>        :: Storage tier is a group of one or more storage pools used to simplify
+
                            storage provisioning by teir/category/classification.
+
[--name]        :: Names may include any alpha-numeric characters '_' and '-', spaces are
+
                            not allowed.
+
[--desc]        :: A description for the object.
+
[--storage-class] :: The classification/primary use case of the storage such as
+
                            Backup/Archive, High-Performance, or General Purpose.
+
[--storage-type] :: Type of the storage pools included in this tier: SATA, SAS, SSD, SSHD,
+
                            MULTI, Unknown [AOE, MULTI, *SAS, SATA, SSD, SSHD, UNKNOWN]
+
[--perf-level]  :: An estimation of the relative performance of the storage teir as a
+
                            simplified number in the range of 1 to 100.
+
</pre>
+
 
+
 
+
=== storage-tier-pool-add [stp-add] ===
+
Adds one or more pools to the specified storage tier.
+
<pre>
+
<--tier>        :: Storage tier is a group of one or more storage pools used to simplify
+
                            storage provisioning by teir/category/classification.
+
<--pool-list>    :: List of storage pools.
+
</pre>
+
 
+
 
+
=== storage-tier-pool-remove [stp-remove] ===
+
Removes one or more pools from the specified storage tier.
+
<pre>
+
<--tier>        :: Storage tier is a group of one or more storage pools used to simplify
+
                            storage provisioning by teir/category/classification.
+
<--pool-list>    :: List of storage pools.
+
</pre>
+
 
+
 
+
== Storage System Replication Link Management ==
+
 
+
=== link-create [sl-create] ===
+
Create a new storage system link so that storage volumes may be replicated between storage systems.
+
<pre>
+
<--storage-system> :: Name or ID of a storage system in a management grid.
+
<--remote-ip>    :: IP Address of the host being added; if unspecified the service will look
+
                            it up.
+
[--remote-admin] :: Remote admin user account to establish remote storage system link with.
+
[--remote-passwd] :: Remote admin user password.
+
[--local-ip]    :: IP Address of the host being added; if unspecified the service will look
+
                            it up.
+
[--bw-limit]    :: Limits the replication bandwidth between two storage systems to a set
+
                            level specified in units of kilobytes per second (KB/sec). Specify 0 to
+
                            indicate no limit.
+
[--link-type]    :: Type of storage system link to establish.
+
[--desc]        :: A description for the object.
+
</pre>
+
 
+
 
+
=== link-delete [sl-delete] ===
+
Delete an existing storage system link.
+
<pre>
+
<--link>        :: Storage system link ID or name.
+
</pre>
+
 
+
 
+
=== link-get [sl-get] ===
+
Get information about the storage system link.
+
<pre>
+
<--link>        :: Storage system link ID or name.
+
</pre>
+
 
+
 
+
=== link-list [sl-list] ===
+
List the existing storage system remote replication links.
+
 
+
=== link-modify [sl-modify] ===
+
Modify the properties of the storage system link.
+
<pre>
+
<--link>        :: Storage system link ID or name.
+
<--remote-ip>    :: IP Address of the host being added; if unspecified the service will look
+
                            it up.
+
[--local-ip]    :: IP Address of the host being added; if unspecified the service will look
+
                            it up.
+
[--desc]        :: A description for the object.
+
[--bw-limit]    :: Limits the replication bandwidth between two storage systems to a set
+
                            level specified in units of kilobytes per second (KB/sec). Specify 0 to
+
                            indicate no limit.
+
[--link-type]    :: Type of storage system link to establish.
+
</pre>
+
 
+
 
+
=== link-set-credentials [sl-setcred] ===
+
Change the credentials for an existing storage system link.
+
<pre>
+
<--link>        :: Storage system link ID or name.
+
[--remote-admin] :: Remote admin user account to establish remote storage system link with.
+
[--remote-passwd] :: Remote admin user password.
+
</pre>
+
 
+
 
+
== Storage System Management ==
+
 
+
=== system-get [sys-get] ===
+
Get general information about the storage system.
+
<pre>
+
[--storage-system] :: Name or ID of a storage system in a management grid.
+
</pre>
+
 
+
 
+
=== system-list [sys-list] ===
+
Returns a list of all the managed storage systems. This is always a single system unless the system is a member of a management grid.
+
 
+
=== system-metadata-recovery-point-list [smrp-list] ===
+
Returns a list of all the available system metadata recovery points.  Recovery points allow you to restore system information such as network, host, users, and other system information from a prior automatic backup.
+
<pre>
+
[--storage-system] :: Name or ID of a storage system in a management grid.
+
</pre>
+
 
+
 
+
=== system-modify [sys-modify] ===
+
Modifies the name and/or description of the storage system.
+
<pre>
+
[--storage-system] :: Name or ID of a storage system in a management grid.
+
[--name]        :: Names may include any alpha-numeric characters '_' and '-', spaces are
+
                            not allowed.
+
[--desc]        :: A description for the object.
+
[--location]    :: Optional description indicating the location of the storage system.
+
[--domain]      :: The domain name suffix for your network such as example.com
+
[--search]      :: The default domain search suffix for your network such as example.com
+
[--arp-filter-mode] :: ARP filtering should be enabled when you have more than one network card
+
                            on the same network. [*auto, disabled, enabled]
+
[--bond-mode]    :: Round-robin balancing is the default mode but if you are using bonding
+
                            across switches you must use LACP and have switch infrastructure that
+
                            supports it. [lacp, *round-robin]
+
[--ext-hostname] :: Specifies the external hostname for the system.  This is useful for
+
                            creating grids of systems in the cloud like in Amazon's EC2.
+
[--grid-port]    :: Designated port for grid communication
+
[--flags]        :: Optional flags for the operation. [async, force, *none]
+
</pre>
+
 
+
 
+
=== system-restart [restart] ===
+
Restarts the entire storage system.
+
<pre>
+
[--storage-system] :: Name or ID of a storage system in a management grid.
+
[--flags]        :: Optional flags for the operation. [async, force, *none]
+
</pre>
+
 
+
 
+
=== system-shutdown [shutdown] ===
+
Shutdown the storage system.
+
<pre>
+
[--storage-system] :: Name or ID of a storage system in a management grid.
+
[--service-only] :: Shutdown just the management service and not the system.
+
[--flags]        :: Optional flags for the operation. [async, force, *none]
+
</pre>
+
 
+
 
+
=== system-upgrade [upgrade] ===
+
Upgrade to the latest version of the core packages.
+
<pre>
+
[--storage-system] :: Name or ID of a storage system in a management grid.
+
[--flags]        :: Optional flags for the operation. [async, force, *none]
+
</pre>
+
 
+
 
+
== Network Interface Management ==
+
 
+
=== bonded-interface-create [bond-create] ===
+
Creates a bonded network interface by bonding/teaming together a group of one or more physical network ports.
+
<pre>
+
<--ip-address>  :: IP Address of the host being added; if unspecified the service will look
+
                            it up.
+
<--port-list>    :: List of target ports to be bonded together.
+
[--storage-system] :: Name or ID of a storage system in a management grid.
+
[--netmask]      :: Subnet IP mask (ex: 255.255.255.0)
+
[--gateway]      :: IP address of the network gateway
+
[--mtu]          :: Maximum transmission unit (MTU) for the target port, commonly set to
+
                            9000 to enable jumbo frames.
+
[--desc]        :: A description for the object.
+
[--bond-mode]    :: Round-robin balancing is the default mode but if you are using bonding
+
                            across switches you must use LACP and have switch infrastructure that
+
                            supports it. [lacp, *round-robin]
+
[--flags]        :: Optional flags for the operation. [async, force, *none]
+
</pre>
+
 
+
 
+
=== bonded-interface-delete [bond-delete] ===
+
Deletes the specified bonded network interface.
+
<pre>
+
<--port>        :: Name of unique ID of a physical network port/target port.
+
</pre>
+
 
+
 
+
=== fiber-channel-port-disable [fcp-disable] ===
+
Disables the specified fiber channel port.
+
<pre>
+
<--port>        :: Name or MAC address of the target port.
+
[--flags]        :: Optional flags for the operation. [async, force, *none]
+
</pre>
+
 
+
 
+
=== fiber-channel-port-enable [fcp-enable] ===
+
Enables the specified fiber channel port.
+
<pre>
+
<--port>        :: Name or MAC address of the target port.
+
[--flags]        :: Optional flags for the operation. [async, force, *none]
+
</pre>
+
 
+
 
+
=== fiber-channel-port-get [fcp-get] ===
+
Returns information about the specified fiber channel target port.
+
<pre>
+
<--port>        :: Name or MAC address of the target port.
+
[--flags]        :: Optional flags for the operation. [async, force, *none]
+
</pre>
+
 
+
 
+
=== fiber-channel-port-list [fcp-list] ===
+
Returns a list of all the fiber channel target ports in the system.
+
 
+
=== infiniband-port-get [ibp-get] ===
+
Returns information about the specified infiniband port.
+
<pre>
+
<--port>        :: Name or MAC address of the target port.
+
[--flags]        :: Optional flags for the operation. [async, force, *none]
+
</pre>
+
 
+
 
+
=== infiniband-port-list [ibp-list] ===
+
Returns a list of all the infiniband ports in the system.
+
 
+
=== target-port-disable [tp-disable] ===
+
Disables the specified target port.
+
<pre>
+
<--port>        :: Name or MAC address of the target port.
+
[--flags]        :: Optional flags for the operation. [async, force, *none]
+
</pre>
+
 
+
 
+
=== target-port-enable [tp-enable] ===
+
Enables the specified target port.
+
<pre>
+
<--port>        :: Name or MAC address of the target port.
+
[--flags]        :: Optional flags for the operation. [async, force, *none]
+
</pre>
+
 
+
 
+
=== target-port-get [tp-get] ===
+
Returns information about the specified target port.
+
<pre>
+
<--port>        :: Name or MAC address of the target port.
+
[--flags]        :: Optional flags for the operation. [async, force, *none]
+
</pre>
+
 
+
 
+
=== target-port-list [tp-list] ===
+
Returns a list of all the target ports in the system.
+
 
+
=== target-port-modify [tp-modify] ===
+
Modifies target port settings including IP address, gateway, mtu, etc.
+
<pre>
+
<--port>        :: Name or MAC address of a target port, or 'all' to modify all ports.
+
[--port-type]    :: Port configuration type. (static, dhcp)
+
[--ip-address]  :: IP Address of the host being added; if unspecified the service will look
+
                            it up.
+
[--netmask]      :: Subnet IP mask (ex: 255.255.255.0)
+
[--gateway]      :: IP address of the network gateway
+
[--mtu]          :: Maximum transmission unit (MTU) for the target port, commonly set to
+
                            9000 to enable jumbo frames.
+
[--iscsi-enable] :: Enables or disables iSCSI access to the specified port(s).
+
[--desc]        :: A description for the object.
+
[--float-list]  :: List of physical ports and/or bonded ports that the virtual interface is
+
                            allowed to float between.  If a physical port goes offline the system
+
                            will automatically float the virtual interface to one of the online
+
                            physical ports in the float list.
+
[--bond-mode]    :: Round-robin balancing is the default mode but if you are using bonding
+
                            across switches you must use LACP and have switch infrastructure that
+
                            supports it. [lacp, *round-robin]
+
[--flags]        :: Optional flags for the operation. [async, force, *none]
+
</pre>
+
 
+
 
+
=== target-port-rescan [tp-rescan] ===
+
Discovers new target ports and/or any manual modifications made to the configuration of the target ports.
+
<pre>
+
[--storage-system] :: Name or ID of a storage system in a management grid.
+
[--flags]        :: Optional flags for the operation. [async, force, *none]
+
</pre>
+
 
+
 
+
=== target-port-restart [tp-restart] ===
+
Restarts the specified target port.
+
<pre>
+
<--port>        :: Name or MAC address of the target port.
+
[--flags]        :: Optional flags for the operation. [async, force, *none]
+
</pre>
+
 
+
 
+
=== virtual-interface-create [vif-create] ===
+
Creates a new virtual network interface which is linked to a physical network port.
+
<pre>
+
<--parent-port>  :: Port that the virtual interface should initially be attached to.
+
<--ip-address>  :: IP Address of the host being added; if unspecified the service will look
+
                            it up.
+
[--storage-system] :: Name or ID of a storage system in a management grid.
+
[--netmask]      :: Subnet IP mask (ex: 255.255.255.0)
+
[--gateway]      :: IP address of the network gateway
+
[--float-list]  :: List of physical ports and/or bonded ports that the virtual interface is
+
                            allowed to float between.  If a physical port goes offline the system
+
                            will automatically float the virtual interface to one of the online
+
                            physical ports in the float list.
+
[--mtu]          :: Maximum transmission unit (MTU) for the target port, commonly set to
+
                            9000 to enable jumbo frames.
+
[--desc]        :: A description for the object.
+
[--flags]        :: Optional flags for the operation. [async, force, *none]
+
</pre>
+
 
+
 
+
=== virtual-interface-delete [vif-delete] ===
+
Deletes the specified virtual network interface.
+
<pre>
+
<--port>        :: Name of unique ID of a physical network port/target port.
+
</pre>
+
 
+
 
+
=== virtual-interface-move [vif-move] ===
+
Moves the specified virtual network interface to a different physical network port.
+
<pre>
+
<--vif>          :: Name of unique ID (GUID) for the virtual interface.
+
<--port>        :: Name of unique ID of a physical network port/target port.
+
</pre>
+
 
+
 
+
=== vlan-interface-create [vlan-create] ===
+
Creates a new VLAN interface on the specified physical port.
+
<pre>
+
<--parent-port>  :: Port that the virtual interface should initially be attached to.
+
<--ip-address>  :: IP Address of the host being added; if unspecified the service will look
+
                            it up.
+
<--vlan-id>      :: VLAN ID (typically 1-255)
+
[--storage-system] :: Name or ID of a storage system in a management grid.
+
[--netmask]      :: Subnet IP mask (ex: 255.255.255.0)
+
[--gateway]      :: IP address of the network gateway
+
[--vlan-qos]    :: VLAN Quality of Service (QoS) can be in the range of 0 (lowest, default)
+
                            to 7 (highest) and represents the Class of Service (CoS) user priority of
+
                            the VLAN traffic.
+
[--mtu]          :: Maximum transmission unit (MTU) for the target port, commonly set to
+
                            9000 to enable jumbo frames.
+
[--desc]        :: A description for the object.
+
[--flags]        :: Optional flags for the operation. [async, force, *none]
+
</pre>
+
 
+
 
+
=== vlan-interface-delete [vlan-delete] ===
+
Deletes the specified VLAN interface.
+
<pre>
+
<--port>        :: Name of unique ID of a physical network port/target port.
+
</pre>
+
 
+
 
+
== Task Management ==
+
 
+
=== task-cancel [t-cancel] ===
+
Cancels the specified task that is in the queue or is running.
+
<pre>
+
<--task>        :: ID of a task.
+
</pre>
+
 
+
 
+
=== task-clear-all [t-clear-all] ===
+
Clears all the completed and/or failed tasks from the task log so that only the running and queued tasks remain, if any.
+
 
+
=== task-get [t-get] ===
+
Returns information about the specified task.
+
<pre>
+
<--task>        :: ID of a task.
+
</pre>
+
 
+
 
+
=== task-list [t-list] ===
+
Returns a list of all the tasks including active, completed, and failed tasks. Whenever you run a command in QuantaStor it is queued in the task manager and then executed automatically once the necessary resource locks are aquired. This means that you can run commands synchronously and/or asynchronously to run multiple operations concurrently. By default the CLI waits for the task to complete so it blocks by default. You can have the CLI not wait by specifying the --async flag to any operation. In such cases the CLI will return immediately.
+
 
+
== User Group Management ==
+
 
+
=== tc-commands ===
+
List of commands for tab completion
+
<pre>
+
[--command]      :: Command to show method args for.
+
</pre>
+
 
+
 
+
=== user-group-create [ug-create] ===
+
Creates a new storage user group comprised of the specified users.
+
<pre>
+
<--name>        :: Names may include any alpha-numeric characters '_' and '-', spaces are
+
                            not allowed.
+
<--user-list>    :: A list of one or more users.
+
[--desc]        :: A description for the object.
+
[--flags]        :: Optional flags for the operation. [async]
+
</pre>
+
 
+
 
+
=== user-group-delete [ug-delete] ===
+
Deletes a storage user group, the users are not deleted unless the delete-users flag is set.
+
<pre>
+
<--user-group>  :: An arbirary group of one or more users.
+
[--flags]        :: Optional flags for the operation. [async, force]
+
</pre>
+
 
+
 
+
=== user-group-get [ug-get] ===
+
Returns information about a specific storage user group.
+
<pre>
+
<--user-group>  :: An arbirary group of one or more users.
+
</pre>
+
 
+
 
+
=== user-group-list [ug-list] ===
+
Returns a list of all the storage user groups.
+
 
+
=== user-group-modify [ug-modify] ===
+
Modifies the name and/or description of a storage user group.
+
<pre>
+
<--user-group>  :: An arbirary group of one or more users.
+
[--name]        :: Names may include any alpha-numeric characters '_' and '-', spaces are
+
                            not allowed.
+
[--desc]        :: A description for the object.
+
</pre>
+
 
+
 
+
=== user-group-user-add [ugu-add] ===
+
Adds one or more users to the specified user group.
+
<pre>
+
<--user-group>  :: An arbirary group of one or more users.
+
<--user-list>    :: A list of one or more users.
+
</pre>
+
 
+
 
+
=== user-group-user-remove [ugu-remove] ===
+
Removes one or more users from the specified user group
+
<pre>
+
<--user-group>  :: An arbirary group of one or more users.
+
<--user-list>    :: A list of one or more users.
+
</pre>
+
 
+
 
+
== User Management ==
+
 
+
=== user-add [u-add] ===
+
Adds a new user account to the system.  A matching console level account is created on all grid nodes but by default SSH access is not allowed. Rather, management accounts do allow the use of qs CLI commands and QuantaStor web management interface access as per the limits of the assigned user role.
+
<pre>
+
<--name>        :: User names may include any alpha-numeric characters '_' and '-', no
+
                            spaces are allowed.
+
<--password>    :: A password for the user to use when accessing the QuantaStor management
+
                            interface.
+
<--role>        :: Name of a security role or its unique ID (GUID).
+
[--first-name]  :: User's first name; enclose in double-quotes if it contains spaces.
+
[--last-name]    :: User's last name; enclose in double-quotes if it contains spaces.
+
[--email]        :: An email address of the form 'user@example.com' without the quotes.
+
[--desc]        :: A description for the object.
+
[--default-chap-user] :: Default CHAP username for storage volumes owned by a user account which
+
                            have the CHAP policy set to 'use user default CHAP settings'
+
[--default-chap-pass] :: Default CHAP password for storage volumes owned by a user account which
+
                            have the CHAP policy set to 'use user default CHAP settings'
+
[--alerts]      :: Alert types to subscribe to. Alerts at the subscribed level are sent to
+
                            the user's email address automatically when a SMTP server is configured.
+
                            [critical, error, info, *none, warning]
+
</pre>
+
 
+
 
+
=== user-get [u-get] ===
+
Gets information about the specified user.
+
<pre>
+
<--user>        :: Name or ID (GUID) of a existing user.
+
</pre>
+
 
+
 
+
=== user-list [u-list] ===
+
Returns a list of all the users.
+
 
+
=== user-modify [u-modify] ===
+
Modifies the specified user name, role, and/or description.
+
<pre>
+
<--user>        :: Name or ID (GUID) of a existing user.
+
[--name]        :: Names may include any alpha-numeric characters '_' and '-', spaces are
+
                            not allowed.
+
[--role]        :: Name of a security role or its unique ID (GUID).
+
[--desc]        :: A description for the object.
+
[--default-chap-user] :: Default CHAP username for storage volumes owned by a user account which
+
                            have the CHAP policy set to 'use user default CHAP settings'
+
[--default-chap-pass] :: Default CHAP password for storage volumes owned by a user account which
+
                            have the CHAP policy set to 'use user default CHAP settings'
+
[--alerts]      :: Alert types to subscribe to. Alerts at the subscribed level are sent to
+
                            the user's email address automatically when a SMTP server is configured.
+
                            [critical, error, info, *none, warning]
+
</pre>
+
 
+
 
+
=== user-password-set [passwd] ===
+
Changes the password for the specified user
+
<pre>
+
<--user>        :: Name or ID (GUID) of a existing user.
+
<--new-password> :: New password for the user.
+
[--old-password] :: Old password for the user.
+
</pre>
+
 
+
 
+
=== user-remove [u-remove] ===
+
Removes the specified user identified by name or ID.
+
<pre>
+
<--user>        :: Name or ID (GUID) of a existing user.
+
</pre>
+
 
+
 
+
== Storage Volume Access Control (LUN Masking) ==
+
 
+
=== volume-assign [va-add] ===
+
Enables access to the specific volume from the specified host.
+
<pre>
+
<--volume>      :: Name of the storage volume or its unique ID (GUID).
+
<--host-list>    :: A list of one or more hosts by name or ID.
+
</pre>
+
 
+
 
+
=== volume-assign-list [va-list] ===
+
Returns a list of all the volume to host assignments, optionally filtered by host or storage volume.
+
<pre>
+
[--volume]      :: Name of the storage volume or its unique ID (GUID).
+
[--host]        :: Name of the host or its unique ID (GUID).
+
</pre>
+
 
+
 
+
=== volume-unassign [va-remove] ===
+
Disables access to the specific volume from the specified host.
+
<pre>
+
<--volume>      :: Name of the storage volume or its unique ID (GUID).
+
<--host-list>    :: A list of one or more hosts by name or ID.
+
</pre>
+
 
+
 
+
=== volume-unassign-all [va-remove-all] ===
+
Disables all access to the specified volume, host, or host group.
+
<pre>
+
<--volume>      :: Name of the storage volume or its unique ID (GUID).
+
</pre>
+
 
+
 
+
== Storage Volume Group Management ==
+
 
+
=== volume-group-clone [vg-clone] ===
+
Creates a complete block by block copy of all volumes in the group.
+
<pre>
+
<--volume-group> :: An arbirary group of one or more storage volumes.
+
[--pool]        :: Name of the storage pool or its unique ID (GUID).
+
[--name-suffix]  :: Name for the snapshot/clone; if unspecified the snapshot/clone will use
+
                            the original name with '_snapNN'/'_cloneNN' appended.
+
[--desc]        :: A description for the object.
+
[--access-mode]  :: Access mode for the volume. [none, readonly, *readwrite]
+
[--flags]        :: Optional flags for the operation. [async, force]
+
</pre>
+
 
+
 
+
=== volume-group-create [vg-create] ===
+
Creates a new storage volume group comprised of the specified storage volumes
+
<pre>
+
<--name>        :: Names may include any alpha-numeric characters '_' and '-', spaces are
+
                            not allowed.
+
<--volume-list>  :: A list of one or more storage volumes.
+
[--desc]        :: A description for the object.
+
[--flags]        :: Optional flags for the operation. [async]
+
</pre>
+
 
+
 
+
=== volume-group-delete [vg-delete] ===
+
Deletes a storage volume group, the volumes are not deleted unless the delete-volumes flag is set.
+
<pre>
+
<--volume-group> :: An arbirary group of one or more storage volumes.
+
[--destroy-volumes] :: If 'true' all the volumes in the group will be deleted with the volume
+
                            group, default is 'false'.
+
[--flags]        :: Optional flags for the operation. [async, force]
+
</pre>
+
 
+
 
+
=== volume-group-get [vg-get] ===
+
Returns information about a specific storage volume group.
+
<pre>
+
<--volume-group> :: An arbirary group of one or more storage volumes.
+
</pre>
+
 
+
 
+
=== volume-group-list [vg-list] ===
+
Returns a list of all the storage volume groups.
+
 
+
=== volume-group-modify [vg-modify] ===
+
Modifies the name and/or description of a storage volume group.
+
<pre>
+
<--volume-group> :: An arbirary group of one or more storage volumes.
+
[--name]        :: Names may include any alpha-numeric characters '_' and '-', spaces are
+
                            not allowed.
+
[--desc]        :: A description for the object.
+
</pre>
+
 
+
 
+
=== volume-group-snapshot [vg-snap] ===
+
Creates a space efficient copy of all volumes in the group.
+
<pre>
+
<--volume-group> :: An arbirary group of one or more storage volumes.
+
[--name-suffix]  :: Name for the snapshot/clone; if unspecified the snapshot/clone will use
+
                            the original name with '_snapNN'/'_cloneNN' appended.
+
[--desc]        :: A description for the object.
+
[--access-mode]  :: Access mode for the volume. [none, readonly, *readwrite]
+
[--count]        :: The number of snapshots of the specified volume to create, default is 1.
+
[--flags]        :: Optional flags for the operation. [async, force]
+
</pre>
+
 
+
 
+
=== volume-group-volume-add [vgv-add] ===
+
Adds one or more volumes to the specified volume group.
+
<pre>
+
<--volume-group> :: An arbirary group of one or more storage volumes.
+
<--volume-list>  :: A list of one or more storage volumes.
+
</pre>
+
 
+
 
+
=== volume-group-volume-remove [vgv-remove] ===
+
Removes one or more volumes from the specified volume group
+
<pre>
+
<--volume-group> :: An arbirary group of one or more storage volumes.
+
<--volume-list>  :: A list of one or more storage volumes.
+
</pre>
+
 
+
 
+
== Storage Volume Management ==
+
 
+
=== volume-clone [v-clone] ===
+
Creates a complete block copy of the source volume.
+
<pre>
+
<--volume>      :: Name of the storage volume or its unique ID (GUID).
+
[--name]        :: Name for the clone, if not provided the source volume name will be used
+
                            as a prefix.
+
[--desc]        :: A description for the object.
+
[--access-mode]  :: Access mode for the volume. [none, readonly, *readwrite]
+
[--flags]        :: Optional flags for the operation. [async, force]
+
</pre>
+
 
+
 
+
=== volume-create [v-create] ===
+
Creates a new storage volume in the specified storage pool.
+
<pre>
+
<--name>        :: Names may include any alpha-numeric characters '_' and '-', spaces are
+
                            not allowed.
+
<--size>        :: Size may be specified in MiB, GiB, or TiB. examples: 4G, 100M, 1.4T
+
<--pool>        :: Name of the storage pool or its unique ID (GUID).
+
[--desc]         :: A description for the object.
+
[--thin]        :: Thin provision (sparse allocate) the storage volume.
+
[--access-mode]  :: Access mode for the volume. [none, readonly, *readwrite]
+
[--chap-policy]  :: CHAP setting can be 'target' which is unique to a storage volume, 'user'
+
                            or 'resource-group' which inherits the chap user/pass from your user
+
                            account or storage cloud respectively. [cloud-defaults, *disabled,
+
                            target, user-defaults]
+
[--chap-user]    :: An optional iSCSI CHAP username.
+
[--chap-pass]    :: An optional iSCSI CHAP password.
+
[--count]        :: The number of volumes to create, default is 1.
+
[--blocksize]    :: Volume block size in KB, valid values are 8, 16, 32, 64, 128. Larger
+
                            values deliver higher performance for workloads with high sequential IO.
+
[--flags]        :: Optional flags for the operation. [async, force]
+
</pre>
+
 
+
 
+
=== volume-delete [v-delete] ===
+
Deletes a storage volume, *WARNING* any data in the volume will be lost.
+
<pre>
+
<--volume>      :: Name of the storage volume or its unique ID (GUID).
+
[--flags]        :: Optional flags for the operation. [async, force]
+
</pre>
+
 
+
 
+
=== volume-get [v-get] ===
+
Returns information about a specific storage volume.
+
<pre>
+
<--volume>      :: Name of the storage volume or its unique ID (GUID).
+
</pre>
+
 
+
 
+
=== volume-list [v-list] ===
+
Returns a list of all the storage volumes.
+
 
+
=== volume-modify [v-modify] ===
+
Modifies a the name, description or other properties of the storage volume.
+
<pre>
+
<--volume>      :: Name of the storage volume or its unique ID (GUID).
+
[--name]        :: Names may include any alpha-numeric characters '_' and '-', spaces are
+
                            not allowed.
+
[--desc]        :: A description for the object.
+
[--access-mode]  :: Access mode for the volume. [none, readonly, *readwrite]
+
[--flags]        :: Optional flags for the operation. [async]
+
[--chap-policy]  :: CHAP setting can be 'target' which is unique to a storage volume, 'user'
+
                            or 'resource-group' which inherits the chap user/pass from your user
+
                            account or storage cloud respectively. [cloud-defaults, *disabled,
+
                            target, user-defaults]
+
[--chap-user]    :: An optional iSCSI CHAP username.
+
[--chap-pass]    :: An optional iSCSI CHAP password.
+
[--clear-snap-flag] :: Promotes a snapshot volume to standard (non-snapshot) volume.
+
[--enable-wb-cache] :: Enables the write-back cache on the iSCSI target driver, this option
+
                            uses volatile system RAM for cache and is not recommended.
+
[--is-active-checkpoint] :: Tags the checkpoint device so that it cannot be replicated over.  Use
+
                            this for DR failover and this flag is set automatically when a failover
+
                            checkpoint volume has an active iSCSI session.
+
[--sync]        :: Synchroniztion policy to use for handling writes to the storage pool
+
                            (standard, always, none).  standard mode is a hybrid of write-through and
+
                            write-back caching based on the O_SYNC flag, always mode is write-through
+
                            to ZIL which could be SSD cache, and disabled indicates to always use
+
                            async writes. [always, disabled, *standard]
+
[--compression-type] :: Type of compression to be used. (on | off | lzjb | gzip | gzip-[1-9] |
+
                            zle | lz4)
+
[--copies]      :: Indicates the number of copies of each block should be maintained in the
+
                            storage pool.  This is a way of getting duplicates for bit-rot protection
+
                            on a single device.
+
</pre>
+
 
+
 
+
=== volume-resize [v-resize] ===
+
Resizes a storage volume to make it larger, volumes cannot be reduced in size.
+
<pre>
+
<--volume>      :: Name of the storage volume or its unique ID (GUID).
+
<--new-size>    :: New larger size for the volume specified in MiB, GiB, or TiB. examples:
+
                            4G, 100M, 1.4T
+
[--flags]        :: Optional flags for the operation. [async, force]
+
</pre>
+
 
+
 
+
=== volume-restore [v-restore] ===
+
Restores a storage volume to a previous point in time using a snapshot.
+
<pre>
+
<--volume>      :: Name of the storage volume or its unique ID (GUID).
+
<--snapshot>    :: Name or ID of a snapshot volume to use as the restore point.
+
[--flags]        :: Optional flags for the operation. [async, force]
+
</pre>
+
 
+
 
+
=== volume-snapshot [v-snap] ===
+
Creates a space efficient copy of the source volume.
+
<pre>
+
<--volume>      :: Name of the storage volume or its unique ID (GUID).
+
[--name]        :: Name for the snapshot, if not provided the source volume name will be
+
                            used as a prefix.
+
[--desc]        :: A description for the object.
+
[--access-mode]  :: Access mode for the volume. [none, readonly, *readwrite]
+
[--count]        :: The number of snapshots of the specified volume to create, default is 1.
+
[--flags]        :: Optional flags for the operation. [async, force]
+
</pre>
+
 
+
 
+
=== volume-utilization-get [vu-get] ===
+
Returns a specific volume utilization metrics for a single volume and specific date.
+
<pre>
+
<--id>          :: Unique identifier (GUID) for the object.
+
</pre>
+
 
+
 
+
=== volume-utilization-list [vu-list] ===
+
Returns volume utilization information for a specific storage volume or all storage volumes if no volume is specified.
+
<pre>
+
[--volume]      :: Name of the storage volume or its unique ID (GUID).
+
</pre>
+

Revision as of 19:00, 24 July 2017

The QuantaStor command line interface (CLI) can be used to remotely manage your QuantaStor based systems via a Windows or Linux system, and it is also a powerful tool for scripting the configuration and provisioning of storage volumes, network shares, and other resources. The command line utility for managing your QuantaStor system is called simply 'qs'. You can run 'qs' after logging into your QuantaStor system via an SSH connection, or you can download the QuantaStor Remote CLI client installer for Windows which is available for download from the OSNEXUS web site.

How to use the CLI

QuantaStor CLI is a full featured interface into all of the QuantaStor management features and can communicates with the local core management service as well as remote storage appliances.

Authentication

It is important to note that running the qs CLI locally as root affords no additional access privileges. Each command run via the CLI must include the --server specification which includes which server and what credentials should be used to access the appliance with.

Authentication via --server Argument

All CLI commands accept the server specification argument which is of this form:

[--server=ipaddress[,username,password]]

If you do not specify a username or password it will try to use the defaults which are 'admin' and 'password'.

Authentication via QS_SERVER Environment Variable

Rather than having to specify the --server argument over and over again you can set an environment variable once then it will use this as the default appliance IP address and credentials. The form of the variable is like so:

export QS_SERVER=ipaddress[,username,password]]

Examples:

export QS_SERVER=localhost,admin,password
export QS_SERVER=10.0.5.10,admin,mypass123
export QS_SERVER=myhostname.domain.net,mike,mypass123

Authentication via .qs.cnf Configuration File

Finally, rather than using an environment variable you can also create a file in your home directory called .qs.cnf with your credentials in it. Here's an example of how to create the file:

echo "192.168.0.10,admin,password" > ~/.qs.cnf
chmod 600 ~/.qs.cnf

Usage

The general usage format for all CLI commands is as follows:

    
qs command <-mandatory-arg=val> [-optional-arg=val] [-flags=force,async,...] [-server=ipaddress[,username,password]] [-xml] [-min] 

As you read through the CLI documentation note that all arguments that are specified in angle backets <> are mandatory required arguments. Arguments in square brackets [] are optional and you'll generally see the default argument specified in the documentation. Note that the qs CLI is installed on your QuantaStor system so you can run it from there, or from a Windows system using our Remote Management CLI Installer found on the downloads page. All commands can be run against a remote QuantaStor storage system using the --server= argument as outlined above.

Note also that anytime you must specify an object argument like host= volume= share= or others you can refer to the object by name or by its unique ID (UUID). For scripting it is always best to be more exact and use the UUID but it can be a big time-saver to be able to refer to objects by name as well, hence this capability.

Output Modes

XML Output Mode

Use --xml with any command to get the results in XML. Example:

qs disk-list --server=localhost,admin,password --xml
qs volume-list --server=localhost,admin,password

Minimal Output Mode

Use --min with any list or enumeration command where you want the results in a more compact format.

Interactive Mode

You can use the qs command line utility in an interactive mode where you will not have to run it from the shell each time. To enter the interactive mode just run the CLI like so:

qs i

To exit the interactive command line mode simply press CTRL-C to exit.

Built-in CLI Help

All of the commands covered in the documentation are also documented within the command line utility itself. Simply run the CLI with the 'help' argument to get the full list of all the different CLI commands. This list is pretty long so it's often best to pipe it to more
qs help | more
.

You can also use the help system to get information on a specific command:

    qs help command=CMD-NAME

As an example you can get help on how to use the pool-create command like so:

    qs help command=pool-create

Another way to get information on a group of commands is to specify a category. Help will then be printed for all commands that have a partial name match to the category specified. For example, to see all the commands that have 'pool' in their name:

    qs help category=pool

Or to see all list or get commands:

    qs help category=list
    qs help category=get

In this way you can reduce down help results to just what you need.

Remote System Specification

You can use the CLI to manage remote QuantaStor systems, but in such cases you'll need to specify the IP address and username/password of the remote storage system using the 'server' argument.

qs command [--server=ipaddress[,username,password]] [command-args]
example: qs disk-list --server=192.168.0.88,admin,password --xml

Note that the The service specification must be comma delimited with no spaces. If no username and password are supplied the default Administrator username 'admin' and the default password 'password' will be tried.

Command Error Code Definitions

For all commands a 0 is returned for SUCCESS and a non-zero error code is returned if there is a command failure. Use the --xml mode to get verbose detail on the error. Full list of error codes are available here.

Usage Examples

It's always nice to see some common examples of how the CLI can be used so here's a number of commands so you can see the general syntax of how the CLI is used. You'll notice that sometimes we specify arguments with a single hyphen (-), other times with the double hyphen (--) and sometimes it is omitted. All three are supported. The only hard rule is that the command name must be the first argument after the 'qs' command-line utility name. After that the arguments can be specified in any order with or without hyphens.

    qs help -min
    qs pool-list
    qs volume-list -xml
    qs volume-create name=vol1 size=100G pool=pool0
    qs volume-create vol1 100G pool0 -xml --server=192.168.0.88,admin,password 

Help Commands

help 
Display help for all commands. 'qs help' provides a verbose listing of all commands with their input parameters. Use 'qs help --min' for a compacted list of commands, or use 'qs help --category=<some category>' for help on aspecific category or command (for example, 'qs help --category=volume').
 qs help|h [--command=value ] [--category=value ] [--wiki=value ] [--api=value ] 
  command A specific CLI command to get detailed help with.
  category Category of commands to get help with (acl, alert, host, host-group, license, role, session, schedule, pool, quota, system, volume, volume-group, task, user, user-group).
  wiki Generates help output in a format that's importable into MediaWiki.
  api Generates help output in a parsable format for automating API.


tc-commands 
List of commands for tab completion
 qs tc-commands [--command=value ] 
  command Command to show method args for.

CLI Overview

The Command Reference covers the complete list of all operations accessible via the qs CLI utility (available on Linux, Windows, and is installed within the appliance). All commands (with few exceptions) are available via the QuantaStor REST API, QuantaStor CLI, and QuantaStor Web Management interface. The CLI includes an XML output mode which can be utilized to integrate with scripts and other automated systems but for more advanced integrations we recommend using the QuantaStor REST API. CLI commands have a short name and long time. When developing scripts it is recommended to use the long command names as it makes scripts easier to read and maintain.

CLI Command Reference Versions

Each new release of QuantaStor CLI generates an updated specification which can be found below. All effort is made to maintain backward compatibility between versions but we recommend that the XML mode be used for scripting.

QuantaStor CLI Command Reference v4.3

CHANGES: Adds commands for disk-multipath-config-add/list/remove/scan, site-cluster-restart-services, pool-add-write-log, pool-remove-write-log, replica-report-entry-get/list, replica-report-summary-get/list/delete, password-policy-get/set, share-session-get/list. session-list/get/close was renamed to volume-session-list/get/close, target-port commands are now network-port commands. To maintain backward compatibility the old command names still work but are marked as deprecated.

QuantaStor CLI Command Reference v4.2

NOTES: QuantaStor v4.2 introduces new CLI commands for creation of pass-thru Storage Volumes so that NVMe and other physical devices and be presented directly to HA control nodes via iSCSI/FC. Additionally new commands are added for creation of Network Share aliases and sub-shares.

QuantaStor CLI Command Reference v4.1 and earlier