Difference between revisions of "+ CLI Guide Overview"

From OSNEXUS Online Documentation Site
Jump to: navigation, search
m (Alert Management [ALERT])
m (CLI Command Reference Versions)
(38 intermediate revisions by the same user not shown)
Line 1: Line 1:
 +
[[Category:cli_guide]]
 
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.
 
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=
 
=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.   
+
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 systems.   
  
 
==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 system with.''
 
=== Authentication via --server Argument ===
 
=== Authentication via --server Argument ===
 
All CLI commands accept the server specification argument which is of this form:
 
All CLI commands accept the server specification argument which is of this form:
Line 11: Line 12:
 
If you do not specify a username or password it will try to use the defaults which are 'admin' and '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 ===
 
=== 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:
+
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 system IP address and credentials. The form of the variable is like so:
 
<pre>export QS_SERVER=ipaddress[,username,password]]</pre>
 
<pre>export QS_SERVER=ipaddress[,username,password]]</pre>
  
Line 88: Line 89:
 
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]].
 
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]].
  
=CLI Usage Examples=
+
=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 100: Line 101:
 
</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 : 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').
Line 130: Line 126:
 
|}
 
|}
  
 +
=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 system).  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=
  
===Alert Management [ALERT]===
+
Each new release of QuantaStor CLI generates an updated specification which can be found belowAll effort is made to maintain backward compatibility between versions but we recommend that the XML mode be used for scripting.
Alerts are generated by the system and routed to the administrators via the various call-home mechanisms which include email, SNMP, PagerDuty and custom alert handlersAlerts include a severity, a descriptive message, and in most cases an identifier referring to the element of the system or grid that is the subject of the alert.
+
<div class='mw-collapsible mw-collapsed'>
+
<br>
+
----
+
<div class='mw-collapsible-content'>
+
  
; alert-clear : Deletes the alert with the specified ID.
+
===[[QuantaStor CLI Command Reference v5.4]]===
  
<pre> qs alert-clear|a-clear --id=value </pre>
 
{| cellspacing='0' cellpadding='5'
 
|-
 
| &nbsp; || <tt>id</tt> || Unique identifier (GUID) for the object.
 
|}
 
  
 +
===[[QuantaStor CLI Command Reference v5.3]]===
  
; alert-clear-all : Clears all the alerts.
 
  
<pre> qs alert-clear-all|a-clear-all </pre>
+
===[[QuantaStor CLI Command Reference v5.2]]===
{| cellspacing='0' cellpadding='5'
+
  
; alert-config-get : Alert configuration settings indicate where alert notifications should be sent.
+
===[[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.
<pre> qs alert-config-get|ac-get </pre>
+
{| cellspacing='0' cellpadding='5'
+
 
+
; alert-config-set : 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> qs alert-config-set|ac-set [--sender-email=value ] [--smtp-server=value ] [--smtp-port=value ] [--smtp-user=value ] [--smtp-password=value ] [--smtp-auth=value ] [--support-email=value ] [--freespace-warning=value ] [--freespace-alert=value ] [--freespace-critical=value ] [--pagerduty-key=value ] </pre>
+
{| cellspacing='0' cellpadding='5'
+
|-
+
| &nbsp; || <tt>sender-email</tt> || Sender email address to be used for alert emails sent from the storage system.
+
|-
+
| &nbsp; || <tt>smtp-server</tt> || IP Address of the SMTP service where emails should be routed through.
+
|-
+
| &nbsp; || <tt>smtp-port</tt> || Port number of the SMTP service (eg 25, 465, 587) where emails should be routed through (0 indicates auto-select).
+
|-
+
| &nbsp; || <tt>smtp-user</tt> || SMTP user name to use for secure SMTP access to your SMTP server for sending alert emails.
+
|-
+
| &nbsp; || <tt>smtp-password</tt> || SMTP password to use for secure SMTP access to your SMTP server.
+
|-
+
| &nbsp; || <tt>smtp-auth</tt> || SMTP security mode.
+
|-
+
| &nbsp; || <tt>support-email</tt> || Email address for local customer support.
+
|-
+
| &nbsp; || <tt>freespace-warning</tt> || The percentage of free-space left in a pool at which a warning is sent to indicate pool growth plans should be made.
+
|-
+
| &nbsp; || <tt>freespace-alert</tt> || The percentage (default=10) of free-space left in a pool at which alerts are generated.
+
|-
+
| &nbsp; || <tt>freespace-critical</tt> || The percentage (default=5) of free-space left in a pool at which all provisioning operations are blocked.
+
|-
+
| &nbsp; || <tt>pagerduty-key</tt> || Specifies the service key to which alerts will be posted to PagerDuty.  Please see www.pagerduty.com for more detail on service keys.
+
|}
+
 
+
 
+
; alert-get : Gets information about a specific alert.
+
 
+
<pre> qs alert-get|a-get --id=value </pre>
+
{| cellspacing='0' cellpadding='5'
+
|-
+
| &nbsp; || <tt>id</tt> || Unique identifier (GUID) for the object.
+
|}
+
 
+
 
+
; alert-list : 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.
+
 
+
<pre> qs alert-list|a-list [--filtered=value ] </pre>
+
{| cellspacing='0' cellpadding='5'
+
|-
+
| &nbsp; || <tt>filtered</tt> || Returns just the 'value' most recently created.
+
|}
+
 
+
 
+
; alert-raise : Allows one to raise a user generated alert for testing the SMTP server configuration settings.
+
 
+
<pre> qs alert-raise|a-raise --title=value --message=value [--alert-severity=value ] </pre>
+
{| cellspacing='0' cellpadding='5'
+
|-
+
| &nbsp; || <tt>title</tt> || Title string to be echoed back from the server.
+
|-
+
| &nbsp; || <tt>message</tt> || Message string to be echoed back from the server.
+
|-
+
| &nbsp; || <tt>alert-severity</tt> || Severity of the user generated alert to be raise. [always, critical, error, *info, warning]
+
|}
+
 
+
 
+
; event-list : Returns a list of all the internal events in the event queue (used for service monitoring).
+
 
+
<pre> qs event-list|ev-list [--index=value ] [--max=value ] [--time-stamp=value ] </pre>
+
{| cellspacing='0' cellpadding='5'
+
|-
+
| &nbsp; || <tt>index</tt> || Starting event index of where to begin listing events from.
+
|-
+
| &nbsp; || <tt>max</tt> || Maximum number of events to enumerate.
+
|-
+
| &nbsp; || <tt>time-stamp</tt> || Time-stamp of the service.
+
|}
+
 
+
</div>
+
</div>
+
 
+
===Backup Policy Management [BACKUP-POLICY]===
+
Backup policies provide a mechanism for scheduling and executing automatic backups of 3rd party filers and other NFS/SMB shares in an environment directly to a Network Share.
+
<div class='mw-collapsible mw-collapsed'>
+
<div class='mw-collapsible-content'>
+
----
+
 
+
; backup-job-list : Returns a list of backup jobs in the system.
+
 
+
<pre> qs backup-job-list|bj-list </pre>
+
{| cellspacing='0' cellpadding='5'
+
 
+
; backup-policy-create : Creates a ingest backup policy which pull data from NFS shares to the QuantaStor appliance.
+
 
+
<pre> qs backup-policy-create|bp-create --name=value --desc=value --network-share=value --remote-hostname=value --remote-export-path=value [--remote-export-type=value ] [--retain-rules=value ] [--policy-type=value ] [--scan-threads=value ] [--hours=value ] [--days=value ] [--retain-period=value ] [--purge-policy=value ] [--backup-to-root=value ] [--maintain-logs=value ] [--start-date=value ] [--enabled=value ] </pre>
+
{| cellspacing='0' cellpadding='5'
+
|-
+
| &nbsp; || <tt>name</tt> || Names may include any alpha-numeric plus '_' and '-' characters; spaces are not allowed.
+
|-
+
| &nbsp; || <tt>desc</tt> || A description for the object.
+
|-
+
| &nbsp; || <tt>network-share</tt> || Name or ID of a CIFS/NFS network share.
+
|-
+
| &nbsp; || <tt>remote-hostname</tt> || Name of the remote host containing NFS shares to be backed up
+
|-
+
| &nbsp; || <tt>remote-export-path</tt> || Remote export path to be mounted to access the data to be backed up.
+
|-
+
| &nbsp; || <tt>remote-export-type</tt> || Remote mount type (currently NFS only) [*nfs]
+
|-
+
| &nbsp; || <tt>retain-rules</tt> || Retention rules (atime, ctime, mtime) [atime, ctime, *mtime]
+
|-
+
| &nbsp; || <tt>policy-type</tt> || Backup policy type [*inbound]
+
|-
+
| &nbsp; || <tt>scan-threads</tt> || Number of concurrent threads for walking/scanning the specified target export
+
|-
+
| &nbsp; || <tt>hours</tt> || 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]
+
|-
+
| &nbsp; || <tt>days</tt> || The days of the week on which this schedule should create snapshots. [fri, mon, sat, *sun, thu, tue, wed]
+
|-
+
| &nbsp; || <tt>retain-period</tt> || Number of days of file history on the specified filer export to backup
+
|-
+
| &nbsp; || <tt>purge-policy</tt> || Indicates how old files should be cleaned up / purged from the backup. [after-backup, *daily, never, weekly]
+
|-
+
| &nbsp; || <tt>backup-to-root</tt> || Indicates that the backups should go into the root folder of the Network Share.
+
|-
+
| &nbsp; || <tt>maintain-logs</tt> || Maintain logs of all the files that were backed up in the /var/log/backup-log folder within the appliance.
+
|-
+
| &nbsp; || <tt>start-date</tt> || Start date at which the system will begin using a given schedule.
+
|-
+
| &nbsp; || <tt>enabled</tt> || Set to enabled to activate the backup policy.
+
|}
+
 
+
 
+
; backup-policy-delete : Deletes the specified backup policy.
+
 
+
<pre> qs backup-policy-delete|bp-delete --policy=value </pre>
+
{| cellspacing='0' cellpadding='5'
+
|-
+
| &nbsp; || <tt>policy</tt> || A backup policy name or ID which is associated with a network share to do ingest backups.
+
|}
+
 
+
 
+
; backup-policy-disable : Disables the specified backup policy so job are not automatically run.
+
 
+
<pre> qs backup-policy-disable|bp-disable --policy=value </pre>
+
{| cellspacing='0' cellpadding='5'
+
|-
+
| &nbsp; || <tt>policy</tt> || A backup policy name or ID which is associated with a network share to do ingest backups.
+
|}
+
 
+
 
+
; backup-policy-enable : Enables a backup policy that was previously disabled.
+
 
+
<pre> qs backup-policy-enable|bp-enable --policy=value </pre>
+
{| cellspacing='0' cellpadding='5'
+
|-
+
| &nbsp; || <tt>policy</tt> || A backup policy name or ID which is associated with a network share to do ingest backups.
+
|}
+
 
+
 
+
; backup-policy-get : Returns detailed information on a specific backup policy.
+
 
+
<pre> qs backup-policy-get|bp-get --policy=value </pre>
+
{| cellspacing='0' cellpadding='5'
+
|-
+
| &nbsp; || <tt>policy</tt> || A backup policy name or ID which is associated with a network share to do ingest backups.
+
|}
+
 
+
 
+
; backup-policy-list : Returns a list of backup policies in the system.
+
 
+
<pre> qs backup-policy-list|bp-list </pre>
+
{| cellspacing='0' cellpadding='5'
+
 
+
; backup-policy-modify : Modifies the specified backup policy settings.
+
 
+
<pre> qs backup-policy-modify|bp-modify --policy=value --name=value --desc=value --network-share=value --remote-hostname=value --remote-export-path=value [--remote-export-type=value ] [--retain-rules=value ] [--policy-type=value ] [--scan-threads=value ] [--hours=value ] [--days=value ] [--retain-period=value ] [--purge-policy=value ] [--maintain-logs=value ] [--start-date=value ] [--enabled=value ] </pre>
+
{| cellspacing='0' cellpadding='5'
+
|-
+
| &nbsp; || <tt>policy</tt> || A backup policy name or ID which is associated with a network share to do ingest backups.
+
|-
+
| &nbsp; || <tt>name</tt> || Names may include any alpha-numeric plus '_' and '-' characters; spaces are not allowed.
+
|-
+
| &nbsp; || <tt>desc</tt> || A description for the object.
+
|-
+
| &nbsp; || <tt>network-share</tt> || Name or ID of a CIFS/NFS network share.
+
|-
+
| &nbsp; || <tt>remote-hostname</tt> || Name of the remote host containing NFS shares to be backed up
+
|-
+
| &nbsp; || <tt>remote-export-path</tt> || Remote export path to be mounted to access the data to be backed up.
+
|-
+
| &nbsp; || <tt>remote-export-type</tt> || Remote mount type (currently NFS only) [*nfs]
+
|-
+
| &nbsp; || <tt>retain-rules</tt> || Retention rules (atime, ctime, mtime) [atime, ctime, *mtime]
+
|-
+
| &nbsp; || <tt>policy-type</tt> || Backup policy type [*inbound]
+
|-
+
| &nbsp; || <tt>scan-threads</tt> || Number of concurrent threads for walking/scanning the specified target export
+
|-
+
| &nbsp; || <tt>hours</tt> || 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]
+
|-
+
| &nbsp; || <tt>days</tt> || The days of the week on which this schedule should create snapshots. [fri, mon, sat, *sun, thu, tue, wed]
+
|-
+
| &nbsp; || <tt>retain-period</tt> || retain-period
+
|-
+
| &nbsp; || <tt>purge-policy</tt> || Indicates how old files should be cleaned up / purged from the backup. [after-backup, *daily, never, weekly]
+
|-
+
| &nbsp; || <tt>maintain-logs</tt> || Maintain logs of all the files that were backed up in the /var/log/backup-log folder within the appliance.
+
|-
+
| &nbsp; || <tt>start-date</tt> || Start date at which the system will begin using a given schedule.
+
|-
+
| &nbsp; || <tt>enabled</tt> || Set to enabled to activate the backup policy.
+
|}
+
 
+
 
+
; backup-policy-trigger : Triggers the specified backup policy which in turn starts a backup job.
+
 
+
<pre> qs backup-policy-trigger|bp-trigger --policy=value </pre>
+
{| cellspacing='0' cellpadding='5'
+
|-
+
| &nbsp; || <tt>policy</tt> || A backup policy name or ID which is associated with a network share to do ingest backups.
+
|}
+
 
+
</div>
+
</div>
+
 
+
===Scale-out Object / Ceph Management [CEPH]===
+
Commands for management, monitoring, and configuration of Ceph object clusters and associated storage.
+
----
+
<div class='mw-collapsible mw-collapsed'>
+
<div class='mw-collapsible-content'>
+
 
+
; ceph-cluster-add-member : Add a new storage system to existing Ceph Cluster.
+
 
+
<pre> qs ceph-cluster-add-member|cc-amn --ceph-cluster=value --storage-system=value --port=value [--public-network=value ] [--cluster-network=value ] [--enable-object-store=value ] [--flags=value ] </pre>
+
{| cellspacing='0' cellpadding='5'
+
|-
+
| &nbsp; || <tt>ceph-cluster</tt> || Ceph Cluster name or ID.
+
|-
+
| &nbsp; || <tt>storage-system</tt> || Name or ID of a storage system in a management grid.
+
|-
+
| &nbsp; || <tt>port</tt> || Name of unique ID of a physical network port/target port.
+
|-
+
| &nbsp; || <tt>public-network</tt> || Ceph public/client network CIDR (e.g. x.x.x.x/YY). Default: Computed from public/client interface.
+
|-
+
| &nbsp; || <tt>cluster-network</tt> || Ceph cluster/backend network CIDR (e.g. x.x.x.x/YY). Default: Computed from cluster/backend interface.
+
|-
+
| &nbsp; || <tt>enable-object-store</tt> || Enable ceph Object Store (if configured in the cluster. Default: false)
+
|-
+
| &nbsp; || <tt>flags</tt> || Optional flags for the operation. [async, force, min, *none]
+
|}
+
 
+
 
+
; ceph-cluster-create : Create a new Ceph Cluster using the specified QuantaStor nodes(s)
+
 
+
<pre> qs ceph-cluster-create|cc-create --name=value --client-interface=value --backend-interface=value [--desc=value ] [--public-network=value ] [--cluster-network=value ] [--osd-default-pool-size=value ] [--auth-cluster-required=value ] [--auth-service-required=value ] [--auth-client-required=value ] [--filestore-xattr-use-omap=value ] [--flags=value ] </pre>
+
{| cellspacing='0' cellpadding='5'
+
|-
+
| &nbsp; || <tt>name</tt> || Name of the Ceph Cluster.
+
|-
+
| &nbsp; || <tt>client-interface</tt> || Interface used by client to connect to ceph cluster for I/O.
+
|-
+
| &nbsp; || <tt>backend-interface</tt> || Interface used by ceph cluster for its backend communication.
+
|-
+
| &nbsp; || <tt>desc</tt> || A description for the object.
+
|-
+
| &nbsp; || <tt>public-network</tt> || Ceph public/client network CIDR (e.g. x.x.x.x/YY). Default: Computed from public/client interface.
+
|-
+
| &nbsp; || <tt>cluster-network</tt> || Ceph cluster/backend network CIDR (e.g. x.x.x.x/YY). Default: Computed from cluster/backend interface.
+
|-
+
| &nbsp; || <tt>osd-default-pool-size</tt> || Minimum number of written replicas for objects in the pool in order to ack a write operation to the client.(default=2).
+
|-
+
| &nbsp; || <tt>auth-cluster-required</tt> || Authentication mode for ceph cluster (default=cephx).
+
|-
+
| &nbsp; || <tt>auth-service-required</tt> || Authentication mode for ceph services (default=cephx).
+
|-
+
| &nbsp; || <tt>auth-client-required</tt> || Authentication mode for client managing the ceph cluster (default=cephx).
+
|-
+
| &nbsp; || <tt>filestore-xattr-use-omap</tt> || To use object map for XATTRS. Set to true (default) for ext4 file systems.
+
|-
+
| &nbsp; || <tt>flags</tt> || Optional flags for the operation. [async, force, min, *none]
+
|}
+
 
+
 
+
; ceph-cluster-delete : Deletes the specified Ceph Cluster
+
 
+
<pre> qs ceph-cluster-delete|cc-delete --ceph-cluster=value [--flags=value ] </pre>
+
{| cellspacing='0' cellpadding='5'
+
|-
+
| &nbsp; || <tt>ceph-cluster</tt> || Ceph Cluster name or ID.
+
|-
+
| &nbsp; || <tt>flags</tt> || Optional flags for the operation. [async, force, min, *none]
+
|}
+
 
+
 
+
; ceph-cluster-fix-clock-skew : Adjusts the clocks on all the member nodes in the specified Ceph Cluster in order to address any clock skew issues.
+
 
+
<pre> qs ceph-cluster-fix-clock-skew|cc-fcs --ceph-cluster=value [--flags=value ] </pre>
+
{| cellspacing='0' cellpadding='5'
+
|-
+
| &nbsp; || <tt>ceph-cluster</tt> || Ceph Cluster name or ID.
+
|-
+
| &nbsp; || <tt>flags</tt> || Optional flags for the operation. [async, force, min, *none]
+
|}
+
 
+
 
+
; ceph-cluster-get : Gets information about a specific Ceph Cluster
+
 
+
<pre> qs ceph-cluster-get|cc-get --ceph-cluster=value </pre>
+
{| cellspacing='0' cellpadding='5'
+
|-
+
| &nbsp; || <tt>ceph-cluster</tt> || Ceph Cluster name or ID.
+
|}
+
 
+
 
+
; ceph-cluster-list : Returns a list of all the Ceph Clusters
+
 
+
<pre> qs ceph-cluster-list|cc-list </pre>
+
{| cellspacing='0' cellpadding='5'
+
 
+
; ceph-cluster-member-get : Gets information about a specific Ceph Cluster Member
+
 
+
<pre> qs ceph-cluster-member-get|ccm-get --ceph-cluster-member=value </pre>
+
{| cellspacing='0' cellpadding='5'
+
|-
+
| &nbsp; || <tt>ceph-cluster-member</tt> || Ceph Cluster Member name or ID.
+
|}
+
 
+
 
+
; ceph-cluster-member-list : Returns a list of all the Ceph Clusters Members
+
 
+
<pre> qs ceph-cluster-member-list|ccm-list </pre>
+
{| cellspacing='0' cellpadding='5'
+
 
+
; ceph-cluster-modify : Modify a Ceph Cluster using the specified QuantaStor nodes(s)
+
 
+
<pre> qs ceph-cluster-modify|cc-modify --ceph-cluster=value [--desc=value ] [--flags=value ] </pre>
+
{| cellspacing='0' cellpadding='5'
+
|-
+
| &nbsp; || <tt>ceph-cluster</tt> || Ceph Cluster name or ID.
+
|-
+
| &nbsp; || <tt>desc</tt> || A description for the object.
+
|-
+
| &nbsp; || <tt>flags</tt> || Optional flags for the operation. [async, force, min, *none]
+
|}
+
 
+
 
+
; ceph-cluster-remove-member : Remove a storage system from an existing Ceph Cluster.
+
 
+
<pre> qs ceph-cluster-remove-member|cc-rmn --ceph-cluster=value --storage-system=value [--flags=value ] </pre>
+
{| cellspacing='0' cellpadding='5'
+
|-
+
| &nbsp; || <tt>ceph-cluster</tt> || Ceph Cluster name or ID.
+
|-
+
| &nbsp; || <tt>storage-system</tt> || Name or ID of a storage system in a management grid.
+
|-
+
| &nbsp; || <tt>flags</tt> || Optional flags for the operation. [async, force, min, *none]
+
|}
+
 
+
 
+
; ceph-journal-create : Creates a group of Ceph Journal Devices on the specified Physical Disk.
+
 
+
<pre> qs ceph-journal-create|cj-create --disk=value --storage-system=value [--device-count=value ] [--flags=value ] </pre>
+
{| cellspacing='0' cellpadding='5'
+
|-
+
| &nbsp; || <tt>disk</tt> || Name of the physical disk or its unique ID/serial number.
+
|-
+
| &nbsp; || <tt>storage-system</tt> || Name or ID of a storage system in a management grid.
+
|-
+
| &nbsp; || <tt>device-count</tt> || Number of journal devices to create on the specified high performance media/SSD device. (Device count 1-8). Default is 4 if not specified
+
|-
+
| &nbsp; || <tt>flags</tt> || Optional flags for the operation. [async, force, min, *none]
+
|}
+
 
+
 
+
; ceph-journal-delete : Deletes the specified Ceph Journal and all journal partitions on the given physical disk, if a physical disk is specified. Note: This call will fail if there are one or more Journals still being used by OSDs in the system.
+
 
+
<pre> qs ceph-journal-delete|cj-delete --ceph-journal-device=value --storage-system=value [--flags=value ] </pre>
+
{| cellspacing='0' cellpadding='5'
+
|-
+
| &nbsp; || <tt>ceph-journal-device</tt> || Ceph Journal Device name or ID.
+
|-
+
| &nbsp; || <tt>storage-system</tt> || Name or ID of a storage system in a management grid.
+
|-
+
| &nbsp; || <tt>flags</tt> || Optional flags for the operation. [async, force, min, *none]
+
|}
+
 
+
 
+
; ceph-journal-get : Returns details of a specific Ceph Journal Device
+
 
+
<pre> qs ceph-journal-get|cj-get --ceph-journal-device=value </pre>
+
{| cellspacing='0' cellpadding='5'
+
|-
+
| &nbsp; || <tt>ceph-journal-device</tt> || Ceph Journal Device name or ID.
+
|}
+
 
+
 
+
; ceph-journal-list : Returns a list of all the Ceph Journal Devices
+
 
+
<pre> qs ceph-journal-list|cj-list </pre>
+
{| cellspacing='0' cellpadding='5'
+
 
+
; ceph-monitor-add : Configure a new monitor for the Ceph Cluster
+
 
+
<pre> qs ceph-monitor-add|cmon-add --ceph-cluster=value --ceph-cluster-member=value --ceph-cluster-monitor-ipaddress=value [--ceph-cluster-monitor-port=value ] [--flags=value ] </pre>
+
{| cellspacing='0' cellpadding='5'
+
|-
+
| &nbsp; || <tt>ceph-cluster</tt> || Ceph Cluster name or ID.
+
|-
+
| &nbsp; || <tt>ceph-cluster-member</tt> || Ceph Cluster Member name or ID.
+
|-
+
| &nbsp; || <tt>ceph-cluster-monitor-ipaddress</tt> || IPAddress used by ceph monitor daemon for communication.
+
|-
+
| &nbsp; || <tt>ceph-cluster-monitor-port</tt> || Port used by ceph monitor daemon for communication (default:6789).
+
|-
+
| &nbsp; || <tt>flags</tt> || Optional flags for the operation. [async, force, min, *none]
+
|}
+
 
+
 
+
; ceph-monitor-get : Gets information about a specific Ceph Monitor
+
 
+
<pre> qs ceph-monitor-get|cmon-get --ceph-monitor=value </pre>
+
{| cellspacing='0' cellpadding='5'
+
|-
+
| &nbsp; || <tt>ceph-monitor</tt> || Ceph Monitor service name or ID.
+
|}
+
 
+
 
+
; ceph-monitor-list : Returns a list of all the Ceph Monitors
+
 
+
<pre> qs ceph-monitor-list|cmon-list </pre>
+
{| cellspacing='0' cellpadding='5'
+
 
+
; ceph-monitor-remove : Removes the specified Ceph Monitor
+
 
+
<pre> qs ceph-monitor-remove|cmon-remove --ceph-cluster=value --ceph-monitor=value [--flags=value ] </pre>
+
{| cellspacing='0' cellpadding='5'
+
|-
+
| &nbsp; || <tt>ceph-cluster</tt> || Ceph Cluster name or ID.
+
|-
+
| &nbsp; || <tt>ceph-monitor</tt> || Ceph Monitor service name or ID.
+
|-
+
| &nbsp; || <tt>flags</tt> || Optional flags for the operation. [async, force, min, *none]
+
|}
+
 
+
 
+
; ceph-osd-create : Creates a new Ceph OSD on the specified storage pool
+
 
+
<pre> qs ceph-osd-create|osd-create --ceph-cluster=value --data-pool=value --journal-device=value [--desc=value ] [--weight=value ] [--flags=value ] </pre>
+
{| cellspacing='0' cellpadding='5'
+
|-
+
| &nbsp; || <tt>ceph-cluster</tt> || Ceph Cluster name or ID.
+
|-
+
| &nbsp; || <tt>data-pool</tt> || Name of the storage pool or its unique ID (GUID) to allocate OSD Data store.
+
|-
+
| &nbsp; || <tt>journal-device</tt> || Name of the storage device or its unique ID (GUID) to allocate OSD Journal store.
+
|-
+
| &nbsp; || <tt>desc</tt> || A description for the object.
+
|-
+
| &nbsp; || <tt>weight</tt> || Weight associated with the OSD (default 0.3).
+
|-
+
| &nbsp; || <tt>flags</tt> || Optional flags for the operation. [async, force, min, *none]
+
|}
+
 
+
 
+
; ceph-osd-delete : Deletes the specified Ceph Osd
+
 
+
<pre> qs ceph-osd-delete|osd-delete --ceph-cluster=value --ceph-osd=value [--delete-data=value ] [--flags=value ] </pre>
+
{| cellspacing='0' cellpadding='5'
+
|-
+
| &nbsp; || <tt>ceph-cluster</tt> || Ceph Cluster name or ID.
+
|-
+
| &nbsp; || <tt>ceph-osd</tt> || Ceph Object Storage Daemon name or ID.
+
|-
+
| &nbsp; || <tt>delete-data</tt> || Flag to specify deletion of user data along with this operation. (Default : false)
+
|-
+
| &nbsp; || <tt>flags</tt> || Optional flags for the operation. [async, force, min, *none]
+
|}
+
 
+
 
+
; ceph-osd-get : Gets information about a specific Ceph Object Storage Daemon.
+
 
+
<pre> qs ceph-osd-get|osd-get --ceph-osd=value </pre>
+
{| cellspacing='0' cellpadding='5'
+
|-
+
| &nbsp; || <tt>ceph-osd</tt> || Ceph Object Storage Daemon name or ID.
+
|}
+
 
+
 
+
; ceph-osd-list : Returns a list of all the Ceph Object Storage Daemons
+
 
+
<pre> qs ceph-osd-list|osd-list </pre>
+
{| cellspacing='0' cellpadding='5'
+
 
+
; ceph-osd-modify : Modifies the specified ceph Osd
+
 
+
<pre> qs ceph-osd-modify|osd-modify --ceph-cluster=value --ceph-osd=value [--desc=value ] [--flags=value ] </pre>
+
{| cellspacing='0' cellpadding='5'
+
|-
+
| &nbsp; || <tt>ceph-cluster</tt> || Ceph Cluster name or ID.
+
|-
+
| &nbsp; || <tt>ceph-osd</tt> || Ceph Object Storage Daemon name or ID.
+
|-
+
| &nbsp; || <tt>desc</tt> || A description for the object.
+
|-
+
| &nbsp; || <tt>flags</tt> || Optional flags for the operation. [async, force, min, *none]
+
|}
+
 
+
 
+
; ceph-osd-multi-create : Creates multiple new ceph Osd on the specified ceph cluster
+
 
+
<pre> qs ceph-osd-multi-create|osd-multi-create --ceph-cluster=value --physical-disk-list=value [--journal-ssd-list=value ] [--use-unused-journal-partitions=value ] [--flags=value ] </pre>
+
{| cellspacing='0' cellpadding='5'
+
|-
+
| &nbsp; || <tt>ceph-cluster</tt> || Ceph Cluster name or ID.
+
|-
+
| &nbsp; || <tt>physical-disk-list</tt> || List of comma separated physical disk ID to be used for OSD data disks during OSD create.
+
|-
+
| &nbsp; || <tt>journal-ssd-list</tt> || List of comma separated SSD disk ID to be used for OSD journal devices during OSD create.
+
|-
+
| &nbsp; || <tt>use-unused-journal-partitions</tt> || Used unused journal partition on storage system for OSD create.
+
|-
+
| &nbsp; || <tt>flags</tt> || Optional flags for the operation. [async, force, min, *none]
+
|}
+
 
+
 
+
; ceph-pool-create : Creates a new Ceph pool using the specified OSDs or Storage Pools
+
 
+
<pre> qs ceph-pool-create|cpool-create --name=value --ceph-cluster=value [--osd-list=value ] [--desc=value ] [--placement-groups=value ] [--max-replicas=value ] [--min-replicas=value ] [--pool-type=value ] [--crush-ruleset-name=value ] [--flags=value ] </pre>
+
{| cellspacing='0' cellpadding='5'
+
|-
+
| &nbsp; || <tt>name</tt> || Names may include any alpha-numeric plus '_' and '-' characters; spaces are not allowed.
+
|-
+
| &nbsp; || <tt>ceph-cluster</tt> || Ceph Cluster name or ID.
+
|-
+
| &nbsp; || <tt>osd-list</tt> || List of one or more ceph-osd. (Default: Select all OSDs for ceph pool create). User selection is currently not supported.
+
|-
+
| &nbsp; || <tt>desc</tt> || A description for the object.
+
|-
+
| &nbsp; || <tt>placement-groups</tt> || Number of placement groups to assign to the Ceph pool.
+
|-
+
| &nbsp; || <tt>max-replicas</tt> || Maximum number of replicas (redundancy level) to be created of each block in the Ceph pool.
+
|-
+
| &nbsp; || <tt>min-replicas</tt> || Minimum number of replicas to have of each block while still allowing write access to the Ceph pool.
+
|-
+
| &nbsp; || <tt>pool-type</tt> || Type of Ceph pool, 'replicated' (mirror based, default) or 'erasure' which is like network RAID5.
+
|-
+
| &nbsp; || <tt>crush-ruleset-name</tt> || Ceph crush map rule set name. (default : 'default', if not specified)
+
|-
+
| &nbsp; || <tt>flags</tt> || Optional flags for the operation. [async, force, min, *none]
+
|}
+
 
+
 
+
; ceph-pool-delete : Deletes the specified Ceph pool
+
 
+
<pre> qs ceph-pool-delete|cpool-delete --ceph-cluster=value --ceph-pool=value [--flags=value ] </pre>
+
{| cellspacing='0' cellpadding='5'
+
|-
+
| &nbsp; || <tt>ceph-cluster</tt> || Ceph Cluster name or ID.
+
|-
+
| &nbsp; || <tt>ceph-pool</tt> || Ceph Pool name or ID.
+
|-
+
| &nbsp; || <tt>flags</tt> || Optional flags for the operation. [async, force, min, *none]
+
|}
+
 
+
 
+
; ceph-pool-get : Gets information about a specific Ceph storage pool.
+
 
+
<pre> qs ceph-pool-get|cpool-get --ceph-pool=value </pre>
+
{| cellspacing='0' cellpadding='5'
+
|-
+
| &nbsp; || <tt>ceph-pool</tt> || Ceph Pool name or ID.
+
|}
+
 
+
 
+
; ceph-pool-list : Returns a list of all the Ceph storage pools.
+
 
+
<pre> qs ceph-pool-list|cpool-list </pre>
+
{| cellspacing='0' cellpadding='5'
+
 
+
; ceph-pool-modify : Sets the display name and/or description field for the Ceph pool.
+
 
+
<pre> qs ceph-pool-modify|cpool-modify --ceph-cluster=value --ceph-pool=value [--name=value ] [--desc=value ] [--max-replicas=value ] [--flags=value ] </pre>
+
{| cellspacing='0' cellpadding='5'
+
|-
+
| &nbsp; || <tt>ceph-cluster</tt> || Ceph Cluster name or ID.
+
|-
+
| &nbsp; || <tt>ceph-pool</tt> || Ceph Pool name or ID.
+
|-
+
| &nbsp; || <tt>name</tt> || Names may include any alpha-numeric plus '_' and '-' characters; spaces are not allowed.
+
|-
+
| &nbsp; || <tt>desc</tt> || A description for the object.
+
|-
+
| &nbsp; || <tt>max-replicas</tt> || Maximum number of replicas (redundancy level) to be created of each block in the Ceph pool.
+
|-
+
| &nbsp; || <tt>flags</tt> || Optional flags for the operation. [async, force, min, *none]
+
|}
+
 
+
 
+
; ceph-rbd-create : Creates a new Ceph block device (RBD) in the specified Ceph pool.
+
 
+
<pre> qs ceph-rbd-create|rbd-create --name=value --ceph-cluster=value --ceph-pool=value --size=value [--desc=value ] [--flags=value ] </pre>
+
{| cellspacing='0' cellpadding='5'
+
|-
+
| &nbsp; || <tt>name</tt> || Names may include any alpha-numeric plus '_' and '-' characters; spaces are not allowed.
+
|-
+
| &nbsp; || <tt>ceph-cluster</tt> || Ceph Cluster name or ID.
+
|-
+
| &nbsp; || <tt>ceph-pool</tt> || ceph-pool
+
|-
+
| &nbsp; || <tt>size</tt> || Size may be specified in MiB, GiB, or TiB. examples: 4G, 100M, 1.4T
+
|-
+
| &nbsp; || <tt>desc</tt> || A description for the object.
+
|-
+
| &nbsp; || <tt>flags</tt> || Optional flags for the operation. [async, force, min, *none]
+
|}
+
 
+
 
+
; ceph-rbd-delete : Deletes the specified Ceph block device (RBD)
+
 
+
<pre> qs ceph-rbd-delete|rbd-delete --ceph-cluster=value --ceph-rbd=value [--flags=value ] </pre>
+
{| cellspacing='0' cellpadding='5'
+
|-
+
| &nbsp; || <tt>ceph-cluster</tt> || Ceph Cluster name or ID.
+
|-
+
| &nbsp; || <tt>ceph-rbd</tt> || Ceph RBD/Block Device name or ID.
+
|-
+
| &nbsp; || <tt>flags</tt> || Optional flags for the operation. [async, force, min, *none]
+
|}
+
 
+
 
+
; ceph-rbd-get : Gets information about a specific Ceph RDB / block device
+
 
+
<pre> qs ceph-rbd-get|rbd-get --ceph-rbd=value </pre>
+
{| cellspacing='0' cellpadding='5'
+
|-
+
| &nbsp; || <tt>ceph-rbd</tt> || Ceph RBD/Block Device name or ID.
+
|}
+
 
+
 
+
; ceph-rbd-list : Returns a list of all the Ceph RDB / block devices.
+
 
+
<pre> qs ceph-rbd-list|rbd-list </pre>
+
{| cellspacing='0' cellpadding='5'
+
 
+
; ceph-rbd-modify : Sets the display name and/or description field for the Ceph block device (RBD).
+
 
+
<pre> qs ceph-rbd-modify|rbd-modify --ceph-cluster=value --ceph-rbd=value --name=value [--desc=value ] [--flags=value ] </pre>
+
{| cellspacing='0' cellpadding='5'
+
|-
+
| &nbsp; || <tt>ceph-cluster</tt> || Ceph Cluster name or ID.
+
|-
+
| &nbsp; || <tt>ceph-rbd</tt> || Ceph RBD/Block Device name or ID.
+
|-
+
| &nbsp; || <tt>name</tt> || Names may include any alpha-numeric plus '_' and '-' characters; spaces are not allowed.
+
|-
+
| &nbsp; || <tt>desc</tt> || A description for the object.
+
|-
+
| &nbsp; || <tt>flags</tt> || Optional flags for the operation. [async, force, min, *none]
+
|}
+
 
+
 
+
; ceph-rbd-resize : Resizes the specified Ceph block device (RBD) to a larger size.
+
 
+
<pre> qs ceph-rbd-resize|rbd-resize --ceph-cluster=value --ceph-rbd=value --size=value [--flags=value ] </pre>
+
{| cellspacing='0' cellpadding='5'
+
|-
+
| &nbsp; || <tt>ceph-cluster</tt> || Ceph Cluster name or ID.
+
|-
+
| &nbsp; || <tt>ceph-rbd</tt> || Ceph RBD/Block Device name or ID.
+
|-
+
| &nbsp; || <tt>size</tt> || Size may be specified in MiB, GiB, or TiB. examples: 4G, 100M, 1.4T
+
|-
+
| &nbsp; || <tt>flags</tt> || Optional flags for the operation. [async, force, min, *none]
+
|}
+
 
+
 
+
; ceph-rbd-snapshot : Creates an instant snapshot of the specified Ceph block device (RBD)
+
 
+
<pre> qs ceph-rbd-snapshot|rbd-snap --ceph-cluster=value --ceph-rbd=value --name=value [--desc=value ] [--flags=value ] </pre>
+
{| cellspacing='0' cellpadding='5'
+
|-
+
| &nbsp; || <tt>ceph-cluster</tt> || Ceph Cluster name or ID.
+
|-
+
| &nbsp; || <tt>ceph-rbd</tt> || Ceph RBD/Block Device name or ID.
+
|-
+
| &nbsp; || <tt>name</tt> || Names may include any alpha-numeric plus '_' and '-' characters; spaces are not allowed.
+
|-
+
| &nbsp; || <tt>desc</tt> || A description for the object.
+
|-
+
| &nbsp; || <tt>flags</tt> || Optional flags for the operation. [async, force, min, *none]
+
|}
+
 
+
</div>
+
</div>
+
 
+
===Cloud Backup Schedule Management [CLOUD-BACKUP]===
+
Cloud Backup schedules provide a mechanism for automatic backups of storage volumes into remote S3/SWIFT object storage.
+
----
+
<div class='mw-collapsible mw-collapsed'>
+
<div class='mw-collapsible-content'>
+
 
+
; cloud-backup-schedule-create : Creates a new schedule to automate backups to a cloud backup container.
+
 
+
<pre> qs cloud-backup-schedule-create|cbs-create --name=value --container=value [--volume-list=value ] [--start-date=value ] [--enabled=value ] [--desc=value ] [--max-backups=value ] [--days=value ] [--hours=value ] [--flags=value ] </pre>
+
{| cellspacing='0' cellpadding='5'
+
|-
+
| &nbsp; || <tt>name</tt> || Names may include any alpha-numeric plus '_' and '-' characters; spaces are not allowed.
+
|-
+
| &nbsp; || <tt>container</tt> || 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.
+
|-
+
| &nbsp; || <tt>volume-list</tt> || A list of one or more storage volumes.
+
|-
+
| &nbsp; || <tt>start-date</tt> || Start date at which the system will begin using a given schedule.
+
|-
+
| &nbsp; || <tt>enabled</tt> || While the schedule is enabled snapshots will be taken at the designated times.
+
|-
+
| &nbsp; || <tt>desc</tt> || A description for the object.
+
|-
+
| &nbsp; || <tt>max-backups</tt> || Maximum number of backups to do of a given volume in a given backup schedule before the oldest backup is removed.
+
|-
+
| &nbsp; || <tt>days</tt> || The days of the week on which this schedule should create snapshots. [fri, mon, sat, *sun, thu, tue, wed]
+
|-
+
| &nbsp; || <tt>hours</tt> || 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]
+
|-
+
| &nbsp; || <tt>flags</tt> || Optional flags for the operation. [async]
+
|}
+
 
+
 
+
; cloud-backup-schedule-delete : Deletes the specified cloud backup schedule.
+
 
+
<pre> qs cloud-backup-schedule-delete|cbs-delete --backup-sched=value [--flags=value ] </pre>
+
{| cellspacing='0' cellpadding='5'
+
|-
+
| &nbsp; || <tt>backup-sched</tt> || A cloud backup schedule periodically does a backup of a specified set of volumes into the cloud.
+
|-
+
| &nbsp; || <tt>flags</tt> || Optional flags for the operation. [async, force]
+
|}
+
 
+
 
+
; cloud-backup-schedule-disable : Disables a cloud backup schedule so that it does not trigger backups.
+
 
+
<pre> qs cloud-backup-schedule-disable|cbs-disable --backup-sched=value [--flags=value ] </pre>
+
{| cellspacing='0' cellpadding='5'
+
|-
+
| &nbsp; || <tt>backup-sched</tt> || A cloud backup schedule periodically does a backup of a specified set of volumes into the cloud.
+
|-
+
| &nbsp; || <tt>flags</tt> || Optional flags for the operation. [async, force]
+
|}
+
 
+
 
+
; cloud-backup-schedule-enable : Enables a cloud backup schedule that was previously disabled.
+
 
+
<pre> qs cloud-backup-schedule-enable|cbs-enable --backup-sched=value [--flags=value ] </pre>
+
{| cellspacing='0' cellpadding='5'
+
|-
+
| &nbsp; || <tt>backup-sched</tt> || A cloud backup schedule periodically does a backup of a specified set of volumes into the cloud.
+
|-
+
| &nbsp; || <tt>flags</tt> || Optional flags for the operation. [async, force]
+
|}
+
 
+
 
+
; cloud-backup-schedule-get : Gets detailed information about a specific cloud backup schedule.
+
 
+
<pre> qs cloud-backup-schedule-get|cbs-get --backup-sched=value </pre>
+
{| cellspacing='0' cellpadding='5'
+
|-
+
| &nbsp; || <tt>backup-sched</tt> || A cloud backup schedule periodically does a backup of a specified set of volumes into the cloud.
+
|}
+
 
+
 
+
; cloud-backup-schedule-list : Lists all the cloud backup schedules in the system.
+
 
+
<pre> qs cloud-backup-schedule-list|cbs-list </pre>
+
{| cellspacing='0' cellpadding='5'
+
 
+
; cloud-backup-schedule-modify : Modifies the settings for the specified cloud backup schedule.
+
 
+
<pre> qs cloud-backup-schedule-modify|cbs-modify --backup-sched=value [--name=value ] [--start-date=value ] [--enabled=value ] [--desc=value ] [--container=value ] [--max-backups=value ] [--days=value ] [--hours=value ] [--flags=value ] </pre>
+
{| cellspacing='0' cellpadding='5'
+
|-
+
| &nbsp; || <tt>backup-sched</tt> || A cloud backup schedule periodically does a backup of a specified set of volumes into the cloud.
+
|-
+
| &nbsp; || <tt>name</tt> || Names may include any alpha-numeric plus '_' and '-' characters; spaces are not allowed.
+
|-
+
| &nbsp; || <tt>start-date</tt> || Start date at which the system will begin using a given schedule.
+
|-
+
| &nbsp; || <tt>enabled</tt> || While the schedule is enabled snapshots will be taken at the designated times.
+
|-
+
| &nbsp; || <tt>desc</tt> || A description for the object.
+
|-
+
| &nbsp; || <tt>container</tt> || 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.
+
|-
+
| &nbsp; || <tt>max-backups</tt> || Maximum number of backups to do of a given volume in a given backup schedule before the oldest backup is removed.
+
|-
+
| &nbsp; || <tt>days</tt> || The days of the week on which this schedule should create snapshots. [fri, mon, sat, *sun, thu, tue, wed]
+
|-
+
| &nbsp; || <tt>hours</tt> || 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]
+
|-
+
| &nbsp; || <tt>flags</tt> || Optional flags for the operation. [async]
+
|}
+
 
+
 
+
; cloud-backup-schedule-trigger : Immediately triggers the specified cloud backup schedule to start a backup.
+
 
+
<pre> qs cloud-backup-schedule-trigger|cbs-trigger --backup-sched=value [--flags=value ] </pre>
+
{| cellspacing='0' cellpadding='5'
+
|-
+
| &nbsp; || <tt>backup-sched</tt> || A cloud backup schedule periodically does a backup of a specified set of volumes into the cloud.
+
|-
+
| &nbsp; || <tt>flags</tt> || Optional flags for the operation. [async, force]
+
|}
+
 
+
 
+
; cloud-backup-schedule-volume-add : Adds storage volumes to an existing cloud backup schedule.
+
 
+
<pre> qs cloud-backup-schedule-volume-add|cbs-v-add --backup-sched=value [--volume-list=value ] </pre>
+
{| cellspacing='0' cellpadding='5'
+
|-
+
| &nbsp; || <tt>backup-sched</tt> || A cloud backup schedule periodically does a backup of a specified set of volumes into the cloud.
+
|-
+
| &nbsp; || <tt>volume-list</tt> || A list of one or more storage volumes.
+
|}
+
 
+
 
+
; cloud-backup-schedule-volume-remove : Removes storage volumes from an existing cloud backup schedule.
+
 
+
<pre> qs cloud-backup-schedule-volume-remove|cbs-v-remove --backup-sched=value [--volume-list=value ] </pre>
+
{| cellspacing='0' cellpadding='5'
+
|-
+
| &nbsp; || <tt>backup-sched</tt> || A cloud backup schedule periodically does a backup of a specified set of volumes into the cloud.
+
|-
+
| &nbsp; || <tt>volume-list</tt> || A list of one or more storage volumes.
+
|}
+
 
+
</div>
+
</div>
+
 
+
===Cloud Container Management [CLOUD-CONTAINER]===
+
Cloud containers provide a NAS gateway mechanism to bridging S3/SWIFT cloud storage to a local Network Share within an appliance.
+
----
+
<div class='mw-collapsible mw-collapsed'>
+
<div class='mw-collapsible-content'>
+
 
+
; cloud-backup-container-add : Recovers a cloud backup container that was previously removed or used with a prior installation.
+
 
+
<pre> qs cloud-backup-container-add|cbc-add --provider-creds=value --encryption-key=value --storage-url=value --enable-nfs=value </pre>
+
{| cellspacing='0' cellpadding='5'
+
|-
+
| &nbsp; || <tt>provider-creds</tt> || Credentials for accessing your cloud storage provider account.  With Amazon S3 this is your 'Access Key ID' and your 'Secret Access Key'.
+
|-
+
| &nbsp; || <tt>encryption-key</tt> || A passphrase which is used to encrypt all the data sent to the cloud container.
+
|-
+
| &nbsp; || <tt>storage-url</tt> || The Amazon S3 or other storage URL used to identify a cloud backup container.
+
|-
+
| &nbsp; || <tt>enable-nfs</tt> || Enable NFS sharing of the cloud container.
+
|}
+
 
+
 
+
; cloud-backup-container-create : Creates a cloud backup container into which cloud backups of storage volumes can be made.
+
 
+
<pre> qs cloud-backup-container-create|cbc-create --name=value --provider-creds=value --location=value --encryption-key=value --enable-nfs=value [--desc=value ] </pre>
+
{| cellspacing='0' cellpadding='5'
+
|-
+
| &nbsp; || <tt>name</tt> || Names may include any alpha-numeric plus '_' and '-' characters; spaces are not allowed.
+
|-
+
| &nbsp; || <tt>desc</tt> || A description for the object.
+
|-
+
| &nbsp; || <tt>provider-creds</tt> || Credentials for accessing your cloud storage provider account.  With Amazon S3 this is your 'Access Key ID' and your 'Secret Access Key'.
+
|-
+
| &nbsp; || <tt>location</tt> || Cloud storage provider endpoint location.
+
|-
+
| &nbsp; || <tt>encryption-key</tt> || A passphrase which is used to encrypt all the data sent to the cloud container.
+
|-
+
| &nbsp; || <tt>enable-nfs</tt> || Enable NFS sharing of the cloud container.
+
|}
+
 
+
 
+
; cloud-backup-container-delete : Deletes the specified cloud backup container. WARNING, all data in the container will be destroyed.
+
 
+
<pre> qs cloud-backup-container-delete|cbc-delete --container=value </pre>
+
{| cellspacing='0' cellpadding='5'
+
|-
+
| &nbsp; || <tt>container</tt> || 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.
+
|}
+
 
+
 
+
; cloud-backup-container-disable : Disables access to the specified cloud container without having to remove it.
+
 
+
<pre> qs cloud-backup-container-disable|cbc-disable --container=value </pre>
+
{| cellspacing='0' cellpadding='5'
+
|-
+
| &nbsp; || <tt>container</tt> || 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.
+
|}
+
 
+
 
+
; cloud-backup-container-enable : Enables a cloud container that was previously disabled or was inaccessible due to network connection issues.
+
 
+
<pre> qs cloud-backup-container-enable|cbc-enable --container=value </pre>
+
{| cellspacing='0' cellpadding='5'
+
|-
+
| &nbsp; || <tt>container</tt> || 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.
+
|}
+
 
+
 
+
; cloud-backup-container-get : Returns detailed information on a specific cloud backup container.
+
 
+
<pre> qs cloud-backup-container-get|cbc-get --container=value </pre>
+
{| cellspacing='0' cellpadding='5'
+
|-
+
| &nbsp; || <tt>container</tt> || 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.
+
|}
+
 
+
 
+
; cloud-backup-container-list : Returns a list of cloud backup containers in the system.
+
 
+
<pre> qs cloud-backup-container-list|cbc-list </pre>
+
{| cellspacing='0' cellpadding='5'
+
 
+
; cloud-backup-container-modify : Modifies the specified cloud backup container settings.
+
 
+
<pre> qs cloud-backup-container-modify|cbc-modify --name=value --desc=value --container=value --encryption-key=value --enable-nfs=value </pre>
+
{| cellspacing='0' cellpadding='5'
+
|-
+
| &nbsp; || <tt>name</tt> || Names may include any alpha-numeric plus '_' and '-' characters; spaces are not allowed.
+
|-
+
| &nbsp; || <tt>desc</tt> || A description for the object.
+
|-
+
| &nbsp; || <tt>container</tt> || 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.
+
|-
+
| &nbsp; || <tt>encryption-key</tt> || A passphrase which is used to encrypt all the data sent to the cloud container.
+
|-
+
| &nbsp; || <tt>enable-nfs</tt> || Enable NFS sharing of the cloud container.
+
|}
+
 
+
 
+
; cloud-backup-container-remove : Removes the specified cloud backup container from the system but does not delete any backup data in the cloud.
+
 
+
<pre> qs cloud-backup-container-remove|cbc-remove --container=value </pre>
+
{| cellspacing='0' cellpadding='5'
+
|-
+
| &nbsp; || <tt>container</tt> || 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.
+
|}
+
 
+
 
+
; cloud-backup-container-repair : Repairs the specified cloud backup container.
+
 
+
<pre> qs cloud-backup-container-repair|cbc-repair --container=value </pre>
+
{| cellspacing='0' cellpadding='5'
+
|-
+
| &nbsp; || <tt>container</tt> || 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.
+
|}
+
 
+
 
+
; cloud-backup-credentials-add : Adds cloud provider credentials to enable cloud backup to cloud backup containers.
+
 
+
<pre> qs cloud-backup-credentials-add|cbcred-add --provider=value --access-key=value --secret-key=value [--project-id=value ] </pre>
+
{| cellspacing='0' cellpadding='5'
+
|-
+
| &nbsp; || <tt>provider</tt> || A cloud provider is a storage provider like Amazon S3 which QuantaStor utilizes for backup in the cloud.
+
|-
+
| &nbsp; || <tt>access-key</tt> || The access key provided by your cloud storage provider for accessing your cloud storage account.
+
|-
+
| &nbsp; || <tt>secret-key</tt> || The secret key provided by your cloud storage provider for accessing your cloud storage account.
+
|-
+
| &nbsp; || <tt>project-id</tt> || The project Id provided by your cloud storage provider for accessing your cloud storage account.
+
|}
+
 
+
 
+
; cloud-backup-credentials-get : Returns information about the specified cloud provider credential.
+
 
+
<pre> qs cloud-backup-credentials-get|cbcred-get --provider-creds=value </pre>
+
{| cellspacing='0' cellpadding='5'
+
|-
+
| &nbsp; || <tt>provider-creds</tt> || Credentials for accessing your cloud storage provider account.  With Amazon S3 this is your 'Access Key ID' and your 'Secret Access Key'.
+
|}
+
 
+
 
+
; cloud-backup-credentials-list : Returns a list of all the cloud provider credentials in the system. Passwords are masked.
+
 
+
<pre> qs cloud-backup-credentials-list|cbcred-list </pre>
+
{| cellspacing='0' cellpadding='5'
+
 
+
; cloud-backup-credentials-remove : Removes the specified cloud provider credentials
+
 
+
<pre> qs cloud-backup-credentials-remove|cbcred-remove --provider-creds=value </pre>
+
{| cellspacing='0' cellpadding='5'
+
|-
+
| &nbsp; || <tt>provider-creds</tt> || Credentials for accessing your cloud storage provider account.  With Amazon S3 this is your 'Access Key ID' and your 'Secret Access Key'.
+
|}
+
 
+
 
+
; cloud-backup-provider-get : Returns detailed information about the specified cloud provider.
+
 
+
<pre> qs cloud-backup-provider-get|cbp-get --provider=value </pre>
+
{| cellspacing='0' cellpadding='5'
+
|-
+
| &nbsp; || <tt>provider</tt> || A cloud provider is a storage provider like Amazon S3 which QuantaStor utilizes for backup in the cloud.
+
|}
+
 
+
 
+
; cloud-backup-provider-list : Returns the list of supported cloud providers.
+
 
+
<pre> qs cloud-backup-provider-list|cbp-list </pre>
+
{| cellspacing='0' cellpadding='5'
+
</div>
+
</div>
+
 
+
===Physical Disk Management [DISK]===
+
Physical disks are storage devices (SATA, SAS, nVME, SSD, HW RAID LVs, etc) that appear to the underlying QuantaStor operating system which can then be used to form storage pools.
+
----
+
<div class='mw-collapsible mw-collapsed'>
+
<div class='mw-collapsible-content'>
+
 
+
; disk-get : Gets information about a specific physical disk.
+
 
+
<pre> qs disk-get|pd-get --disk=value </pre>
+
{| cellspacing='0' cellpadding='5'
+
|-
+
| &nbsp; || <tt>disk</tt> || Name of the physical disk or its unique ID/serial number.
+
|}
+
 
+
 
+
; disk-global-spare-add : Adds one or more dedicated hotspares to the global hotspare pool.
+
 
+
<pre> qs disk-global-spare-add|hsm-add --disk-list=value [--flags=value ] </pre>
+
{| cellspacing='0' cellpadding='5'
+
|-
+
| &nbsp; || <tt>disk-list</tt> || Comma delimited list of drives (no spaces) to be used for the operation.
+
|-
+
| &nbsp; || <tt>flags</tt> || Optional flags for the operation. [async, force, min, *none]
+
|}
+
 
+
 
+
; disk-global-spare-marker-cleanup : Cleans up invalid marker records for the dedicated hotspare physical disks in the global hotspare pool.
+
 
+
<pre> qs disk-global-spare-marker-cleanup|hsm-cleanup [--flags=value ] </pre>
+
{| cellspacing='0' cellpadding='5'
+
|-
+
| &nbsp; || <tt>flags</tt> || Optional flags for the operation. [async, force, min, *none]
+
|}
+
 
+
 
+
; disk-global-spare-marker-delete : Deletes the specified global hotspare marker object.
+
 
+
<pre> qs disk-global-spare-marker-delete|hsm-del --name=value [--flags=value ] </pre>
+
{| cellspacing='0' cellpadding='5'
+
|-
+
| &nbsp; || <tt>name</tt> || Names may include any alpha-numeric plus '_' and '-' characters; spaces are not allowed.
+
|-
+
| &nbsp; || <tt>flags</tt> || Optional flags for the operation. [async, force, min, *none]
+
|}
+
 
+
 
+
; disk-global-spare-marker-get : Returns information about the specified global hotspare marker object.
+
 
+
<pre> qs disk-global-spare-marker-get|hsm-get --name=value [--flags=value ] </pre>
+
{| cellspacing='0' cellpadding='5'
+
|-
+
| &nbsp; || <tt>name</tt> || Names may include any alpha-numeric plus '_' and '-' characters; spaces are not allowed.
+
|-
+
| &nbsp; || <tt>flags</tt> || Optional flags for the operation. [min]
+
|}
+
 
+
 
+
; disk-global-spare-marker-list : Enumerates marker records for the dedicated hotspare physical disks in the global hotspare pool.
+
 
+
<pre> qs disk-global-spare-marker-list|hsm-list [--flags=value ] </pre>
+
{| cellspacing='0' cellpadding='5'
+
|-
+
| &nbsp; || <tt>flags</tt> || Optional flags for the operation. [min]
+
|}
+
 
+
 
+
; disk-global-spare-remove : Removes one or more dedicated hotspares from the global hotspare pool.
+
 
+
<pre> qs disk-global-spare-remove|hsm-remove --disk-list=value [--flags=value ] </pre>
+
{| cellspacing='0' cellpadding='5'
+
|-
+
| &nbsp; || <tt>disk-list</tt> || Comma delimited list of drives (no spaces) to be used for the operation.
+
|-
+
| &nbsp; || <tt>flags</tt> || Optional flags for the operation. [async, force, min, *none]
+
|}
+
 
+
 
+
; disk-identify : Pulses the disk activity light so that the specified disk can be identified in the chassis.
+
 
+
<pre> qs disk-identify|pd-id --disk=value [--pattern=value ] [--duration=value ] </pre>
+
{| cellspacing='0' cellpadding='5'
+
|-
+
| &nbsp; || <tt>disk</tt> || Name of the physical disk or its unique ID/serial number.
+
|-
+
| &nbsp; || <tt>pattern</tt> || Pattern to flash the disk LED lights in, p = short pulse, P = long pulse, d = short delay, D = long delay, ex: pattern=pppD
+
|-
+
| &nbsp; || <tt>duration</tt> || Duration in seconds to repeat the disk identification pattern.
+
|}
+
 
+
 
+
; disk-list : Enumerates all physical disks.
+
 
+
<pre> qs disk-list|pd-list </pre>
+
{| cellspacing='0' cellpadding='5'
+
 
+
; disk-scan : Scans for any new physical disks that may have been hot-plugged into the storage system.
+
 
+
<pre> qs disk-scan|pd-scan [--storage-system=value ] </pre>
+
{| cellspacing='0' cellpadding='5'
+
|-
+
| &nbsp; || <tt>storage-system</tt> || Name or ID of a storage system in a management grid.
+
|}
+
 
+
 
+
; disk-spare-list : Enumerates dedicated hotspare physical disks in the global hotspare pool.
+
 
+
<pre> qs disk-spare-list|pd-spare-list [--flags=value ] </pre>
+
{| cellspacing='0' cellpadding='5'
+
|-
+
| &nbsp; || <tt>flags</tt> || Optional flags for the operation. [min]
+
|}
+
 
+
 
+
; path-list : Enumerates all physical disk paths for multi-path devices.
+
 
+
<pre> qs path-list|pdp-list </pre>
+
{| cellspacing='0' cellpadding='5'
+
</div>
+
</div>
+
 
+
===Scale-out NAS / Gluster Management [GLUSTER]===
+
Commands for the management and creation of scale-out Network Shares which uses integrated GlusterFS technology.
+
----
+
<div class='mw-collapsible mw-collapsed'>
+
<div class='mw-collapsible-content'>
+
 
+
; gluster-brick-get : Gets information about a specific Gluster brick.
+
 
+
<pre> qs gluster-brick-get|gb-get --gluster-brick=value </pre>
+
{| cellspacing='0' cellpadding='5'
+
|-
+
| &nbsp; || <tt>gluster-brick</tt> || Name or ID of a Gluster brick
+
|}
+
 
+
 
+
; gluster-brick-list : Returns a list of all the Gluster bricks
+
 
+
<pre> qs gluster-brick-list|gb-list </pre>
+
{| cellspacing='0' cellpadding='5'
+
 
+
; gluster-ha-intf-get : Returns a list of all the Gluster HA failover interface definitions.
+
 
+
<pre> qs gluster-ha-intf-get|gi-get --ha-interface=value </pre>
+
{| cellspacing='0' cellpadding='5'
+
|-
+
| &nbsp; || <tt>ha-interface</tt> || High-availability interface for a specific Gluster Volume.
+
|}
+
 
+
 
+
; gluster-ha-intf-list : Gets information about a specific Gluster HA failover interface definition.
+
 
+
<pre> qs gluster-ha-intf-list|gi-list </pre>
+
{| cellspacing='0' cellpadding='5'
+
 
+
; gluster-peer-get : Gets information about a specific Gluster peer system
+
 
+
<pre> qs gluster-peer-get|gp-get --gluster-peer=value </pre>
+
{| cellspacing='0' cellpadding='5'
+
|-
+
| &nbsp; || <tt>gluster-peer</tt> || Name or ID of the Gluster peer
+
|}
+
 
+
 
+
; gluster-peer-list : Returns a list of all the Gluster peer systems.
+
 
+
<pre> qs gluster-peer-list|gp-list </pre>
+
{| cellspacing='0' cellpadding='5'
+
 
+
; gluster-volume-add-bricks : Adds one or more bricks on the specified volume.
+
 
+
<pre> qs gluster-volume-add-bricks|gv-add-bricks --gluster-volume=value --pool-list=value --restripe-volume=value [--flags=value ] </pre>
+
{| cellspacing='0' cellpadding='5'
+
|-
+
| &nbsp; || <tt>gluster-volume</tt> || Name or ID of the Gluster volume
+
|-
+
| &nbsp; || <tt>pool-list</tt> || List of one or more storage pools.
+
|-
+
| &nbsp; || <tt>restripe-volume</tt> || Restripe files across the new Gluster bricks
+
|-
+
| &nbsp; || <tt>flags</tt> || Optional flags for the operation. [async, force, min, *none]
+
|}
+
 
+
 
+
; gluster-volume-create : Create a new Gluster volume with new Bricks on the specified Storage Pools.
+
 
+
<pre> qs gluster-volume-create|gv-create --name=value --pool-list=value --replica-count=value --disperse-count=value --stripe-volume=value [--desc=value ] [--flags=value ] </pre>
+
{| cellspacing='0' cellpadding='5'
+
|-
+
| &nbsp; || <tt>name</tt> || Names may include any alpha-numeric plus '_' and '-' characters; spaces are not allowed.
+
|-
+
| &nbsp; || <tt>desc</tt> || A description for the object.
+
|-
+
| &nbsp; || <tt>pool-list</tt> || List of one or more storage pools.
+
|-
+
| &nbsp; || <tt>replica-count</tt> || Number of replica copies to have of each file in the Gluster volume (1 = no redundancy, 2 = mirroring)
+
|-
+
| &nbsp; || <tt>disperse-count</tt> || Dispersed is a parity based volume layout similar to RAID5 (disperse 5 = 4 data + 1 parity, disperse 3 = 2 data + 1 parity). Optionally supply a replica count to indicate the number of parity bricks per stripe where 2 is like RAID6 and 1 is like RAID5.
+
|-
+
| &nbsp; || <tt>stripe-volume</tt> || Enable striping of files across Gluster bricks
+
|-
+
| &nbsp; || <tt>flags</tt> || Optional flags for the operation. [async, force, min, *none]
+
|}
+
 
+
 
+
; gluster-volume-delete : Deletes the specified Gluster volume.
+
 
+
<pre> qs gluster-volume-delete|gv-delete --gluster-volume=value </pre>
+
{| cellspacing='0' cellpadding='5'
+
|-
+
| &nbsp; || <tt>gluster-volume</tt> || Name or ID of the Gluster volume
+
|}
+
 
+
 
+
; gluster-volume-get : Gets information about the specified Gluster volume
+
 
+
<pre> qs gluster-volume-get|gv-get --gluster-volume=value </pre>
+
{| cellspacing='0' cellpadding='5'
+
|-
+
| &nbsp; || <tt>gluster-volume</tt> || Name or ID of the Gluster volume
+
|}
+
 
+
 
+
; gluster-volume-list : Returns a list of all the Gluster volumes in the grid
+
 
+
<pre> qs gluster-volume-list|gv-list </pre>
+
{| cellspacing='0' cellpadding='5'
+
 
+
; gluster-volume-modify : Modifies the name and/or description of the specified Gluster volume.
+
 
+
<pre> qs gluster-volume-modify|gv-modify --gluster-volume=value --name=value [--desc=value ] [--flags=value ] </pre>
+
{| cellspacing='0' cellpadding='5'
+
|-
+
| &nbsp; || <tt>gluster-volume</tt> || Name or ID of the Gluster volume
+
|-
+
| &nbsp; || <tt>name</tt> || Names may include any alpha-numeric plus '_' and '-' characters; spaces are not allowed.
+
|-
+
| &nbsp; || <tt>desc</tt> || A description for the object.
+
|-
+
| &nbsp; || <tt>flags</tt> || Optional flags for the operation. [async, force, min, *none]
+
|}
+
 
+
 
+
; gluster-volume-rebalance : Rebalances files across the bricks in the specified Gluster volume
+
 
+
<pre> qs gluster-volume-rebalance|gv-rebalance --gluster-volume=value [--flags=value ] </pre>
+
{| cellspacing='0' cellpadding='5'
+
|-
+
| &nbsp; || <tt>gluster-volume</tt> || Name or ID of the Gluster volume
+
|-
+
| &nbsp; || <tt>flags</tt> || Optional flags for the operation. [async, force, min, *none]
+
|}
+
 
+
 
+
; gluster-volume-start : Starts the specified Gluster volume
+
 
+
<pre> qs gluster-volume-start|gv-start --gluster-volume=value [--flags=value ] </pre>
+
{| cellspacing='0' cellpadding='5'
+
|-
+
| &nbsp; || <tt>gluster-volume</tt> || Name or ID of the Gluster volume
+
|-
+
| &nbsp; || <tt>flags</tt> || Optional flags for the operation. [async, force, min, *none]
+
|}
+
 
+
 
+
; gluster-volume-stop : Stops the specified Gluster volume.
+
 
+
<pre> qs gluster-volume-stop|gv-stop --gluster-volume=value [--flags=value ] </pre>
+
{| cellspacing='0' cellpadding='5'
+
|-
+
| &nbsp; || <tt>gluster-volume</tt> || Name or ID of the Gluster volume
+
|-
+
| &nbsp; || <tt>flags</tt> || Optional flags for the operation. [async, force, min, *none]
+
|}
+
 
+
</div>
+
</div>
+
 
+
===Storage System Grid Management [GRID]===
+
Commands for management and formation of grids of QuantaStor appliances which simplifies management and enables advanced features including HA, DR, and scale-out configurations.
+
----
+
<div class='mw-collapsible mw-collapsed'>
+
<div class='mw-collapsible-content'>
+
 
+
; grid-add : Adds the specified storage system to the management grid.
+
 
+
<pre> qs grid-add|mg-add --node-ipaddress=value [--node-username=value ] [--node-password=value ] </pre>
+
{| cellspacing='0' cellpadding='5'
+
|-
+
| &nbsp; || <tt>node-ipaddress</tt> || IP address of a storage system node.
+
|-
+
| &nbsp; || <tt>node-username</tt> || Admin user account with permissions to add/remove nodes from the grid.
+
|-
+
| &nbsp; || <tt>node-password</tt> || Admin user account password.
+
|}
+
 
+
 
+
; grid-assoc-get : Get general information about the associated storage system management grid.
+
 
+
<pre> qs grid-assoc-get|mg-aget --name=value --storage-system=value [--flags=value ] </pre>
+
{| cellspacing='0' cellpadding='5'
+
|-
+
| &nbsp; || <tt>name</tt> || Names may include any alpha-numeric plus '_' and '-' characters; spaces are not allowed.
+
|-
+
| &nbsp; || <tt>storage-system</tt> || Name or ID of a storage system in a management grid.
+
|-
+
| &nbsp; || <tt>flags</tt> || Optional flags for the operation. [min]
+
|}
+
 
+
 
+
; grid-assoc-list : Returns a list of the associated storage system nodes in the grid.
+
 
+
<pre> qs grid-assoc-list|mg-alist </pre>
+
{| cellspacing='0' cellpadding='5'
+
 
+
; grid-create : Creates a new management grid.  A given storage system can only be a member of one grid at a time.
+
 
+
<pre> qs grid-create|mg-create --name=value [--desc=value ] </pre>
+
{| cellspacing='0' cellpadding='5'
+
|-
+
| &nbsp; || <tt>name</tt> || Names may include any alpha-numeric plus '_' and '-' characters; spaces are not allowed.
+
|-
+
| &nbsp; || <tt>desc</tt> || A description for the object.
+
|}
+
 
+
 
+
; grid-delete : Deletes the management grid.  After the grid is deleted each node in the grid operates independently again.
+
 
+
<pre> qs grid-delete|mg-delete </pre>
+
{| cellspacing='0' cellpadding='5'
+
 
+
; grid-get : Get general information about the storage system management grid.
+
 
+
<pre> qs grid-get|mg-get </pre>
+
{| cellspacing='0' cellpadding='5'
+
 
+
; grid-get-hosts : Returns the /etc/hosts configuration file configuration for grid nodes.
+
 
+
<pre> qs grid-get-hosts|mg-get-hosts </pre>
+
{| cellspacing='0' cellpadding='5'
+
 
+
; grid-modify : Modify the management grid properties.
+
 
+
<pre> qs grid-modify|mg-modify --name=value [--desc=value ] </pre>
+
{| cellspacing='0' cellpadding='5'
+
|-
+
| &nbsp; || <tt>name</tt> || Names may include any alpha-numeric plus '_' and '-' characters; spaces are not allowed.
+
|-
+
| &nbsp; || <tt>desc</tt> || A description for the object.
+
|}
+
 
+
 
+
; grid-remove : Removes the specified storage system from the management grid.
+
 
+
<pre> qs grid-remove|mg-remove --storage-system=value </pre>
+
{| cellspacing='0' cellpadding='5'
+
|-
+
| &nbsp; || <tt>storage-system</tt> || Name or ID of a storage system in a management grid.
+
|}
+
 
+
 
+
; grid-set-hosts : Configures the /etc/hosts configuration file on all systems to facilitate host name based gluster volume configurations.
+
 
+
<pre> qs grid-set-hosts|mg-set-hosts --portid-list=value </pre>
+
{| cellspacing='0' cellpadding='5'
+
|-
+
| &nbsp; || <tt>portid-list</tt> || List of UUIDs for the ethernet ports to be used for grid wide /etc/hosts file configuration.
+
|}
+
 
+
 
+
; grid-set-master : Sets the master node for a storage system.
+
 
+
<pre> qs grid-set-master|mg-set --storage-system=value </pre>
+
{| cellspacing='0' cellpadding='5'
+
|-
+
| &nbsp; || <tt>storage-system</tt> || Name or ID of a storage system in a management grid.
+
|}
+
 
+
</div>
+
</div>
+
 
+
===Storage Pool HA Failover Management [HA-FAILOVER]===
+
Storage Pools based on ZFS can be made Highly-Available when formed using SAS/FC/iSCSI disks connected to two or more appliances. HA storage pools can be moved dynamically between a pair of appliances and activated HA groups will do automatic failover to ensure availability to the underlying pool and it's associated volume and shares.
+
----
+
<div class='mw-collapsible mw-collapsed'>
+
<div class='mw-collapsible-content'>
+
 
+
; ha-group-activate : Activates/enables the specified high-availability group to failover can occur on a system outage.
+
 
+
<pre> qs ha-group-activate|hag-activate --ha-group=value </pre>
+
{| cellspacing='0' cellpadding='5'
+
|-
+
| &nbsp; || <tt>ha-group</tt> || Name or UUID of a storage pool high-availability group
+
|}
+
 
+
 
+
; ha-group-create : Creates a new storage pool high-availability group.
+
 
+
<pre> qs ha-group-create|hag-create --name=value --pool=value --sys-secondary=value --sys-primary=value [--desc=value ] [--ha-module=value ] </pre>
+
{| cellspacing='0' cellpadding='5'
+
|-
+
| &nbsp; || <tt>name</tt> || Names may include any alpha-numeric plus '_' and '-' characters; spaces are not allowed.
+
|-
+
| &nbsp; || <tt>pool</tt> || Name of the storage pool or its unique ID (GUID).
+
|-
+
| &nbsp; || <tt>sys-secondary</tt> || Storage system associated with the failover group secondary node
+
|-
+
| &nbsp; || <tt>sys-primary</tt> || Storage system associated with the failover group primary node
+
|-
+
| &nbsp; || <tt>desc</tt> || A description for the object.
+
|-
+
| &nbsp; || <tt>ha-module</tt> || Name or UUID of a storage pool high-availability module
+
|}
+
 
+
 
+
; ha-group-deactivate : Deactivates the specified high-availability group so that failover policies are disabled.
+
 
+
<pre> qs ha-group-deactivate|hag-deactivate --ha-group=value </pre>
+
{| cellspacing='0' cellpadding='5'
+
|-
+
| &nbsp; || <tt>ha-group</tt> || Name or UUID of a storage pool high-availability group
+
|}
+
 
+
 
+
; ha-group-delete : Deletes the specified high-availability group
+
 
+
<pre> qs ha-group-delete|hag-delete --ha-group=value </pre>
+
{| cellspacing='0' cellpadding='5'
+
|-
+
| &nbsp; || <tt>ha-group</tt> || Name or UUID of a storage pool high-availability group
+
|}
+
 
+
 
+
; ha-group-failover : Manually triggers a failover of the specified storage pool using the associated storage pool HA group policy.
+
 
+
<pre> qs ha-group-failover|hag-failover --ha-group=value --storage-system=value [--flags=value ] </pre>
+
{| cellspacing='0' cellpadding='5'
+
|-
+
| &nbsp; || <tt>ha-group</tt> || Name or UUID of a storage pool high-availability group
+
|-
+
| &nbsp; || <tt>storage-system</tt> || Name or ID of a storage system in a management grid.
+
|-
+
| &nbsp; || <tt>flags</tt> || Optional flags for the operation. [async, force, min, *none]
+
|}
+
 
+
 
+
; ha-group-get : Gets information about the specified storage pool HA group
+
 
+
<pre> qs ha-group-get|hag-get --ha-group=value </pre>
+
{| cellspacing='0' cellpadding='5'
+
|-
+
| &nbsp; || <tt>ha-group</tt> || Name or UUID of a storage pool high-availability group
+
|}
+
 
+
 
+
; ha-group-list : Returns a list of all the HA groups
+
 
+
<pre> qs ha-group-list|hag-list </pre>
+
{| cellspacing='0' cellpadding='5'
+
 
+
; ha-group-modify : Modifies the settings for the specified high-availability group
+
 
+
<pre> qs ha-group-modify|hag-modify --ha-group=value [--name=value ] [--desc=value ] [--sys-secondary=value ] [--ha-module=value ] [--verify-client-ips=value ] [--client-connectivity-check-policy=value ] </pre>
+
{| cellspacing='0' cellpadding='5'
+
|-
+
| &nbsp; || <tt>ha-group</tt> || Name or UUID of a storage pool high-availability group
+
|-
+
| &nbsp; || <tt>name</tt> || Names may include any alpha-numeric plus '_' and '-' characters; spaces are not allowed.
+
|-
+
| &nbsp; || <tt>desc</tt> || A description for the object.
+
|-
+
| &nbsp; || <tt>sys-secondary</tt> || Storage system associated with the failover group secondary node
+
|-
+
| &nbsp; || <tt>ha-module</tt> || Name or UUID of a storage pool high-availability module
+
|-
+
| &nbsp; || <tt>verify-client-ips</tt> || IP addresses of hosts that should be pinged to verify connectivity.  If there's no connectivity a preemptive failover is attempted.
+
|-
+
| &nbsp; || <tt>client-connectivity-check-policy</tt> || Client connectivity failover policy. [all-nonresponsive, *disabled, majority-nonresponsive]
+
|}
+
 
+
 
+
; ha-interface-create : Creates a new virtual network interface for the specified HA failover group.
+
 
+
<pre> qs ha-interface-create|hai-create --ha-group=value --parent-port=value --ip-address=value [--netmask=value ] [--interface-tag=value ] [--desc=value ] [--gateway=value ] [--mac-address=value ] [--iscsi-enable=value ] </pre>
+
{| cellspacing='0' cellpadding='5'
+
|-
+
| &nbsp; || <tt>ha-group</tt> || Name or UUID of a storage pool high-availability group
+
|-
+
| &nbsp; || <tt>parent-port</tt> || 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.
+
|-
+
| &nbsp; || <tt>ip-address</tt> || IP Address of the host being added; if unspecified the service will look it up.
+
|-
+
| &nbsp; || <tt>netmask</tt> || Subnet IP mask (ex: 255.255.255.0)
+
|-
+
| &nbsp; || <tt>interface-tag</tt> || Tags are a alpha-numeric tag which is appended onto a given HA virtual interface for easy identification.
+
|-
+
| &nbsp; || <tt>desc</tt> || A description for the object.
+
|-
+
| &nbsp; || <tt>gateway</tt> || IP address of the network gateway
+
|-
+
| &nbsp; || <tt>mac-address</tt> || MAC Address
+
|-
+
| &nbsp; || <tt>iscsi-enable</tt> || Enables or disables iSCSI access to the specified port(s).
+
|}
+
 
+
 
+
; ha-interface-delete : Deletes the specified virtual network interface resource from the HA group
+
 
+
<pre> qs ha-interface-delete|hai-delete --ha-interface=value </pre>
+
{| cellspacing='0' cellpadding='5'
+
|-
+
| &nbsp; || <tt>ha-interface</tt> || Name or UUID of a storage pool high-availability virtual network interface
+
|}
+
 
+
 
+
; ha-interface-get : Gets information about the specified storage pool HA virtual network interface
+
 
+
<pre> qs ha-interface-get|hai-get --ha-interface=value </pre>
+
{| cellspacing='0' cellpadding='5'
+
|-
+
| &nbsp; || <tt>ha-interface</tt> || Name or UUID of a storage pool high-availability virtual network interface
+
|}
+
 
+
 
+
; ha-interface-list : Returns a list of all the HA interfaces on the specified group
+
 
+
<pre> qs ha-interface-list|hai-list </pre>
+
{| cellspacing='0' cellpadding='5'
+
 
+
; ha-module-get : Gets information about the specified storage pool HA module
+
 
+
<pre> qs ha-module-get|ham-get --ha-module=value </pre>
+
{| cellspacing='0' cellpadding='5'
+
|-
+
| &nbsp; || <tt>ha-module</tt> || Name or UUID of a storage pool high-availability module
+
|}
+
 
+
 
+
; ha-module-list : Returns a list of all the HA failover modules
+
 
+
<pre> qs ha-module-list|ham-list </pre>
+
{| cellspacing='0' cellpadding='5'
+
 
+
; ping-check : Pings the specified list of IP addresses and returns the list of IPs that responded to the ping check.
+
 
+
<pre> qs ping-check|ping --verify-client-ips=value [--storage-system=value ] </pre>
+
{| cellspacing='0' cellpadding='5'
+
|-
+
| &nbsp; || <tt>verify-client-ips</tt> || IP addresses of hosts that should be pinged to verify connectivity.  If there's no connectivity a preemptive failover is attempted.
+
|-
+
| &nbsp; || <tt>storage-system</tt> || Name or ID of a storage system in a management grid.
+
|}
+
 
+
</div>
+
</div>
+
 
+
===Host Management [HOST]===
+
Storage Volumes must be assigned to Host(s) before the block storage (LUNs) can be accessed.  Each Host entry is identified by one or more iSCSI IQNs and/or FibreChannel WWPNs.
+
----
+
<div class='mw-collapsible mw-collapsed'>
+
<div class='mw-collapsible-content'>
+
 
+
; host-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> qs host-add|h-add --hostname=value [--iqn=value ] [--ip-address=value ] [--desc=value ] [--username=value ] [--password=value ] [--host-type=value ] [--flags=value ] </pre>
+
{| cellspacing='0' cellpadding='5'
+
|-
+
| &nbsp; || <tt>hostname</tt> || Names may include any alpha-numeric plus '_' and '-' characters; spaces are not allowed.
+
|-
+
| &nbsp; || <tt>iqn</tt> || IQN (iSCSI Qualified Name) of the host's iSCSI initiator
+
|-
+
| &nbsp; || <tt>ip-address</tt> || IP Address of the host being added; if unspecified the service will look it up.
+
|-
+
| &nbsp; || <tt>desc</tt> || A description for the object.
+
|-
+
| &nbsp; || <tt>username</tt> || Administrator user name for the host, typically 'Administrator' for Windows hosts.
+
|-
+
| &nbsp; || <tt>password</tt> || Administrator password for the host; enables auto-configuration of host's iSCSI initiator.
+
|-
+
| &nbsp; || <tt>host-type</tt> || Operating system type of the host. [aix, hpux, linux, other, solaris, vmware, *windows, xenserver]
+
|-
+
| &nbsp; || <tt>flags</tt> || Optional flags for the operation. [async]
+
|}
+
 
+
 
+
; host-get : Gets information about a specific host.
+
 
+
<pre> qs host-get|h-get --host=value </pre>
+
{| cellspacing='0' cellpadding='5'
+
|-
+
| &nbsp; || <tt>host</tt> || Name of the host or its unique ID (GUID).
+
|}
+
 
+
 
+
; host-initiator-add : Adds an additional iSCSI host initiator IQN to the specified host.
+
 
+
<pre> qs host-initiator-add|hi-add --host=value --iqn=value </pre>
+
{| cellspacing='0' cellpadding='5'
+
|-
+
| &nbsp; || <tt>host</tt> || Name of the host or its unique ID (GUID).
+
|-
+
| &nbsp; || <tt>iqn</tt> || IQN (iSCSI Qualified Name) of the host's iSCSI initiator
+
|}
+
 
+
 
+
; host-initiator-get : Gets information about a specific host identified by its initiator IQN.
+
 
+
<pre> qs host-initiator-get|hi-get --iqn=value </pre>
+
{| cellspacing='0' cellpadding='5'
+
|-
+
| &nbsp; || <tt>iqn</tt> || IQN (iSCSI Qualified Name) of the host's iSCSI initiator
+
|}
+
 
+
 
+
; host-initiator-list : Returns a list of all the initiators (IQN) of the specified host
+
 
+
<pre> qs host-initiator-list|hi-list --host=value </pre>
+
{| cellspacing='0' cellpadding='5'
+
|-
+
| &nbsp; || <tt>host</tt> || Name of the host or its unique ID (GUID).
+
|}
+
 
+
 
+
; host-initiator-remove : Removes a iSCSI host initiator (IQN) from the specified host.
+
 
+
<pre> qs host-initiator-remove|hi-remove --host=value --iqn=value </pre>
+
{| cellspacing='0' cellpadding='5'
+
|-
+
| &nbsp; || <tt>host</tt> || Name of the host or its unique ID (GUID).
+
|-
+
| &nbsp; || <tt>iqn</tt> || IQN (iSCSI Qualified Name) of the host's iSCSI initiator
+
|}
+
 
+
 
+
; host-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.
+
 
+
<pre> qs host-list|h-list </pre>
+
{| cellspacing='0' cellpadding='5'
+
 
+
; host-modify : Modifies a host entry which contains a list of WWN/IQN or IB GIDs for a given host.
+
 
+
<pre> qs host-modify|h-modify --host=value [--desc=value ] [--ip-address=value ] [--username=value ] [--password=value ] [--host-type=value ] [--hostname=value ] [--flags=value ] </pre>
+
{| cellspacing='0' cellpadding='5'
+
|-
+
| &nbsp; || <tt>host</tt> || Name of the host or its unique ID (GUID).
+
|-
+
| &nbsp; || <tt>desc</tt> || A description for the object.
+
|-
+
| &nbsp; || <tt>ip-address</tt> || IP Address of the host being added; if unspecified the service will look it up.
+
|-
+
| &nbsp; || <tt>username</tt> || Administrator user name for the host, typically 'Administrator' for Windows hosts.
+
|-
+
| &nbsp; || <tt>password</tt> || Administrator password for the host; enables auto-configuration of host's iSCSI initiator.
+
|-
+
| &nbsp; || <tt>host-type</tt> || Operating system type of the host. [aix, hpux, linux, other, solaris, vmware, *windows, xenserver]
+
|-
+
| &nbsp; || <tt>hostname</tt> || Names may include any alpha-numeric plus '_' and '-' characters; spaces are not allowed.
+
|-
+
| &nbsp; || <tt>flags</tt> || Optional flags for the operation. [async]
+
|}
+
 
+
 
+
; host-remove : Removes the specified host, *WARNING* host's active iSCSI sessions will be dropped.
+
 
+
<pre> qs host-remove|h-remove --host=value [--flags=value ] </pre>
+
{| cellspacing='0' cellpadding='5'
+
|-
+
| &nbsp; || <tt>host</tt> || Name of the host or its unique ID (GUID).
+
|-
+
| &nbsp; || <tt>flags</tt> || Optional flags for the operation. [async, force]
+
|}
+
 
+
</div>
+
</div>
+
 
+
===Host Group Management [HOST-GROUP]===
+
Hosts can be grouped together into Host Group(s) to simplify assignment and management of Storage Volumes assigned to a cluster of hosts (eg. VMware).
+
----
+
<div class='mw-collapsible mw-collapsed'>
+
<div class='mw-collapsible-content'>
+
 
+
; host-group-create : Creates a new host group with the specified name.
+
 
+
<pre> qs host-group-create|hg-create --name=value --host-list=value [--desc=value ] [--flags=value ] </pre>
+
{| cellspacing='0' cellpadding='5'
+
|-
+
| &nbsp; || <tt>name</tt> || Names may include any alpha-numeric plus '_' and '-' characters; spaces are not allowed.
+
|-
+
| &nbsp; || <tt>host-list</tt> || A list of one or more hosts by name or ID.
+
|-
+
| &nbsp; || <tt>desc</tt> || A description for the object.
+
|-
+
| &nbsp; || <tt>flags</tt> || Optional flags for the operation. [async]
+
|}
+
 
+
 
+
; host-group-delete : Removes the specified host group.
+
 
+
<pre> qs host-group-delete|hg-delete --host-group=value [--flags=value ] </pre>
+
{| cellspacing='0' cellpadding='5'
+
|-
+
| &nbsp; || <tt>host-group</tt> || An arbitrary collection of hosts used to simplify volume ACL management for grids and other groups of hosts.
+
|-
+
| &nbsp; || <tt>flags</tt> || Optional flags for the operation. [async, force]
+
|}
+
 
+
 
+
; host-group-get : Gets information about a specific host group.
+
 
+
<pre> qs host-group-get|hg-get --host-group=value </pre>
+
{| cellspacing='0' cellpadding='5'
+
|-
+
| &nbsp; || <tt>host-group</tt> || An arbitrary collection of hosts used to simplify volume ACL management for grids and other groups of hosts.
+
|}
+
 
+
 
+
; host-group-host-add : Adds a host to the specified host group.
+
 
+
<pre> qs host-group-host-add|hg-host-add --host-group=value --host-list=value </pre>
+
{| cellspacing='0' cellpadding='5'
+
|-
+
| &nbsp; || <tt>host-group</tt> || An arbitrary collection of hosts used to simplify volume ACL management for grids and other groups of hosts.
+
|-
+
| &nbsp; || <tt>host-list</tt> || A list of one or more hosts by name or ID.
+
|}
+
 
+
 
+
; host-group-host-remove : Removes a host from the specified host group.
+
 
+
<pre> qs host-group-host-remove|hg-host-remove --host-group=value --host-list=value </pre>
+
{| cellspacing='0' cellpadding='5'
+
|-
+
| &nbsp; || <tt>host-group</tt> || An arbitrary collection of hosts used to simplify volume ACL management for grids and other groups of hosts.
+
|-
+
| &nbsp; || <tt>host-list</tt> || A list of one or more hosts by name or ID.
+
|}
+
 
+
 
+
; host-group-list : Returns a list of all the host groups.
+
 
+
<pre> qs host-group-list|hg-list </pre>
+
{| cellspacing='0' cellpadding='5'
+
 
+
; host-group-modify : Modifies the properties of a host group such as its name and/or description.
+
 
+
<pre> qs host-group-modify|hg-modify --host-group=value [--name=value ] [--desc=value ] </pre>
+
{| cellspacing='0' cellpadding='5'
+
|-
+
| &nbsp; || <tt>host-group</tt> || An arbitrary collection of hosts used to simplify volume ACL management for grids and other groups of hosts.
+
|-
+
| &nbsp; || <tt>name</tt> || Names may include any alpha-numeric plus '_' and '-' characters; spaces are not allowed.
+
|-
+
| &nbsp; || <tt>desc</tt> || A description for the object.
+
|}
+
 
+
</div>
+
</div>
+
 
+
===Hardware RAID Management [HWRAID]===
+
Integrated hardware management modules monitor, discover, correlate and manage all the key aspects of internal SAS HBAs and RAID Controllers.
+
----
+
<div class='mw-collapsible mw-collapsed'>
+
<div class='mw-collapsible-content'>
+
 
+
; hw-alarm-clear-all : Clears all the hardware alarms that have been recorded for the specified hardware RAID controller.
+
 
+
<pre> qs hw-alarm-clear-all|hwa-clear-all --controller=value </pre>
+
{| cellspacing='0' cellpadding='5'
+
|-
+
| &nbsp; || <tt>controller</tt> || Name or ID of a hardware RAID controller.
+
|}
+
 
+
 
+
; hw-alarm-get : Returns information about a specific hardware alarm.
+
 
+
<pre> qs hw-alarm-get|hwa-get --id=value </pre>
+
{| cellspacing='0' cellpadding='5'
+
|-
+
| &nbsp; || <tt>id</tt> || Unique identifier (GUID) for the object.
+
|}
+
 
+
 
+
; hw-alarm-list : Returns a list of all the current hardware alarms/alert messages generated from the controller.
+
 
+
<pre> qs hw-alarm-list|hwa-list [--controller=value ] </pre>
+
{| cellspacing='0' cellpadding='5'
+
|-
+
| &nbsp; || <tt>controller</tt> || Name or ID of a hardware RAID controller.
+
|}
+
 
+
 
+
; hw-controller-change-security-key : Change the security key for encryption on SED/FDE-enabled drives on hardware RAID controller.
+
 
+
<pre> qs hw-controller-change-security-key|hwc-change-security-key --controller=value --old-security-key=value --security-key=value </pre>
+
{| cellspacing='0' cellpadding='5'
+
|-
+
| &nbsp; || <tt>controller</tt> || Name or ID of a hardware RAID controller.
+
|-
+
| &nbsp; || <tt>old-security-key</tt> || Prior security key on HW Controller card, for changing key, for encryption on FDE-enabled secure disk drives.
+
|-
+
| &nbsp; || <tt>security-key</tt> || Security key on HW Controller card for encryption on FDE-enabled secure disk drives.
+
|}
+
 
+
 
+
; hw-controller-create-security-key : Create the security key for encryption on SED/FDE-enabled drives on hardware RAID controller.
+
 
+
<pre> qs hw-controller-create-security-key|hwc-create-security-key --controller=value --security-key=value </pre>
+
{| cellspacing='0' cellpadding='5'
+
|-
+
| &nbsp; || <tt>controller</tt> || Name or ID of a hardware RAID controller.
+
|-
+
| &nbsp; || <tt>security-key</tt> || Security key on HW Controller card for encryption on FDE-enabled secure disk drives.
+
|}
+
 
+
 
+
; hw-controller-get : Returns information about a specific hardware RAID controller.
+
 
+
<pre> qs hw-controller-get|hwc-get --controller=value </pre>
+
{| cellspacing='0' cellpadding='5'
+
|-
+
| &nbsp; || <tt>controller</tt> || Name or ID of a hardware RAID controller.
+
|}
+
 
+
 
+
; hw-controller-group-get : Returns information about all the support hardware RAID controller group types.
+
 
+
<pre> qs hw-controller-group-get|hwcg-get --controller-group=value </pre>
+
{| cellspacing='0' cellpadding='5'
+
|-
+
| &nbsp; || <tt>controller-group</tt> || Name or ID of a hardware RAID controller group.
+
|}
+
 
+
 
+
; hw-controller-group-list : Returns a list of all the hardware controller groups.
+
 
+
<pre> qs hw-controller-group-list|hwcg-list </pre>
+
{| cellspacing='0' cellpadding='5'
+
 
+
; hw-controller-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> qs hw-controller-import-units|hwc-import-units --controller=value </pre>
+
{| cellspacing='0' cellpadding='5'
+
|-
+
| &nbsp; || <tt>controller</tt> || Name or ID of a hardware RAID controller.
+
|}
+
 
+
 
+
; hw-controller-list : Returns a list of all the hardware controllers.
+
 
+
<pre> qs hw-controller-list|hwc-list [--controller-group=value ] </pre>
+
{| cellspacing='0' cellpadding='5'
+
|-
+
| &nbsp; || <tt>controller-group</tt> || Name or ID of a hardware RAID controller group.
+
|}
+
 
+
 
+
; hw-controller-rescan : Rescans the hardware controller to look for new disks and RAID units.
+
 
+
<pre> qs hw-controller-rescan|hwc-rescan --controller=value </pre>
+
{| cellspacing='0' cellpadding='5'
+
|-
+
| &nbsp; || <tt>controller</tt> || Name or ID of a hardware RAID controller.
+
|}
+
 
+
 
+
; hw-disk-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> qs hw-disk-delete|hwd-delete --disk=value [--duration=value ] </pre>
+
{| cellspacing='0' cellpadding='5'
+
|-
+
| &nbsp; || <tt>disk</tt> || Specifies a physical disk connected to a hardware RAID controller.
+
|-
+
| &nbsp; || <tt>duration</tt> || Duration in seconds to repeat the disk identification pattern.
+
|}
+
 
+
 
+
; hw-disk-get : Returns information about a specific disk managed by a hardware RAID controller.
+
 
+
<pre> qs hw-disk-get|hwd-get --disk=value </pre>
+
{| cellspacing='0' cellpadding='5'
+
|-
+
| &nbsp; || <tt>disk</tt> || Specifies a physical disk connected to a hardware RAID controller.
+
|}
+
 
+
 
+
; hw-disk-identify : Flashes the LED indicator light on the specified disk so that it can be identified in the enclosure chassis.
+
 
+
<pre> qs hw-disk-identify|hwd-identify --unit=value [--duration=value ] </pre>
+
{| cellspacing='0' cellpadding='5'
+
|-
+
| &nbsp; || <tt>unit</tt> || Name of a hardware RAID unit or it unique ID.
+
|-
+
| &nbsp; || <tt>duration</tt> || Duration in seconds to repeat the disk identification pattern.
+
|}
+
 
+
 
+
; hw-disk-list : Returns a list of all the disks managed by the specified hardware controller.
+
 
+
<pre> qs hw-disk-list|hwd-list [--controller=value ] </pre>
+
{| cellspacing='0' cellpadding='5'
+
|-
+
| &nbsp; || <tt>controller</tt> || Name or ID of a hardware RAID controller.
+
|}
+
 
+
 
+
; hw-disk-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> qs hw-disk-mark-good|hwd-mark-good --disk=value </pre>
+
{| cellspacing='0' cellpadding='5'
+
|-
+
| &nbsp; || <tt>disk</tt> || Specifies a physical disk connected to a hardware RAID controller.
+
|}
+
 
+
 
+
; hw-disk-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> qs hw-disk-mark-spare|hwd-mark-spare --disk=value </pre>
+
{| cellspacing='0' cellpadding='5'
+
|-
+
| &nbsp; || <tt>disk</tt> || Specifies a physical disk connected to a hardware RAID controller.
+
|}
+
 
+
 
+
; hw-enclosure-get : Returns information about a specific enclosure managed by the specified hardware RAID controller.
+
 
+
<pre> qs hw-enclosure-get|hwe-get --enclosure=value </pre>
+
{| cellspacing='0' cellpadding='5'
+
|-
+
| &nbsp; || <tt>enclosure</tt> || Name of a hardware RAID enclosure or it unique ID.
+
|}
+
 
+
 
+
; hw-enclosure-list : Returns a list of all the enclosures managed by the specified hardware RAID controller.
+
 
+
<pre> qs hw-enclosure-list|hwe-list [--controller=value ] </pre>
+
{| cellspacing='0' cellpadding='5'
+
|-
+
| &nbsp; || <tt>controller</tt> || Name or ID of a hardware RAID controller.
+
|}
+
 
+
 
+
; hw-unit-auto-create : Creates new hardware RAID units automatically using available disk resources according to the selection criteria.
+
 
+
<pre> qs hw-unit-auto-create|hwu-auto-create --raid=value --disks-per-unit=value [--disk-category=value ] [--min-size=value ] [--max-size=value ] [--unit-count=value ] [--options=value ] [--storage-system=value ] [--flags=value ] </pre>
+
{| cellspacing='0' cellpadding='5'
+
|-
+
| &nbsp; || <tt>raid</tt> || Hardware RAID type for a hardware RAID unit. [*AUTO, RAID0, RAID1, RAID10, RAID5, RAID50, RAID6, RAID60]
+
|-
+
| &nbsp; || <tt>disks-per-unit</tt> || Number of disks to select for each new hardware RAID unit to be created.  Example, 5 disks indicates 4d+1p when selected with RAID5 layout type.
+
|-
+
| &nbsp; || <tt>disk-category</tt> || Any, SSD, or HDD, this allows filtering by disk type so that new hardware RAID units are created using the correct category of disks. [*ANY, HDD, SSD]
+
|-
+
| &nbsp; || <tt>min-size</tt> || Minimum size of the disks to be selected for creation of new hardware RAID units
+
|-
+
| &nbsp; || <tt>max-size</tt> || Maximum size of the disks to be selected for creation of new hardware RAID units, useful for limiting the selection to a specific group of drives.
+
|-
+
| &nbsp; || <tt>unit-count</tt> || Maximum number of units to create, if 0 then all available disks will be used after filtering.
+
|-
+
| &nbsp; || <tt>options</tt> || Special options to hardware encryption policy.
+
|-
+
| &nbsp; || <tt>storage-system</tt> || Name or ID of a storage system in a management grid.
+
|-
+
| &nbsp; || <tt>flags</tt> || Optional flags for the operation. [async, force, min, *none]
+
|}
+
 
+
 
+
; hw-unit-create : Creates a new hardware RAID unit using the specified controller.
+
 
+
<pre> qs hw-unit-create|hwu-create --raid=value --disk-list=value [--controller=value ] [--flags=value ] </pre>
+
{| cellspacing='0' cellpadding='5'
+
|-
+
| &nbsp; || <tt>raid</tt> || Hardware RAID type for a hardware RAID unit. [*AUTO, RAID0, RAID1, RAID10, RAID5, RAID50, RAID6, RAID60]
+
|-
+
| &nbsp; || <tt>disk-list</tt> || Specifies one or more physical disks connected to a hardware RAID controller. Use 'all' to indicate all unused disks.
+
|-
+
| &nbsp; || <tt>controller</tt> || Name or ID of a hardware RAID controller.
+
|-
+
| &nbsp; || <tt>flags</tt> || Optional flags for the operation. [async, force, min, *none]
+
|}
+
 
+
 
+
; hw-unit-delete : Deletes the specified RAID unit.  Note that you must first delete the Storage Pool before you delete the RAID unit.
+
 
+
<pre> qs hw-unit-delete|hwu-delete --unit=value [--duration=value ] </pre>
+
{| cellspacing='0' cellpadding='5'
+
|-
+
| &nbsp; || <tt>unit</tt> || Name of a hardware RAID unit or it unique ID.
+
|-
+
| &nbsp; || <tt>duration</tt> || Duration in seconds to repeat the disk identification pattern.
+
|}
+
 
+
 
+
; hw-unit-encrypt : Enable hardware SED/FDE encryption for the specified hardware RAID unit.
+
 
+
<pre> qs hw-unit-encrypt|hwu-encrypt --unit=value [--options=value ] </pre>
+
{| cellspacing='0' cellpadding='5'
+
|-
+
| &nbsp; || <tt>unit</tt> || Name of a hardware RAID unit or it unique ID.
+
|-
+
| &nbsp; || <tt>options</tt> || Special options to hardware encryption policy.
+
|}
+
 
+
 
+
; hw-unit-get : Returns information about a specific RAID unit managed by the specified hardware RAID controller.
+
 
+
<pre> qs hw-unit-get|hwu-get --unit=value </pre>
+
{| cellspacing='0' cellpadding='5'
+
|-
+
| &nbsp; || <tt>unit</tt> || Name of a hardware RAID unit or it unique ID.
+
|}
+
 
+
 
+
; hw-unit-identify : Flashes the LED indicator light on all the disks in the RAID unit so that it can be identified in the enclosure.
+
 
+
<pre> qs hw-unit-identify|hwu-identify --unit=value [--duration=value ] </pre>
+
{| cellspacing='0' cellpadding='5'
+
|-
+
| &nbsp; || <tt>unit</tt> || Name of a hardware RAID unit or it unique ID.
+
|-
+
| &nbsp; || <tt>duration</tt> || Duration in seconds to repeat the disk identification pattern.
+
|}
+
 
+
 
+
; hw-unit-list : Returns a list of all the RAID units managed by the specified hardware controller.
+
 
+
<pre> qs hw-unit-list|hwu-list [--controller=value ] </pre>
+
{| cellspacing='0' cellpadding='5'
+
|-
+
| &nbsp; || <tt>controller</tt> || Name or ID of a hardware RAID controller.
+
|}
+
 
+
</div>
+
</div>
+
 
+
===SAS Switch Management [HWSWITCH]===
+
DEPRECATED
+
----
+
<div class='mw-collapsible mw-collapsed'>
+
<div class='mw-collapsible-content'>
+
 
+
; hw-switch-adapter-get : Returns information about the specified HW switch management module.
+
 
+
<pre> qs hw-switch-adapter-get|hwsa-get --switch-adapter=value </pre>
+
{| cellspacing='0' cellpadding='5'
+
|-
+
| &nbsp; || <tt>switch-adapter</tt> || Storage switch adapter module ID
+
|}
+
 
+
 
+
; hw-switch-adapter-list : Returns a list of all the storage switch management adapters
+
 
+
<pre> qs hw-switch-adapter-list|hwsa-list </pre>
+
{| cellspacing='0' cellpadding='5'
+
 
+
; hw-switch-cred-add : Adds storage switch login credentials for a specific switch management adapter
+
 
+
<pre> qs hw-switch-cred-add|hwsc-add --username=value --password=value --domain-password=value --ip-address=value [--switch-adapter=value ] [--primary=value ] [--secondary=value ] </pre>
+
{| cellspacing='0' cellpadding='5'
+
|-
+
| &nbsp; || <tt>username</tt> || Administrator user name for the host, typically 'Administrator' for Windows hosts.
+
|-
+
| &nbsp; || <tt>password</tt> || Administrator password for the host; enables auto-configuration of host's iSCSI initiator.
+
|-
+
| &nbsp; || <tt>domain-password</tt> || Password for the committing zoneset changes to a storage switch.
+
|-
+
| &nbsp; || <tt>ip-address</tt> || IP Address of the host being added; if unspecified the service will look it up.
+
|-
+
| &nbsp; || <tt>switch-adapter</tt> || Storage switch adapter module ID
+
|-
+
| &nbsp; || <tt>primary</tt> || Primary storage system responsible for managing and discovering the switch(es)
+
|-
+
| &nbsp; || <tt>secondary</tt> || Secondary storage system responsible for managing and discovering the switch(es)
+
|}
+
 
+
 
+
; hw-switch-cred-get : Returns information about specific storage switch login credentials
+
 
+
<pre> qs hw-switch-cred-get|hwsc-get --creds=value </pre>
+
{| cellspacing='0' cellpadding='5'
+
|-
+
| &nbsp; || <tt>creds</tt> || Storage switch credentials (user/pass)
+
|}
+
 
+
 
+
; hw-switch-cred-list : Returns a list of all the storage switch login credentials
+
 
+
<pre> qs hw-switch-cred-list|hwsc-list [--switch-adapter=value ] </pre>
+
{| cellspacing='0' cellpadding='5'
+
|-
+
| &nbsp; || <tt>switch-adapter</tt> || Storage switch adapter module ID
+
|}
+
 
+
 
+
; hw-switch-cred-remove : Removes storage switch login credentials
+
 
+
<pre> qs hw-switch-cred-remove|hwsc-remove --creds=value </pre>
+
{| cellspacing='0' cellpadding='5'
+
|-
+
| &nbsp; || <tt>creds</tt> || Storage switch credentials (user/pass)
+
|}
+
 
+
 
+
; hw-switch-failover-group-activate : Activates the pools in a switch failover group on the specified storage system
+
 
+
<pre> qs hw-switch-failover-group-activate|hwsfg-activate --failover-group=value --storage-system=value </pre>
+
{| cellspacing='0' cellpadding='5'
+
|-
+
| &nbsp; || <tt>failover-group</tt> || Name/ID of a storage switch failover group
+
|-
+
| &nbsp; || <tt>storage-system</tt> || Name or ID of a storage system in a management grid.
+
|}
+
 
+
 
+
; hw-switch-failover-group-create : Creates a new switch failover group
+
 
+
<pre> qs hw-switch-failover-group-create|hwsfg-create --name=value --pool-list=value --sys-primary=value --zoneset-primary=value --sys-secondary=value --zoneset-secondary=value [--ip-address=value ] [--netmask=value ] [--gateway=value ] [--desc=value ] </pre>
+
{| cellspacing='0' cellpadding='5'
+
|-
+
| &nbsp; || <tt>name</tt> || Names may include any alpha-numeric plus '_' and '-' characters; spaces are not allowed.
+
|-
+
| &nbsp; || <tt>pool-list</tt> || List of one or more storage pools.
+
|-
+
| &nbsp; || <tt>sys-primary</tt> || Storage system associated with the failover group primary node
+
|-
+
| &nbsp; || <tt>zoneset-primary</tt> || Zoneset to be associated with the failover group primary node
+
|-
+
| &nbsp; || <tt>sys-secondary</tt> || Storage system associated with the failover group secondary node
+
|-
+
| &nbsp; || <tt>zoneset-secondary</tt> || Zoneset to be associated with the failover group secondary node
+
|-
+
| &nbsp; || <tt>ip-address</tt> || IP Address of the host being added; if unspecified the service will look it up.
+
|-
+
| &nbsp; || <tt>netmask</tt> || Subnet IP mask (ex: 255.255.255.0)
+
|-
+
| &nbsp; || <tt>gateway</tt> || IP address of the network gateway
+
|-
+
| &nbsp; || <tt>desc</tt> || A description for the object.
+
|}
+
 
+
 
+
; hw-switch-failover-group-delete : Deletes a failover group
+
 
+
<pre> qs hw-switch-failover-group-delete|hwsfg-delete --failover-group=value </pre>
+
{| cellspacing='0' cellpadding='5'
+
|-
+
| &nbsp; || <tt>failover-group</tt> || Name/ID of a storage switch failover group
+
|}
+
 
+
 
+
; hw-switch-failover-group-get : Returns information about a specific switch failover group
+
 
+
<pre> qs hw-switch-failover-group-get|hwsfg-get --failover-group=value </pre>
+
{| cellspacing='0' cellpadding='5'
+
|-
+
| &nbsp; || <tt>failover-group</tt> || Name/ID of a storage switch failover group
+
|}
+
 
+
 
+
; hw-switch-failover-group-list : Returns a list of all the switch failover groups
+
 
+
<pre> qs hw-switch-failover-group-list|hwsfg-list [--switch=value ] </pre>
+
{| cellspacing='0' cellpadding='5'
+
|-
+
| &nbsp; || <tt>switch</tt> || Name or ID of a SAS/FC storage switch
+
|}
+
 
+
 
+
; hw-switch-failover-group-modify : Modifies the properties of a failover group
+
 
+
<pre> qs hw-switch-failover-group-modify|hwsfg-modify --failover-group=value [--name=value ] [--ip-address=value ] [--netmask=value ] [--gateway=value ] [--pool-list=value ] [--sys-primary=value ] [--zoneset-primary=value ] [--sys-secondary=value ] [--zoneset-secondary=value ] [--desc=value ] </pre>
+
{| cellspacing='0' cellpadding='5'
+
|-
+
| &nbsp; || <tt>failover-group</tt> || Name/ID of a storage switch failover group
+
|-
+
| &nbsp; || <tt>name</tt> || Names may include any alpha-numeric plus '_' and '-' characters; spaces are not allowed.
+
|-
+
| &nbsp; || <tt>ip-address</tt> || IP Address of the host being added; if unspecified the service will look it up.
+
|-
+
| &nbsp; || <tt>netmask</tt> || Subnet IP mask (ex: 255.255.255.0)
+
|-
+
| &nbsp; || <tt>gateway</tt> || IP address of the network gateway
+
|-
+
| &nbsp; || <tt>pool-list</tt> || List of one or more storage pools.
+
|-
+
| &nbsp; || <tt>sys-primary</tt> || Storage system associated with the failover group primary node
+
|-
+
| &nbsp; || <tt>zoneset-primary</tt> || Zoneset to be associated with the failover group primary node
+
|-
+
| &nbsp; || <tt>sys-secondary</tt> || Storage system associated with the failover group secondary node
+
|-
+
| &nbsp; || <tt>zoneset-secondary</tt> || Zoneset to be associated with the failover group secondary node
+
|-
+
| &nbsp; || <tt>desc</tt> || A description for the object.
+
|}
+
 
+
 
+
; hw-switch-get : Returns detailed information about a storage switch
+
 
+
<pre> qs hw-switch-get|hws-get --switch=value </pre>
+
{| cellspacing='0' cellpadding='5'
+
|-
+
| &nbsp; || <tt>switch</tt> || Name or ID of a SAS/FC storage switch
+
|}
+
 
+
 
+
; hw-switch-list : Returns a list of all the discovered storage switches
+
 
+
<pre> qs hw-switch-list|hws-list [--switch-adapter=value ] </pre>
+
{| cellspacing='0' cellpadding='5'
+
|-
+
| &nbsp; || <tt>switch-adapter</tt> || Storage switch adapter module ID
+
|}
+
 
+
 
+
; hw-switch-zoneset-activate : Activates a specific storage switch zonset
+
 
+
<pre> qs hw-switch-zoneset-activate|hwsz-activate --zoneset=value [--switch=value ] </pre>
+
{| cellspacing='0' cellpadding='5'
+
|-
+
| &nbsp; || <tt>zoneset</tt> || Name or ID of a storage switch zoneset
+
|-
+
| &nbsp; || <tt>switch</tt> || Name or ID of a SAS/FC storage switch
+
|}
+
 
+
 
+
; hw-switch-zoneset-get : Returns information about a specific switch zoneset
+
 
+
<pre> qs hw-switch-zoneset-get|hwsz-get --zoneset=value </pre>
+
{| cellspacing='0' cellpadding='5'
+
|-
+
| &nbsp; || <tt>zoneset</tt> || Name or ID of a storage switch zoneset
+
|}
+
 
+
 
+
; hw-switch-zoneset-list : Returns a list of all the discovered zonesets
+
 
+
<pre> qs hw-switch-zoneset-list|hwsz-list [--switch=value ] </pre>
+
{| cellspacing='0' cellpadding='5'
+
|-
+
| &nbsp; || <tt>switch</tt> || Name or ID of a SAS/FC storage switch
+
|}
+
 
+
</div>
+
</div>
+
 
+
===License Management [LICENSE]===
+
Commands for management of QuantaStor license keys including adding, removing and listing keys within a grid of one or more appliances.
+
----
+
<div class='mw-collapsible mw-collapsed'>
+
<div class='mw-collapsible-content'>
+
 
+
; license-activate : Activates the system using a activation key received from customer support.
+
 
+
<pre> qs license-activate|lic-act --activation-key=value </pre>
+
{| cellspacing='0' cellpadding='5'
+
|-
+
| &nbsp; || <tt>activation-key</tt> || Activation key you'll receive from customer support after you send the activation request code.
+
|}
+
 
+
 
+
; license-activate-online : Requests automatic activation via the online activation service.
+
 
+
<pre> qs license-activate-online|lic-aon [--key=value ] </pre>
+
{| cellspacing='0' cellpadding='5'
+
|-
+
| &nbsp; || <tt>key</tt> || Unique license key identifier, use license-list to get a list of these.
+
|}
+
 
+
 
+
; license-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> qs license-add|lic-add --key-file=value [--storage-system=value ] </pre>
+
{| cellspacing='0' cellpadding='5'
+
|-
+
| &nbsp; || <tt>storage-system</tt> || Name or ID of a storage system in a management grid.
+
|-
+
| &nbsp; || <tt>key-file</tt> || Key file you received which contains a key block section.
+
|}
+
 
+
 
+
; license-get : Shows the current license key info, and any activation request code.
+
 
+
<pre> qs license-get|lic-get [--key=value ] </pre>
+
{| cellspacing='0' cellpadding='5'
+
|-
+
| &nbsp; || <tt>key</tt> || Unique license key identifier, use license-list to get a list of these.
+
|}
+
 
+
 
+
; license-list : Returns a list of all the registered license keys.
+
 
+
<pre> qs license-list|lic-list </pre>
+
{| cellspacing='0' cellpadding='5'
+
 
+
; license-remove : Removes the specified license key.
+
 
+
<pre> qs license-remove|lic-remove --key=value </pre>
+
{| cellspacing='0' cellpadding='5'
+
|-
+
| &nbsp; || <tt>key</tt> || Unique license key identifier, use license-list to get a list of these.
+
|}
+
 
+
</div>
+
</div>
+
 
+
===Cloud I/O Stats Management [METRICS]===
+
Commands for the configuration and management of Librato Metrics cloud stats collection system.
+
----
+
<div class='mw-collapsible mw-collapsed'>
+
<div class='mw-collapsible-content'>
+
 
+
; metrics-get : Get the current username, token, and interval settings for Librato Metrics.
+
 
+
<pre> qs metrics-get|lm-get --storage-system=value </pre>
+
{| cellspacing='0' cellpadding='5'
+
|-
+
| &nbsp; || <tt>storage-system</tt> || Name or ID of a storage system in a management grid.
+
|}
+
 
+
 
+
; metrics-set : Set the username, token, and interval for Librato Metrics posting.
+
 
+
<pre> qs metrics-set|lm-set --username=value --token=value [--storage-system=value ] [--interval=value ] [--dashboards=value ] [--alert-anno=value ] [--config-anno=value ] </pre>
+
{| cellspacing='0' cellpadding='5'
+
|-
+
| &nbsp; || <tt>storage-system</tt> || Name or ID of a storage system in a management grid.
+
|-
+
| &nbsp; || <tt>username</tt> || The username/email of the Librato Metrics account.
+
|-
+
| &nbsp; || <tt>token</tt> || The API token associated with the Librato Metrics account.
+
|-
+
| &nbsp; || <tt>interval</tt> || The interval in seconds of how often QuantaStor should post data to Librato Metrics.
+
|-
+
| &nbsp; || <tt>dashboards</tt> || Automatically create the QuantaStor system dashboard in Librato Metrics
+
|-
+
| &nbsp; || <tt>alert-anno</tt> || Add alert annotations to the Librato Metrics postings.
+
|-
+
| &nbsp; || <tt>config-anno</tt> || Add config annotations to the Librato Metrics postings.
+
|}
+
 
+
</div>
+
</div>
+
 
+
===Storage Pool Management [POOL]===
+
Storage Pools combined Physical Disks together to form fault-tolerant pools of storage that can be provisioned from.  Both Storage Volumes and Network Shares are provisioned from Storage Pools where ZFS based pools are the default ans XFS based pools are used for scale-out configurations using Ceph or Gluster technology.
+
----
+
<div class='mw-collapsible mw-collapsed'>
+
<div class='mw-collapsible-content'>
+
 
+
; pool-add-spare : Adds a dedicated hotspare to the specified storage pool.
+
 
+
<pre> qs pool-add-spare|p-add --pool=value --disk-list=value [--flags=value ] </pre>
+
{| cellspacing='0' cellpadding='5'
+
|-
+
| &nbsp; || <tt>pool</tt> || Name of the storage pool or its unique ID (GUID).
+
|-
+
| &nbsp; || <tt>disk-list</tt> || Comma delimited list of drives (no spaces) to be used for the operation.
+
|-
+
| &nbsp; || <tt>flags</tt> || Optional flags for the operation. [async]
+
|}
+
 
+
 
+
; pool-create : Creates a new storage pool from which storage volumes can be created.
+
 
+
<pre> qs pool-create|p-create --name=value --disk-list=value [--raid-type=value ] [--pool-type=value ] [--desc=value ] [--is-default=value ] [--ssd=value ] [--compress=value ] [--nobarriers=value ] [--profile=value ] [--raid-set-size=value ] [--encrypt=value ] [--encryption-type=value ] [--passphrase=value ] [--flags=value ] </pre>
+
{| cellspacing='0' cellpadding='5'
+
|-
+
| &nbsp; || <tt>name</tt> || Names may include any alpha-numeric plus '_' and '-' characters; spaces are not allowed.
+
|-
+
| &nbsp; || <tt>disk-list</tt> || Comma delimited list of drives (no spaces) to be used for the operation.
+
|-
+
| &nbsp; || <tt>raid-type</tt> || RAID type for the storage pool. [*AUTO, LINEAR, RAID0, RAID1, RAID10, RAID5, RAID6]
+
|-
+
| &nbsp; || <tt>pool-type</tt> || The type of storage pool to be created. [btrfs, ceph, ext4, jfs, *xfs, zfs]
+
|-
+
| &nbsp; || <tt>desc</tt> || A description for the object.
+
|-
+
| &nbsp; || <tt>is-default</tt> || Indicates that this pool should be utilized as the default storage pool.
+
|-
+
| &nbsp; || <tt>ssd</tt> || Enable solid state disk (SSD) storage pool optimizations.
+
|-
+
| &nbsp; || <tt>compress</tt> || Enable storage volume compression on the pool, this boosts both read and write performance on most IO loads.
+
|-
+
| &nbsp; || <tt>nobarriers</tt> || Enable storage pool write optimizations.  This requires that you have a hardware controller with a battery backup unit.
+
|-
+
| &nbsp; || <tt>profile</tt> || 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.
+
|-
+
| &nbsp; || <tt>raid-set-size</tt> || Then number of disks to use in each set of disks when creating a RAID50 or RAID60 storage pool.
+
|-
+
| &nbsp; || <tt>encrypt</tt> || Enables encryption on all devices in the storage pool.  Encryption can only be enabled at the time of pool creation.
+
|-
+
| &nbsp; || <tt>encryption-type</tt> || Sets the encryption algorithm, currently only the default aes256 is supported. [aes256, *default]
+
|-
+
| &nbsp; || <tt>passphrase</tt> || Locks up the storage keys into an encrypted file after the pool has been created.  After this the passphrase must be provided to start the storage pool.  If no storage pool is provided then the pool is started automatically at system startup time.
+
|-
+
| &nbsp; || <tt>flags</tt> || Optional flags for the operation. [async]
+
|}
+
 
+
 
+
; pool-destroy : Deletes a storage pool, *WARNING* any data in the pool will be lost.
+
 
+
<pre> qs pool-destroy|p-destroy --pool=value [--flags=value ] </pre>
+
{| cellspacing='0' cellpadding='5'
+
|-
+
| &nbsp; || <tt>pool</tt> || Name of the storage pool or its unique ID (GUID).
+
|-
+
| &nbsp; || <tt>flags</tt> || Optional flags for the operation. [async, force]
+
|}
+
 
+
 
+
; pool-device-get : Gets information about a specific storage pool device.
+
 
+
<pre> qs pool-device-get|spd-get --name=value </pre>
+
{| cellspacing='0' cellpadding='5'
+
|-
+
| &nbsp; || <tt>name</tt> || Names may include any alpha-numeric plus '_' and '-' characters; spaces are not allowed.
+
|}
+
 
+
 
+
; pool-device-list : Returns a list of all the storage pool devices.
+
 
+
<pre> qs pool-device-list|spd-list </pre>
+
{| cellspacing='0' cellpadding='5'
+
 
+
; pool-expand : Expands a storage pool after the underlying hardware RAID unit has been grown underneath.
+
 
+
<pre> qs pool-expand|p-expand --pool=value [--flags=value ] </pre>
+
{| cellspacing='0' cellpadding='5'
+
|-
+
| &nbsp; || <tt>pool</tt> || Name of the storage pool or its unique ID (GUID).
+
|-
+
| &nbsp; || <tt>flags</tt> || Optional flags for the operation. [async]
+
|}
+
 
+
 
+
; pool-export : Deactivate and removes the storage pool from the storage system database so that it can be exported and used on another system.
+
 
+
<pre> qs pool-export|p-export --pool=value [--flags=value ] </pre>
+
{| cellspacing='0' cellpadding='5'
+
|-
+
| &nbsp; || <tt>pool</tt> || Name of the storage pool or its unique ID (GUID).
+
|-
+
| &nbsp; || <tt>flags</tt> || Optional flags for the operation. [async]
+
|}
+
 
+
 
+
; pool-get : Gets information about a specific storage pool.
+
 
+
<pre> qs pool-get|p-get --pool=value </pre>
+
{| cellspacing='0' cellpadding='5'
+
|-
+
| &nbsp; || <tt>pool</tt> || Name of the storage pool or its unique ID (GUID).
+
|}
+
 
+
 
+
; pool-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> qs pool-grow|p-grow --pool=value --disk-list=value [--raid-type=value ] [--flags=value ] </pre>
+
{| cellspacing='0' cellpadding='5'
+
|-
+
| &nbsp; || <tt>pool</tt> || Name of the storage pool or its unique ID (GUID).
+
|-
+
| &nbsp; || <tt>disk-list</tt> || Comma delimited list of drives (no spaces) to be used for the operation.
+
|-
+
| &nbsp; || <tt>raid-type</tt> || RAID type for the storage pool. [*AUTO, LINEAR, RAID0, RAID1, RAID10, RAID5, RAID6]
+
|-
+
| &nbsp; || <tt>flags</tt> || Optional flags for the operation. [async]
+
|}
+
 
+
 
+
; pool-identify : Pulses the disk activity lights for all disks in the pool so they can be identified in the chassis.
+
 
+
<pre> qs pool-identify|p-id --pool=value [--pattern=value ] [--duration=value ] [--flags=value ] </pre>
+
{| cellspacing='0' cellpadding='5'
+
|-
+
| &nbsp; || <tt>pool</tt> || Name of the storage pool or its unique ID (GUID).
+
|-
+
| &nbsp; || <tt>pattern</tt> || Pattern to flash the disk LED lights in, p = short pulse, P = long pulse, d = short delay, D = long delay, ex: pattern=pppD
+
|-
+
| &nbsp; || <tt>duration</tt> || Duration in seconds to repeat the disk identification pattern.
+
|-
+
| &nbsp; || <tt>flags</tt> || Optional flags for the operation. [async]
+
|}
+
 
+
 
+
; pool-import : Imports the named storage pool(s) which have been previously exported.
+
 
+
<pre> qs pool-import|p-import --storage-system=value --pool-list=value [--flags=value ] </pre>
+
{| cellspacing='0' cellpadding='5'
+
|-
+
| &nbsp; || <tt>storage-system</tt> || Name or ID of a storage system in a management grid.
+
|-
+
| &nbsp; || <tt>pool-list</tt> || List of storage pools.
+
|-
+
| &nbsp; || <tt>flags</tt> || Optional flags for the operation. [async]
+
|}
+
 
+
 
+
; pool-list : Returns a list of all the storage pools.
+
 
+
<pre> qs pool-list|p-list </pre>
+
{| cellspacing='0' cellpadding='5'
+
 
+
; pool-modify : Modifies the properties of the storage pool such as its name and description.
+
 
+
<pre> qs pool-modify|p-modify --pool=value [--name=value ] [--is-default=value ] [--ssd=value ] [--compress=value ] [--nobarriers=value ] [--profile=value ] [--desc=value ] [--sync=value ] [--compression-type=value ] [--repair-policy=value ] [--approve-repair=value ] [--copies=value ] [--flags=value ] </pre>
+
{| cellspacing='0' cellpadding='5'
+
|-
+
| &nbsp; || <tt>pool</tt> || Name of the storage pool or its unique ID (GUID).
+
|-
+
| &nbsp; || <tt>name</tt> || Names may include any alpha-numeric plus '_' and '-' characters; spaces are not allowed.
+
|-
+
| &nbsp; || <tt>is-default</tt> || Indicates that this pool should be utilized as the default storage pool.
+
|-
+
| &nbsp; || <tt>ssd</tt> || Enable solid state disk (SSD) storage pool optimizations.
+
|-
+
| &nbsp; || <tt>compress</tt> || Enable storage volume compression on the pool, this boosts both read and write performance on most IO loads.
+
|-
+
| &nbsp; || <tt>nobarriers</tt> || Enable storage pool write optimizations.  This requires that you have a hardware controller with a battery backup unit.
+
|-
+
| &nbsp; || <tt>profile</tt> || 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.
+
|-
+
| &nbsp; || <tt>desc</tt> || A description for the object.
+
|-
+
| &nbsp; || <tt>sync</tt> || Synchronization 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]
+
|-
+
| &nbsp; || <tt>compression-type</tt> || Type of compression to be used. (on | off | lzjb | gzip | gzip-[1-9] | zle | lz4)
+
|-
+
| &nbsp; || <tt>repair-policy</tt> || Type of automatic hotspare repair action to be applied. (assigned-and-global | assigned-only | assigned-and-global-exact | assigned-only-exact | manual-repair) [*assigned-and-global, assigned-and-global-exact, assigned-only, assigned-only-exact, manual]
+
|-
+
| &nbsp; || <tt>approve-repair</tt> || Set flag to approve a pending storage pool repair action that is currently deferred and requires explicit manual approval by an operator/admin to proceed
+
|-
+
| &nbsp; || <tt>copies</tt> || 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 (supported only on ZFS based pools).
+
|-
+
| &nbsp; || <tt>flags</tt> || Optional flags for the operation. [async]
+
|}
+
 
+
 
+
; pool-preimport-scan : Returns a list of pools that are available to import but that are not yet discovered.
+
 
+
<pre> qs pool-preimport-scan|ppi-scan --storage-system=value [--flags=value ] </pre>
+
{| cellspacing='0' cellpadding='5'
+
|-
+
| &nbsp; || <tt>storage-system</tt> || Name or ID of a storage system in a management grid.
+
|-
+
| &nbsp; || <tt>flags</tt> || Optional flags for the operation. [min]
+
|}
+
 
+
 
+
; pool-profile-get : Gets information about a specific storage pool profile.
+
 
+
<pre> qs pool-profile-get|pp-get --profile=value </pre>
+
{| cellspacing='0' cellpadding='5'
+
|-
+
| &nbsp; || <tt>profile</tt> || 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.
+
|}
+
 
+
 
+
; pool-profile-list : Returns a list of all the storage pool profiles.
+
 
+
<pre> qs pool-profile-list|pp-list </pre>
+
{| cellspacing='0' cellpadding='5'
+
 
+
; pool-remove-spare : Removes the specified hotspare from the specified pool.
+
 
+
<pre> qs pool-remove-spare|p-remove --pool=value --disk-list=value [--flags=value ] </pre>
+
{| cellspacing='0' cellpadding='5'
+
|-
+
| &nbsp; || <tt>pool</tt> || Name of the storage pool or its unique ID (GUID).
+
|-
+
| &nbsp; || <tt>disk-list</tt> || Comma delimited list of drives (no spaces) to be used for the operation.
+
|-
+
| &nbsp; || <tt>flags</tt> || Optional flags for the operation. [async]
+
|}
+
 
+
 
+
; pool-scan : Rescans the specified storage system for storage pools.
+
 
+
<pre> qs pool-scan|p-scan [--storage-system=value ] [--flags=value ] </pre>
+
{| cellspacing='0' cellpadding='5'
+
|-
+
| &nbsp; || <tt>storage-system</tt> || Name or ID of a storage system in a management grid.
+
|-
+
| &nbsp; || <tt>flags</tt> || Optional flags for the operation. [async]
+
|}
+
 
+
 
+
; pool-scrub-start : Starts a scrub/verify operation on a ZFS-based storage pool (verifies data integrity and prevents bit-rot).See 'zpoolscrub' command for additional control. For example, 'zpoolscrub --cron' will setup an automatic monthly scrub.
+
 
+
<pre> qs pool-scrub-start|p-scrub-start --pool=value [--flags=value ] </pre>
+
{| cellspacing='0' cellpadding='5'
+
|-
+
| &nbsp; || <tt>pool</tt> || Name of the storage pool or its unique ID (GUID).
+
|-
+
| &nbsp; || <tt>flags</tt> || Optional flags for the operation. [async]
+
|}
+
 
+
 
+
; pool-scrub-stop : Stops the an active scrub/verify operation on a ZFS-based storage pool.
+
 
+
<pre> qs pool-scrub-stop|p-scrub-stop --pool=value [--flags=value ] </pre>
+
{| cellspacing='0' cellpadding='5'
+
|-
+
| &nbsp; || <tt>pool</tt> || Name of the storage pool or its unique ID (GUID).
+
|-
+
| &nbsp; || <tt>flags</tt> || Optional flags for the operation. [async]
+
|}
+
 
+
 
+
; pool-start : Starts up a previously stopped storage pool.
+
 
+
<pre> qs pool-start|p-start --pool=value [--passphrase=value ] [--flags=value ] </pre>
+
{| cellspacing='0' cellpadding='5'
+
|-
+
| &nbsp; || <tt>pool</tt> || Name of the storage pool or its unique ID (GUID).
+
|-
+
| &nbsp; || <tt>passphrase</tt> || If the Storage Pool was created with an encryption passphrase then it must be specified in order to temporarily unlock the keys and start the Storage Pool.
+
|-
+
| &nbsp; || <tt>flags</tt> || Optional flags for the operation. [async]
+
|}
+
 
+
 
+
; pool-stop : Stops all volume activity to the pool and disables it for maintenance.
+
 
+
<pre> qs pool-stop|p-stop --pool=value [--flags=value ] </pre>
+
{| cellspacing='0' cellpadding='5'
+
|-
+
| &nbsp; || <tt>pool</tt> || Name of the storage pool or its unique ID (GUID).
+
|-
+
| &nbsp; || <tt>flags</tt> || Optional flags for the operation. [async]
+
|}
+
 
+
</div>
+
</div>
+
 
+
===QoS Policy Management [QOSPOLICY]===
+
Storage Volume access can be throttled to limit throughput independently for read and write IO in terms of MB/sec via Quality of Serivce (QoS) policies.
+
----
+
<div class='mw-collapsible mw-collapsed'>
+
<div class='mw-collapsible-content'>
+
 
+
; qos-policy-create : Creates a new Quality-of-Service (QoS) policy template, which can apply performance limits to storage volumes.
+
 
+
<pre> qs qos-policy-create|qos-create --name=value --bw-read=value --bw-write=value [--desc=value ] [--flags=value ] </pre>
+
{| cellspacing='0' cellpadding='5'
+
|-
+
| &nbsp; || <tt>name</tt> || Names may include any alpha-numeric plus '_' and '-' characters; spaces are not allowed.
+
|-
+
| &nbsp; || <tt>bw-read</tt> || Sets the maximum read bandwidth (e.g., 100MB) per second as a Quality of Service (QoS) control on the storage volume, 0 (default) indicates unlimited.
+
|-
+
| &nbsp; || <tt>bw-write</tt> || Sets the maximum write bandwidth (e.g., 100MB) per second as a Quality of Service (QoS) control on the storage volume, 0 (default) indicates unlimited.
+
|-
+
| &nbsp; || <tt>desc</tt> || A description for the object.
+
|-
+
| &nbsp; || <tt>flags</tt> || Optional flags for the operation. [async]
+
|}
+
 
+
 
+
; qos-policy-delete : Deletes a given QoS Policy and clears the QoS performance limits on all Storage Volumes associated with the policy.
+
 
+
<pre> qs qos-policy-delete|qos-delete --qos-policy=value [--flags=value ] </pre>
+
{| cellspacing='0' cellpadding='5'
+
|-
+
| &nbsp; || <tt>qos-policy</tt> || Specifies the name or ID of a Quality of Service (QoS) policy.  QoS policies limit the throughput and IOPs of a storage volume which is especially useful in multi-tenant environments.
+
|-
+
| &nbsp; || <tt>flags</tt> || Optional flags for the operation. [async, force]
+
|}
+
 
+
 
+
; qos-policy-get : Returns detailed information about a specific QoS policy.
+
 
+
<pre> qs qos-policy-get|qos-get --qos-policy=value </pre>
+
{| cellspacing='0' cellpadding='5'
+
|-
+
| &nbsp; || <tt>qos-policy</tt> || Specifies the name or ID of a Quality of Service (QoS) policy.  QoS policies limit the throughput and IOPs of a storage volume which is especially useful in multi-tenant environments.
+
|}
+
 
+
 
+
; qos-policy-list : Returns details on the list of all QoS policy objects in the storage system grid.
+
 
+
<pre> qs qos-policy-list|qos-list </pre>
+
{| cellspacing='0' cellpadding='5'
+
 
+
; qos-policy-modify : Modifies an existing QoS policy with a new name, description, or performance limits. Changes are applied immediately to all volumes.
+
 
+
<pre> qs qos-policy-modify|qos-modify --qos-policy=value [--name=value ] [--desc=value ] [--bw-read=value ] [--bw-write=value ] [--flags=value ] </pre>
+
{| cellspacing='0' cellpadding='5'
+
|-
+
| &nbsp; || <tt>qos-policy</tt> || Specifies the name or ID of a Quality of Service (QoS) policy.  QoS policies limit the throughput and IOPs of a storage volume which is especially useful in multi-tenant environments.
+
|-
+
| &nbsp; || <tt>name</tt> || Names may include any alpha-numeric plus '_' and '-' characters; spaces are not allowed.
+
|-
+
| &nbsp; || <tt>desc</tt> || A description for the object.
+
|-
+
| &nbsp; || <tt>bw-read</tt> || Sets the maximum read bandwidth (e.g., 100MB) per second as a Quality of Service (QoS) control on the storage volume, 0 (default) indicates unlimited.
+
|-
+
| &nbsp; || <tt>bw-write</tt> || Sets the maximum write bandwidth (e.g., 100MB) per second as a Quality of Service (QoS) control on the storage volume, 0 (default) indicates unlimited.
+
|-
+
| &nbsp; || <tt>flags</tt> || Optional flags for the operation. [async]
+
|}
+
 
+
</div>
+
</div>
+
 
+
===Resource Group Quota Management [QUOTA]===
+
Resource Groups can have quotas associated with them to limit which pools and how much storage can be provisioned from those pools by a given group of users which are members of a Resource Group
+
----
+
<div class='mw-collapsible mw-collapsed'>
+
<div class='mw-collapsible-content'>
+
 
+
; provisioning-quota-create : Creates a new storage provisioning quota on a pool for the specified tenant resource cloud.
+
 
+
<pre> qs provisioning-quota-create|pq-create --name=value --pool=value --cloud=value [--policy=value ] [--desc=value ] [--psize=value ] [--usize=value ] [--max-volumes=value ] [--max-shares=value ] [--flags=value ] </pre>
+
{| cellspacing='0' cellpadding='5'
+
|-
+
| &nbsp; || <tt>name</tt> || Names may include any alpha-numeric plus '_' and '-' characters; spaces are not allowed.
+
|-
+
| &nbsp; || <tt>pool</tt> || Name of the storage pool or its unique ID (GUID).
+
|-
+
| &nbsp; || <tt>cloud</tt> || Name of a Storage Cloud or its unique id.
+
|-
+
| &nbsp; || <tt>policy</tt> || Indicates the type of quota to be created. [hard, *soft]
+
|-
+
| &nbsp; || <tt>desc</tt> || A description for the object.
+
|-
+
| &nbsp; || <tt>psize</tt> || The total thin-provisionable space allowed by this provisioning quota.
+
|-
+
| &nbsp; || <tt>usize</tt> || The total utilizable space allowed by this provisioning quota which may be less than the provisionable space.
+
|-
+
| &nbsp; || <tt>max-volumes</tt> || The maximum number of volumes that can be created using this quota, specify 0 for no limit.
+
|-
+
| &nbsp; || <tt>max-shares</tt> || The maximum number of share that can be created using this quota, specify 0 for no limit.
+
|-
+
| &nbsp; || <tt>flags</tt> || Optional flags for the operation. [async]
+
|}
+
 
+
 
+
; provisioning-quota-delete : Deletes a storage provisioning quota, the associated volumes are not deleted.
+
 
+
<pre> qs provisioning-quota-delete|pq-delete --quota=value [--flags=value ] </pre>
+
{| cellspacing='0' cellpadding='5'
+
|-
+
| &nbsp; || <tt>quota</tt> || Name or ID of a storage provisioning quota.
+
|-
+
| &nbsp; || <tt>flags</tt> || Optional flags for the operation. [async, force]
+
|}
+
 
+
 
+
; provisioning-quota-get : Returns information about a specific storage provisioning quota.
+
 
+
<pre> qs provisioning-quota-get|pq-get --quota=value </pre>
+
{| cellspacing='0' cellpadding='5'
+
|-
+
| &nbsp; || <tt>quota</tt> || Name or ID of a storage provisioning quota.
+
|}
+
 
+
 
+
; provisioning-quota-list : Returns a list of all the storage provisioning quotas.
+
 
+
<pre> qs provisioning-quota-list|pq-list </pre>
+
{| cellspacing='0' cellpadding='5'
+
 
+
; provisioning-quota-modify : Modifies one to change the name and/or description of a storage provisioning quota.
+
 
+
<pre> qs provisioning-quota-modify|pq-modify --quota=value --cloud=value [--name=value ] [--desc=value ] [--psize=value ] [--usize=value ] [--max-volumes=value ] [--max-shares=value ] [--policy=value ] [--flags=value ] </pre>
+
{| cellspacing='0' cellpadding='5'
+
|-
+
| &nbsp; || <tt>quota</tt> || Name or ID of a storage provisioning quota.
+
|-
+
| &nbsp; || <tt>cloud</tt> || Name of a Storage Cloud or its unique id.
+
|-
+
| &nbsp; || <tt>name</tt> || Names may include any alpha-numeric plus '_' and '-' characters; spaces are not allowed.
+
|-
+
| &nbsp; || <tt>desc</tt> || A description for the object.
+
|-
+
| &nbsp; || <tt>psize</tt> || The total thin-provisionable space allowed by this provisioning quota.
+
|-
+
| &nbsp; || <tt>usize</tt> || The total utilizable space allowed by this provisioning quota which may be less than the provisionable space.
+
|-
+
| &nbsp; || <tt>max-volumes</tt> || The maximum number of volumes that can be created using this quota, specify 0 for no limit.
+
|-
+
| &nbsp; || <tt>max-shares</tt> || The maximum number of share that can be created using this quota, specify 0 for no limit.
+
|-
+
| &nbsp; || <tt>policy</tt> || Indicates the type of quota to be created. [hard, *soft]
+
|-
+
| &nbsp; || <tt>flags</tt> || Optional flags for the operation. [async]
+
|}
+
 
+
 
+
; provisioning-quota-share-add : Adds one or more shares to the specified provisioning quota.
+
 
+
<pre> qs provisioning-quota-share-add|pqs-add --quota=value --share-list=value </pre>
+
{| cellspacing='0' cellpadding='5'
+
|-
+
| &nbsp; || <tt>quota</tt> || Name or ID of a storage provisioning quota.
+
|-
+
| &nbsp; || <tt>share-list</tt> || A list of one or more network shares.
+
|}
+
 
+
 
+
; provisioning-quota-share-assoc-list : Returns a list of all the associated provisioning quotas of a specified share.
+
 
+
<pre> qs provisioning-quota-share-assoc-list|pqs-alist --share=value </pre>
+
{| cellspacing='0' cellpadding='5'
+
|-
+
| &nbsp; || <tt>share</tt> || Name or ID of a network share.
+
|}
+
 
+
 
+
; provisioning-quota-share-remove : Removes one or more shares from the specified provisioning quota.
+
 
+
<pre> qs provisioning-quota-share-remove|pqs-remove --quota=value --share-list=value </pre>
+
{| cellspacing='0' cellpadding='5'
+
|-
+
| &nbsp; || <tt>quota</tt> || Name or ID of a storage provisioning quota.
+
|-
+
| &nbsp; || <tt>share-list</tt> || A list of one or more network shares.
+
|}
+
 
+
 
+
; provisioning-quota-volume-add : Adds one or more volumes to the specified provisioning quota.
+
 
+
<pre> qs provisioning-quota-volume-add|pqv-add --quota=value --volume-list=value </pre>
+
{| cellspacing='0' cellpadding='5'
+
|-
+
| &nbsp; || <tt>quota</tt> || Name or ID of a storage provisioning quota.
+
|-
+
| &nbsp; || <tt>volume-list</tt> || A list of one or more storage volumes.
+
|}
+
 
+
 
+
; provisioning-quota-volume-assoc-list : Returns a list of all the associated provisioning quotas of a specified volume.
+
 
+
<pre> qs provisioning-quota-volume-assoc-list|pqv-alist --volume=value </pre>
+
{| cellspacing='0' cellpadding='5'
+
|-
+
| &nbsp; || <tt>volume</tt> || Name of the storage volume or its unique ID (GUID).
+
|}
+
 
+
 
+
; provisioning-quota-volume-remove : Removes one or more volumes from the specified provisioning quota
+
 
+
<pre> qs provisioning-quota-volume-remove|pqv-remove --quota=value --volume-list=value </pre>
+
{| cellspacing='0' cellpadding='5'
+
|-
+
| &nbsp; || <tt>quota</tt> || Name or ID of a storage provisioning quota.
+
|-
+
| &nbsp; || <tt>volume-list</tt> || A list of one or more storage volumes.
+
|}
+
 
+
</div>
+
</div>
+
 
+
===Remote Replication Management [REPLICATION]===
+
Remote-replication and associated replication schedules enable automatic replication to a pool of storage in a remote appliance for disaster-recovery (DR) purposes.
+
----
+
<div class='mw-collapsible mw-collapsed'>
+
<div class='mw-collapsible-content'>
+
 
+
; replica-assoc-delete : Deletes the specified replication association between a source/target pair of volumes or shares.
+
 
+
<pre> qs replica-assoc-delete|rep-assoc-delete --replica-assoc=value </pre>
+
{| cellspacing='0' cellpadding='5'
+
|-
+
| &nbsp; || <tt>replica-assoc</tt> || Name or ID of a replica association between a source/target volume or share
+
|}
+
 
+
 
+
; replica-assoc-get : Returns details of the specified replication association.
+
 
+
<pre> qs replica-assoc-get|rep-assoc-get --replica-assoc=value </pre>
+
{| cellspacing='0' cellpadding='5'
+
|-
+
| &nbsp; || <tt>replica-assoc</tt> || Name or ID of a replica association between a source/target volume or share
+
|}
+
 
+
 
+
; replica-assoc-list : Returns a list of all the replication associations.
+
 
+
<pre> qs replica-assoc-list|rep-assoc-list </pre>
+
{| cellspacing='0' cellpadding='5'
+
 
+
; replica-assoc-rollback : Reverses the replication to send the changes on the target back to the source volume/share.  Requires the --force flag.
+
 
+
<pre> qs replica-assoc-rollback|rep-assoc-rollback --replica-assoc=value </pre>
+
{| cellspacing='0' cellpadding='5'
+
|-
+
| &nbsp; || <tt>replica-assoc</tt> || Name or ID of a replica association between a source/target volume or share
+
|}
+
 
+
 
+
; replica-assoc-stop : Attempts to stop the replication process between a source/target pair of volumes or shares.
+
 
+
<pre> qs replica-assoc-stop|rep-assoc-stop --replica-assoc=value </pre>
+
{| cellspacing='0' cellpadding='5'
+
|-
+
| &nbsp; || <tt>replica-assoc</tt> || Name or ID of a replica association between a source/target volume or share
+
|}
+
 
+
 
+
; replica-assoc-sync : Restarts the replication process between a source/target pair of volumes or shares.
+
 
+
<pre> qs replica-assoc-sync|rep-assoc-sync --replica-assoc=value </pre>
+
{| cellspacing='0' cellpadding='5'
+
|-
+
| &nbsp; || <tt>replica-assoc</tt> || Name or ID of a replica association between a source/target volume or share
+
|}
+
 
+
 
+
; replication-schedule-add : Adds one or more volumes/shares to the specified schedule.
+
 
+
<pre> qs replication-schedule-add|rsch-add --schedule=value [--volume-list=value ] [--share-list=value ] </pre>
+
{| cellspacing='0' cellpadding='5'
+
|-
+
| &nbsp; || <tt>schedule</tt> || Name or ID of a replication schedule.
+
|-
+
| &nbsp; || <tt>volume-list</tt> || A list of one or more storage volumes.
+
|-
+
| &nbsp; || <tt>share-list</tt> || A list of one or more network shares.
+
|}
+
 
+
 
+
; replication-schedule-create : Creates a new replication schedule to replicate the specified storage volumes and shares to the specified target pool on a schedule.
+
 
+
<pre> qs replication-schedule-create|rsch-create --name=value --target-pool=value [--volume-list=value ] [--share-list=value ] [--start-date=value ] [--enabled=value ] [--desc=value ] [--cloud=value ] [--max-replicas=value ] [--days=value ] [--hours=value ] [--interval=value ] [--offset-minutes=value ] [--flags=value ] </pre>
+
{| cellspacing='0' cellpadding='5'
+
|-
+
| &nbsp; || <tt>name</tt> || Names may include any alpha-numeric plus '_' and '-' characters; spaces are not allowed.
+
|-
+
| &nbsp; || <tt>target-pool</tt> || Target storage pool on remote system to replicate to.
+
|-
+
| &nbsp; || <tt>volume-list</tt> || A list of one or more storage volumes.
+
|-
+
| &nbsp; || <tt>share-list</tt> || A list of one or more network shares.
+
|-
+
| &nbsp; || <tt>start-date</tt> || Start date at which the system will begin using a given schedule.
+
|-
+
| &nbsp; || <tt>enabled</tt> || While the schedule is enabled snapshots will be taken at the designated times.
+
|-
+
| &nbsp; || <tt>desc</tt> || A description for the object.
+
|-
+
| &nbsp; || <tt>cloud</tt> || Name of a Storage Cloud or its unique id.
+
|-
+
| &nbsp; || <tt>max-replicas</tt> || Maximum number of replica snapshot checkpoints to retain for this schedule, after which the oldest snapshot is removed before a new one is created.
+
|-
+
| &nbsp; || <tt>days</tt> || The days of the week on which this schedule should create snapshots. [fri, mon, sat, *sun, thu, tue, wed]
+
|-
+
| &nbsp; || <tt>hours</tt> || 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]
+
|-
+
| &nbsp; || <tt>interval</tt> || Interval in minutes between replications, minimum is 15 minutes.
+
|-
+
| &nbsp; || <tt>offset-minutes</tt> || Delay the scheduled start time by specified minutes. For example, a 30min offset with scheduled trigger time of 1am and 4am will trigger at 1:30am and 4:30am respectively.
+
|-
+
| &nbsp; || <tt>flags</tt> || Optional flags for the operation. [async]
+
|}
+
 
+
 
+
; replication-schedule-delete : Deletes a replication schedule, snapshots associated with the schedule are not removed.
+
 
+
<pre> qs replication-schedule-delete|rsch-delete --schedule=value [--flags=value ] </pre>
+
{| cellspacing='0' cellpadding='5'
+
|-
+
| &nbsp; || <tt>schedule</tt> || Name or ID of a replication schedule.
+
|-
+
| &nbsp; || <tt>flags</tt> || Optional flags for the operation. [async, force]
+
|}
+
 
+
 
+
; replication-schedule-disable : Disables the specified replication schedule.
+
 
+
<pre> qs replication-schedule-disable|rsch-disable --schedule=value [--flags=value ] </pre>
+
{| cellspacing='0' cellpadding='5'
+
|-
+
| &nbsp; || <tt>schedule</tt> || Name or ID of a replication schedule.
+
|-
+
| &nbsp; || <tt>flags</tt> || Optional flags for the operation. [async, force]
+
|}
+
 
+
 
+
; replication-schedule-enable : Enables the specified replication schedule.
+
 
+
<pre> qs replication-schedule-enable|rsch-enable --schedule=value [--flags=value ] </pre>
+
{| cellspacing='0' cellpadding='5'
+
|-
+
| &nbsp; || <tt>schedule</tt> || Name or ID of a replication schedule.
+
|-
+
| &nbsp; || <tt>flags</tt> || Optional flags for the operation. [async, force]
+
|}
+
 
+
 
+
; replication-schedule-get : Returns information about a specific replication schedule.
+
 
+
<pre> qs replication-schedule-get|rsch-get --schedule=value </pre>
+
{| cellspacing='0' cellpadding='5'
+
|-
+
| &nbsp; || <tt>schedule</tt> || Name or ID of a replication schedule.
+
|}
+
 
+
 
+
; replication-schedule-list : Returns a list of all the replication schedules.
+
 
+
<pre> qs replication-schedule-list|rsch-list </pre>
+
{| cellspacing='0' cellpadding='5'
+
 
+
; replication-schedule-modify : Modifies the name, description or other properties of a replication schedule.
+
 
+
<pre> qs replication-schedule-modify|rsch-modify --schedule=value [--name=value ] [--start-date=value ] [--enabled=value ] [--desc=value ] [--cloud=value ] [--max-replicas=value ] [--days=value ] [--hours=value ] [--interval=value ] [--offset-minutes=value ] [--flags=value ] </pre>
+
{| cellspacing='0' cellpadding='5'
+
|-
+
| &nbsp; || <tt>schedule</tt> || Name or ID of a replication schedule.
+
|-
+
| &nbsp; || <tt>name</tt> || Names may include any alpha-numeric plus '_' and '-' characters; spaces are not allowed.
+
|-
+
| &nbsp; || <tt>start-date</tt> || Start date at which the system will begin using a given schedule.
+
|-
+
| &nbsp; || <tt>enabled</tt> || While the schedule is enabled snapshots will be taken at the designated times.
+
|-
+
| &nbsp; || <tt>desc</tt> || A description for the object.
+
|-
+
| &nbsp; || <tt>cloud</tt> || Name of a Storage Cloud or its unique id.
+
|-
+
| &nbsp; || <tt>max-replicas</tt> || Maximum number of replica snapshot checkpoints to retain for this schedule, after which the oldest snapshot is removed before a new one is created.
+
|-
+
| &nbsp; || <tt>days</tt> || The days of the week on which this schedule should create snapshots. [fri, mon, sat, *sun, thu, tue, wed]
+
|-
+
| &nbsp; || <tt>hours</tt> || 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]
+
|-
+
| &nbsp; || <tt>interval</tt> || Interval in minutes between replications, minimum is 15 minutes.
+
|-
+
| &nbsp; || <tt>offset-minutes</tt> || Delay the scheduled start time by specified minutes. For example, a 30min offset with scheduled trigger time of 1am and 4am will trigger at 1:30am and 4:30am respectively.
+
|-
+
| &nbsp; || <tt>flags</tt> || Optional flags for the operation. [async]
+
|}
+
 
+
 
+
; replication-schedule-remove : Removes one or more volumes/shares from the specified schedule.
+
 
+
<pre> qs replication-schedule-remove|rsch-remove --schedule=value [--volume-list=value ] [--share-list=value ] </pre>
+
{| cellspacing='0' cellpadding='5'
+
|-
+
| &nbsp; || <tt>schedule</tt> || Name or ID of a replication schedule.
+
|-
+
| &nbsp; || <tt>volume-list</tt> || A list of one or more storage volumes.
+
|-
+
| &nbsp; || <tt>share-list</tt> || A list of one or more network shares.
+
|}
+
 
+
 
+
; replication-schedule-trigger : Triggers the specified schedule to run immediately.
+
 
+
<pre> qs replication-schedule-trigger|rsch-trigger --schedule=value [--flags=value ] </pre>
+
{| cellspacing='0' cellpadding='5'
+
|-
+
| &nbsp; || <tt>schedule</tt> || Name or ID of a replication schedule.
+
|-
+
| &nbsp; || <tt>flags</tt> || Optional flags for the operation. [async, force]
+
|}
+
 
+
</div>
+
</div>
+
 
+
===Resource Domain Management [RESOURCE-DOMAIN]===
+
Resource Domains group appliances by site, building, and rack so that scale-out data distribution technologies (Ceph CRUSH, GlusterFS) can be automatically configured.
+
----
+
<div class='mw-collapsible mw-collapsed'>
+
<div class='mw-collapsible-content'>
+
 
+
; resource-domain-add-system : Adds one or more systems to a resource domain (site, rack, etc).
+
 
+
<pre> qs resource-domain-add-system|rd-add-sys --domain-resource=value --system-list=value </pre>
+
{| cellspacing='0' cellpadding='5'
+
|-
+
| &nbsp; || <tt>domain-resource</tt> || ID or name of a domain resource.
+
|-
+
| &nbsp; || <tt>system-list</tt> || List of one or more systems to be associated with a resource domain.
+
|}
+
 
+
 
+
; resource-domain-assoc-get : Returns information about a system/appliance association with a specific domain (rack, building, site).
+
 
+
<pre> qs resource-domain-assoc-get|rda-get [--system-resource=value ] [--resource-domain-assoc=value ] </pre>
+
{| cellspacing='0' cellpadding='5'
+
|-
+
| &nbsp; || <tt>system-resource</tt> || Storage system to be associated to a resource domain (site, rack, building) for use in automatic CRUSH map generation.
+
|-
+
| &nbsp; || <tt>resource-domain-assoc</tt> || Resource domain association between a system and a resource domain (site, rack, building) for use in automatic CRUSH map generation.
+
|}
+
 
+
 
+
; resource-domain-assoc-list : Returns a list of all the defined resource domain association objects which represent links between appliances to sites, buildings, and racks.
+
 
+
<pre> qs resource-domain-assoc-list|rda-list </pre>
+
{| cellspacing='0' cellpadding='5'
+
 
+
; resource-domain-create : Creates a new resource domain which identifies a site, building or rack of equipment.
+
 
+
<pre> qs resource-domain-create|rd-create --name=value [--desc=value ] [--resource-type=value ] [--resource-parent=value ] [--flags=value ] </pre>
+
{| cellspacing='0' cellpadding='5'
+
|-
+
| &nbsp; || <tt>name</tt> || Names may include any alpha-numeric plus '_' and '-' characters; spaces are not allowed.
+
|-
+
| &nbsp; || <tt>desc</tt> || A description for the object.
+
|-
+
| &nbsp; || <tt>resource-type</tt> || Type of the domain resource which can be a site, building, rack, or server. [building, *rack, region, server, site]
+
|-
+
| &nbsp; || <tt>resource-parent</tt> || Parent domain resource name or ID.  For example a rack resource can have a parent resource of type site or building.
+
|-
+
| &nbsp; || <tt>flags</tt> || Optional flags for the operation. [async]
+
|}
+
 
+
 
+
; resource-domain-delete : Deletes the specified resource domain.
+
 
+
<pre> qs resource-domain-delete|rd-delete --domain-resource=value [--flags=value ] </pre>
+
{| cellspacing='0' cellpadding='5'
+
|-
+
| &nbsp; || <tt>domain-resource</tt> || ID or name of a domain resource.
+
|-
+
| &nbsp; || <tt>flags</tt> || Optional flags for the operation. [async, force]
+
|}
+
 
+
 
+
; resource-domain-get : Resource failure domains identify physical equipment, sites, racks so that data can be dispersed in such a way as to ensure fault-tolerance and high availability across sites and racks.
+
 
+
<pre> qs resource-domain-get|rd-get --domain-resource=value </pre>
+
{| cellspacing='0' cellpadding='5'
+
|-
+
| &nbsp; || <tt>domain-resource</tt> || ID or name of a domain resource.
+
|}
+
 
+
 
+
; resource-domain-list : Returns a list of all the defined resource domain objects which can include sites, buildings, racks, and servers.
+
 
+
<pre> qs resource-domain-list|rd-list </pre>
+
{| cellspacing='0' cellpadding='5'
+
 
+
; resource-domain-modify : Modifies an existing resource domain to change properties like name and description.
+
 
+
<pre> qs resource-domain-modify|rd-modify --domain-resource=value [--name=value ] [--desc=value ] [--resource-type=value ] [--resource-parent=value ] [--flags=value ] </pre>
+
{| cellspacing='0' cellpadding='5'
+
|-
+
| &nbsp; || <tt>domain-resource</tt> || ID or name of a domain resource.
+
|-
+
| &nbsp; || <tt>name</tt> || Names may include any alpha-numeric plus '_' and '-' characters; spaces are not allowed.
+
|-
+
| &nbsp; || <tt>desc</tt> || A description for the object.
+
|-
+
| &nbsp; || <tt>resource-type</tt> || Type of the domain resource which can be a site, building, rack, or server. [building, *rack, region, server, site]
+
|-
+
| &nbsp; || <tt>resource-parent</tt> || Parent domain resource name or ID.  For example a rack resource can have a parent resource of type site or building.
+
|-
+
| &nbsp; || <tt>flags</tt> || Optional flags for the operation. [async]
+
|}
+
 
+
 
+
; resource-domain-rm-system : Removes one or more systems from a resource domain (site, rack, etc)
+
 
+
<pre> qs resource-domain-rm-system|rd-rm-sys --domain-resource=value --system-list=value </pre>
+
{| cellspacing='0' cellpadding='5'
+
|-
+
| &nbsp; || <tt>domain-resource</tt> || ID or name of a domain resource.
+
|-
+
| &nbsp; || <tt>system-list</tt> || List of one or more systems to be associated with a resource domain.
+
|}
+
 
+
</div>
+
</div>
+
 
+
===Multitenant Resource Group Management [RESOURCE-GROUP]===
+
Resource Groups combine volumes, shares, and pools of storage together and so that they can be assigned to one more users (tenants).  This facilitates multi-tenancy and delegation of common tasks like storage provisioning to end-users.
+
----
+
<div class='mw-collapsible mw-collapsed'>
+
<div class='mw-collapsible-content'>
+
 
+
; resource-group-create : Creates a new tenant resource group comprised of the specified users, resources and chap information.
+
 
+
<pre> qs resource-group-create|rg-create --name=value [--desc=value ] [--subject-list=value ] [--resource-list=value ] [--parent-cloud=value ] [--tier=value ] [--organization=value ] [--chap-user=value ] [--chap-pass=value ] [--flags=value ] </pre>
+
{| cellspacing='0' cellpadding='5'
+
|-
+
| &nbsp; || <tt>name</tt> || Names may include any alpha-numeric plus '_' and '-' characters; spaces are not allowed.
+
|-
+
| &nbsp; || <tt>desc</tt> || A description for the object.
+
|-
+
| &nbsp; || <tt>subject-list</tt> || A list subjects in the following format name:type. Ex: userName:user,groupName:user_group...
+
|-
+
| &nbsp; || <tt>resource-list</tt> || A list resources in the following format name:type. Ex: vol:volume,hostname:host...
+
|-
+
| &nbsp; || <tt>parent-cloud</tt> || The name or unique id of a tenant resource cloud.
+
|-
+
| &nbsp; || <tt>tier</tt> || The tier of the storage cloud.
+
|-
+
| &nbsp; || <tt>organization</tt> || The name of the organization this tenant resource cloud is assigned to.
+
|-
+
| &nbsp; || <tt>chap-user</tt> || An optional iSCSI CHAP username.
+
|-
+
| &nbsp; || <tt>chap-pass</tt> || An optional iSCSI CHAP password.
+
|-
+
| &nbsp; || <tt>flags</tt> || Optional flags for the operation. [async, force, min, *none]
+
|}
+
 
+
 
+
; resource-group-delete : Deletes a tenant's resource group, the resources and users will not be deleted.
+
 
+
<pre> qs resource-group-delete|rg-delete --cloud=value [--flags=value ] </pre>
+
{| cellspacing='0' cellpadding='5'
+
|-
+
| &nbsp; || <tt>cloud</tt> || Name of a Storage Cloud or its unique id.
+
|-
+
| &nbsp; || <tt>flags</tt> || Optional flags for the operation. [async, force]
+
|}
+
 
+
 
+
; resource-group-get : Returns information of the specified tenant resource groups.
+
 
+
<pre> qs resource-group-get|rg-get --cloud=value [--flags=value ] </pre>
+
{| cellspacing='0' cellpadding='5'
+
|-
+
| &nbsp; || <tt>cloud</tt> || Name of a Storage Cloud or its unique id.
+
|-
+
| &nbsp; || <tt>flags</tt> || Optional flags for the operation. [async, force]
+
|}
+
 
+
 
+
; resource-group-list : Returns a list of all the tenant resource groups.
+
 
+
<pre> qs resource-group-list|rg-list [--flags=value ] </pre>
+
{| cellspacing='0' cellpadding='5'
+
|-
+
| &nbsp; || <tt>flags</tt> || Optional flags for the operation. [async, force]
+
|}
+
 
+
 
+
; resource-group-modify : Modifies the name, description, parent resource group, tier, organization, and chap information of a resource group.
+
 
+
<pre> qs resource-group-modify|rg-modify --cloud=value [--name=value ] [--desc=value ] [--parent-cloud=value ] [--tier=value ] [--organization=value ] [--chap-user=value ] [--chap-pass=value ] [--flags=value ] </pre>
+
{| cellspacing='0' cellpadding='5'
+
|-
+
| &nbsp; || <tt>cloud</tt> || Name of a Storage Cloud or its unique id.
+
|-
+
| &nbsp; || <tt>name</tt> || Names may include any alpha-numeric plus '_' and '-' characters; spaces are not allowed.
+
|-
+
| &nbsp; || <tt>desc</tt> || A description for the object.
+
|-
+
| &nbsp; || <tt>parent-cloud</tt> || The name or unique id of a tenant resource cloud.
+
|-
+
| &nbsp; || <tt>tier</tt> || The tier of the storage cloud.
+
|-
+
| &nbsp; || <tt>organization</tt> || The name of the organization this tenant resource cloud is assigned to.
+
|-
+
| &nbsp; || <tt>chap-user</tt> || An optional iSCSI CHAP username.
+
|-
+
| &nbsp; || <tt>chap-pass</tt> || An optional iSCSI CHAP password.
+
|-
+
| &nbsp; || <tt>flags</tt> || Optional flags for the operation. [async, force, min, *none]
+
|}
+
 
+
 
+
; resource-group-resource-add : Add one or more resources to the specified tenant resource group.
+
 
+
<pre> qs resource-group-resource-add|rgr-add --cloud=value --resource-list=value </pre>
+
{| cellspacing='0' cellpadding='5'
+
|-
+
| &nbsp; || <tt>cloud</tt> || Name of a Storage Cloud or its unique id.
+
|-
+
| &nbsp; || <tt>resource-list</tt> || A list resources in the following format name:type. Ex: vol:volume,hostname:host...
+
|}
+
 
+
 
+
; resource-group-resource-mode : Set the mode of a specified resource in the tenant resource group.
+
 
+
<pre> qs resource-group-resource-mode|rgr-mode --cloud=value --resource=value --access-mode=value [--flags=value ] </pre>
+
{| cellspacing='0' cellpadding='5'
+
|-
+
| &nbsp; || <tt>cloud</tt> || Name of a Storage Cloud or its unique id.
+
|-
+
| &nbsp; || <tt>resource</tt> || The unique id of a volume or volume group or share or host or host group.
+
|-
+
| &nbsp; || <tt>access-mode</tt> || Access mode for the volume.
+
|-
+
| &nbsp; || <tt>flags</tt> || Optional flags for the operation. [async, force, min, *none]
+
|}
+
 
+
 
+
; resource-group-resource-remove : Remove one or more resource from the specified tenant resource group.
+
 
+
<pre> qs resource-group-resource-remove|rgr-remove --cloud=value --resource-list=value </pre>
+
{| cellspacing='0' cellpadding='5'
+
|-
+
| &nbsp; || <tt>cloud</tt> || Name of a Storage Cloud or its unique id.
+
|-
+
| &nbsp; || <tt>resource-list</tt> || A list resources in the following format name:type. Ex: vol:volume,hostname:host...
+
|}
+
 
+
 
+
; resource-group-subject-assoc-list : Returns a list of associated tenant resource groups to the specified subject (user or user group).
+
 
+
<pre> qs resource-group-subject-assoc-list|rgsub-alist --subject=value [--flags=value ] </pre>
+
{| cellspacing='0' cellpadding='5'
+
|-
+
| &nbsp; || <tt>subject</tt> || The unique id of a user or user group.
+
|-
+
| &nbsp; || <tt>flags</tt> || Optional flags for the operation. [async, force]
+
|}
+
 
+
 
+
; resource-group-user-add : Add one or more users to the specified tenant resource group.
+
 
+
<pre> qs resource-group-user-add|rgu-add --cloud=value --subject-list=value </pre>
+
{| cellspacing='0' cellpadding='5'
+
|-
+
| &nbsp; || <tt>cloud</tt> || Name of a Storage Cloud or its unique id.
+
|-
+
| &nbsp; || <tt>subject-list</tt> || A list subjects in the following format name:type. Ex: userName:user,groupName:user_group...
+
|}
+
 
+
 
+
; resource-group-user-remove : Remove one or more users from specified tenant resource group.
+
 
+
<pre> qs resource-group-user-remove|rgu-remove --cloud=value --subject-list=value </pre>
+
{| cellspacing='0' cellpadding='5'
+
|-
+
| &nbsp; || <tt>cloud</tt> || Name of a Storage Cloud or its unique id.
+
|-
+
| &nbsp; || <tt>subject-list</tt> || A list subjects in the following format name:type. Ex: userName:user,groupName:user_group...
+
|}
+
 
+
</div>
+
</div>
+
 
+
===RBAC Role Management [ROLE]===
+
Advanced Role Based Access Controls (RBAC) allow for the creation of custom roles that limit users to specific tasks and operations within a grid or Resource Group (collection of volumes, shares, and pools).
+
----
+
<div class='mw-collapsible mw-collapsed'>
+
<div class='mw-collapsible-content'>
+
 
+
; role-add : Adds a new role to the role based access control (RBAC) system.
+
 
+
<pre> qs role-add|r-add --name=value [--desc=value ] [--permissions=value ] </pre>
+
{| cellspacing='0' cellpadding='5'
+
|-
+
| &nbsp; || <tt>name</tt> || Names may include any alpha-numeric plus '_' and '-' characters; spaces are not allowed.
+
|-
+
| &nbsp; || <tt>desc</tt> || A description for the object.
+
|-
+
| &nbsp; || <tt>permissions</tt> || List of permissions and/or permission groups to add to the specified role.
+
|}
+
 
+
 
+
; role-get : Gets information about the specified role.
+
 
+
<pre> qs role-get|r-get --role=value </pre>
+
{| cellspacing='0' cellpadding='5'
+
|-
+
| &nbsp; || <tt>role</tt> || Name of a security role or its unique ID (GUID).
+
|}
+
 
+
 
+
; role-list : Returns a list of all the defined roles the RBAC system.
+
 
+
<pre> qs role-list|r-list </pre>
+
{| cellspacing='0' cellpadding='5'
+
 
+
; role-modify : Modifies the name and/or description of a role
+
 
+
<pre> qs role-modify|r-modify --role=value [--name=value ] [--desc=value ] </pre>
+
{| cellspacing='0' cellpadding='5'
+
|-
+
| &nbsp; || <tt>role</tt> || Name of a security role or its unique ID (GUID).
+
|-
+
| &nbsp; || <tt>name</tt> || Names may include any alpha-numeric plus '_' and '-' characters; spaces are not allowed.
+
|-
+
| &nbsp; || <tt>desc</tt> || A description for the object.
+
|}
+
 
+
 
+
; role-permission-add : Adds additional permissions and/or permission groups to the specified role.
+
 
+
<pre> qs role-permission-add|rp-add --role=value --permissions=value </pre>
+
{| cellspacing='0' cellpadding='5'
+
|-
+
| &nbsp; || <tt>role</tt> || Name of a security role or its unique ID (GUID).
+
|-
+
| &nbsp; || <tt>permissions</tt> || List of permissions and/or permission groups to add to the specified role.
+
|}
+
 
+
 
+
; role-permission-def-list : Returns a list of all the defined permissions available to be assigned to roles in the RBAC system.
+
 
+
<pre> qs role-permission-def-list|rpd-list </pre>
+
{| cellspacing='0' cellpadding='5'
+
 
+
; role-permission-remove : Removes one or more permissions and/or permission groups from the specified role.
+
 
+
<pre> qs role-permission-remove|rp-remove --role=value --permissions=value </pre>
+
{| cellspacing='0' cellpadding='5'
+
|-
+
| &nbsp; || <tt>role</tt> || Name of a security role or its unique ID (GUID).
+
|-
+
| &nbsp; || <tt>permissions</tt> || List of permissions and/or permission groups to add to the specified role.
+
|}
+
 
+
 
+
; role-remove : Removes the specified role identified by name or ID
+
 
+
<pre> qs role-remove|r-remove --role=value </pre>
+
{| cellspacing='0' cellpadding='5'
+
|-
+
| &nbsp; || <tt>role</tt> || Name of a security role or its unique ID (GUID).
+
|}
+
 
+
</div>
+
</div>
+
 
+
===Snapshot Schedule Management [SCHEDULE]===
+
Snapshot schedules make automatic instant point-in-time snapshots of Storage Volumes and/or Network Shares on a scheduleIt is highly recommended that snapshot schedule(s) be created for all mission critical volumes and shares so that data and files can be easily recovered from a previous point in time.
+
----
+
<div class='mw-collapsible mw-collapsed'>
+
<div class='mw-collapsible-content'>
+
 
+
; snap-schedule-add : Adds one or more volumes/shares to the specified schedule.
+
 
+
<pre> qs snap-schedule-add|sch-add --schedule=value [--volume-list=value ] [--share-list=value ] </pre>
+
{| cellspacing='0' cellpadding='5'
+
|-
+
| &nbsp; || <tt>schedule</tt> || Name of a snapshot schedule or its unique ID (GUID).
+
|-
+
| &nbsp; || <tt>volume-list</tt> || A list of one or more storage volumes.
+
|-
+
| &nbsp; || <tt>share-list</tt> || A list of one or more network shares.
+
|}
+
 
+
 
+
; snap-schedule-assoc-list : Returns a list of all the volume/share associations for a given snapshot schedule.
+
 
+
<pre> qs snap-schedule-assoc-list|scha-list --schedule=value </pre>
+
{| cellspacing='0' cellpadding='5'
+
|-
+
| &nbsp; || <tt>schedule</tt> || Name of a snapshot schedule or its unique ID (GUID).
+
|}
+
 
+
 
+
; snap-schedule-create : Creates a new snapshot schedule comprised of the specified storage volumes.
+
 
+
<pre> qs snap-schedule-create|sch-create --name=value [--volume-list=value ] [--share-list=value ] [--start-date=value ] [--enabled=value ] [--desc=value ] [--cloud=value ] [--max-snaps=value ] [--days=value ] [--hours=value ] [--flags=value ] </pre>
+
{| cellspacing='0' cellpadding='5'
+
|-
+
| &nbsp; || <tt>name</tt> || Names may include any alpha-numeric plus '_' and '-' characters; spaces are not allowed.
+
|-
+
| &nbsp; || <tt>volume-list</tt> || A list of one or more storage volumes.
+
|-
+
| &nbsp; || <tt>share-list</tt> || A list of one or more network shares.
+
|-
+
| &nbsp; || <tt>start-date</tt> || Start date at which the system will begin using a given schedule.
+
|-
+
| &nbsp; || <tt>enabled</tt> || While the schedule is enabled snapshots will be taken at the designated times.
+
|-
+
| &nbsp; || <tt>desc</tt> || A description for the object.
+
|-
+
| &nbsp; || <tt>cloud</tt> || Name of a Storage Cloud or its unique id.
+
|-
+
| &nbsp; || <tt>max-snaps</tt> || Maximum number of snapshots to retain for this schedule, after which the oldest snapshot is removed before a new one is created.
+
|-
+
| &nbsp; || <tt>days</tt> || The days of the week on which this schedule should create snapshots. [fri, mon, sat, *sun, thu, tue, wed]
+
|-
+
| &nbsp; || <tt>hours</tt> || 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]
+
|-
+
| &nbsp; || <tt>flags</tt> || Optional flags for the operation. [async]
+
|}
+
 
+
 
+
; snap-schedule-delete : Deletes a snapshot schedule, snapshots associated with the schedule are not removed.
+
 
+
<pre> qs snap-schedule-delete|sch-delete --schedule=value [--flags=value ] </pre>
+
{| cellspacing='0' cellpadding='5'
+
|-
+
| &nbsp; || <tt>schedule</tt> || Name of a snapshot schedule or its unique ID (GUID).
+
|-
+
| &nbsp; || <tt>flags</tt> || Optional flags for the operation. [async, force]
+
|}
+
 
+
 
+
; snap-schedule-disable : Disables the specified snapshot schedule.
+
 
+
<pre> qs snap-schedule-disable|sch-disable --schedule=value [--flags=value ] </pre>
+
{| cellspacing='0' cellpadding='5'
+
|-
+
| &nbsp; || <tt>schedule</tt> || Name of a snapshot schedule or its unique ID (GUID).
+
|-
+
| &nbsp; || <tt>flags</tt> || Optional flags for the operation. [async, force]
+
|}
+
 
+
 
+
; snap-schedule-enable : Enables the specified snapshot schedule.
+
 
+
<pre> qs snap-schedule-enable|sch-enable --schedule=value [--flags=value ] </pre>
+
{| cellspacing='0' cellpadding='5'
+
|-
+
| &nbsp; || <tt>schedule</tt> || Name of a snapshot schedule or its unique ID (GUID).
+
|-
+
| &nbsp; || <tt>flags</tt> || Optional flags for the operation. [async, force]
+
|}
+
 
+
 
+
; snap-schedule-get : Returns information about a specific snapshot schedule.
+
 
+
<pre> qs snap-schedule-get|sch-get --schedule=value </pre>
+
{| cellspacing='0' cellpadding='5'
+
|-
+
| &nbsp; || <tt>schedule</tt> || Name of a snapshot schedule or its unique ID (GUID).
+
|}
+
 
+
 
+
; snap-schedule-list : Returns a list of all the snapshot schedules.
+
 
+
<pre> qs snap-schedule-list|sch-list </pre>
+
{| cellspacing='0' cellpadding='5'
+
 
+
; snap-schedule-modify : Modifies the name, description or other properties of a snapshot schedule.
+
 
+
<pre> qs snap-schedule-modify|sch-modify --schedule=value [--name=value ] [--start-date=value ] [--enabled=value ] [--desc=value ] [--cloud=value ] [--max-snaps=value ] [--days=value ] [--hours=value ] [--flags=value ] </pre>
+
{| cellspacing='0' cellpadding='5'
+
|-
+
| &nbsp; || <tt>schedule</tt> || Name of a snapshot schedule or its unique ID (GUID).
+
|-
+
| &nbsp; || <tt>name</tt> || Names may include any alpha-numeric plus '_' and '-' characters; spaces are not allowed.
+
|-
+
| &nbsp; || <tt>start-date</tt> || Start date at which the system will begin using a given schedule.
+
|-
+
| &nbsp; || <tt>enabled</tt> || While the schedule is enabled snapshots will be taken at the designated times.
+
|-
+
| &nbsp; || <tt>desc</tt> || A description for the object.
+
|-
+
| &nbsp; || <tt>cloud</tt> || Name of a Storage Cloud or its unique id.
+
|-
+
| &nbsp; || <tt>max-snaps</tt> || Maximum number of snapshots to retain for this schedule, after which the oldest snapshot is removed before a new one is created.
+
|-
+
| &nbsp; || <tt>days</tt> || The days of the week on which this schedule should create snapshots. [fri, mon, sat, *sun, thu, tue, wed]
+
|-
+
| &nbsp; || <tt>hours</tt> || 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]
+
|-
+
| &nbsp; || <tt>flags</tt> || Optional flags for the operation. [async]
+
|}
+
 
+
 
+
; snap-schedule-remove : Removes one or more volumes/shares from the specified schedule.
+
 
+
<pre> qs snap-schedule-remove|sch-remove --schedule=value [--volume-list=value ] [--share-list=value ] </pre>
+
{| cellspacing='0' cellpadding='5'
+
|-
+
| &nbsp; || <tt>schedule</tt> || Name of a snapshot schedule or its unique ID (GUID).
+
|-
+
| &nbsp; || <tt>volume-list</tt> || A list of one or more storage volumes.
+
|-
+
| &nbsp; || <tt>share-list</tt> || A list of one or more network shares.
+
|}
+
 
+
 
+
; snap-schedule-trigger : Triggers the specified schedule to run immediately.
+
 
+
<pre> qs snap-schedule-trigger|sch-trigger --schedule=value </pre>
+
{| cellspacing='0' cellpadding='5'
+
|-
+
| &nbsp; || <tt>schedule</tt> || Name of a snapshot schedule or its unique ID (GUID).
+
|}
+
 
+
</div>
+
</div>
+
 
+
===iSCSI/FC Session Management [SESSION]===
+
Commands for iSCSI/FC storage session management.
+
----
+
<div class='mw-collapsible mw-collapsed'>
+
<div class='mw-collapsible-content'>
+
 
+
; session-close : Forcibly closes the specified iSCSI session; generally not recommended, use acl-remove instead.
+
 
+
<pre> qs session-close|sn-close --session=value </pre>
+
{| cellspacing='0' cellpadding='5'
+
|-
+
| &nbsp; || <tt>session</tt> || iSCSI session identifier for an active iSCSI session.
+
|}
+
 
+
 
+
; session-get : Returns detailed information on a specific iSCSI session.
+
 
+
<pre> qs session-get|sn-get --session=value </pre>
+
{| cellspacing='0' cellpadding='5'
+
|-
+
| &nbsp; || <tt>session</tt> || iSCSI session identifier for an active iSCSI session.
+
|}
+
 
+
 
+
; session-list : Returns a list of all the active iSCSI sessions.
+
 
+
<pre> qs session-list|sn-list [--volume=value ] [--host=value ] </pre>
+
{| cellspacing='0' cellpadding='5'
+
|-
+
| &nbsp; || <tt>volume</tt> || Name of the storage volume or its unique ID (GUID).
+
|-
+
| &nbsp; || <tt>host</tt> || Name of the host or its unique ID (GUID).
+
|}
+
 
+
</div>
+
</div>
+
 
+
===Network Share Management [SHARE]===
+
Commands for managing Network Shares which are accessible via NFS and/or the SMB protocol.
+
----
+
<div class='mw-collapsible mw-collapsed'>
+
<div class='mw-collapsible-content'>
+
 
+
; share-ad-user-group-list : Returns a list of all the users and groups in the Active Directory domain that the appliance is a member of.
+
 
+
<pre> qs share-ad-user-group-list|shr-ad-ug-list --storage-system=value [--share=value ] [--flags=value ] </pre>
+
{| cellspacing='0' cellpadding='5'
+
|-
+
| &nbsp; || <tt>storage-system</tt> || Name or ID of a storage system in a management grid.
+
|-
+
| &nbsp; || <tt>share</tt> || Name or ID of a network share.
+
|-
+
| &nbsp; || <tt>flags</tt> || Optional flags for the operation. [async, force]
+
|}
+
 
+
 
+
; share-client-add : Adds a NFS client access rule for the specified network share.
+
 
+
<pre> qs share-client-add|shr-cadd --share=value --filter=value [--async=value ] [--secure=value ] [--subtree=value ] [--rdonly=value ] [--options=value ] [--flags=value ] </pre>
+
{| cellspacing='0' cellpadding='5'
+
|-
+
| &nbsp; || <tt>share</tt> || Name or ID of a network share.
+
|-
+
| &nbsp; || <tt>filter</tt> || A filter string for the client
+
|-
+
| &nbsp; || <tt>async</tt> || Use asynchronous communication between NFS server and client
+
|-
+
| &nbsp; || <tt>secure</tt> || Requires the requests to originate from an Internet port less than IPPORT_RESERVED
+
|-
+
| &nbsp; || <tt>subtree</tt> || Enables subtree checking
+
|-
+
| &nbsp; || <tt>rdonly</tt> || Allow only read requests for the NFS volume
+
|-
+
| &nbsp; || <tt>options</tt> || Set of custom NFS options as a comma delimited list such as no_root_squash, wdelay, ro etc
+
|-
+
| &nbsp; || <tt>flags</tt> || Optional flags for the operation. [async, force]
+
|}
+
 
+
 
+
; share-client-get : Returns information about the specific network share NFS client access rule.
+
 
+
<pre> qs share-client-get|shr-cget --share=value [--filter=value ] [--flags=value ] </pre>
+
{| cellspacing='0' cellpadding='5'
+
|-
+
| &nbsp; || <tt>share</tt> || Name or ID of a network share.
+
|-
+
| &nbsp; || <tt>filter</tt> || A filter string for the client
+
|-
+
| &nbsp; || <tt>flags</tt> || Optional flags for the operation. [async, force]
+
|}
+
 
+
 
+
; share-client-list : Returns a list of NFS clients access rules for the specified network share.
+
 
+
<pre> qs share-client-list|shr-clist --share=value [--flags=value ] </pre>
+
{| cellspacing='0' cellpadding='5'
+
|-
+
| &nbsp; || <tt>share</tt> || Name or ID of a network share.
+
|-
+
| &nbsp; || <tt>flags</tt> || Optional flags for the operation. [async, force]
+
|}
+
 
+
 
+
; share-client-modify : Modifies a NFS client access rule for the specified network share.
+
 
+
<pre> qs share-client-modify|shr-cmodify --share=value --filter=value [--rdonly=value ] [--secure=value ] [--async=value ] [--subtree=value ] [--options=value ] [--flags=value ] </pre>
+
{| cellspacing='0' cellpadding='5'
+
|-
+
| &nbsp; || <tt>share</tt> || Name or ID of a network share.
+
|-
+
| &nbsp; || <tt>filter</tt> || A filter string for the client
+
|-
+
| &nbsp; || <tt>rdonly</tt> || Allow only read requests for the NFS volume
+
|-
+
| &nbsp; || <tt>secure</tt> || Requires the requests to originate from an Internet port less than IPPORT_RESERVED
+
|-
+
| &nbsp; || <tt>async</tt> || Use asynchronous communication between NFS server and client
+
|-
+
| &nbsp; || <tt>subtree</tt> || Enables subtree checking
+
|-
+
| &nbsp; || <tt>options</tt> || Set of custom NFS options as a comma delimited list such as no_root_squash, wdelay, ro etc
+
|-
+
| &nbsp; || <tt>flags</tt> || Optional flags for the operation. [async, force]
+
|}
+
 
+
 
+
; share-client-remove : Removes NFS client access rule for the specified network share.
+
 
+
<pre> qs share-client-remove|shr-cremove --share=value --filter=value [--flags=value ] </pre>
+
{| cellspacing='0' cellpadding='5'
+
|-
+
| &nbsp; || <tt>share</tt> || Name or ID of a network share.
+
|-
+
| &nbsp; || <tt>filter</tt> || A filter string for the client
+
|-
+
| &nbsp; || <tt>flags</tt> || Optional flags for the operation. [async, force]
+
|}
+
 
+
 
+
; share-clone : Creates a full copy of the specified network share to another storage pool.
+
 
+
<pre> qs share-clone|shr-clone --share=value --pool=value [--name=value ] [--desc=value ] [--active=value ] [--flags=value ] </pre>
+
{| cellspacing='0' cellpadding='5'
+
|-
+
| &nbsp; || <tt>share</tt> || Name or ID of a network share.
+
|-
+
| &nbsp; || <tt>pool</tt> || Name of the storage pool or its unique ID (GUID).
+
|-
+
| &nbsp; || <tt>name</tt> || Name for the clone, if not provided the source volume name will be used as a prefix.
+
|-
+
| &nbsp; || <tt>desc</tt> || A description for the object.
+
|-
+
| &nbsp; || <tt>active</tt> || Indicates that the network share should be activated.
+
|-
+
| &nbsp; || <tt>flags</tt> || Optional flags for the operation. [async, force]
+
|}
+
 
+
 
+
; share-create : Creates a new NFS v3 network share.
+
 
+
<pre> qs share-create|shr-create --name=value --pool=value [--desc=value ] [--public=value ] [--active=value ] [--cifs-enable=value ] [--user-access-list=value ] [--cifs-options=value ] [--space-quota=value ] [--space-quota-exclude-snapshots=value ] [--sync=value ] [--compression-type=value ] [--copies=value ] [--disable-snap-browsing=value ] [--share-owner=value ] [--share-owner-group=value ] [--permissions=value ] [--flags=value ] </pre>
+
{| cellspacing='0' cellpadding='5'
+
|-
+
| &nbsp; || <tt>name</tt> || Names may include any alpha-numeric plus '_' and '-' characters; spaces are not allowed.
+
|-
+
| &nbsp; || <tt>pool</tt> || Name of the storage pool or its unique ID (GUID).
+
|-
+
| &nbsp; || <tt>desc</tt> || A description for the object.
+
|-
+
| &nbsp; || <tt>public</tt> || Indicates that the specified network share should be made public and open for read/write access to all systems on the network.
+
|-
+
| &nbsp; || <tt>active</tt> || Indicates that the network share should be activated.
+
|-
+
| &nbsp; || <tt>cifs-enable</tt> || Enables Samba support for network share.
+
|-
+
| &nbsp; || <tt>user-access-list</tt> || List of users with permission to access the network share for example 'user1:valid,user2:invalid,user3:none,~DOMAIN+user7,~user33', prepend with tilde (~) to remove fields/properties.
+
|-
+
| &nbsp; || <tt>cifs-options</tt> || CIFS/Samba configuration options specified as 'key=value,key2=value2,~key3,...', prepend with tilde (~) to remove fields/properties.
+
|-
+
| &nbsp; || <tt>space-quota</tt> || Size of the quota for the network share (optional).
+
|-
+
| &nbsp; || <tt>space-quota-exclude-snapshots</tt> || If specified there is no limit on the space utilized by snapshots of the parent share (optional).
+
|-
+
| &nbsp; || <tt>sync</tt> || Synchronization 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]
+
|-
+
| &nbsp; || <tt>compression-type</tt> || Type of compression to be used. (on | off | lzjb | gzip | gzip-[1-9] | zle | lz4)
+
|-
+
| &nbsp; || <tt>copies</tt> || 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 (supported only on ZFS based pools).
+
|-
+
| &nbsp; || <tt>disable-snap-browsing</tt> || When this is true, ability to browse snapshot directories over CIFS is disabled.
+
|-
+
| &nbsp; || <tt>share-owner</tt> || Name of the share owner
+
|-
+
| &nbsp; || <tt>share-owner-group</tt> || Name of the share owner group (Need to specify both share owner and group)
+
|-
+
| &nbsp; || <tt>permissions</tt> || Permissions settings for the share in read/write/execute format for user/group/other in the standard UNIX permissions octal format (eg 755) or rwxr--r--
+
|-
+
| &nbsp; || <tt>flags</tt> || Optional flags for the operation. [async, force]
+
|}
+
 
+
 
+
; share-delete : Deletes the specified network share
+
 
+
<pre> qs share-delete|shr-delete --share=value [--flags=value ] </pre>
+
{| cellspacing='0' cellpadding='5'
+
|-
+
| &nbsp; || <tt>share</tt> || Name or ID of a network share.
+
|-
+
| &nbsp; || <tt>flags</tt> || Optional flags for the operation. [async, force]
+
|}
+
 
+
 
+
; share-disable : Disables/deactivates the specified network share
+
 
+
<pre> qs share-disable|shr-disable --share=value [--flags=value ] </pre>
+
{| cellspacing='0' cellpadding='5'
+
|-
+
| &nbsp; || <tt>share</tt> || Name or ID of a network share.
+
|-
+
| &nbsp; || <tt>flags</tt> || Optional flags for the operation. [async, force]
+
|}
+
 
+
 
+
; share-enable : Enables/activates the specified network share
+
 
+
<pre> qs share-enable|shr-enable --share=value [--flags=value ] </pre>
+
{| cellspacing='0' cellpadding='5'
+
|-
+
| &nbsp; || <tt>share</tt> || Name or ID of a network share.
+
|-
+
| &nbsp; || <tt>flags</tt> || Optional flags for the operation. [async, force]
+
|}
+
 
+
 
+
; share-enum-quota : Returns the user quotas for the network share.
+
 
+
<pre> qs share-enum-quota --share=value [--flags=value ] </pre>
+
{| cellspacing='0' cellpadding='5'
+
|-
+
| &nbsp; || <tt>share</tt> || Name or ID of a network share.
+
|-
+
| &nbsp; || <tt>flags</tt> || Optional flags for the operation. [async, force]
+
|}
+
 
+
 
+
; share-get : Returns information about the specified network share.
+
 
+
<pre> qs share-get|shr-get --share=value </pre>
+
{| cellspacing='0' cellpadding='5'
+
|-
+
| &nbsp; || <tt>share</tt> || Name or ID of a network share.
+
|}
+
 
+
 
+
; share-join-domain : Joins the specified Active Directory domain/realm.
+
 
+
<pre> qs share-join-domain|shr-jdomain --storage-system=value --domain=value --realm=value --kdc=value --ad-admin=value --ad-password=value [--idmap-mode=value ] [--flags=value ] </pre>
+
{| cellspacing='0' cellpadding='5'
+
|-
+
| &nbsp; || <tt>storage-system</tt> || Name or ID of a storage system in a management grid.
+
|-
+
| &nbsp; || <tt>domain</tt> || The name of the domain to have the QuantaStor system join. (DOMAIN)
+
|-
+
| &nbsp; || <tt>realm</tt> || The name of the realm that the domain is in. (DOMAIN.COM)
+
|-
+
| &nbsp; || <tt>kdc</tt> || The name of the active directory machine.
+
|-
+
| &nbsp; || <tt>ad-admin</tt> || The administrator account of the domain that QuantaStor is a member of.
+
|-
+
| &nbsp; || <tt>ad-password</tt> || The password to the administrator account of the domain that QuantaStor is a member of.
+
|-
+
| &nbsp; || <tt>idmap-mode</tt> || Specifies the Unix to Active Directory ID mapping mode (idmap config) of rid, autorid, tdb, ad, ad-rfc2307 [ad, ad-rfc2307, autorid, rid, *tdb]
+
|-
+
| &nbsp; || <tt>flags</tt> || Optional flags for the operation. [async, force]
+
|}
+
 
+
 
+
; share-leave-domain : Leaves the current Active Directory domain.
+
 
+
<pre> qs share-leave-domain|shr-ldomain --storage-system=value [--ad-admin=value ] [--ad-password=value ] [--flags=value ] </pre>
+
{| cellspacing='0' cellpadding='5'
+
|-
+
| &nbsp; || <tt>storage-system</tt> || Name or ID of a storage system in a management grid.
+
|-
+
| &nbsp; || <tt>ad-admin</tt> || The administrator account of the domain that QuantaStor is a member of.
+
|-
+
| &nbsp; || <tt>ad-password</tt> || The password to the administrator account of the domain that QuantaStor is a member of.
+
|-
+
| &nbsp; || <tt>flags</tt> || Optional flags for the operation. [async, force]
+
|}
+
 
+
 
+
; share-list : Returns a list of all the network shares in the system.
+
 
+
<pre> qs share-list|shr-list </pre>
+
{| cellspacing='0' cellpadding='5'
+
 
+
; share-modify : Modifies the properties of the specified network share.
+
 
+
<pre> qs share-modify|shr-modify --share=value [--name=value ] [--desc=value ] [--active=value ] [--space-quota=value ] [--space-quota-exclude-snapshots=value ] [--sync=value ] [--compression-type=value ] [--copies=value ] [--cifs-enable=value ] [--user-access-list=value ] [--group-access-list=value ] [--cifs-options=value ] [--disable-snap-browsing=value ] [--share-owner=value ] [--share-owner-group=value ] [--permissions=value ] [--flags=value ] </pre>
+
{| cellspacing='0' cellpadding='5'
+
|-
+
| &nbsp; || <tt>share</tt> || Name or ID of a network share.
+
|-
+
| &nbsp; || <tt>name</tt> || Names may include any alpha-numeric plus '_' and '-' characters; spaces are not allowed.
+
|-
+
| &nbsp; || <tt>desc</tt> || A description for the object.
+
|-
+
| &nbsp; || <tt>active</tt> || Indicates that the network share should be activated.
+
|-
+
| &nbsp; || <tt>space-quota</tt> || Size of the quota for the network share (optional).
+
|-
+
| &nbsp; || <tt>space-quota-exclude-snapshots</tt> || If specified there is no limit on the space utilized by snapshots of the parent share (optional).
+
|-
+
| &nbsp; || <tt>sync</tt> || Synchronization 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]
+
|-
+
| &nbsp; || <tt>compression-type</tt> || Type of compression to be used. (on | off | lzjb | gzip | gzip-[1-9] | zle | lz4)
+
|-
+
| &nbsp; || <tt>copies</tt> || 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 (supported only on ZFS based pools).
+
|-
+
| &nbsp; || <tt>cifs-enable</tt> || Enables Samba support for network share.
+
|-
+
| &nbsp; || <tt>user-access-list</tt> || List of users with permission to access the network share for example 'user1:valid,user2:invalid,user3:none,~DOMAIN+user7,~user33', prepend with tilde (~) to remove fields/properties.
+
|-
+
| &nbsp; || <tt>group-access-list</tt> || List of groups with permission to access the network share for example 'DOMAIN+group1:valid,~DOMAIN+group2' prepend with tilde (~) to remove access for specific users or groups.
+
|-
+
| &nbsp; || <tt>cifs-options</tt> || CIFS/Samba configuration options specified as 'key=value,key2=value2,~key3,...', prepend with tilde (~) to remove fields/properties.
+
|-
+
| &nbsp; || <tt>disable-snap-browsing</tt> || When this is true, ability to browse snapshot directories over CIFS is disabled.
+
|-
+
| &nbsp; || <tt>share-owner</tt> || Name of the share owner
+
|-
+
| &nbsp; || <tt>share-owner-group</tt> || Name of the share owner group (Need to specify both share owner and group)
+
|-
+
| &nbsp; || <tt>permissions</tt> || Permissions settings for the share in read/write/execute format for user/group/other in the standard UNIX permissions octal format (eg 755) or rwxr--r--
+
|-
+
| &nbsp; || <tt>flags</tt> || Optional flags for the operation. [async]
+
|}
+
 
+
 
+
; share-restore : Restores the specified network share with the contents of the specified snapshot.
+
 
+
<pre> qs share-restore|shr-restore --share=value [--flags=value ] </pre>
+
{| cellspacing='0' cellpadding='5'
+
|-
+
| &nbsp; || <tt>share</tt> || Name or ID of a network share.
+
|-
+
| &nbsp; || <tt>flags</tt> || Optional flags for the operation. [async, force]
+
|}
+
 
+
 
+
; share-rollback : Instant rollback of the specified network share to the specified point-in-time snapshot. Rollback is faster than the Restore operation but only works with the most recent snapshot.  It use rollback with an earlier snapshot you must first remove those snapshots which were created after the desired rollback point.
+
 
+
<pre> qs share-rollback|shr-rollback --share=value --share-snapshot=value [--flags=value ] </pre>
+
{| cellspacing='0' cellpadding='5'
+
|-
+
| &nbsp; || <tt>share</tt> || Name or ID of a network share.
+
|-
+
| &nbsp; || <tt>share-snapshot</tt> || Name or ID of a snapshot of a network share.
+
|-
+
| &nbsp; || <tt>flags</tt> || Optional flags for the operation. [async, force]
+
|}
+
 
+
 
+
; share-snapshot : Creates and instant space efficient snapshot of the specified network share (requires Advanced Storage Pool)
+
 
+
<pre> qs share-snapshot|shr-snap --share=value [--name=value ] [--desc=value ] [--active=value ] [--flags=value ] </pre>
+
{| cellspacing='0' cellpadding='5'
+
|-
+
| &nbsp; || <tt>share</tt> || Name or ID of a network share.
+
|-
+
| &nbsp; || <tt>name</tt> || Names may include any alpha-numeric plus '_' and '-' characters; spaces are not allowed.
+
|-
+
| &nbsp; || <tt>desc</tt> || A description for the object.
+
|-
+
| &nbsp; || <tt>active</tt> || Indicates that the network share should be activated.
+
|-
+
| &nbsp; || <tt>flags</tt> || Optional flags for the operation. [async, force]
+
|}
+
 
+
</div>
+
</div>
+
 
+
===Site Cluster Resource Management [SITE]===
+
Configurations with floating IPs such as High-Availability pools and Gluster VIFs first require that a Site Cluster is formed.  Site Clusters maintain a heart-beat and control quorum for a subset of nodes so that Virtual Interfaces can be automatically moved between nodes as necessary.
+
----
+
<div class='mw-collapsible mw-collapsed'>
+
<div class='mw-collapsible-content'>
+
 
+
; cluster-ring-create : Creates a new cluster ring configuration for the specified site. Sites can have multiple rings to improve resiliency of the cluster in the event of a network loss on a specific port or network interface.
+
 
+
<pre> qs cluster-ring-create|cr-create --site=value --member-addresses=value [--ring=value ] [--bind-address=value ] </pre>
+
{| cellspacing='0' cellpadding='5'
+
|-
+
| &nbsp; || <tt>site</tt> || A site is a group of appliances in a location.
+
|-
+
| &nbsp; || <tt>member-addresses</tt> || IP addresses, one from each appliance, used to form a new cluster ring for cluster communication activities.
+
|-
+
| &nbsp; || <tt>ring</tt> || Unique cluster ring number starting with 0 for the first ring in the site.
+
|-
+
| &nbsp; || <tt>bind-address</tt> || The bind address represents the network on which cluster communication is allowed for a specific ring.
+
|}
+
 
+
 
+
; cluster-ring-delete : Deletes the specified cluster ring configuration.
+
 
+
<pre> qs cluster-ring-delete|cr-delete --cluster-ring=value </pre>
+
{| cellspacing='0' cellpadding='5'
+
|-
+
| &nbsp; || <tt>cluster-ring</tt> || A cluster ring is a communication channel for heartbeat communication and cluster resource management communication activities.  Ideal site configurations have two independent rings each on separate networks. For example, a site configuration may have a cluster ring 0 on 10.0.x.x/16 and ring 1 on 10.1.x.x/16
+
|}
+
 
+
 
+
; cluster-ring-get : Returns the details about a specific cluster ring.  A ring represents a communication channel for cluster heartbeat communication.  Ideal cluster configurations have two rings.
+
 
+
<pre> qs cluster-ring-get|cr-get --cluster-ring=value </pre>
+
{| cellspacing='0' cellpadding='5'
+
|-
+
| &nbsp; || <tt>cluster-ring</tt> || A cluster ring is a communication channel for heartbeat communication and cluster resource management communication activities.  Ideal site configurations have two independent rings each on separate networks. For example, a site configuration may have a cluster ring 0 on 10.0.x.x/16 and ring 1 on 10.1.x.x/16
+
|}
+
 
+
 
+
; cluster-ring-list : Returns a list of the cluster ring configurations.
+
 
+
<pre> qs cluster-ring-list|cr-list </pre>
+
{| cellspacing='0' cellpadding='5'
+
 
+
; cluster-ring-member-get : Returns information about the specified cluster ring member.
+
 
+
<pre> qs cluster-ring-member-get|crm-get --cluster-ring=value </pre>
+
{| cellspacing='0' cellpadding='5'
+
|-
+
| &nbsp; || <tt>cluster-ring</tt> || A cluster-ring-member represents a physical interface on a appliance used for cluster communication.
+
|}
+
 
+
 
+
; cluster-ring-member-list : Returns a list of all the cluster ring members of the site.
+
 
+
<pre> qs cluster-ring-member-list|crm-list </pre>
+
{| cellspacing='0' cellpadding='5'
+
 
+
; site-cluster-assoc-get : Returns detailed information about the specified site association.
+
 
+
<pre> qs site-cluster-assoc-get|sca-get [--system=value ] [--site-assoc=value ] </pre>
+
{| cellspacing='0' cellpadding='5'
+
|-
+
| &nbsp; || <tt>system</tt> || The system with the site association.
+
|-
+
| &nbsp; || <tt>site-assoc</tt> || A site association is a link between a system and a site.
+
|}
+
 
+
 
+
; site-cluster-assoc-list : Returns a list of all the configured site association.
+
 
+
<pre> qs site-cluster-assoc-list|sca-list </pre>
+
{| cellspacing='0' cellpadding='5'
+
 
+
; site-cluster-create : A site represents a group of appliances at a particular location.  That location can span buildings but typically represents systems in close proximity to each other.
+
 
+
<pre> qs site-cluster-create|sc-create --name=value --sys-list=value [--desc=value ] [--location=value ] [--flags=value ] </pre>
+
{| cellspacing='0' cellpadding='5'
+
|-
+
| &nbsp; || <tt>name</tt> || Names may include any alpha-numeric plus '_' and '-' characters; spaces are not allowed.
+
|-
+
| &nbsp; || <tt>sys-list</tt> || List of systems to be combined together to form a new site.
+
|-
+
| &nbsp; || <tt>desc</tt> || A description for the object.
+
|-
+
| &nbsp; || <tt>location</tt> || Optional description indicating the location of the storage system.
+
|-
+
| &nbsp; || <tt>flags</tt> || Optional flags for the operation. [async]
+
|}
+
 
+
 
+
; site-cluster-delete : Deletes the specified site configuration.
+
 
+
<pre> qs site-cluster-delete|sc-delete --site=value [--flags=value ] </pre>
+
{| cellspacing='0' cellpadding='5'
+
|-
+
| &nbsp; || <tt>site</tt> || A site is a group of appliances in a location.
+
|-
+
| &nbsp; || <tt>flags</tt> || Optional flags for the operation. [async, force]
+
|}
+
 
+
 
+
; site-cluster-get : Returns detailed information about the specified site.
+
 
+
<pre> qs site-cluster-get|sc-get --site=value </pre>
+
{| cellspacing='0' cellpadding='5'
+
|-
+
| &nbsp; || <tt>site</tt> || A site is a group of appliances in a location.
+
|}
+
 
+
 
+
; site-cluster-list : Returns a list of all the configured sites.
+
 
+
<pre> qs site-cluster-list|sc-list </pre>
+
{| cellspacing='0' cellpadding='5'
+
 
+
; site-cluster-modify : Modifies the configuration settings of a site like it's name, location or description.
+
 
+
<pre> qs site-cluster-modify|sc-modify --site=value [--name=value ] [--desc=value ] [--location=value ] </pre>
+
{| cellspacing='0' cellpadding='5'
+
|-
+
| &nbsp; || <tt>site</tt> || A site is a group of appliances in a location.
+
|-
+
| &nbsp; || <tt>name</tt> || Names may include any alpha-numeric plus '_' and '-' characters; spaces are not allowed.
+
|-
+
| &nbsp; || <tt>desc</tt> || A description for the object.
+
|-
+
| &nbsp; || <tt>location</tt> || Optional description indicating the location of the storage system.
+
|}
+
 
+
 
+
; site-vif-create : Creates a new virtual interface for the site. Site virtual interfaces automatically float between appliances/systems to ensure availability of a management IP for a given site.
+
 
+
<pre> qs site-vif-create|svr-create --site=value --parent-port=value --ip-address=value [--netmask=value ] [--mtu=value ] [--grid-vif=value ] </pre>
+
{| cellspacing='0' cellpadding='5'
+
|-
+
| &nbsp; || <tt>site</tt> || A site is a group of appliances in a location.
+
|-
+
| &nbsp; || <tt>parent-port</tt> || Parent network port like 'eth0' which the virtual interface should be attached.  On failover the virtual interface will attach to the port with the same name on another system in the Site Cluster.
+
|-
+
| &nbsp; || <tt>ip-address</tt> || IP address of the form x.x.x.x such as 10.0.0.10
+
|-
+
| &nbsp; || <tt>netmask</tt> || Subnet IP mask (ex: 255.255.255.0)
+
|-
+
| &nbsp; || <tt>mtu</tt> || Maximum transmission unit (MTU) for the target port, commonly set to 9000 to enable jumbo frames.
+
|-
+
| &nbsp; || <tt>grid-vif</tt> || When true, this virtual interface will be the gridIP. The gridIP is used for grid master auto election.
+
|}
+
 
+
 
+
; site-vif-delete : Deletes the virtual interface site resource and it's associated configuration information from the cluster configuration.
+
 
+
<pre> qs site-vif-delete|svr-delete --vif-resource=value </pre>
+
{| cellspacing='0' cellpadding='5'
+
|-
+
| &nbsp; || <tt>vif-resource</tt> || A site virtual interface resource.
+
|}
+
 
+
 
+
; site-vif-get : Returns the details about the specified virtual interface cluster resource in a site.
+
 
+
<pre> qs site-vif-get|svr-get --vif-resource=value </pre>
+
{| cellspacing='0' cellpadding='5'
+
|-
+
| &nbsp; || <tt>vif-resource</tt> || A site virtual interface resource.
+
|}
+
 
+
 
+
; site-vif-list : Returns a list of all the virtual interface site resources.
+
 
+
<pre> qs site-vif-list|svr-list </pre>
+
{| cellspacing='0' cellpadding='5'
+
</div>
+
</div>
+
 
+
===Storage Provisioning Tier Management [STORAGE-TIER]===
+
Storage Pools can be grouped into a Storage Provisioning Teir to simplify common provisioning tasks by pushing onto the system the task of selecting the optimial storage pool to provision a volume or share from based on the amount of free-space available and allocated.
+
----
+
<div class='mw-collapsible mw-collapsed'>
+
<div class='mw-collapsible-content'>
+
 
+
; storage-tier-create : Creates a new storage storage tier comprised of the specified storage pools
+
 
+
<pre> qs storage-tier-create|st-create --name=value --pool-list=value [--desc=value ] [--storage-class=value ] [--storage-type=value ] [--perf-level=value ] [--flags=value ] </pre>
+
{| cellspacing='0' cellpadding='5'
+
|-
+
| &nbsp; || <tt>name</tt> || Names may include any alpha-numeric plus '_' and '-' characters; spaces are not allowed.
+
|-
+
| &nbsp; || <tt>pool-list</tt> || List of storage pools.
+
|-
+
| &nbsp; || <tt>desc</tt> || A description for the object.
+
|-
+
| &nbsp; || <tt>storage-class</tt> || The classification/primary use case of the storage such as Backup/Archive, High-Performance, or General Purpose.
+
|-
+
| &nbsp; || <tt>storage-type</tt> || Type of the storage pools included in this tier: SATA, SAS, SSD, SSHD, MULTI, Unknown [AOE, MULTI, *SAS, SATA, SSD, SSHD, UNKNOWN]
+
|-
+
| &nbsp; || <tt>perf-level</tt> || An estimation of the relative performance of the storage tier as a simplified number in the range of 1 to 100.
+
|-
+
| &nbsp; || <tt>flags</tt> || Optional flags for the operation. [async]
+
|}
+
 
+
 
+
; storage-tier-delete : Deletes the specified storage storage tier (pools are not deleted).
+
 
+
<pre> qs storage-tier-delete|st-delete --tier=value [--flags=value ] </pre>
+
{| cellspacing='0' cellpadding='5'
+
|-
+
| &nbsp; || <tt>tier</tt> || Storage tier is a group of one or more storage pools used to simplify storage provisioning by tier/category/classification.
+
|-
+
| &nbsp; || <tt>flags</tt> || Optional flags for the operation. [async, force]
+
|}
+
 
+
 
+
; storage-tier-get : Returns information about a specific storage storage tier.
+
 
+
<pre> qs storage-tier-get|st-get --tier=value </pre>
+
{| cellspacing='0' cellpadding='5'
+
|-
+
| &nbsp; || <tt>tier</tt> || Storage tier is a group of one or more storage pools used to simplify storage provisioning by tier/category/classification.
+
|}
+
 
+
 
+
; storage-tier-list : Returns a list of all the storage storage tiers.
+
 
+
<pre> qs storage-tier-list|st-list </pre>
+
{| cellspacing='0' cellpadding='5'
+
 
+
; storage-tier-modify : Modifies the name, description or other property of the specified storage tier.
+
 
+
<pre> qs storage-tier-modify|st-modify --tier=value [--name=value ] [--desc=value ] [--storage-class=value ] [--storage-type=value ] [--perf-level=value ] </pre>
+
{| cellspacing='0' cellpadding='5'
+
|-
+
| &nbsp; || <tt>tier</tt> || Storage tier is a group of one or more storage pools used to simplify storage provisioning by tier/category/classification.
+
|-
+
| &nbsp; || <tt>name</tt> || Names may include any alpha-numeric plus '_' and '-' characters; spaces are not allowed.
+
|-
+
| &nbsp; || <tt>desc</tt> || A description for the object.
+
|-
+
| &nbsp; || <tt>storage-class</tt> || The classification/primary use case of the storage such as Backup/Archive, High-Performance, or General Purpose.
+
|-
+
| &nbsp; || <tt>storage-type</tt> || Type of the storage pools included in this tier: SATA, SAS, SSD, SSHD, MULTI, Unknown [AOE, MULTI, *SAS, SATA, SSD, SSHD, UNKNOWN]
+
|-
+
| &nbsp; || <tt>perf-level</tt> || An estimation of the relative performance of the storage tier as a simplified number in the range of 1 to 100.
+
|}
+
 
+
 
+
; storage-tier-pool-add : Adds one or more pools to the specified storage tier.
+
 
+
<pre> qs storage-tier-pool-add|stp-add --tier=value --pool-list=value </pre>
+
{| cellspacing='0' cellpadding='5'
+
|-
+
| &nbsp; || <tt>tier</tt> || Storage tier is a group of one or more storage pools used to simplify storage provisioning by tier/category/classification.
+
|-
+
| &nbsp; || <tt>pool-list</tt> || List of storage pools.
+
|}
+
 
+
 
+
; storage-tier-pool-remove : Removes one or more pools from the specified storage tier.
+
 
+
<pre> qs storage-tier-pool-remove|stp-remove --tier=value --pool-list=value </pre>
+
{| cellspacing='0' cellpadding='5'
+
|-
+
| &nbsp; || <tt>tier</tt> || Storage tier is a group of one or more storage pools used to simplify storage provisioning by tier/category/classification.
+
|-
+
| &nbsp; || <tt>pool-list</tt> || List of storage pools.
+
|}
+
 
+
</div>
+
</div>
+
 
+
===Software Controller / iSCSI SAN Adapter [SWC]===
+
QuantaStor appliances can use iSCSI storage to form Storage Pools.  To configure an appliance to automatically connect to and login to one or more storage appliances to access iSCSI block storage first add and then configure a iSCSI Software Adapter.
+
----
+
<div class='mw-collapsible mw-collapsed'>
+
<div class='mw-collapsible-content'>
+
 
+
; sw-controller-add : Adds an iSCSI SAN adapter for connecting to the specified iSCSI SAN.
+
 
+
<pre> qs sw-controller-add|swc-add --ip-address=value --name=value --storage-system=value [--desc=value ] [--chap-user=value ] [--chap-pass=value ] </pre>
+
{| cellspacing='0' cellpadding='5'
+
|-
+
| &nbsp; || <tt>ip-address</tt> || IP Address of the host being added; if unspecified the service will look it up.
+
|-
+
| &nbsp; || <tt>name</tt> || Names may include any alpha-numeric plus '_' and '-' characters; spaces are not allowed.
+
|-
+
| &nbsp; || <tt>storage-system</tt> || Name or ID of a storage system in a management grid.
+
|-
+
| &nbsp; || <tt>desc</tt> || A description for the object.
+
|-
+
| &nbsp; || <tt>chap-user</tt> || An optional iSCSI CHAP username.
+
|-
+
| &nbsp; || <tt>chap-pass</tt> || An optional iSCSI CHAP password.
+
|}
+
 
+
 
+
; sw-controller-get : Gets detailed information about a specific software SAN controller.
+
 
+
<pre> qs sw-controller-get|swc-get --sw-controller=value </pre>
+
{| cellspacing='0' cellpadding='5'
+
|-
+
| &nbsp; || <tt>sw-controller</tt> || Specifies the name or ID of a software SAN controller instance.
+
|}
+
 
+
 
+
; sw-controller-list : Returns a list of all the configured software SAN adapter/controllers (iSCSI, etc).
+
 
+
<pre> qs sw-controller-list|swc-list </pre>
+
{| cellspacing='0' cellpadding='5'
+
 
+
; sw-controller-remove : Removed the specified iSCSI SAN adapter
+
 
+
<pre> qs sw-controller-remove|swc-remove --sw-controller=value </pre>
+
{| cellspacing='0' cellpadding='5'
+
|-
+
| &nbsp; || <tt>sw-controller</tt> || Specifies the name or ID of a software SAN controller instance.
+
|}
+
 
+
 
+
; sw-controller-scan : Scans the specified iSCSI SAN adapter for iSCSI targets.
+
 
+
<pre> qs sw-controller-scan|swc-scan --sw-controller=value </pre>
+
{| cellspacing='0' cellpadding='5'
+
|-
+
| &nbsp; || <tt>sw-controller</tt> || Specifies the name or ID of a software SAN controller instance.
+
|}
+
 
+
 
+
; sw-controller-target : Returns the specified software controller target.
+
 
+
<pre> qs sw-controller-target|swc-target --target=value </pre>
+
{| cellspacing='0' cellpadding='5'
+
|-
+
| &nbsp; || <tt>target</tt> || The software controller target to operate against
+
|}
+
 
+
 
+
; sw-controller-target-list : Returns a list of all the discovered software controller targets.
+
 
+
<pre> qs sw-controller-target-list|swc-target-list </pre>
+
{| cellspacing='0' cellpadding='5'
+
 
+
; sw-controller-target-login : Logs into the specified targets on the specified iSCSI SAN adapter.
+
 
+
<pre> qs sw-controller-target-login|swc-target-login --sw-controller=value --target-list=value </pre>
+
{| cellspacing='0' cellpadding='5'
+
|-
+
| &nbsp; || <tt>sw-controller</tt> || Specifies the name or ID of a software SAN controller instance.
+
|-
+
| &nbsp; || <tt>target-list</tt> || The list of targets for the software controller to operate against
+
|}
+
 
+
 
+
; sw-controller-target-logout : Logs out of the specified targets on the specified iSCSI SAN adapter.
+
 
+
<pre> qs sw-controller-target-logout|swc-target-logout --sw-controller=value --target-list=value </pre>
+
{| cellspacing='0' cellpadding='5'
+
|-
+
| &nbsp; || <tt>sw-controller</tt> || Specifies the name or ID of a software SAN controller instance.
+
|-
+
| &nbsp; || <tt>target-list</tt> || The list of targets for the software controller to operate against
+
|}
+
 
+
 
+
; sw-disk-session : Returns the specified software disk session.
+
 
+
<pre> qs sw-disk-session|swc-session --session=value </pre>
+
{| cellspacing='0' cellpadding='5'
+
|-
+
| &nbsp; || <tt>session</tt> || The software disk session to operate against
+
|}
+
 
+
 
+
; sw-disk-session-list : Returns a list of all software disk sessions.
+
 
+
<pre> qs sw-disk-session-list|swc-session-list </pre>
+
{| cellspacing='0' cellpadding='5'
+
</div>
+
</div>
+
 
+
===Object Storage Management [SWIFT]===
+
Commands for object storage setup and user management within a QuantaStor managed Ceph cluster.
+
----
+
<div class='mw-collapsible mw-collapsed'>
+
<div class='mw-collapsible-content'>
+
 
+
; ceph-object-pool-group-create : Creates a new Object Pool Group for the Ceph Cluster to enable S3/SWIFT object storage gateway access.
+
 
+
<pre> qs ceph-object-pool-group-create|cog-create --ceph-cluster=value --name=value [--desc=value ] [--object-store-zone=value ] [--object-store-region=value ] [--sys-list=value ] [--flags=value ] </pre>
+
{| cellspacing='0' cellpadding='5'
+
|-
+
| &nbsp; || <tt>ceph-cluster</tt> || Ceph Cluster name or ID.
+
|-
+
| &nbsp; || <tt>name</tt> || Names may include any alpha-numeric plus '_' and '-' characters; spaces are not allowed.
+
|-
+
| &nbsp; || <tt>desc</tt> || A description for the object.
+
|-
+
| &nbsp; || <tt>object-store-zone</tt> || Ceph object storage zone. (Default: 'default')
+
|-
+
| &nbsp; || <tt>object-store-region</tt> || Ceph object storage region. (Default: 'default')
+
|-
+
| &nbsp; || <tt>sys-list</tt> || List of one or more storage systems
+
|-
+
| &nbsp; || <tt>flags</tt> || Optional flags for the operation. [async, force, min, *none]
+
|}
+
 
+
 
+
; ceph-object-pool-group-delete : Deletes the specified object pool group, WARNING all associated objects in the pool group will be destroyed.
+
 
+
<pre> qs ceph-object-pool-group-delete|cog-delete --ceph-object-pool-group=value [--flags=value ] </pre>
+
{| cellspacing='0' cellpadding='5'
+
|-
+
| &nbsp; || <tt>ceph-object-pool-group</tt> || Ceph object storage pool group.
+
|-
+
| &nbsp; || <tt>flags</tt> || Optional flags for the operation. [async, force, min, *none]
+
|}
+
 
+
 
+
; ceph-object-pool-group-get : Returns information about a specific object storage pool group used to store S3/SWIFT object data.
+
 
+
<pre> qs ceph-object-pool-group-get|cog-get --ceph-object-pool-group=value [--flags=value ] </pre>
+
{| cellspacing='0' cellpadding='5'
+
|-
+
| &nbsp; || <tt>ceph-object-pool-group</tt> || Ceph object storage pool group.
+
|-
+
| &nbsp; || <tt>flags</tt> || Optional flags for the operation. [min]
+
|}
+
 
+
 
+
; ceph-object-pool-group-list : Returns a list of all the object storage pool groups.
+
 
+
<pre> qs ceph-object-pool-group-list|cog-list [--ceph-cluster=value ] [--flags=value ] </pre>
+
{| cellspacing='0' cellpadding='5'
+
|-
+
| &nbsp; || <tt>ceph-cluster</tt> || Ceph Cluster name or ID.
+
|-
+
| &nbsp; || <tt>flags</tt> || Optional flags for the operation. [min]
+
|}
+
 
+
 
+
; ceph-user-access-entry-create : Creates a new user access key entry to allow S3/SWIFT access to the object storage group.
+
 
+
<pre> qs ceph-user-access-entry-create|cu-create --ceph-cluster=value --name=value --display-name=value [--email=value ] [--s3-access-key=value ] [--s3-secret-key=value ] [--access-permission=value ] [--user=value ] [--flags=value ] </pre>
+
{| cellspacing='0' cellpadding='5'
+
|-
+
| &nbsp; || <tt>ceph-cluster</tt> || Ceph Cluster name or ID.
+
|-
+
| &nbsp; || <tt>name</tt> || Names may include any alpha-numeric plus '_' and '-' characters; spaces are not allowed.
+
|-
+
| &nbsp; || <tt>display-name</tt> || Display name for the user.
+
|-
+
| &nbsp; || <tt>email</tt> || An email address of the form 'user@example.com' without the quotes.
+
|-
+
| &nbsp; || <tt>s3-access-key</tt> || The access key for accessing your ceph Object store using S3 Interface.(Default: '', generated if not specified.)
+
|-
+
| &nbsp; || <tt>s3-secret-key</tt> || The secret key for accessing your ceph Object store using S3 Interface.(Default: '', generated if not specified.)
+
|-
+
| &nbsp; || <tt>access-permission</tt> || Ceph object storage permission (rwx, rw-, ---) [*all, delete, read, write]
+
|-
+
| &nbsp; || <tt>user</tt> || Name or ID (GUID) of a existing user.
+
|-
+
| &nbsp; || <tt>flags</tt> || Optional flags for the operation. [async, force, min, *none]
+
|}
+
 
+
 
+
; ceph-user-access-entry-delete : Deletes the specified SWIFT/S3 user access entry.
+
 
+
<pre> qs ceph-user-access-entry-delete|cu-delete --ceph-cluster=value --acl-entry=value [--delete-data=value ] [--key-delete=value ] [--flags=value ] </pre>
+
{| cellspacing='0' cellpadding='5'
+
|-
+
| &nbsp; || <tt>ceph-cluster</tt> || Ceph Cluster name or ID.
+
|-
+
| &nbsp; || <tt>acl-entry</tt> || Ceph object storage user access control entry.
+
|-
+
| &nbsp; || <tt>delete-data</tt> || Flag to specify deletion of user data along with this operation. (Default : false)
+
|-
+
| &nbsp; || <tt>key-delete</tt> || Flag to specify deletion of user security keys along with this operation. (Default : false)
+
|-
+
| &nbsp; || <tt>flags</tt> || Optional flags for the operation. [async, force, min, *none]
+
|}
+
 
+
 
+
; ceph-user-access-entry-disable : Disable a previously active/enabled SWIFT/S3 user access entry.
+
 
+
<pre> qs ceph-user-access-entry-disable|cu-disable --acl-entry=value [--flags=value ] </pre>
+
{| cellspacing='0' cellpadding='5'
+
|-
+
| &nbsp; || <tt>acl-entry</tt> || Ceph object storage user access control entry.
+
|-
+
| &nbsp; || <tt>flags</tt> || Optional flags for the operation. [async, force, min, *none]
+
|}
+
 
+
 
+
; ceph-user-access-entry-enable : Enable a previously suspended SWIFT/S3 user access entry.
+
 
+
<pre> qs ceph-user-access-entry-enable|cu-enable --acl-entry=value [--flags=value ] </pre>
+
{| cellspacing='0' cellpadding='5'
+
|-
+
| &nbsp; || <tt>acl-entry</tt> || Ceph object storage user access control entry.
+
|-
+
| &nbsp; || <tt>flags</tt> || Optional flags for the operation. [async, force, min, *none]
+
|}
+
 
+
 
+
; ceph-user-access-entry-get : Returns information about a specific object storage S3/SWIFT user access entry.
+
 
+
<pre> qs ceph-user-access-entry-get|cu-get --acl-entry=value [--flags=value ] </pre>
+
{| cellspacing='0' cellpadding='5'
+
|-
+
| &nbsp; || <tt>acl-entry</tt> || Ceph object storage user access control entry.
+
|-
+
| &nbsp; || <tt>flags</tt> || Optional flags for the operation. [min]
+
|}
+
 
+
 
+
; ceph-user-access-entry-list : Returns a list of all the Ceph Object storage user access entries / keys
+
 
+
<pre> qs ceph-user-access-entry-list|cu-list --ceph-cluster=value [--flags=value ] </pre>
+
{| cellspacing='0' cellpadding='5'
+
|-
+
| &nbsp; || <tt>ceph-cluster</tt> || Ceph Cluster name or ID.
+
|-
+
| &nbsp; || <tt>flags</tt> || Optional flags for the operation. [min]
+
|}
+
 
+
 
+
; ceph-user-access-entry-modify : Modifies the name and permissions for a object user access S3/SWIFT entry.
+
 
+
<pre> qs ceph-user-access-entry-modify|cu-modify --ceph-cluster=value --acl-entry=value [--display-name=value ] [--email=value ] [--s3-access-key=value ] [--s3-secret-key=value ] [--swift-secret-key=value ] [--user=value ] [--flags=value ] </pre>
+
{| cellspacing='0' cellpadding='5'
+
|-
+
| &nbsp; || <tt>ceph-cluster</tt> || Ceph Cluster name or ID.
+
|-
+
| &nbsp; || <tt>acl-entry</tt> || Ceph object storage user access control entry.
+
|-
+
| &nbsp; || <tt>display-name</tt> || Display name for the user.
+
|-
+
| &nbsp; || <tt>email</tt> || An email address of the form 'user@example.com' without the quotes.
+
|-
+
| &nbsp; || <tt>s3-access-key</tt> || The access key for accessing your ceph Object store using S3 Interface.(Default: '', generated if not specified.)
+
|-
+
| &nbsp; || <tt>s3-secret-key</tt> || The secret key for accessing your ceph Object store using S3 Interface.(Default: '', generated if not specified.)
+
|-
+
| &nbsp; || <tt>swift-secret-key</tt> || The secret key for accessing your ceph Object store using Swift Interface. (Default: '', generated if not specified.)
+
|-
+
| &nbsp; || <tt>user</tt> || Name or ID (GUID) of a existing user.
+
|-
+
| &nbsp; || <tt>flags</tt> || Optional flags for the operation. [async, force, min, *none]
+
|}
+
 
+
</div>
+
</div>
+
 
+
===Storage System Management [SYSTEM]===
+
Commands for managing all the appliance centric settings including NTP, DNS servers, hostname, ARP policies, system restart, shutdown and more.
+
----
+
<div class='mw-collapsible mw-collapsed'>
+
<div class='mw-collapsible-content'>
+
 
+
; system-get : Get general information about the storage system.
+
 
+
<pre> qs system-get|sys-get [--storage-system=value ] </pre>
+
{| cellspacing='0' cellpadding='5'
+
|-
+
| &nbsp; || <tt>storage-system</tt> || Name or ID of a storage system in a management grid.
+
|}
+
 
+
 
+
; system-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.
+
 
+
<pre> qs system-list|sys-list </pre>
+
{| cellspacing='0' cellpadding='5'
+
 
+
; system-metadata-recovery-point-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> qs system-metadata-recovery-point-list|smrp-list [--storage-system=value ] </pre>
+
{| cellspacing='0' cellpadding='5'
+
|-
+
| &nbsp; || <tt>storage-system</tt> || Name or ID of a storage system in a management grid.
+
|}
+
 
+
 
+
; system-modify : Modifies the name and/or description of the storage system.
+
 
+
<pre> qs system-modify|sys-modify [--storage-system=value ] [--name=value ] [--desc=value ] [--location=value ] [--domain=value ] [--search=value ] [--arp-filter-mode=value ] [--bond-mode=value ] [--ext-hostname=value ] [--grid-port=value ] [--ntp-servers=value ] [--dns-servers=value ] [--flags=value ] </pre>
+
{| cellspacing='0' cellpadding='5'
+
|-
+
| &nbsp; || <tt>storage-system</tt> || Name or ID of a storage system in a management grid.
+
|-
+
| &nbsp; || <tt>name</tt> || Storage system host name may include any alpha-numeric and hyphen '-' characters per IETF format requirements.
+
|-
+
| &nbsp; || <tt>desc</tt> || A description for the object.
+
|-
+
| &nbsp; || <tt>location</tt> || Optional description indicating the location of the storage system.
+
|-
+
| &nbsp; || <tt>domain</tt> || The domain name suffix for your network such as example.com
+
|-
+
| &nbsp; || <tt>search</tt> || The default domain search suffix for your network such as example.com
+
|-
+
| &nbsp; || <tt>arp-filter-mode</tt> || ARP filtering should be enabled when you have more than one network card on the same network. [*auto, disabled, enabled]
+
|-
+
| &nbsp; || <tt>bond-mode</tt> || 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]
+
|-
+
| &nbsp; || <tt>ext-hostname</tt> || Specifies the external hostname for the system.  This is useful for creating grids of systems in the cloud like in Amazon's EC2.
+
|-
+
| &nbsp; || <tt>grid-port</tt> || Designated port for grid communication
+
|-
+
| &nbsp; || <tt>ntp-servers</tt> || Comma delimited list of NTP servers to assign to the appliance.
+
|-
+
| &nbsp; || <tt>dns-servers</tt> || Comma delimited list of DNS servers to assign to the appliance.
+
|-
+
| &nbsp; || <tt>flags</tt> || Optional flags for the operation. [async, force, min, *none]
+
|}
+
 
+
 
+
; system-platform-event : Signal the service with an event.
+
 
+
<pre> qs system-platform-event|sys-pe --event-type=value --event-message=value </pre>
+
{| cellspacing='0' cellpadding='5'
+
|-
+
| &nbsp; || <tt>event-type</tt> || The class of event that is being signaled.
+
|-
+
| &nbsp; || <tt>event-message</tt> || The message/key of the event to signal.
+
|}
+
 
+
 
+
; system-restart : Restarts the entire storage system.
+
 
+
<pre> qs system-restart|restart [--storage-system=value ] [--flags=value ] </pre>
+
{| cellspacing='0' cellpadding='5'
+
|-
+
| &nbsp; || <tt>storage-system</tt> || Name or ID of a storage system in a management grid.
+
|-
+
| &nbsp; || <tt>flags</tt> || Optional flags for the operation. [async, force, min, *none]
+
|}
+
 
+
 
+
; system-shutdown : Shutdown the storage system.
+
 
+
<pre> qs system-shutdown|shutdown [--storage-system=value ] [--service-only=value ] [--flags=value ] </pre>
+
{| cellspacing='0' cellpadding='5'
+
|-
+
| &nbsp; || <tt>storage-system</tt> || Name or ID of a storage system in a management grid.
+
|-
+
| &nbsp; || <tt>service-only</tt> || Shutdown just the management service and not the system.
+
|-
+
| &nbsp; || <tt>flags</tt> || Optional flags for the operation. [async, force, min, *none]
+
|}
+
 
+
 
+
; system-upgrade : Upgrade to the latest version of the core packages.
+
 
+
<pre> qs system-upgrade|upgrade [--storage-system=value ] [--flags=value ] </pre>
+
{| cellspacing='0' cellpadding='5'
+
|-
+
| &nbsp; || <tt>storage-system</tt> || Name or ID of a storage system in a management grid.
+
|-
+
| &nbsp; || <tt>flags</tt> || Optional flags for the operation. [async, force, min, *none]
+
|}
+
 
+
 
+
; timezone-list : Lists all the available time zones from the system time zone table.
+
 
+
<pre> qs timezone-list|tz-list [--storage-system=value ] [--search-filter=value ] </pre>
+
{| cellspacing='0' cellpadding='5'
+
|-
+
| &nbsp; || <tt>storage-system</tt> || Name or ID of a storage system in a management grid.
+
|-
+
| &nbsp; || <tt>search-filter</tt> || Filter the results of the time zone list to match the specified search string.
+
|}
+
 
+
 
+
; timezone-set : Sets the time zone for the specified storage appliance.
+
 
+
<pre> qs timezone-set|tz-set --timezone=value [--storage-system=value ] </pre>
+
{| cellspacing='0' cellpadding='5'
+
|-
+
| &nbsp; || <tt>timezone</tt> || System time zone, for example 'America/Los_Angeles'
+
|-
+
| &nbsp; || <tt>storage-system</tt> || Name or ID of a storage system in a management grid.
+
|}
+
 
+
</div>
+
</div>
+
 
+
===Storage System Replication Link Management [SYSTEM-LINK]===
+
Storage System Links are a required prerequisite before remote-replication and replication schedules can be formed to move data between any given pair of appliances in a grid.
+
----
+
<div class='mw-collapsible mw-collapsed'>
+
<div class='mw-collapsible-content'>
+
 
+
; link-create : Create a new storage system link so that storage volumes may be replicated between storage systems.
+
 
+
<pre> qs link-create|sl-create --storage-system=value --remote-system=value --local-ip=value --remote-ip=value [--bw-limit=value ] [--link-type=value ] [--desc=value ] </pre>
+
{| cellspacing='0' cellpadding='5'
+
|-
+
| &nbsp; || <tt>storage-system</tt> || Name or ID of a storage system in a management grid.
+
|-
+
| &nbsp; || <tt>remote-system</tt> || Name or ID of a storage system in a management grid.
+
|-
+
| &nbsp; || <tt>local-ip</tt> || IP Address of the host being added; if unspecified the service will look it up.
+
|-
+
| &nbsp; || <tt>remote-ip</tt> || IP Address of the host being added; if unspecified the service will look it up.
+
|-
+
| &nbsp; || <tt>bw-limit</tt> || 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.
+
|-
+
| &nbsp; || <tt>link-type</tt> || Type of storage system link to establish.
+
|-
+
| &nbsp; || <tt>desc</tt> || A description for the object.
+
|}
+
 
+
 
+
; link-delete : Delete an existing storage system link.
+
 
+
<pre> qs link-delete|sl-delete --link=value </pre>
+
{| cellspacing='0' cellpadding='5'
+
|-
+
| &nbsp; || <tt>link</tt> || Storage system link ID or name.
+
|}
+
 
+
 
+
; link-get : Get information about the storage system link.
+
 
+
<pre> qs link-get|sl-get --link=value </pre>
+
{| cellspacing='0' cellpadding='5'
+
|-
+
| &nbsp; || <tt>link</tt> || Storage system link ID or name.
+
|}
+
 
+
 
+
; link-list : List the existing storage system remote replication links.
+
 
+
<pre> qs link-list|sl-list </pre>
+
{| cellspacing='0' cellpadding='5'
+
 
+
; link-modify : Modify the properties of the storage system link.
+
 
+
<pre> qs link-modify|sl-modify --link=value --remote-ip=value [--local-ip=value ] [--desc=value ] [--bw-limit=value ] [--link-type=value ] </pre>
+
{| cellspacing='0' cellpadding='5'
+
|-
+
| &nbsp; || <tt>link</tt> || Storage system link ID or name.
+
|-
+
| &nbsp; || <tt>remote-ip</tt> || IP Address of the host being added; if unspecified the service will look it up.
+
|-
+
| &nbsp; || <tt>local-ip</tt> || IP Address of the host being added; if unspecified the service will look it up.
+
|-
+
| &nbsp; || <tt>desc</tt> || A description for the object.
+
|-
+
| &nbsp; || <tt>bw-limit</tt> || 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.
+
|-
+
| &nbsp; || <tt>link-type</tt> || Type of storage system link to establish.
+
|}
+
 
+
</div>
+
</div>
+
 
+
===Tag/Object Property Management [TAG]===
+
Feature which allows any object within the QuantaStor system to be tagged with user custom properties (key/value pairs).  Tagging is often used to facilitate multi-tenancy deployments by applying tags containing unique IDs which identify users, customers, account, tenants and more.
+
----
+
<div class='mw-collapsible mw-collapsed'>
+
<div class='mw-collapsible-content'>
+
 
+
; tag-get : Returns information on a specific tag on a specific object.
+
 
+
<pre> qs tag-get|prop-get --object-id=value --tag=value </pre>
+
{| cellspacing='0' cellpadding='5'
+
|-
+
| &nbsp; || <tt>object-id</tt> || UUID of the object to associate the tag with.
+
|-
+
| &nbsp; || <tt>tag</tt> || Name of the tag/key for the object property. Tags are used to add custom user metadata to objects which is especially important for multi-tenant environments.
+
|}
+
 
+
 
+
; tag-list : Lists all the tags for the object with the specified object UUID.
+
 
+
<pre> qs tag-list|prop-list --object-id=value </pre>
+
{| cellspacing='0' cellpadding='5'
+
|-
+
| &nbsp; || <tt>object-id</tt> || UUID of the object to associate the tag with.
+
|}
+
 
+
 
+
; tag-set : Adds a new tag/property to the specified object, use a value of hyphen '-' to clear a previously set value.
+
 
+
<pre> qs tag-set|prop-set --object-id=value --tag=value --value=value [--value-type=value ] [--object-type=value ] </pre>
+
{| cellspacing='0' cellpadding='5'
+
|-
+
| &nbsp; || <tt>object-id</tt> || UUID of the object to associate the tag with.
+
|-
+
| &nbsp; || <tt>tag</tt> || tag
+
|-
+
| &nbsp; || <tt>value</tt> || value
+
|-
+
| &nbsp; || <tt>value-type</tt> || value-type [float, int, *string, time]
+
|-
+
| &nbsp; || <tt>object-type</tt> || object-type [disk, host, pool, share, user, user-group, *volume]
+
|}
+
 
+
</div>
+
</div>
+
 
+
===Network Interface Management [TARGET-PORT]===
+
Commands for configuration, management and monitoring of network ports, teaming/bonding, VLAN configuration and more.
+
----
+
<div class='mw-collapsible mw-collapsed'>
+
<div class='mw-collapsible-content'>
+
 
+
; bonded-interface-create : Creates a bonded network interface by bonding/teaming together a group of one or more physical network ports.
+
 
+
<pre> qs bonded-interface-create|bond-create --ip-address=value --port-list=value [--storage-system=value ] [--netmask=value ] [--gateway=value ] [--mtu=value ] [--desc=value ] [--bond-mode=value ] [--flags=value ] </pre>
+
{| cellspacing='0' cellpadding='5'
+
|-
+
| &nbsp; || <tt>ip-address</tt> || IP Address of the host being added; if unspecified the service will look it up.
+
|-
+
| &nbsp; || <tt>port-list</tt> || List of target ports to be bonded together.
+
|-
+
| &nbsp; || <tt>storage-system</tt> || Name or ID of a storage system in a management grid.
+
|-
+
| &nbsp; || <tt>netmask</tt> || Subnet IP mask (ex: 255.255.255.0)
+
|-
+
| &nbsp; || <tt>gateway</tt> || IP address of the network gateway
+
|-
+
| &nbsp; || <tt>mtu</tt> || Maximum transmission unit (MTU) for the target port, commonly set to 9000 to enable jumbo frames.
+
|-
+
| &nbsp; || <tt>desc</tt> || A description for the object.
+
|-
+
| &nbsp; || <tt>bond-mode</tt> || 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]
+
|-
+
| &nbsp; || <tt>flags</tt> || Optional flags for the operation. [async, force, min, *none]
+
|}
+
 
+
 
+
; bonded-interface-delete : Deletes the specified bonded network interface.
+
 
+
<pre> qs bonded-interface-delete|bond-delete --port=value </pre>
+
{| cellspacing='0' cellpadding='5'
+
|-
+
| &nbsp; || <tt>port</tt> || Name of unique ID of a physical network port/target port.
+
|}
+
 
+
 
+
; fiber-channel-port-disable : Disables the specified fiber channel port.
+
 
+
<pre> qs fiber-channel-port-disable|fcp-disable --port=value [--flags=value ] </pre>
+
{| cellspacing='0' cellpadding='5'
+
|-
+
| &nbsp; || <tt>port</tt> || Name or MAC address of the target port.
+
|-
+
| &nbsp; || <tt>flags</tt> || Optional flags for the operation. [async, force, min, *none]
+
|}
+
 
+
 
+
; fiber-channel-port-enable : Enables the specified fiber channel port.
+
 
+
<pre> qs fiber-channel-port-enable|fcp-enable --port=value [--flags=value ] </pre>
+
{| cellspacing='0' cellpadding='5'
+
|-
+
| &nbsp; || <tt>port</tt> || Name or MAC address of the target port.
+
|-
+
| &nbsp; || <tt>flags</tt> || Optional flags for the operation. [async, force, min, *none]
+
|}
+
 
+
 
+
; fiber-channel-port-get : Returns information about the specified fiber channel target port.
+
 
+
<pre> qs fiber-channel-port-get|fcp-get --port=value [--flags=value ] </pre>
+
{| cellspacing='0' cellpadding='5'
+
|-
+
| &nbsp; || <tt>port</tt> || Name or MAC address of the target port.
+
|-
+
| &nbsp; || <tt>flags</tt> || Optional flags for the operation. [min]
+
|}
+
 
+
 
+
; fiber-channel-port-list : Returns a list of all the fiber channel target ports in the system.
+
 
+
<pre> qs fiber-channel-port-list|fcp-list </pre>
+
{| cellspacing='0' cellpadding='5'
+
 
+
; infiniband-port-get : Returns information about the specified infiniband port.
+
 
+
<pre> qs infiniband-port-get|ibp-get --port=value [--flags=value ] </pre>
+
{| cellspacing='0' cellpadding='5'
+
|-
+
| &nbsp; || <tt>port</tt> || Name or MAC address of the target port.
+
|-
+
| &nbsp; || <tt>flags</tt> || Optional flags for the operation. [min]
+
|}
+
 
+
 
+
; infiniband-port-list : Returns a list of all the infiniband ports in the system.
+
 
+
<pre> qs infiniband-port-list|ibp-list </pre>
+
{| cellspacing='0' cellpadding='5'
+
 
+
; target-port-disable : Disables the specified target port.
+
 
+
<pre> qs target-port-disable|tp-disable --port=value [--flags=value ] </pre>
+
{| cellspacing='0' cellpadding='5'
+
|-
+
| &nbsp; || <tt>port</tt> || Name or MAC address of the target port.
+
|-
+
| &nbsp; || <tt>flags</tt> || Optional flags for the operation. [async, force, min, *none]
+
|}
+
 
+
 
+
; target-port-enable : Enables the specified target port.
+
 
+
<pre> qs target-port-enable|tp-enable --port=value [--flags=value ] </pre>
+
{| cellspacing='0' cellpadding='5'
+
|-
+
| &nbsp; || <tt>port</tt> || Name or MAC address of the target port.
+
|-
+
| &nbsp; || <tt>flags</tt> || Optional flags for the operation. [async, force, min, *none]
+
|}
+
 
+
 
+
; target-port-get : Returns information about the specified target port.
+
 
+
<pre> qs target-port-get|tp-get --port=value [--flags=value ] </pre>
+
{| cellspacing='0' cellpadding='5'
+
|-
+
| &nbsp; || <tt>port</tt> || Name or MAC address of the target port.
+
|-
+
| &nbsp; || <tt>flags</tt> || Optional flags for the operation. [min]
+
|}
+
 
+
 
+
; target-port-list : Returns a list of all the target ports in the system.
+
 
+
<pre> qs target-port-list|tp-list </pre>
+
{| cellspacing='0' cellpadding='5'
+
 
+
; target-port-modify : Modifies target port settings including IP address, gateway, mtu, etc.
+
 
+
<pre> qs target-port-modify|tp-modify --port=value [--port-type=value ] [--ip-address=value ] [--netmask=value ] [--gateway=value ] [--mtu=value ] [--iscsi-enable=value ] [--object-gateway-enable=value ] [--desc=value ] [--float-list=value ] [--bond-mode=value ] [--flags=value ] </pre>
+
{| cellspacing='0' cellpadding='5'
+
|-
+
| &nbsp; || <tt>port</tt> || Name or MAC address of a target port, or 'all' to modify all ports.
+
|-
+
| &nbsp; || <tt>port-type</tt> || Port configuration type. (static, dhcp)
+
|-
+
| &nbsp; || <tt>ip-address</tt> || IP Address of the host being added; if unspecified the service will look it up.
+
|-
+
| &nbsp; || <tt>netmask</tt> || Subnet IP mask (ex: 255.255.255.0)
+
|-
+
| &nbsp; || <tt>gateway</tt> || IP address of the network gateway
+
|-
+
| &nbsp; || <tt>mtu</tt> || Maximum transmission unit (MTU) for the target port, commonly set to 9000 to enable jumbo frames.
+
|-
+
| &nbsp; || <tt>iscsi-enable</tt> || Enables or disables iSCSI access to the specified port(s).
+
|-
+
| &nbsp; || <tt>object-gateway-enable</tt> || Enables/disables access to the port via S3/SWIFT for object storage deployments. WARNING, turning on object storage access will block management access to the web UI for that IP address!
+
|-
+
| &nbsp; || <tt>desc</tt> || A description for the object.
+
|-
+
| &nbsp; || <tt>float-list</tt> || 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.
+
|-
+
| &nbsp; || <tt>bond-mode</tt> || 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]
+
|-
+
| &nbsp; || <tt>flags</tt> || Optional flags for the operation. [async, force, min, *none]
+
|}
+
 
+
 
+
; target-port-rescan : Discovers new target ports and/or any manual modifications made to the configuration of the target ports.
+
 
+
<pre> qs target-port-rescan|tp-rescan [--storage-system=value ] [--flags=value ] </pre>
+
{| cellspacing='0' cellpadding='5'
+
|-
+
| &nbsp; || <tt>storage-system</tt> || Name or ID of a storage system in a management grid.
+
|-
+
| &nbsp; || <tt>flags</tt> || Optional flags for the operation. [async, force, min, *none]
+
|}
+
 
+
 
+
; target-port-restart : Restarts the specified target port.
+
 
+
<pre> qs target-port-restart|tp-restart --port=value [--flags=value ] </pre>
+
{| cellspacing='0' cellpadding='5'
+
|-
+
| &nbsp; || <tt>port</tt> || Name or MAC address of the target port.
+
|-
+
| &nbsp; || <tt>flags</tt> || Optional flags for the operation. [async, force, min, *none]
+
|}
+
 
+
 
+
; virtual-interface-create : Creates a new virtual network interface which is linked to a physical network port.
+
 
+
<pre> qs virtual-interface-create|vif-create --parent-port=value --ip-address=value [--storage-system=value ] [--netmask=value ] [--gateway=value ] [--float-list=value ] [--mtu=value ] [--desc=value ] [--flags=value ] </pre>
+
{| cellspacing='0' cellpadding='5'
+
|-
+
| &nbsp; || <tt>parent-port</tt> || Port that the virtual interface should initially be attached to.
+
|-
+
| &nbsp; || <tt>ip-address</tt> || IP Address of the host being added; if unspecified the service will look it up.
+
|-
+
| &nbsp; || <tt>storage-system</tt> || Name or ID of a storage system in a management grid.
+
|-
+
| &nbsp; || <tt>netmask</tt> || Subnet IP mask (ex: 255.255.255.0)
+
|-
+
| &nbsp; || <tt>gateway</tt> || IP address of the network gateway
+
|-
+
| &nbsp; || <tt>float-list</tt> || 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.
+
|-
+
| &nbsp; || <tt>mtu</tt> || Maximum transmission unit (MTU) for the target port, commonly set to 9000 to enable jumbo frames.
+
|-
+
| &nbsp; || <tt>desc</tt> || A description for the object.
+
|-
+
| &nbsp; || <tt>flags</tt> || Optional flags for the operation. [async, force, min, *none]
+
|}
+
 
+
 
+
; virtual-interface-delete : Deletes the specified virtual network interface.
+
 
+
<pre> qs virtual-interface-delete|vif-delete --port=value </pre>
+
{| cellspacing='0' cellpadding='5'
+
|-
+
| &nbsp; || <tt>port</tt> || Name of unique ID of a physical network port/target port.
+
|}
+
 
+
 
+
; virtual-interface-move : Moves the specified virtual network interface to a different physical network port.
+
 
+
<pre> qs virtual-interface-move|vif-move --vif=value --port=value </pre>
+
{| cellspacing='0' cellpadding='5'
+
|-
+
| &nbsp; || <tt>vif</tt> || Name of unique ID (GUID) for the virtual interface.
+
|-
+
| &nbsp; || <tt>port</tt> || Name of unique ID of a physical network port/target port.
+
|}
+
 
+
 
+
; vlan-interface-create : Creates a new VLAN interface on the specified physical port.
+
 
+
<pre> qs vlan-interface-create|vlan-create --parent-port=value --ip-address=value --vlan-id=value [--storage-system=value ] [--netmask=value ] [--gateway=value ] [--vlan-qos=value ] [--mtu=value ] [--desc=value ] [--flags=value ] </pre>
+
{| cellspacing='0' cellpadding='5'
+
|-
+
| &nbsp; || <tt>parent-port</tt> || Port that the virtual interface should initially be attached to.
+
|-
+
| &nbsp; || <tt>ip-address</tt> || IP Address of the host being added; if unspecified the service will look it up.
+
|-
+
| &nbsp; || <tt>vlan-id</tt> || VLAN ID (typically 1-255)
+
|-
+
| &nbsp; || <tt>storage-system</tt> || Name or ID of a storage system in a management grid.
+
|-
+
| &nbsp; || <tt>netmask</tt> || Subnet IP mask (ex: 255.255.255.0)
+
|-
+
| &nbsp; || <tt>gateway</tt> || IP address of the network gateway
+
|-
+
| &nbsp; || <tt>vlan-qos</tt> || 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.
+
|-
+
| &nbsp; || <tt>mtu</tt> || Maximum transmission unit (MTU) for the target port, commonly set to 9000 to enable jumbo frames.
+
|-
+
| &nbsp; || <tt>desc</tt> || A description for the object.
+
|-
+
| &nbsp; || <tt>flags</tt> || Optional flags for the operation. [async, force, min, *none]
+
|}
+
 
+
 
+
; vlan-interface-delete : Deletes the specified VLAN interface.
+
 
+
<pre> qs vlan-interface-delete|vlan-delete --port=value </pre>
+
{| cellspacing='0' cellpadding='5'
+
|-
+
| &nbsp; || <tt>port</tt> || Name of unique ID of a physical network port/target port.
+
|}
+
 
+
</div>
+
</div>
+
 
+
===Task Management [TASK]===
+
Every configuration operation done within an appliance or across a group of appliances is represented in the system as a Task. Some long running tasks can be canceled while running and all tasks from all systems in a grid are visible and monitorable from all appliances.
+
----
+
<div class='mw-collapsible mw-collapsed'>
+
<div class='mw-collapsible-content'>
+
 
+
; task-cancel : Cancels the specified task that is in the queue or is running.
+
 
+
<pre> qs task-cancel|t-cancel --task=value </pre>
+
{| cellspacing='0' cellpadding='5'
+
|-
+
| &nbsp; || <tt>task</tt> || ID of a task.
+
|}
+
 
+
 
+
; task-clear-all : Clears all the completed and/or failed tasks from the task log so that only the running and queued tasks (if any) remain.
+
 
+
<pre> qs task-clear-all|t-clear-all </pre>
+
{| cellspacing='0' cellpadding='5'
+
 
+
; task-get : Returns information about the specified task.
+
 
+
<pre> qs task-get|t-get --task=value </pre>
+
{| cellspacing='0' cellpadding='5'
+
|-
+
| &nbsp; || <tt>task</tt> || ID of a task.
+
|}
+
 
+
 
+
; task-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 acquired. 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.
+
 
+
<pre> qs task-list|t-list [--filtered=value ] </pre>
+
{| cellspacing='0' cellpadding='5'
+
|-
+
| &nbsp; || <tt>filtered</tt> || Returns just the 'value' most recently created.
+
|}
+
 
+
 
+
; task-proceed : Some tasks (e.g., volume-snapshot) can wait for a signal part-way through the task before proceeding.  In the case of volume snapshot tasks this can be used to shorten the snapshot quiesce window.
+
 
+
<pre> qs task-proceed|t-proceed --task=value [--wait-for-signal=value ] </pre>
+
{| cellspacing='0' cellpadding='5'
+
|-
+
| &nbsp; || <tt>task</tt> || ID of a task.
+
|-
+
| &nbsp; || <tt>wait-for-signal</tt> || Some tasks (volume-snapshot) have the ability to wait for a signal at a key point before proceeding.  To signal the task to proceed once started use 'task-proceed'.
+
|}
+
 
+
</div>
+
</div>
+
 
+
===Trace Level Management [TRACE-LEVEL]===
+
Debugging facility used to increase the amount of information sent to the /var/log/qs_service.log
+
----
+
<div class='mw-collapsible mw-collapsed'>
+
<div class='mw-collapsible-content'>
+
 
+
; trace-level-get : Get the current trace level that is being used for logging.
+
 
+
<pre> qs trace-level-get|tl-get </pre>
+
{| cellspacing='0' cellpadding='5'
+
 
+
; trace-level-modify : Modify the current parameters used for logging.
+
 
+
<pre> qs trace-level-modify|tl-modify [--trace-level=value ] [--stdout=value ] [--trace-filter=value ] [--trace-options=value ] </pre>
+
{| cellspacing='0' cellpadding='5'
+
|-
+
| &nbsp; || <tt>trace-level</tt> || This is the trace level you would like the system to use for logging. [always, critical, debug, debug2, *error, info, verbose, warning]
+
|-
+
| &nbsp; || <tt>stdout</tt> || Whether or not the traces should also be logged to stdout
+
|-
+
| &nbsp; || <tt>trace-filter</tt> || Specific classes that you would like to have elevated trace levels
+
|-
+
| &nbsp; || <tt>trace-options</tt> || Specific options for tracing [enable-cpuinfo,disable-cpuinfo,enable-meminfo,disable-meminfo,enable-calllog,disable-calllog,enable-eventlog,disable-eventlog]
+
|}
+
 
+
</div>
+
</div>
+
 
+
===User Management [USER]===
+
User management within an appliance is used both to facilitate access to appliance management operations as well as to create local user accounts to provide SMB access to Network Shares. Use the System Monitor role to limit users so that they cannot change the configuration of any aspect of the system except their own password.
+
----
+
<div class='mw-collapsible mw-collapsed'>
+
<div class='mw-collapsible-content'>
+
 
+
; user-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> qs user-add|u-add --name=value --password=value --role=value [--first-name=value ] [--last-name=value ] [--email=value ] [--desc=value ] [--default-chap-user=value ] [--default-chap-pass=value ] [--alerts=value ] </pre>
+
{| cellspacing='0' cellpadding='5'
+
|-
+
| &nbsp; || <tt>name</tt> || User names may include any alpha-numeric plus '_' and '-' characters; spaces are not allowed.
+
|-
+
| &nbsp; || <tt>password</tt> || A password for the user to use when accessing the QuantaStor management interface.
+
|-
+
| &nbsp; || <tt>role</tt> || Name of a security role or its unique ID (GUID).
+
|-
+
| &nbsp; || <tt>first-name</tt> || User's first name: enclose in double-quotes if it contains spaces.
+
|-
+
| &nbsp; || <tt>last-name</tt> || User's last name: enclose in double-quotes if it contains spaces.
+
|-
+
| &nbsp; || <tt>email</tt> || An email address of the form 'user@example.com' without the quotes.
+
|-
+
| &nbsp; || <tt>desc</tt> || A description for the object.
+
|-
+
| &nbsp; || <tt>default-chap-user</tt> || Default CHAP username for storage volumes owned by a user account which have the CHAP policy set to 'use user default CHAP settings'
+
|-
+
| &nbsp; || <tt>default-chap-pass</tt> || Default CHAP password for storage volumes owned by a user account which have the CHAP policy set to 'use user default CHAP settings'
+
|-
+
| &nbsp; || <tt>alerts</tt> || 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]
+
|}
+
 
+
 
+
; user-get : Gets information about the specified user.
+
 
+
<pre> qs user-get|u-get --user=value </pre>
+
{| cellspacing='0' cellpadding='5'
+
|-
+
| &nbsp; || <tt>user</tt> || Name or ID (GUID) of a existing user.
+
|}
+
 
+
 
+
; user-list : Returns a list of all the users.
+
 
+
<pre> qs user-list|u-list </pre>
+
{| cellspacing='0' cellpadding='5'
+
 
+
; user-modify : Modifies the specified user name, role, and/or description.
+
 
+
<pre> qs user-modify|u-modify --user=value [--role=value ] [--desc=value ] [--default-chap-user=value ] [--default-chap-pass=value ] [--lock-account=value ] [--alerts=value ] </pre>
+
{| cellspacing='0' cellpadding='5'
+
|-
+
| &nbsp; || <tt>user</tt> || Name or ID (GUID) of a existing user.
+
|-
+
| &nbsp; || <tt>role</tt> || Name of a security role or its unique ID (GUID).
+
|-
+
| &nbsp; || <tt>desc</tt> || A description for the object.
+
|-
+
| &nbsp; || <tt>default-chap-user</tt> || Default CHAP username for storage volumes owned by a user account which have the CHAP policy set to 'use user default CHAP settings'
+
|-
+
| &nbsp; || <tt>default-chap-pass</tt> || Default CHAP password for storage volumes owned by a user account which have the CHAP policy set to 'use user default CHAP settings'
+
|-
+
| &nbsp; || <tt>lock-account</tt> || Lock/disable the user account.
+
|-
+
| &nbsp; || <tt>alerts</tt> || 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]
+
|}
+
 
+
 
+
; user-password-set : Changes the password for the specified user
+
 
+
<pre> qs user-password-set|passwd --user=value --new-password=value [--old-password=value ] </pre>
+
{| cellspacing='0' cellpadding='5'
+
|-
+
| &nbsp; || <tt>user</tt> || Name or ID (GUID) of a existing user.
+
|-
+
| &nbsp; || <tt>new-password</tt> || New password for the user.
+
|-
+
| &nbsp; || <tt>old-password</tt> || Old password for the user.
+
|}
+
 
+
 
+
; user-remove : Removes the specified user identified by name or ID.
+
 
+
<pre> qs user-remove|u-remove --user=value </pre>
+
{| cellspacing='0' cellpadding='5'
+
|-
+
| &nbsp; || <tt>user</tt> || Name or ID (GUID) of a existing user.
+
|}
+
 
+
</div>
+
</div>
+
 
+
===User Group Management [USER-GROUP]===
+
Users can be grouped together to simplify management of Resource Groups.
+
----
+
<div class='mw-collapsible mw-collapsed'>
+
<div class='mw-collapsible-content'>
+
 
+
; user-group-create : Creates a new storage user group comprised of the specified users.
+
 
+
<pre> qs user-group-create|ug-create --name=value --user-list=value [--desc=value ] [--flags=value ] </pre>
+
{| cellspacing='0' cellpadding='5'
+
|-
+
| &nbsp; || <tt>name</tt> || Names may include any alpha-numeric plus '_' and '-' characters; spaces are not allowed.
+
|-
+
| &nbsp; || <tt>user-list</tt> || A list of one or more users.
+
|-
+
| &nbsp; || <tt>desc</tt> || A description for the object.
+
|-
+
| &nbsp; || <tt>flags</tt> || Optional flags for the operation. [async]
+
|}
+
 
+
 
+
; user-group-delete : Deletes a storage user group, the users are not deleted unless the delete-users flag is set.
+
 
+
<pre> qs user-group-delete|ug-delete --user-group=value [--flags=value ] </pre>
+
{| cellspacing='0' cellpadding='5'
+
|-
+
| &nbsp; || <tt>user-group</tt> || A group of one or more users.
+
|-
+
| &nbsp; || <tt>flags</tt> || Optional flags for the operation. [async, force]
+
|}
+
 
+
 
+
; user-group-get : Returns information about a specific storage user group.
+
 
+
<pre> qs user-group-get|ug-get --user-group=value </pre>
+
{| cellspacing='0' cellpadding='5'
+
|-
+
| &nbsp; || <tt>user-group</tt> || A group of one or more users.
+
|}
+
 
+
 
+
; user-group-list : Returns a list of all the storage user groups.
+
 
+
<pre> qs user-group-list|ug-list </pre>
+
{| cellspacing='0' cellpadding='5'
+
 
+
; user-group-modify : Modifies the name and/or description of a storage user group.
+
 
+
<pre> qs user-group-modify|ug-modify --user-group=value [--name=value ] [--desc=value ] </pre>
+
{| cellspacing='0' cellpadding='5'
+
|-
+
| &nbsp; || <tt>user-group</tt> || A group of one or more users.
+
|-
+
| &nbsp; || <tt>name</tt> || Names may include any alpha-numeric plus '_' and '-' characters; spaces are not allowed.
+
|-
+
| &nbsp; || <tt>desc</tt> || A description for the object.
+
|}
+
 
+
 
+
; user-group-user-add : Adds one or more users to the specified user group.
+
 
+
<pre> qs user-group-user-add|ugu-add --user-group=value --user-list=value </pre>
+
{| cellspacing='0' cellpadding='5'
+
|-
+
| &nbsp; || <tt>user-group</tt> || A group of one or more users.
+
|-
+
| &nbsp; || <tt>user-list</tt> || A list of one or more users.
+
|}
+
 
+
 
+
; user-group-user-remove : Removes one or more users from the specified user group
+
 
+
<pre> qs user-group-user-remove|ugu-remove --user-group=value --user-list=value </pre>
+
{| cellspacing='0' cellpadding='5'
+
|-
+
| &nbsp; || <tt>user-group</tt> || A group of one or more users.
+
|-
+
| &nbsp; || <tt>user-list</tt> || A list of one or more users.
+
|}
+
 
+
</div>
+
</div>
+
 
+
===Storage Volume Management [VOLUME]===
+
Commands for the management of Storage Volumes which are block devices which can be presented to Hosts via the iSCSI and/or FC protocols.
+
----
+
<div class='mw-collapsible mw-collapsed'>
+
<div class='mw-collapsible-content'>
+
 
+
; volume-clone : Creates a complete block copy of the source volume.
+
 
+
<pre> qs volume-clone|v-clone --volume=value [--pool=value ] [--name=value ] [--desc=value ] [--access-mode=value ] [--flags=value ] </pre>
+
{| cellspacing='0' cellpadding='5'
+
|-
+
| &nbsp; || <tt>volume</tt> || Name of the storage volume or its unique ID (GUID).
+
|-
+
| &nbsp; || <tt>pool</tt> || Name of the storage pool or its unique ID (GUID).
+
|-
+
| &nbsp; || <tt>name</tt> || Name for the clone, if not provided the source volume name will be used as a prefix.
+
|-
+
| &nbsp; || <tt>desc</tt> || A description for the object.
+
|-
+
| &nbsp; || <tt>access-mode</tt> || Access mode for the volume. [none, readonly, *readwrite]
+
|-
+
| &nbsp; || <tt>flags</tt> || Optional flags for the operation. [async, force]
+
|}
+
 
+
 
+
; volume-create : Creates a new storage volume in the specified storage pool.
+
 
+
<pre> qs volume-create|v-create --name=value --size=value --pool=value [--desc=value ] [--percent-reserved=value ] [--access-mode=value ] [--chap-policy=value ] [--chap-user=value ] [--chap-pass=value ] [--count=value ] [--blocksize=value ] [--qos-policy=value ] [--thin=value ] [--flags=value ] </pre>
+
{| cellspacing='0' cellpadding='5'
+
|-
+
| &nbsp; || <tt>name</tt> || Names may include any alpha-numeric plus '_' and '-' characters; spaces are not allowed.
+
|-
+
| &nbsp; || <tt>size</tt> || Size may be specified in MiB, GiB, or TiB. examples: 4G, 100M, 1.4T
+
|-
+
| &nbsp; || <tt>pool</tt> || Name of the storage pool or its unique ID (GUID).
+
|-
+
| &nbsp; || <tt>desc</tt> || A description for the object.
+
|-
+
| &nbsp; || <tt>percent-reserved</tt> || Percentage of the storage volume's total size that should be set aside as reserved space deducted from the pool's free-space (default is 0)
+
|-
+
| &nbsp; || <tt>access-mode</tt> || Access mode for the volume. [none, readonly, *readwrite]
+
|-
+
| &nbsp; || <tt>chap-policy</tt> || 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 tenant resource cloud respectively. [cloud-defaults, *disabled, target, user-defaults]
+
|-
+
| &nbsp; || <tt>chap-user</tt> || An optional iSCSI CHAP username.
+
|-
+
| &nbsp; || <tt>chap-pass</tt> || An optional iSCSI CHAP password.
+
|-
+
| &nbsp; || <tt>count</tt> || The number of volumes to create, default is 1.
+
|-
+
| &nbsp; || <tt>blocksize</tt> || Volume block size in KB, valid values are 8, 16, 32, 64, 128. Larger values deliver higher performance for workloads with high sequential IO.
+
|-
+
| &nbsp; || <tt>qos-policy</tt> || Specifies the name or ID of a Quality of Service (QoS) policy.  QoS policies limit the throughput and IOPs of a storage volume which is especially useful in multi-tenant environments.
+
|-
+
| &nbsp; || <tt>thin</tt> || Thin provision (sparse allocate) the storage volume (deprecated, use percent-reserved).
+
|-
+
| &nbsp; || <tt>flags</tt> || Optional flags for the operation. [async, force]
+
|}
+
 
+
 
+
; volume-delete : Deletes a storage volume, *WARNING* any data in the volume will be lost.
+
 
+
<pre> qs volume-delete|v-delete --volume=value [--flags=value ] </pre>
+
{| cellspacing='0' cellpadding='5'
+
|-
+
| &nbsp; || <tt>volume</tt> || Name of the storage volume or its unique ID (GUID).
+
|-
+
| &nbsp; || <tt>flags</tt> || Optional flags for the operation. [async, force]
+
|}
+
 
+
 
+
; volume-get : Returns information about a specific storage volume.
+
 
+
<pre> qs volume-get|v-get --volume=value </pre>
+
{| cellspacing='0' cellpadding='5'
+
|-
+
| &nbsp; || <tt>volume</tt> || Name of the storage volume or its unique ID (GUID).
+
|}
+
 
+
 
+
; volume-list : Returns a list of all the storage volumes.
+
 
+
<pre> qs volume-list|v-list </pre>
+
{| cellspacing='0' cellpadding='5'
+
 
+
; volume-modify : Modifies a the name, description or other properties of the storage volume.
+
 
+
<pre> qs volume-modify|v-modify --volume=value [--name=value ] [--desc=value ] [--access-mode=value ] [--flags=value ] [--chap-policy=value ] [--chap-user=value ] [--chap-pass=value ] [--clear-snap-flag=value ] [--enable-wb-cache=value ] [--is-active-checkpoint=value ] [--sync=value ] [--compression-type=value ] [--copies=value ] [--qos-policy=value ] [--reserved=value ] </pre>
+
{| cellspacing='0' cellpadding='5'
+
|-
+
| &nbsp; || <tt>volume</tt> || Name of the storage volume or its unique ID (GUID).
+
|-
+
| &nbsp; || <tt>name</tt> || Names may include any alpha-numeric plus '_' and '-' characters; spaces are not allowed.
+
|-
+
| &nbsp; || <tt>desc</tt> || A description for the object.
+
|-
+
| &nbsp; || <tt>access-mode</tt> || Access mode for the volume. [none, readonly, *readwrite]
+
|-
+
| &nbsp; || <tt>flags</tt> || Optional flags for the operation. [async]
+
|-
+
| &nbsp; || <tt>chap-policy</tt> || 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 tenant resource cloud respectively. [cloud-defaults, *disabled, target, user-defaults]
+
|-
+
| &nbsp; || <tt>chap-user</tt> || An optional iSCSI CHAP username.
+
|-
+
| &nbsp; || <tt>chap-pass</tt> || An optional iSCSI CHAP password.
+
|-
+
| &nbsp; || <tt>clear-snap-flag</tt> || Promotes a snapshot volume to standard (non-snapshot) volume.
+
|-
+
| &nbsp; || <tt>enable-wb-cache</tt> || Enables the write-back cache on the iSCSI target driver, this option uses volatile system RAM for cache and is not recommended.
+
|-
+
| &nbsp; || <tt>is-active-checkpoint</tt> || 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.
+
|-
+
| &nbsp; || <tt>sync</tt> || Synchronization 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]
+
|-
+
| &nbsp; || <tt>compression-type</tt> || Type of compression to be used. (on | off | lzjb | gzip | gzip-[1-9] | zle | lz4)
+
|-
+
| &nbsp; || <tt>copies</tt> || 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 (supported only on ZFS based pools).
+
|-
+
| &nbsp; || <tt>qos-policy</tt> || Specifies the name or ID of a Quality of Service (QoS) policy.  QoS policies limit the throughput and IOPs of a storage volume which is especially useful in multi-tenant environments.
+
|-
+
| &nbsp; || <tt>reserved</tt> || Amount of thick-provisioned reserved space for a Storage Volume specified in MiB, GiB, or TiB. examples: 4G, 100M, 1.4T
+
|}
+
 
+
 
+
; volume-reassign-schedule : Reassigns the created by ownership for a volume and optionally it's GMT snapshots to a new replication schedule so that they can be automatically cleaned up by the new schedule.
+
 
+
<pre> qs volume-reassign-schedule|v-reassign-schedule --volume=value --schedule=value [--recursive=value ] [--flags=value ] </pre>
+
{| cellspacing='0' cellpadding='5'
+
|-
+
| &nbsp; || <tt>volume</tt> || Name of the storage volume or its unique ID (GUID).
+
|-
+
| &nbsp; || <tt>schedule</tt> || Name or ID of a replication schedule.
+
|-
+
| &nbsp; || <tt>recursive</tt> || Recursively update the GMT snapshots of the specified parent storage volume.
+
|-
+
| &nbsp; || <tt>flags</tt> || Optional flags for the operation. [async, force]
+
|}
+
 
+
 
+
; volume-resize : Re-sizes a storage volume to make it larger, volumes cannot be reduced in size.
+
 
+
<pre> qs volume-resize|v-resize --volume=value --new-size=value [--flags=value ] </pre>
+
{| cellspacing='0' cellpadding='5'
+
|-
+
| &nbsp; || <tt>volume</tt> || Name of the storage volume or its unique ID (GUID).
+
|-
+
| &nbsp; || <tt>new-size</tt> || New larger size for the volume specified in MiB, GiB, or TiB. examples: 4G, 100M, 1.4T
+
|-
+
| &nbsp; || <tt>flags</tt> || Optional flags for the operation. [async, force]
+
|}
+
 
+
 
+
; volume-restore : Restores a storage volume to a previous point in time using a previously created snapshot. The volume restore process uses a full copy technique which is much slower than the Volume Rollback operation but works with any point-in-time snapshot.
+
 
+
<pre> qs volume-restore|v-restore --volume=value --snapshot=value [--flags=value ] </pre>
+
{| cellspacing='0' cellpadding='5'
+
|-
+
| &nbsp; || <tt>volume</tt> || Name of the storage volume or its unique ID (GUID).
+
|-
+
| &nbsp; || <tt>snapshot</tt> || Name or ID of a snapshot volume to use as the restore point.
+
|-
+
| &nbsp; || <tt>flags</tt> || Optional flags for the operation. [async, force]
+
|}
+
 
+
 
+
; volume-rollback : Does an instant rollback of a storage volume to a previous point-in-time using the most recently created snapshot volume. Rollback only works with the most recently created snapshot. To rollback using an earlier snapshot, all snapshots that were created after the snapshot to be used for rollback must be deleted.  For example, volume V1 with snapshots Vt1, Vt2, Vt3 only Vt3 can be used for rollback. To use Vt1 for rollback Vt2 and Vt3 must be deleted first.
+
 
+
<pre> qs volume-rollback|v-rollback --volume=value --snapshot=value [--flags=value ] </pre>
+
{| cellspacing='0' cellpadding='5'
+
|-
+
| &nbsp; || <tt>volume</tt> || Name of the storage volume or its unique ID (GUID).
+
|-
+
| &nbsp; || <tt>snapshot</tt> || Name or ID of a snapshot volume to use as the restore point.
+
|-
+
| &nbsp; || <tt>flags</tt> || Optional flags for the operation. [async, force]
+
|}
+
 
+
 
+
; volume-set-qos : Sets quality of service (QoS) performance maximums for IOPS and bandwidth for the specified storage volume.
+
 
+
<pre> qs volume-set-qos|v-qos --volume=value [--iops-read=value ] [--iops-write=value ] [--bw-read=value ] [--bw-write=value ] [--qos-policy=value ] [--flags=value ] </pre>
+
{| cellspacing='0' cellpadding='5'
+
|-
+
| &nbsp; || <tt>volume</tt> || Name of the storage volume or its unique ID (GUID).
+
|-
+
| &nbsp; || <tt>iops-read</tt> || Sets the maximum number of 4K read IOPS (I/O per second) as a Quality of Service (QoS) control on the storage volume.
+
|-
+
| &nbsp; || <tt>iops-write</tt> || Sets the maximum number of 4K write IOPS (I/O per second) as a Quality of Service (QoS) control on the storage volume.
+
|-
+
| &nbsp; || <tt>bw-read</tt> || Sets the maximum read bandwidth (e.g., 100MB) per second as a Quality of Service (QoS) control on the storage volume, 0 (default) indicates unlimited.
+
|-
+
| &nbsp; || <tt>bw-write</tt> || Sets the maximum write bandwidth (e.g., 100MB) per second as a Quality of Service (QoS) control on the storage volume, 0 (default) indicates unlimited.
+
|-
+
| &nbsp; || <tt>qos-policy</tt> || Specifies the name or ID of a Quality of Service (QoS) policy.  QoS policies limit the throughput and IOPs of a storage volume which is especially useful in multi-tenant environments.
+
|-
+
| &nbsp; || <tt>flags</tt> || Optional flags for the operation. [async, force]
+
|}
+
 
+
 
+
; volume-snapshot : Creates a space efficient copy of the source volume.
+
 
+
<pre> qs volume-snapshot|v-snap --volume=value [--name=value ] [--desc=value ] [--access-mode=value ] [--count=value ] [--lazy-clone=value ] [--wait-for-signal=value ] [--flags=value ] </pre>
+
{| cellspacing='0' cellpadding='5'
+
|-
+
| &nbsp; || <tt>volume</tt> || Name of the storage volume or its unique ID (GUID).
+
|-
+
| &nbsp; || <tt>name</tt> || Name for the snapshot, if not provided the source volume name will be used as a prefix.
+
|-
+
| &nbsp; || <tt>desc</tt> || A description for the object.
+
|-
+
| &nbsp; || <tt>access-mode</tt> || Access mode for the volume. [none, readonly, *readwrite]
+
|-
+
| &nbsp; || <tt>count</tt> || The number of snapshots of the specified volume to create, default is 1.
+
|-
+
| &nbsp; || <tt>lazy-clone</tt> || Delays making the snapshot volume writable until it is assigned to a host or modified in some way. This option doesn't save space but does reduce CPU and memory usage load on the system and is recommended if you're not planning to use the snapshot right away.
+
|-
+
| &nbsp; || <tt>wait-for-signal</tt> || Some tasks (volume-snapshot) have the ability to wait for a signal at a key point before proceeding.  To signal the task to proceed once started use 'task-proceed'.
+
|-
+
| &nbsp; || <tt>flags</tt> || Optional flags for the operation. [async, force]
+
|}
+
 
+
 
+
; volume-utilization-get : Returns a specific volume utilization metrics for a single volume and specific date.
+
 
+
<pre> qs volume-utilization-get|vu-get --entry=value </pre>
+
{| cellspacing='0' cellpadding='5'
+
|-
+
| &nbsp; || <tt>entry</tt> || Specifies the GUID or the name of a volume utilization entry in the form of 'VOLUMENAME:TIMESTAMP'
+
|}
+
 
+
 
+
; volume-utilization-list : Returns volume utilization information for a specific storage volume or all storage volumes if no volume is specified.
+
 
+
<pre> qs volume-utilization-list|vu-list [--volume=value ] [--offset-days=value ] [--num-days=value ] </pre>
+
{| cellspacing='0' cellpadding='5'
+
|-
+
| &nbsp; || <tt>volume</tt> || Name of the storage volume or its unique ID (GUID).
+
|-
+
| &nbsp; || <tt>offset-days</tt> || Offset N many days back before pulling the utilization metrics.
+
|-
+
| &nbsp; || <tt>num-days</tt> || Number of days of utilization metrics to pull.
+
|}
+
 
+
</div>
+
</div>
+
 
+
===Storage Volume Access Control (LUN Masking) [VOLUME-ACLS]===
+
Volume ACLs control which Hosts have access to which Storage Volumes via block protocols like FibreChannel and iSCSI.  All Storage Volumes must be assigned before they can be accessed; volumes are never made publically accessible.
+
----
+
<div class='mw-collapsible mw-collapsed'>
+
<div class='mw-collapsible-content'>
+
 
+
; volume-assign : Enables access to the specific volume from the specified host.
+
 
+
<pre> qs volume-assign|va-add --volume=value --host-list=value </pre>
+
{| cellspacing='0' cellpadding='5'
+
|-
+
| &nbsp; || <tt>volume</tt> || Name of the storage volume or its unique ID (GUID).
+
|-
+
| &nbsp; || <tt>host-list</tt> || A list of one or more hosts by name or ID.
+
|}
+
 
+
 
+
; volume-assign-list : Returns a list of all the volume to host assignments, optionally filtered by host or storage volume.
+
 
+
<pre> qs volume-assign-list|va-list [--volume=value ] [--host=value ] </pre>
+
{| cellspacing='0' cellpadding='5'
+
|-
+
| &nbsp; || <tt>volume</tt> || Name of the storage volume or its unique ID (GUID).
+
|-
+
| &nbsp; || <tt>host</tt> || Name of the host or its unique ID (GUID).
+
|}
+
 
+
 
+
; volume-unassign : Disables access to the specific volume from the specified host.
+
 
+
<pre> qs volume-unassign|va-remove --volume=value --host-list=value </pre>
+
{| cellspacing='0' cellpadding='5'
+
|-
+
| &nbsp; || <tt>volume</tt> || Name of the storage volume or its unique ID (GUID).
+
|-
+
| &nbsp; || <tt>host-list</tt> || A list of one or more hosts by name or ID.
+
|}
+
 
+
 
+
; volume-unassign-all : Disables all access to the specified volume, host, or host group.
+
 
+
<pre> qs volume-unassign-all|va-remove-all --volume=value </pre>
+
{| cellspacing='0' cellpadding='5'
+
|-
+
| &nbsp; || <tt>volume</tt> || Name of the storage volume or its unique ID (GUID).
+
|}
+
 
+
 
+
; widget-create : Create a new widget object
+
 
+
<pre> qs widget-create|wid-create --name=value [--flags=value ] </pre>
+
{| cellspacing='0' cellpadding='5'
+
|-
+
| &nbsp; || <tt>name</tt> || Names may include any alpha-numeric plus '_' and '-' characters; spaces are not allowed.
+
|-
+
| &nbsp; || <tt>flags</tt> || Optional flags for the operation. [async, force, min, *none]
+
|}
+
 
+
</div>
+
</div>
+
 
+
===Storage Volume Group Management [VOLUME-GROUP]===
+
Storage Volume Groups are a convience feature to grouping together Storage Volumes so that they can be snapshot as a set.
+
----
+
<div class='mw-collapsible mw-collapsed'>
+
<div class='mw-collapsible-content'>
+
 
+
; volume-group-clone : Creates a complete block by block copy of all volumes in the group.
+
 
+
<pre> qs volume-group-clone|vg-clone --volume-group=value [--pool=value ] [--name-suffix=value ] [--desc=value ] [--access-mode=value ] [--flags=value ] </pre>
+
{| cellspacing='0' cellpadding='5'
+
|-
+
| &nbsp; || <tt>volume-group</tt> || A group of one or more storage volumes.
+
|-
+
| &nbsp; || <tt>pool</tt> || Name of the storage pool or its unique ID (GUID).
+
|-
+
| &nbsp; || <tt>name-suffix</tt> || Name for the snapshot/clone; if unspecified the snapshot/clone will use the original name with '_snapNN'/'_cloneNN' appended.
+
|-
+
| &nbsp; || <tt>desc</tt> || A description for the object.
+
|-
+
| &nbsp; || <tt>access-mode</tt> || Access mode for the volume. [none, readonly, *readwrite]
+
|-
+
| &nbsp; || <tt>flags</tt> || Optional flags for the operation. [async, force]
+
|}
+
 
+
 
+
; volume-group-create : Creates a new storage volume group comprised of the specified storage volumes
+
 
+
<pre> qs volume-group-create|vg-create --name=value --volume-list=value [--desc=value ] [--flags=value ] </pre>
+
{| cellspacing='0' cellpadding='5'
+
|-
+
| &nbsp; || <tt>name</tt> || Names may include any alpha-numeric plus '_' and '-' characters; spaces are not allowed.
+
|-
+
| &nbsp; || <tt>volume-list</tt> || A list of one or more storage volumes.
+
|-
+
| &nbsp; || <tt>desc</tt> || A description for the object.
+
|-
+
| &nbsp; || <tt>flags</tt> || Optional flags for the operation. [async]
+
|}
+
 
+
 
+
; volume-group-delete : Deletes a storage volume group, the volumes are not deleted unless the delete-volumes flag is set.
+
 
+
<pre> qs volume-group-delete|vg-delete --volume-group=value [--destroy-volumes=value ] [--flags=value ] </pre>
+
{| cellspacing='0' cellpadding='5'
+
|-
+
| &nbsp; || <tt>volume-group</tt> || A group of one or more storage volumes.
+
|-
+
| &nbsp; || <tt>destroy-volumes</tt> || If 'true' all the volumes in the group will be deleted with the volume group, default is 'false'.
+
|-
+
| &nbsp; || <tt>flags</tt> || Optional flags for the operation. [async, force]
+
|}
+
 
+
 
+
; volume-group-get : Returns information about a specific storage volume group.
+
 
+
<pre> qs volume-group-get|vg-get --volume-group=value </pre>
+
{| cellspacing='0' cellpadding='5'
+
|-
+
| &nbsp; || <tt>volume-group</tt> || A group of one or more storage volumes.
+
|}
+
 
+
 
+
; volume-group-list : Returns a list of all the storage volume groups.
+
 
+
<pre> qs volume-group-list|vg-list </pre>
+
{| cellspacing='0' cellpadding='5'
+
 
+
; volume-group-modify : Modifies the name and/or description of a storage volume group.
+
 
+
<pre> qs volume-group-modify|vg-modify --volume-group=value [--name=value ] [--desc=value ] </pre>
+
{| cellspacing='0' cellpadding='5'
+
|-
+
| &nbsp; || <tt>volume-group</tt> || A group of one or more storage volumes.
+
|-
+
| &nbsp; || <tt>name</tt> || Names may include any alpha-numeric plus '_' and '-' characters; spaces are not allowed.
+
|-
+
| &nbsp; || <tt>desc</tt> || A description for the object.
+
|}
+
 
+
 
+
; volume-group-snapshot : Creates a space efficient copy of all volumes in the group.
+
 
+
<pre> qs volume-group-snapshot|vg-snap --volume-group=value [--name-suffix=value ] [--desc=value ] [--access-mode=value ] [--count=value ] [--wait-for-signal=value ] [--flags=value ] </pre>
+
{| cellspacing='0' cellpadding='5'
+
|-
+
| &nbsp; || <tt>volume-group</tt> || A group of one or more storage volumes.
+
|-
+
| &nbsp; || <tt>name-suffix</tt> || Name for the snapshot/clone; if unspecified the snapshot/clone will use the original name with '_snapNN'/'_cloneNN' appended.
+
|-
+
| &nbsp; || <tt>desc</tt> || A description for the object.
+
|-
+
| &nbsp; || <tt>access-mode</tt> || Access mode for the volume. [none, readonly, *readwrite]
+
|-
+
| &nbsp; || <tt>count</tt> || The number of snapshots of the specified volume to create, default is 1.
+
|-
+
| &nbsp; || <tt>wait-for-signal</tt> || Some tasks (volume-snapshot) have the ability to wait for a signal at a key point before proceeding.  To signal the task to proceed once started use 'task-proceed'.
+
|-
+
| &nbsp; || <tt>flags</tt> || Optional flags for the operation. [async, force]
+
|}
+
 
+
 
+
; volume-group-volume-add : Adds one or more volumes to the specified volume group.
+
 
+
<pre> qs volume-group-volume-add|vgv-add --volume-group=value --volume-list=value </pre>
+
{| cellspacing='0' cellpadding='5'
+
|-
+
| &nbsp; || <tt>volume-group</tt> || A group of one or more storage volumes.
+
|-
+
| &nbsp; || <tt>volume-list</tt> || A list of one or more storage volumes.
+
|}
+
 
+
 
+
; volume-group-volume-remove : Removes one or more volumes from the specified volume group
+
 
+
<pre> qs volume-group-volume-remove|vgv-remove --volume-group=value --volume-list=value </pre>
+
{| cellspacing='0' cellpadding='5'
+
|-
+
| &nbsp; || <tt>volume-group</tt> || A group of one or more storage volumes.
+
|-
+
| &nbsp; || <tt>volume-list</tt> || A list of one or more storage volumes.
+
|}
+
  
</div>
+
===[[QuantaStor CLI Command Reference v4.2]]===
</div>
+
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.

Revision as of 17:40, 28 August 2019

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 systems.

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 system 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 system 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 system). 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 v5.4

QuantaStor CLI Command Reference v5.3

QuantaStor CLI Command Reference v5.2

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.