Difference between revisions of "+ CLI Guide Overview"

From OSNEXUS Online Documentation Site
Jump to: navigation, search
m (CLI Commands)
m (QuantaStor CLI Command Reference v4.3)
(46 intermediate revisions by the same user not shown)
Line 88: Line 88:
 
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 100:
 
</pre>
 
</pre>
  
=CLI Commands=
+
=Help Commands=
The following list of commands is the complete list of everything you can do from the CLI.  In fact, the list of CLI commands is a pretty close 1-to-1 match with our SOAP based management interface API set.  As such, anything you can do via the web management interface, you can do through the CLI, and with the XML output mode you can easily integrate your QuantaStor system with any automated provisioning system in any language.
+
Note that we list the command names along with a short version in square brackets (ex: help [h]). If you find yourself using the CLI frequently learning the short command names can make the CLI easier to work with as it reduces the amount of typing required. For scripting, it's often better to use the long command names as it makes your script easier to read and maintain.
+
  
== General Commands ==
+
; help : Display help for all commands. 'qs help' provides a verbose listing of all commands with their input parameters. Use 'qs help --min' for a compacted list of commands, or use 'qs help --category=<some category>' for help on aspecific category or command (for example, 'qs help --category=volume').
=== help [h] ===
+
Help page for all commands. Try 'help --min' for a compacted list of commands, or just 'help' by itself for a verbose listing of all commands with their input parameters. Optionally you can get help on a specific category or command (ex: help --category=volume).  You can also search for commands by using 'qs help=partialcommandname' and it will return all CLI commands that match the specified command name or partial command name.
+
<pre>
+
[--command]      :: A specific CLI command to get detailed help with.
+
[--category]    :: Category of commands to get help with (acl, alert, host, host-group,
+
                            license, role, session, schedule, pool, quota, system, volume,
+
                            volume-group, task, user, user-group).
+
</pre>
+
  
 +
<pre> qs help|h [--command=value ] [--category=value ] [--wiki=value ] [--api=value ] </pre>
 +
{| cellspacing='0' cellpadding='5'
 +
|-
 +
| &nbsp; || <tt>command</tt> || A specific CLI command to get detailed help with.
 +
|-
 +
| &nbsp; || <tt>category</tt> || Category of commands to get help with (acl, alert, host, host-group, license, role, session, schedule, pool, quota, system, volume, volume-group, task, user, user-group).
 +
|-
 +
| &nbsp; || <tt>wiki</tt> || Generates help output in a format that's importable into MediaWiki.
 +
|-
 +
| &nbsp; || <tt>api</tt> || Generates help output in a parsable format for automating API.
 +
|}
  
  
== Alert Management ==
+
; tc-commands : List of commands for tab completion
  
=== alert-clear [a-clear] ===
+
<pre> qs tc-commands [--command=value ] </pre>
Deletes the alert with the specified ID.
+
{| cellspacing='0' cellpadding='5'
<pre>
+
|-
<--id>           :: Unique identifier (GUID) for the object.
+
| &nbsp; || <tt>command</tt> || Command to show method args for.
</pre>
+
|}
  
 +
=CLI Overview=
 +
The Command Reference covers the complete list of all operations accessible via the qs CLI utility (available on Linux, Windows, and is installed within the appliance).  All commands (with few exceptions) are available via the QuantaStor REST API, QuantaStor CLI, and QuantaStor Web Management interface.  The CLI includes an XML output mode which can be utilized to integrate with scripts and other automated systems but for more advanced integrations we recommend using the QuantaStor REST API.  CLI commands have a short name and long time.  When developing scripts it is recommended to use the long command names as it makes scripts easier to read and maintain.
  
=== alert-clear-all [a-clear-all] ===
+
=CLI Command Reference Versions=
Clears all the alerts.
+
  
=== alert-config-get [ac-get] ===
+
Each new release of QuantaStor CLI generates an updated specification which can be found below.  All effort is made to maintain backward compatibility between versions but we recommend that the XML mode be used for scripting.
Alert configuration settings indicate where alert notifications should be sent.
+
  
=== alert-config-set [ac-set] ===
+
==[[QuantaStor CLI Command Reference v4.3]]==
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.
+
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>
+
[--sender-email] :: Sender email address to be used for alert emails sent from the storage
+
                            system.
+
[--smtp-server]  :: IP Address of the SMTP service where emails should be routed through.
+
[--smtp-port]    :: Port number of the SMTP service (eg 25, 465, 587) where emails should be
+
                            routed through (0 indicatates auto-select).
+
[--smtp-user]    :: SMTP user name to use for secure SMTP access to your SMTP server for
+
                            sending alert emails.
+
[--smtp-password] :: SMTP password to use for secure SMTP access to your SMTP server.
+
[--smtp-auth]    :: SMTP security mode.
+
[--support-email] :: Email address for local customer support.
+
[--freespace-warning] :: The percentage of free-space left in a pool at which a warning is sent
+
                            to indicate pool growth plans should be made.
+
[--freespace-alert] :: The percentage (default=10) of free-space left in a pool at which alerts
+
                            are generated.
+
[--freespace-critical] :: The percentage (default=5) of free-space left in a pool at which all
+
                            provisioning operations are blocked.
+
[--pagerduty-key] :: Specifies the service key to which alerts will be posted to PagerDuty.
+
                            Please see www.pagerduty.com for more detail on service keys.
+
</pre>
+
  
 +
==[[QuantaStor CLI Command Reference v4.2]]==
 +
NOTES: QuantaStor v4.2 introduces new CLI commands for creation of pass-thru Storage Volumes so that NVMe and other physical devices and be presented directly to HA control nodes via iSCSI/FC.  Additionally new commands are added for creation of Network Share aliases and sub-shares.
  
=== alert-get [a-get] ===
+
==[[QuantaStor CLI Command Reference v4.1 and earlier]]==
Gets information about a specific alert.
+
<pre>
+
<--id>          :: Unique identifier (GUID) for the object.
+
</pre>
+
 
+
 
+
=== alert-list [a-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>
+
[--filtered]    :: Returns just the 100 most recently created.
+
</pre>
+
 
+
 
+
=== alert-raise [a-raise] ===
+
Allows one to raise a user generated alert for testing the SMTP server configuration settings.
+
<pre>
+
<--title>        :: Title string to be echoed back from the server.
+
<--message>      :: Message string to be echoed back from the server.
+
[--alert-severity] :: Severity of the user generated alert to be raise. [always, critical,
+
                            error, *info, warning]
+
</pre>
+
 
+
 
+
=== event-list [ev-list] ===
+
Returns a list of all the internal events in the event queue (used for service monitoring).
+
<pre>
+
[--index]        :: Starting event index of where to begin listing events from.
+
[--max]          :: Maximum number of events to enumerate.
+
[--time-stamp]  :: Time-stamp of the service.
+
</pre>
+
 
+
 
+
== Backup Policy Management ==
+
 
+
=== backup-job-list [bj-list] ===
+
Returns a list of backup jobs in the system.
+
 
+
=== backup-policy-create [bp-create] ===
+
Creates a ingest backup policy which pull data from NFS shares to the QuantaStor appliance.
+
<pre>
+
<--name>        :: Names may include any alpha-numeric characters '_' and '-', spaces are
+
                            not allowed.
+
<--desc>        :: A description for the object.
+
<--network-share> :: Name or ID of a CIFS/NFS network share.
+
<--remote-hostname> :: Name of the remote host containing NFS shares to be backed up
+
<--remote-export-path> :: Remote export path to be mounted to access the data to be backed up.
+
[--remote-export-type] :: Remote mount type (currently NFS only) [*nfs]
+
[--retain-rules] :: Retention rules (atime, ctime, mtime) [atime, ctime, *mtime]
+
[--policy-type]  :: Backup policy type [*inbound]
+
[--scan-threads] :: Number of concurrent threads for walking/scanning the specified target
+
                            export
+
[--hours]        :: For the specified days of the week, snapshots will be created at the
+
                            specified hours. [10am, 10pm, 11am, 11pm, 12am, 12pm, 1am, 1pm, 2am, 2pm,
+
                            *3am, 3pm, 4am, 4pm, 5am, 5pm, 6am, 6pm, 7am, 7pm, 8am, 8pm, 9am, 9pm]
+
[--days]        :: The days of the week on which this schedule should create snapshots.
+
                            [fri, mon, sat, *sun, thu, tue, wed]
+
[--retain-period] :: Number of days of file history on the specified filer export to backup
+
[--purge-policy] :: Indicates how old files should be cleaned up / purged from the backup.
+
                            [after-backup, *daily, never, weekly]
+
[--enabled]      :: Set to enabled to activate the backup policy.
+
</pre>
+
 
+
 
+
=== backup-policy-delete [bp-delete] ===
+
Deletes the specified backup policy.
+
<pre>
+
<--policy>      :: A backup policy name or ID which is associated with a network share to
+
                            do ingest backups.
+
</pre>
+
 
+
 
+
=== backup-policy-disable [bp-disable] ===
+
Disables the specified backup policy so job are not automatically run.
+
<pre>
+
<--policy>      :: A backup policy name or ID which is associated with a network share to
+
                            do ingest backups.
+
</pre>
+
 
+
 
+
=== backup-policy-enable [bp-enable] ===
+
Enables a backup policy that was previously disabled.
+
<pre>
+
<--policy>      :: A backup policy name or ID which is associated with a network share to
+
                            do ingest backups.
+
</pre>
+
 
+
 
+
=== backup-policy-get [bp-get] ===
+
Returns detailed information on a specific backup policy.
+
<pre>
+
<--policy>      :: A backup policy name or ID which is associated with a network share to
+
                            do ingest backups.
+
</pre>
+
 
+
 
+
=== backup-policy-list [bp-list] ===
+
Returns a list of backup policies in the system.
+
 
+
=== backup-policy-modify [bp-modify] ===
+
Modifies the specified backup policy settings.
+
<pre>
+
<--policy>      :: A backup policy name or ID which is associated with a network share to
+
                            do ingest backups.
+
<--name>        :: Names may include any alpha-numeric characters '_' and '-', spaces are
+
                            not allowed.
+
<--desc>        :: A description for the object.
+
<--network-share> :: Name or ID of a CIFS/NFS network share.
+
<--remote-hostname> :: Name of the remote host containing NFS shares to be backed up
+
<--remote-export-path> :: Remote export path to be mounted to access the data to be backed up.
+
[--remote-export-type] :: Remote mount type (currently NFS only) [*nfs]
+
[--retain-rules] :: Retention rules (atime, ctime, mtime) [atime, ctime, *mtime]
+
[--policy-type]  :: Backup policy type [*inbound]
+
[--scan-threads] :: Number of concurrent threads for walking/scanning the specified target
+
                            export
+
[--hours]        :: For the specified days of the week, snapshots will be created at the
+
                            specified hours. [10am, 10pm, 11am, 11pm, 12am, 12pm, 1am, 1pm, 2am, 2pm,
+
                            *3am, 3pm, 4am, 4pm, 5am, 5pm, 6am, 6pm, 7am, 7pm, 8am, 8pm, 9am, 9pm]
+
[--days]        :: The days of the week on which this schedule should create snapshots.
+
                            [fri, mon, sat, *sun, thu, tue, wed]
+
[--retain-period] :: retain-period
+
[--purge-policy] :: Indicates how old files should be cleaned up / purged from the backup.
+
                            [after-backup, *daily, never, weekly]
+
[--enabled]      :: Set to enabled to activate the backup policy.
+
</pre>
+
 
+
 
+
=== backup-policy-trigger [bp-trigger] ===
+
Triggers the specified backup policy which in turn starts a backup job.
+
<pre>
+
<--policy>      :: A backup policy name or ID which is associated with a network share to
+
                            do ingest backups.
+
</pre>
+
 
+
 
+
== Ceph Management ==
+
 
+
=== ceph-cluster-add-member [cc-amn] ===
+
Add a new storage system to existing Ceph Cluster.
+
<pre>
+
<--ceph-cluster> :: Ceph Cluster name or ID.
+
<--storage-system> :: Name or ID of a storage system in a management grid.
+
<--port>        :: Name of unique ID of a physical network port/target port.
+
[--public-network] :: Ceph public network mask (e.g. x.x.x.x/YY).
+
[--cluster-network] :: Ceph cluster network mask (e.g. x.x.x.x/YY).
+
[--flags]        :: Optional flags for the operation. [async, force, min, *none]
+
</pre>
+
 
+
 
+
=== ceph-cluster-create [cc-create] ===
+
Create a new Ceph Cluster using the specified Quantastor nodes(s)
+
<pre>
+
<--name>        :: Names may include any alpha-numeric characters '_' and '-', spaces are
+
                            not allowed.
+
<--sys-list>    :: List of one or more storage systems
+
<--port-list>    :: List of target ports to be bonded together.
+
[--desc]        :: A description for the object.
+
[--public-network] :: Ceph public network mask (e.g. x.x.x.x/YY).
+
[--cluster-network] :: Ceph cluster network mask (e.g. x.x.x.x/YY).
+
[--osd-default-pool-size] :: Minimum number of written replicas for objects in the pool in order to
+
                            ack a write operation to the client.(default=2).
+
[--auth-cluster-required] :: Authentication mode for ceph cluster (default=cephx).
+
[--auth-service-required] :: Authentication mode for ceph services (default=cephx).
+
[--auth-client-required] :: Authentication mode for client managing the ceph cluster (default=cephx).
+
[--filestore-xattr-use-omap] :: To use object map for XATTRS. Set to true (default) for ext4 file
+
                            systems.
+
[--flags]        :: Optional flags for the operation. [async, force, min, *none]
+
</pre>
+
 
+
 
+
=== ceph-cluster-delete [cc-delete] ===
+
Deletes the specified Ceph Cluster
+
<pre>
+
<--ceph-cluster> :: Ceph Cluster name or ID.
+
[--flags]        :: Optional flags for the operation. [async, force, min, *none]
+
</pre>
+
 
+
 
+
=== ceph-cluster-fix-clock-skew [cc-fcs] ===
+
Adjusts the clocks on all the member nodes in the specified Ceph Cluster in order to address any clock skew issues.
+
<pre>
+
<--ceph-cluster> :: Ceph Cluster name or ID.
+
[--flags]        :: Optional flags for the operation. [async, force, min, *none]
+
</pre>
+
 
+
 
+
=== ceph-cluster-get [cc-get] ===
+
Gets information about a specific Ceph Cluster
+
<pre>
+
<--ceph-cluster> :: Ceph Cluster name or ID.
+
</pre>
+
 
+
 
+
=== ceph-cluster-list [cc-list] ===
+
Returns a list of all the Ceph Clusters
+
 
+
=== ceph-cluster-member-get [ccm-get] ===
+
Gets information about a specific Ceph Cluster Member
+
<pre>
+
<--ceph-cluster-member> :: Ceph Cluster Member name or ID default is the native hostname.
+
</pre>
+
 
+
 
+
=== ceph-cluster-member-list [ccm-list] ===
+
Returns a list of all the Ceph Clusters Members
+
 
+
=== ceph-cluster-modify [cc-modify] ===
+
Modify a Ceph Cluster using the specified Quantastor nodes(s)
+
<pre>
+
<--ceph-cluster> :: Ceph Cluster name or ID.
+
[--desc]        :: A description for the object.
+
[--flags]        :: Optional flags for the operation. [async, force, min, *none]
+
</pre>
+
 
+
 
+
=== ceph-cluster-remove-member [cc-rmn] ===
+
Remove a storage system from an existing Ceph Cluster.
+
<pre>
+
<--ceph-cluster> :: Ceph Cluster name or ID.
+
<--storage-system> :: Name or ID of a storage system in a management grid.
+
[--flags]        :: Optional flags for the operation. [async, force, min, *none]
+
</pre>
+
 
+
 
+
=== ceph-journal-create [cj-create] ===
+
Creates a group of Ceph Journal Devices on the specified Physical Disk.
+
<pre>
+
<--disk>        :: Name of the physical disk or its unique ID/serial number.
+
<--storage-system> :: Name or ID of a storage system in a management grid.
+
[--device-count] :: Number of journal devices to create on the specified high performance
+
                            media/SSD device. (Device count 1-8). Default is 4 if not specified
+
[--flags]        :: Optional flags for the operation. [async, force, min, *none]
+
</pre>
+
 
+
 
+
=== ceph-journal-delete [cj-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>
+
<--ceph-journal-device> :: Ceph Journal Device name or ID.
+
<--storage-system> :: Name or ID of a storage system in a management grid.
+
[--flags]        :: Optional flags for the operation. [async, force, min, *none]
+
</pre>
+
 
+
 
+
=== ceph-journal-get [cj-get] ===
+
Returns details of a specific Ceph Journal Device
+
<pre>
+
<--ceph-journal-device> :: Ceph Journal Device name or ID.
+
</pre>
+
 
+
 
+
=== ceph-journal-list [cj-list] ===
+
Returns a list of all the Ceph Journal Devices
+
 
+
=== ceph-monitor-get [cmon-get] ===
+
Gets information about a specific Ceph Monitor
+
<pre>
+
<--ceph-monitor> :: Ceph Monitor service name or ID.
+
</pre>
+
 
+
 
+
=== ceph-monitor-list [cmon-list] ===
+
Returns a list of all the Ceph Monitors
+
 
+
=== ceph-osd-create [osd-create] ===
+
Creates a new Ceph OSD on the specified storage pool
+
<pre>
+
<--ceph-cluster> :: Ceph Cluster name or ID.
+
<--data-pool>    :: Name of the storage pool or its unique ID (GUID) to allocate OSD Data
+
                            store.
+
<--journal-device> :: Name of the storage device or its unique ID (GUID) to allocate OSD
+
                            Journal store.
+
[--desc]        :: A description for the object.
+
[--weight]      :: Weight associated with the OSD (default 0.3).
+
[--flags]        :: Optional flags for the operation. [async, force, min, *none]
+
</pre>
+
 
+
 
+
=== ceph-osd-delete [osd-delete] ===
+
Deletes the specified Ceph OSD
+
<pre>
+
<--ceph-cluster> :: Ceph Cluster name or ID.
+
<--ceph-osd>    :: Ceph Object Storage Daemon name or ID.
+
[--delete-data]  :: Flag to specify if the data is to be deleted when ceph OSD is deleted.
+
                            (Default : false)
+
[--flags]        :: Optional flags for the operation. [async, force, min, *none]
+
</pre>
+
 
+
 
+
=== ceph-osd-get [osd-get] ===
+
Gets information about a specific Ceph Object Storage Daemon.
+
<pre>
+
<--ceph-osd>    :: Ceph Object Storage Daemon name or ID.
+
</pre>
+
 
+
 
+
=== ceph-osd-list [osd-list] ===
+
Returns a list of all the Ceph Object Storage Daemons
+
 
+
=== ceph-osd-modify [osd-modify] ===
+
Modifies a Ceph OSD
+
<pre>
+
<--ceph-cluster> :: Ceph Cluster name or ID.
+
<--ceph-osd>    :: Ceph Object Storage Daemon name or ID.
+
[--desc]        :: A description for the object.
+
[--flags]        :: Optional flags for the operation. [async, force, min, *none]
+
</pre>
+
 
+
 
+
=== ceph-pool-create [cpool-create] ===
+
Creates a new Ceph pool using the specified OSDs or Storage Pools
+
<pre>
+
<--name>        :: Names may include any alpha-numeric characters '_' and '-', spaces are
+
                            not allowed.
+
<--ceph-cluster> :: Ceph Cluster name or ID.
+
[--osd-list]    :: List of one or more ceph-osd. (Default: Select all OSD's for ceph pool
+
                            create). User selection is currently not supported.
+
[--desc]        :: A description for the object.
+
[--placement-groups] :: Number of placement groups to assign to the Ceph pool.
+
[--max-replicas] :: Maximum number of replicas (redundancy level) to be created of each
+
                            block in the Ceph pool.
+
[--min-replicas] :: Minimum number of replicas to have of each block while still allowing
+
                            write access to the Ceph pool.
+
[--pool-type]    :: Type of Ceph pool, 'replica' (mirror based, default) or 'erasure' which
+
                            is like network RAID5.
+
[--flags]        :: Optional flags for the operation. [async, force, min, *none]
+
</pre>
+
 
+
 
+
=== ceph-pool-delete [cpool-delete] ===
+
Deletes the specified Ceph pool
+
<pre>
+
<--ceph-cluster> :: Ceph Cluster name or ID.
+
<--ceph-pool>    :: Ceph Pool name or ID.
+
[--flags]        :: Optional flags for the operation. [async, force, min, *none]
+
</pre>
+
 
+
 
+
=== ceph-pool-get [cpool-get] ===
+
Gets information about a specific Ceph storage pool.
+
<pre>
+
<--ceph-pool>    :: Ceph Pool name or ID.
+
</pre>
+
 
+
 
+
=== ceph-pool-list [cpool-list] ===
+
Returns a list of all the Ceph storage pools.
+
 
+
=== ceph-pool-modify [cpool-modify] ===
+
Sets the display name and/or description field for the Ceph pool.
+
<pre>
+
<--ceph-cluster> :: Ceph Cluster name or ID.
+
<--ceph-pool>    :: Ceph Pool name or ID.
+
[--name]        :: Names may include any alpha-numeric characters '_' and '-', spaces are
+
                            not allowed.
+
[--desc]        :: A description for the object.
+
[--flags]        :: Optional flags for the operation. [async, force, min, *none]
+
</pre>
+
 
+
 
+
=== ceph-rbd-create [rbd-create] ===
+
Creates a new Ceph block device (RBD) in the specified Ceph pool.
+
<pre>
+
<--name>        :: Names may include any alpha-numeric characters '_' and '-', spaces are
+
                            not allowed.
+
<--ceph-cluster> :: Ceph Cluster name or ID.
+
<--ceph-pool>    :: ceph-pool
+
<--size>        :: Size may be specified in MiB, GiB, or TiB. examples: 4G, 100M, 1.4T
+
[--desc]        :: A description for the object.
+
[--flags]        :: Optional flags for the operation. [async, force, min, *none]
+
</pre>
+
 
+
 
+
=== ceph-rbd-delete [rbd-delete] ===
+
Deletes the specified Ceph block device (RBD)
+
<pre>
+
<--ceph-cluster> :: Ceph Cluster name or ID.
+
<--ceph-rbd>    :: Ceph RBD/Block Device name or ID.
+
[--flags]        :: Optional flags for the operation. [async, force, min, *none]
+
</pre>
+
 
+
 
+
=== ceph-rbd-get [rbd-get] ===
+
Gets information about a specific Ceph RDB / block device
+
<pre>
+
<--ceph-rbd>    :: Ceph RBD/Block Device name or ID.
+
</pre>
+
 
+
 
+
=== ceph-rbd-list [rbd-list] ===
+
Returns a list of all the Ceph RDB / block devices.
+
 
+
=== ceph-rbd-modify [rbd-modify] ===
+
Sets the display name and/or description field for the Ceph block device (RBD).
+
<pre>
+
<--ceph-cluster> :: Ceph Cluster name or ID.
+
<--ceph-rbd>    :: Ceph RBD/Block Device name or ID.
+
<--name>        :: Names may include any alpha-numeric characters '_' and '-', spaces are
+
                            not allowed.
+
[--desc]        :: A description for the object.
+
[--flags]        :: Optional flags for the operation. [async, force, min, *none]
+
</pre>
+
 
+
 
+
=== ceph-rbd-resize [rbd-resize] ===
+
Resizes the specified Ceph block device (RBD) to a larger size.
+
<pre>
+
<--ceph-cluster> :: Ceph Cluster name or ID.
+
<--ceph-rbd>    :: Ceph RBD/Block Device name or ID.
+
<--size>        :: Size may be specified in MiB, GiB, or TiB. examples: 4G, 100M, 1.4T
+
[--flags]        :: Optional flags for the operation. [async, force, min, *none]
+
</pre>
+
 
+
 
+
== Cloud Container Management ==
+
 
+
=== cloud-backup-container-add [cbc-add] ===
+
Recovers a cloud backup container that was previously removed or used with a prior installation.
+
<pre>
+
<--provider-creds> :: Credentials for accessing your cloud storage provider account.  With
+
                            Amazon S3 this is your 'Access Key ID' and your 'Secret Access Key'.
+
<--locaiton>    :: Cloud storage provider endpoint location.
+
<--encryption-key> :: A passphrase which is used to encrypt all the data sent to the cloud
+
                            container.
+
<--storage-url>  :: The Amazon S3 or other storage URL used to identify a cloud backup
+
                            container.
+
<--enable-nfs>  :: Enable NFS sharing of the cloud container.
+
</pre>
+
 
+
 
+
=== cloud-backup-container-create [cbc-create] ===
+
Creates a cloud backup container into which cloud backups of storage volumes can be made.
+
<pre>
+
<--name>        :: Names may include any alpha-numeric characters '_' and '-', spaces are
+
                            not allowed.
+
<--desc>        :: A description for the object.
+
<--provider-creds> :: Credentials for accessing your cloud storage provider account.  With
+
                            Amazon S3 this is your 'Access Key ID' and your 'Secret Access Key'.
+
<--locaiton>    :: Cloud storage provider endpoint location.
+
<--encryption-key> :: A passphrase which is used to encrypt all the data sent to the cloud
+
                            container.
+
<--enable-nfs>  :: Enable NFS sharing of the cloud container.
+
</pre>
+
 
+
 
+
=== cloud-backup-container-delete [cbc-delete] ===
+
Deletes the specified cloud backup container. WARNING, all data in the container will be destroyed.
+
<pre>
+
<--container>    :: A cloud backup container into which storage volumes can be backed up.  A
+
                            cloud backup container is like an unlimited storage pool in the cloud.
+
</pre>
+
 
+
 
+
=== cloud-backup-container-disable [cbc-disable] ===
+
Disables access to the specified cloud container without having to remove it.
+
<pre>
+
<--container>    :: A cloud backup container into which storage volumes can be backed up.  A
+
                            cloud backup container is like an unlimited storage pool in the cloud.
+
</pre>
+
 
+
 
+
=== cloud-backup-container-enable [cbc-enable] ===
+
Enables a cloud container that was previously disabled or was inaccessible due to network connection issues.
+
<pre>
+
<--container>    :: A cloud backup container into which storage volumes can be backed up.  A
+
                            cloud backup container is like an unlimited storage pool in the cloud.
+
</pre>
+
 
+
 
+
=== cloud-backup-container-get [cbc-get] ===
+
Returns detailed information on a specific cloud backup container.
+
<pre>
+
<--container>    :: A cloud backup container into which storage volumes can be backed up.  A
+
                            cloud backup container is like an unlimited storage pool in the cloud.
+
</pre>
+
 
+
 
+
=== cloud-backup-container-list [cbc-list] ===
+
Returns a list of cloud backup containers in the system.
+
 
+
=== cloud-backup-container-modify [cbc-modify] ===
+
Modifies the specified cloud backup container settings.
+
<pre>
+
<--name>        :: Names may include any alpha-numeric characters '_' and '-', spaces are
+
                            not allowed.
+
<--desc>        :: A description for the object.
+
<--container>    :: A cloud backup container into which storage volumes can be backed up.  A
+
                            cloud backup container is like an unlimited storage pool in the cloud.
+
<--encryption-key> :: A passphrase which is used to encrypt all the data sent to the cloud
+
                            container.
+
<--enable-nfs>  :: Enable NFS sharing of the cloud container.
+
</pre>
+
 
+
 
+
=== cloud-backup-container-remove [cbc-remove] ===
+
Removes the specified cloud backup container from the system but does not delete any backup data in the cloud.
+
<pre>
+
<--container>    :: A cloud backup container into which storage volumes can be backed up.  A
+
                            cloud backup container is like an unlimited storage pool in the cloud.
+
</pre>
+
 
+
 
+
=== cloud-backup-container-repair [cbc-repair] ===
+
Repairs the specified cloud backup container.
+
<pre>
+
<--container>    :: A cloud backup container into which storage volumes can be backed up.  A
+
                            cloud backup container is like an unlimited storage pool in the cloud.
+
</pre>
+
 
+
 
+
=== cloud-backup-credentials-add [cbcred-add] ===
+
Adds cloud provider credentials to enable cloud backup to cloud backup containers.
+
<pre>
+
<--access-key>  :: The access key provided by your cloud storage provider for accessing
+
                            your cloud storage account.
+
<--secret-key>  :: The secret key provided by your cloud storage provider for accessing
+
                            your cloud storage account.
+
</pre>
+
 
+
 
+
=== cloud-backup-credentials-get [cbcred-get] ===
+
Returns information about the specified cloud provider credential.
+
<pre>
+
<--provider-creds> :: Credentials for accessing your cloud storage provider account.  With
+
                            Amazon S3 this is your 'Access Key ID' and your 'Secret Access Key'.
+
</pre>
+
 
+
 
+
=== cloud-backup-credentials-list [cbcred-list] ===
+
Returns a list of all the cloud provider credentials in the system. Passwords are masked.
+
 
+
=== cloud-backup-credentials-remove [cbcred-remove] ===
+
Removes the specified cloud provider credentials
+
<pre>
+
<--provider-creds> :: Credentials for accessing your cloud storage provider account.  With
+
                            Amazon S3 this is your 'Access Key ID' and your 'Secret Access Key'.
+
</pre>
+
 
+
 
+
=== cloud-backup-provider-get [cbp-get] ===
+
Returns detailed information about the specified cloud provider.
+
<pre>
+
<--provider>    :: A cloud provider is a storage provider like Amazon S3 which QuantaStor
+
                            utilizes for backup in the cloud.
+
</pre>
+
 
+
 
+
=== cloud-backup-provider-list [cbp-list] ===
+
Returns the list of supported cloud providers.
+
 
+
== Physical Disk Management ==
+
 
+
=== disk-get [pd-get] ===
+
Gets information about a specific physical disk.
+
<pre>
+
<--disk>        :: Name of the physical disk or its unique ID/serial number.
+
</pre>
+
 
+
 
+
=== disk-global-spare-add [hsm-add] ===
+
Adds one or more dedicated hot-spares to the global hotspare pool.
+
<pre>
+
<--disk-list>    :: Comma delimited list of drives (no spaces) to be used for the operation.
+
[--flags]        :: Optional flags for the operation. [async, force, min, *none]
+
</pre>
+
 
+
 
+
=== disk-global-spare-marker-cleanup [hsm-cleanup] ===
+
Cleans up invalid marker records for the dedicated hot-spare physical disks in the global hotspare pool.
+
<pre>
+
[--flags]        :: Optional flags for the operation. [async, force, min, *none]
+
</pre>
+
 
+
 
+
=== disk-global-spare-marker-delete [hsm-del] ===
+
Deletes the specified global hotspare marker object.
+
<pre>
+
<--name>        :: Names may include any alpha-numeric characters '_' and '-', spaces are
+
                            not allowed.
+
[--flags]        :: Optional flags for the operation. [async, force, min, *none]
+
</pre>
+
 
+
 
+
=== disk-global-spare-marker-get [hsm-get] ===
+
Returns information about the specified global hotspare marker object.
+
<pre>
+
<--name>        :: Names may include any alpha-numeric characters '_' and '-', spaces are
+
                            not allowed.
+
[--flags]        :: Optional flags for the operation. [min]
+
</pre>
+
 
+
 
+
=== disk-global-spare-marker-list [hsm-list] ===
+
Enumerates marker records for the dedicated hot-spare physical disks in the global hotspare pool.
+
<pre>
+
[--flags]        :: Optional flags for the operation. [min]
+
</pre>
+
 
+
 
+
=== disk-global-spare-remove [hsm-remove] ===
+
Removes one or more dedicated hot-spares from the global hotspare pool.
+
<pre>
+
<--disk-list>    :: Comma delimited list of drives (no spaces) to be used for the operation.
+
[--flags]        :: Optional flags for the operation. [async, force, min, *none]
+
</pre>
+
 
+
 
+
=== disk-identify [pd-id] ===
+
Pulses the disk activity light so that the specified disk can be identified in the cassis.
+
<pre>
+
<--disk>        :: Name of the physical disk or its unique ID/serial number.
+
[--pattern]      :: Pattern to flash the disk LED lights in, p = short pulse, P = long
+
                            pulse, d = short delay, D = long delay, ex: pattern=pppD
+
[--duration]    :: Duration in seconds to repeat the disk identification pattern.
+
</pre>
+
 
+
 
+
=== disk-list [pd-list] ===
+
Enumerates all physical disks.
+
 
+
=== disk-scan [pd-scan] ===
+
Scans for any new physical disks that may have been hot-plugged into the storage system.
+
<pre>
+
[--storage-system] :: Name or ID of a storage system in a management grid.
+
</pre>
+
 
+
 
+
=== disk-spare-list [pd-spare-list] ===
+
Enumerates dedicated hot-spare physical disks in the global hotspare pool.
+
<pre>
+
[--flags]        :: Optional flags for the operation. [min]
+
</pre>
+
 
+
 
+
=== path-list [pdp-list] ===
+
Enumerates all physical disk paths for multipath devices.
+
 
+
== Gluster Management ==
+
 
+
=== gluster-brick-get [gb-get] ===
+
Gets information about a specific Gluster brick.
+
<pre>
+
<--gluster-brick> :: Name or ID of a Gluster brick
+
</pre>
+
 
+
 
+
=== gluster-brick-list [gb-list] ===
+
Returns a list of all the Gluster bricks
+
 
+
=== gluster-ha-intf-get [gi-get] ===
+
Returns a list of all the Gluster HA failover interface definitions.
+
<pre>
+
<--ha-interface> :: High-availability interface for a specific Gluster Volume.
+
</pre>
+
 
+
 
+
=== gluster-ha-intf-list [gi-list] ===
+
Gets information about a specific Gluster HA failover interface definition.
+
 
+
=== gluster-peer-get [gp-get] ===
+
Gets information about a specific Gluster peer system
+
<pre>
+
<--gluster-peer> :: Name or ID of the Gluster peer
+
</pre>
+
 
+
 
+
=== gluster-peer-list [gp-list] ===
+
Returns a list of all the Gluster peer systems.
+
 
+
=== gluster-volume-add-bricks [gv-add-bricks] ===
+
Adds one or more bricks on the specified volume.
+
<pre>
+
<--gluster-volume> :: Name or ID of the Gluster volume
+
<--pool-list>    :: List of one or more storage pools.
+
<--restripe-volume> :: Restripe files across the new Gluster bricks
+
[--flags]        :: Optional flags for the operation. [async, force, min, *none]
+
</pre>
+
 
+
 
+
=== gluster-volume-create [gv-create] ===
+
Create a new Gluster volume with new Bricks on the specified Storage Pools.
+
<pre>
+
<--name>        :: Names may include any alpha-numeric characters '_' and '-', spaces are
+
                            not allowed.
+
[--desc]        :: A description for the object.
+
<--pool-list>    :: List of one or more storage pools.
+
<--replica-count> :: Number of replia copies to have of each file in the Gluster volume (1 =
+
                            no redundancy, 2 = mirroring)
+
<--disperse-count> :: 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.
+
<--stripe-volume> :: Enable striping of files across Gluster bricks
+
[--flags]        :: Optional flags for the operation. [async, force, min, *none]
+
</pre>
+
 
+
 
+
=== gluster-volume-delete [gv-delete] ===
+
Deletes the specified Gluster volume.
+
<pre>
+
<--gluster-volume> :: Name or ID of the Gluster volume
+
</pre>
+
 
+
 
+
=== gluster-volume-get [gv-get] ===
+
Gets information about the specified Gluster volume
+
<pre>
+
<--gluster-volume> :: Name or ID of the Gluster volume
+
</pre>
+
 
+
 
+
=== gluster-volume-list [gv-list] ===
+
Returns a list of all the Gluster volumes in the grid
+
 
+
=== gluster-volume-modify [gv-modify] ===
+
Modifies the name and/or description of the specified Gluster volume.
+
<pre>
+
<--gluster-volume> :: Name or ID of the Gluster volume
+
<--name>        :: Names may include any alpha-numeric characters '_' and '-', spaces are
+
                            not allowed.
+
[--desc]        :: A description for the object.
+
[--flags]        :: Optional flags for the operation. [async, force, min, *none]
+
</pre>
+
 
+
 
+
=== gluster-volume-rebalance [gv-rebalance] ===
+
Rebalances files across the bricks in the specified Gluster volume
+
<pre>
+
<--gluster-volume> :: Name or ID of the Gluster volume
+
[--flags]        :: Optional flags for the operation. [async, force, min, *none]
+
</pre>
+
 
+
 
+
=== gluster-volume-start [gv-start] ===
+
Starts the specified Gluster volume
+
<pre>
+
<--gluster-volume> :: Name or ID of the Gluster volume
+
[--flags]        :: Optional flags for the operation. [async, force, min, *none]
+
</pre>
+
 
+
 
+
=== gluster-volume-stop [gv-stop] ===
+
Stops the specified Gluster volume.
+
<pre>
+
<--gluster-volume> :: Name or ID of the Gluster volume
+
[--flags]        :: Optional flags for the operation. [async, force, min, *none]
+
</pre>
+
 
+
 
+
== Storage System Grid Management ==
+
 
+
=== grid-add [mg-add] ===
+
Adds the specified storage system to the management grid.
+
<pre>
+
<--node-ipaddress> :: IP address of a storage system node.
+
[--node-username] :: Admin user account with permissions to add/remove nodes from the grid.
+
[--node-password] :: Admin user account password.
+
</pre>
+
 
+
 
+
=== grid-assoc-get [mg-aget] ===
+
Get general information about the associated storage system management grid.
+
<pre>
+
<--name>        :: Names may include any alpha-numeric characters '_' and '-', spaces are
+
                            not allowed.
+
<--storage-system> :: Name or ID of a storage system in a management grid.
+
[--flags]        :: Optional flags for the operation. [min]
+
</pre>
+
 
+
 
+
=== grid-assoc-list [mg-alist] ===
+
Returns a list of the associated storage system nodes in the grid.
+
 
+
=== grid-create [mg-create] ===
+
Creates a new management grid.  A given storage system can only be a member of one grid at a time.
+
<pre>
+
<--name>        :: Names may include any alpha-numeric characters '_' and '-', spaces are
+
                            not allowed.
+
[--desc]        :: A description for the object.
+
</pre>
+
 
+
 
+
=== grid-delete [mg-delete] ===
+
Deletes the management grid.  After the grid is deleted each node in the grid operates independently again.
+
 
+
=== grid-get [mg-get] ===
+
Get general information about the storage system management grid.
+
 
+
=== grid-get-hosts [mg-get-hosts] ===
+
Returns the /etc/hosts configuration file configuration for grid nodes.
+
 
+
=== grid-modify [mg-modify] ===
+
Modify the management grid properties.
+
<pre>
+
<--name>        :: Names may include any alpha-numeric characters '_' and '-', spaces are
+
                            not allowed.
+
[--desc]        :: A description for the object.
+
</pre>
+
 
+
 
+
=== grid-remove [mg-remove] ===
+
Removes the specified storage system from the management grid.
+
<pre>
+
<--storage-system> :: Name or ID of a storage system in a management grid.
+
</pre>
+
 
+
 
+
=== grid-set-hosts [mg-set-hosts] ===
+
Configures the /etc/hosts configuration file on all systems to facilitate host name based gluster volume configurations.
+
<pre>
+
<--portid-list>  :: List of UUIDs for the ethernet ports to be used for grid wide /etc/hosts
+
                            file configuration.
+
</pre>
+
 
+
 
+
=== grid-set-master [mg-set] ===
+
Sets the master node for a storage system.
+
<pre>
+
<--storage-system> :: Name or ID of a storage system in a management grid.
+
</pre>
+
 
+
 
+
== Storage Pool HA Failover Management ==
+
 
+
=== ha-group-activate [hag-activate] ===
+
Activates/enables the specified high-availability group to failover can occur on a system outage.
+
<pre>
+
<--ha-group>    :: Name or UUID of a storage pool high-availability group
+
</pre>
+
 
+
 
+
=== ha-group-create [hag-create] ===
+
Creates a new storage pool high-availability group.
+
<pre>
+
<--name>        :: Names may include any alpha-numeric characters '_' and '-', spaces are
+
                            not allowed.
+
<--pool>        :: Name of the storage pool or its unique ID (GUID).
+
<--sys-secondary> :: Storage system associated with the failover group secondary node
+
<--sys-primary>  :: Storage system associated with the failover group primary node
+
[--desc]        :: A description for the object.
+
[--ha-module]    :: Name or UUID of a storage pool high-availability module
+
</pre>
+
 
+
 
+
=== ha-group-deactivate [hag-deactivate] ===
+
Deactivates the specified high-availability group so that failover policies are disabled.
+
<pre>
+
<--ha-group>    :: Name or UUID of a storage pool high-availability group
+
</pre>
+
 
+
 
+
=== ha-group-delete [hag-delete] ===
+
Deletes the specified high-availability group
+
<pre>
+
<--ha-group>    :: Name or UUID of a storage pool high-availability group
+
</pre>
+
 
+
 
+
=== ha-group-failover [hag-failover] ===
+
Manually triggers a failover of the specified storage pool using the associated storage pool HA group policy.
+
<pre>
+
<--ha-group>    :: Name or UUID of a storage pool high-availability group
+
<--storage-system> :: Name or ID of a storage system in a management grid.
+
[--flags]        :: Optional flags for the operation. [async, force, min, *none]
+
</pre>
+
 
+
 
+
=== ha-group-get [hag-get] ===
+
Gets information about the specified storage pool HA group
+
<pre>
+
<--ha-group>    :: Name or UUID of a storage pool high-availability group
+
</pre>
+
 
+
 
+
=== ha-group-list [hag-list] ===
+
Returns a list of all the HA groups
+
 
+
=== ha-group-modify [hag-modify] ===
+
Modifies the settings for the specified high-availability group
+
<pre>
+
<--ha-group>    :: Name or UUID of a storage pool high-availability group
+
[--name]        :: Names may include any alpha-numeric characters '_' and '-', spaces are
+
                            not allowed.
+
[--desc]        :: A description for the object.
+
[--sys-secondary] :: Storage system associated with the failover group secondary node
+
[--ha-module]    :: Name or UUID of a storage pool high-availability module
+
</pre>
+
 
+
 
+
=== ha-interface-create [hai-create] ===
+
Creates a new virtual network interface for the specified HA failover group.
+
<pre>
+
<--ha-group>    :: Name or UUID of a storage pool high-availability group
+
<--parent-port>  :: Parent network port like 'eth0' which the virtual interface should be
+
                            attached to.  On failover the virtual interface will attach to the port
+
                            with the same name on the failover/secondary node.
+
<--ip-address>  :: IP Address of the host being added; if unspecified the service will look
+
                            it up.
+
[--netmask]      :: Subnet IP mask (ex: 255.255.255.0)
+
[--interface-tag] :: Tags are a alpha-numeric tag which is appended onto a given HA virtual
+
                            interface for easy identification.
+
[--desc]        :: A description for the object.
+
[--gateway]      :: IP address of the network gateway
+
[--mac-address]  :: MAC Address
+
[--iscsi-enable] :: Enables or disables iSCSI access to the specified port(s).
+
</pre>
+
 
+
 
+
=== ha-interface-delete [hai-delete] ===
+
Deletes the specified virtual network interface resource from the HA group
+
<pre>
+
<--ha-interface> :: Name or UUID of a storage pool high-availability virtual network
+
                            interface
+
</pre>
+
 
+
 
+
=== ha-interface-get [hai-get] ===
+
Gets information about the specified storage pool HA virtual network interface
+
<pre>
+
<--ha-interface> :: Name or UUID of a storage pool high-availability virtual network
+
                            interface
+
</pre>
+
 
+
 
+
=== ha-interface-list [hai-list] ===
+
Returns a list of all the HA interfaces on the specified group
+
 
+
=== ha-module-get [ham-get] ===
+
Gets information about the specified storage pool HA module
+
<pre>
+
<--ha-module>    :: Name or UUID of a storage pool high-availability module
+
</pre>
+
 
+
 
+
=== ha-module-list [ham-list] ===
+
Returns a list of all the HA failover modules
+
 
+
== Host Group Management ==
+
 
+
=== host-group-create [hg-create] ===
+
Creates a new host group with the specified name.
+
<pre>
+
<--name>        :: Names may include any alpha-numeric characters '_' and '-', spaces are
+
                            not allowed.
+
<--host-list>    :: A list of one or more hosts by name or ID.
+
[--desc]        :: A description for the object.
+
[--flags]        :: Optional flags for the operation. [async]
+
</pre>
+
 
+
 
+
=== host-group-delete [hg-delete] ===
+
Removes the specified host group.
+
<pre>
+
<--host-group>  :: An arbitrary collection of hosts used to simplify volume ACL management
+
                            for grids and other groups of hosts.
+
[--flags]        :: Optional flags for the operation. [async, force]
+
</pre>
+
 
+
 
+
=== host-group-get [hg-get] ===
+
Gets information about a specific host group.
+
<pre>
+
<--host-group>  :: An arbitrary collection of hosts used to simplify volume ACL management
+
                            for grids and other groups of hosts.
+
</pre>
+
 
+
 
+
=== host-group-host-add [hg-host-add] ===
+
Adds a host to the specified host group.
+
<pre>
+
<--host-group>  :: An arbitrary collection of hosts used to simplify volume ACL management
+
                            for grids and other groups of hosts.
+
<--host-list>    :: A list of one or more hosts by name or ID.
+
</pre>
+
 
+
 
+
=== host-group-host-remove [hg-host-remove] ===
+
Removes a host from the specified host group.
+
<pre>
+
<--host-group>  :: An arbitrary collection of hosts used to simplify volume ACL management
+
                            for grids and other groups of hosts.
+
<--host-list>    :: A list of one or more hosts by name or ID.
+
</pre>
+
 
+
 
+
=== host-group-list [hg-list] ===
+
Returns a list of all the host groups.
+
 
+
=== host-group-modify [hg-modify] ===
+
Modifies the properties of a host group such as its name and/or description.
+
<pre>
+
<--host-group>  :: An arbitrary collection of hosts used to simplify volume ACL management
+
                            for grids and other groups of hosts.
+
[--name]        :: Names may include any alpha-numeric characters '_' and '-', spaces are
+
                            not allowed.
+
[--desc]        :: A description for the object.
+
</pre>
+
 
+
 
+
== Host Management ==
+
 
+
=== host-add [h-add] ===
+
Modifies a host entry. The username/password fields are optional and are not yet leveraged by the QuantaStor system. Later this may be used to provide additional levels of integration such as automatic host side configuration of your iSCSI initiator.
+
<pre>
+
<--hostname>    :: Names may include any alpha-numeric characters '_' and '-', spaces are
+
                            not allowed.
+
[--iqn]          :: IQN (iSCSI Qualified Name) of the host's iSCSI initiator
+
[--ip-address]  :: IP Address of the host being added; if unspecified the service will look
+
                            it up.
+
[--desc]        :: A description for the object.
+
[--username]    :: Administrator user name for the host, typically 'Administrator' for
+
                            Windows hosts.
+
[--password]    :: Administrator password for the host; enables auto-configuration of
+
                            host's iSCSI initiator.
+
[--host-type]    :: Operating system type of the host. [aix, hpux, linux, other, solaris,
+
                            vmware, *windows, xenserver]
+
[--flags]        :: Optional flags for the operation. [async]
+
</pre>
+
 
+
 
+
=== host-get [h-get] ===
+
Gets information about a specific host.
+
<pre>
+
<--host>        :: Name of the host or its unique ID (GUID).
+
</pre>
+
 
+
 
+
=== host-initiator-add [hi-add] ===
+
Adds an additional iSCSI host initiator IQN to the specified host.
+
<pre>
+
<--host>        :: Name of the host or its unique ID (GUID).
+
<--iqn>          :: IQN (iSCSI Qualified Name) of the host's iSCSI initiator
+
</pre>
+
 
+
 
+
=== host-initiator-get [hi-get] ===
+
Gets information about a specific host identified by its initiator IQN.
+
<pre>
+
<--iqn>          :: IQN (iSCSI Qualified Name) of the host's iSCSI initiator
+
</pre>
+
 
+
 
+
=== host-initiator-list [hi-list] ===
+
Returns a list of all the initiators (IQN) of the specified host
+
<pre>
+
<--host>        :: Name of the host or its unique ID (GUID).
+
</pre>
+
 
+
 
+
=== host-initiator-remove [hi-remove] ===
+
Removes a iSCSI host initiator (IQN) from the specified host.
+
<pre>
+
<--host>        :: Name of the host or its unique ID (GUID).
+
<--iqn>          :: IQN (iSCSI Qualified Name) of the host's iSCSI initiator
+
</pre>
+
 
+
 
+
=== host-list [h-list] ===
+
Returns a list of all the hosts that you have added to the QuantaStor system. Host groups allow you to assign storage to multiple host all at once. This is especially useful when you have a VMware or Windows cluster as you can assign and unassign storage to all nodes in the cluster in one operation.
+
 
+
=== host-modify [h-modify] ===
+
Modifies a host entry which contains a list of WWN/IQN or IB GIDs for a given host.
+
<pre>
+
<--host>        :: Name of the host or its unique ID (GUID).
+
[--desc]        :: A description for the object.
+
[--ip-address]  :: IP Address of the host being added; if unspecified the service will look
+
                            it up.
+
[--username]    :: Administrator user name for the host, typically 'Administrator' for
+
                            Windows hosts.
+
[--password]    :: Administrator password for the host; enables auto-configuration of
+
                            host's iSCSI initiator.
+
[--host-type]    :: Operating system type of the host. [aix, hpux, linux, other, solaris,
+
                            vmware, *windows, xenserver]
+
[--flags]        :: Optional flags for the operation. [async]
+
</pre>
+
 
+
 
+
=== host-remove [h-remove] ===
+
Removes the specified host, *WARNING* host's active iSCSI sessions will be dropped.
+
<pre>
+
<--host>        :: Name of the host or its unique ID (GUID).
+
[--flags]        :: Optional flags for the operation. [async, force]
+
</pre>
+
 
+
 
+
== Hardware RAID Management ==
+
 
+
=== hw-alarm-clear-all [hwa-clear-all] ===
+
Clears all the hardware alarms that have been recorded for the specified hardware RAID controller.
+
<pre>
+
<--controller>  :: Name or ID of a hardware RAID controller.
+
</pre>
+
 
+
 
+
=== hw-alarm-get [hwa-get] ===
+
Returns information about a specific hardware alarm.
+
<pre>
+
<--id>          :: Unique identifier (GUID) for the object.
+
</pre>
+
 
+
 
+
=== hw-alarm-list [hwa-list] ===
+
Returns a list of all the current hardware alarms/alert messages generated from the controller.
+
<pre>
+
[--controller]  :: Name or ID of a hardware RAID controller.
+
</pre>
+
 
+
 
+
=== hw-controller-change-security-key [hwc-change-security-key] ===
+
Change the security key for encryption on SED/FDE-enabled drives on hardware RAID controller.
+
<pre>
+
<--controller>  :: Name or ID of a hardware RAID controller.
+
<--old-security-key> :: Prior security key on HW Controller card, for changing key, for
+
                            encryption on FDE-enabled secure disk drives.
+
<--security-key> :: Security key on HW Controller card for encryption on FDE-enabled secure
+
                            disk drives.
+
</pre>
+
 
+
 
+
=== hw-controller-create-security-key [hwc-create-security-key] ===
+
Create the security key for encryption on SED/FDE-enabled drives on hardware RAID controller.
+
<pre>
+
<--controller>  :: Name or ID of a hardware RAID controller.
+
<--security-key> :: Security key on HW Controller card for encryption on FDE-enabled secure
+
                            disk drives.
+
</pre>
+
 
+
 
+
=== hw-controller-get [hwc-get] ===
+
Returns information about a specific hardware RAID controller.
+
<pre>
+
<--controller>  :: Name or ID of a hardware RAID controller.
+
</pre>
+
 
+
 
+
=== hw-controller-group-get [hwcg-get] ===
+
Returns information about all the support hardware RAID controller group types.
+
<pre>
+
<--controller-group> :: Name or ID of a hardware RAID controller group.
+
</pre>
+
 
+
 
+
=== hw-controller-group-list [hwcg-list] ===
+
Returns a list of all the hardware controller groups.
+
 
+
=== hw-controller-import-units [hwc-import-units] ===
+
Scan and import foreign disks associated with RAID groups that were attached to another RAID controller or that require re-importing to the local appliance.
+
<pre>
+
<--controller>  :: Name or ID of a hardware RAID controller.
+
</pre>
+
 
+
 
+
=== hw-controller-list [hwc-list] ===
+
Returns a list of all the hardware controllers.
+
<pre>
+
[--controller-group] :: Name or ID of a hardware RAID controller group.
+
</pre>
+
 
+
 
+
=== hw-controller-rescan [hwc-rescan] ===
+
Rescans the hardware controller to look for new disks and RAID units.
+
<pre>
+
<--controller>  :: Name or ID of a hardware RAID controller.
+
</pre>
+
 
+
 
+
=== hw-disk-delete [hwd-delete] ===
+
Marks the specified disk so that it can be removed from the enclosure.  Disks marked as hot-spares will return to normal status after being deleted.
+
<pre>
+
<--disk>        :: Specifies a physical disk connected to a hardware RAID controller.
+
[--duration]    :: Duration in seconds to repeat the disk identification pattern.
+
</pre>
+
 
+
 
+
=== hw-disk-get [hwd-get] ===
+
Returns information about a specific disk managed by a hardware RAID controller.
+
<pre>
+
<--disk>        :: Specifies a physical disk connected to a hardware RAID controller.
+
</pre>
+
 
+
 
+
=== hw-disk-identify [hwd-identify] ===
+
Flashes the LED indicator light on the specified disk so that it can be identified in the enclosure chassis.
+
<pre>
+
<--unit>        :: Name of a hardware RAID unit or it unique ID.
+
[--duration]    :: Duration in seconds to repeat the disk identification pattern.
+
</pre>
+
 
+
 
+
=== hw-disk-list [hwd-list] ===
+
Returns a list of all the disks managed by the specified hardware controller.
+
<pre>
+
[--controller]  :: Name or ID of a hardware RAID controller.
+
</pre>
+
 
+
 
+
=== hw-disk-mark-good [hwd-mark-good] ===
+
Marks the specified disk as 'good' or 'ready'.  You can use this to correct the disk status for good disks that the controller has in 'bad' or 'failed' state.
+
<pre>
+
<--disk>        :: Specifies a physical disk connected to a hardware RAID controller.
+
</pre>
+
 
+
 
+
=== hw-disk-mark-spare [hwd-mark-spare] ===
+
Marks the specified disk as a universal hot spare within the group of RAID units managed by the controller in which the disk is attached.
+
<pre>
+
<--disk>        :: Specifies a physical disk connected to a hardware RAID controller.
+
</pre>
+
 
+
 
+
=== hw-enclosure-get [hwe-get] ===
+
Returns information about a specific enclosure managed by the specified hardware RAID controller.
+
<pre>
+
<--enclosure>    :: Name of a hardware RAID enclosure or it unique ID.
+
</pre>
+
 
+
 
+
=== hw-enclosure-list [hwe-list] ===
+
Returns a list of all the enclosures managed by the specified hardware RAID controller.
+
<pre>
+
[--controller]  :: Name or ID of a hardware RAID controller.
+
</pre>
+
 
+
 
+
=== hw-unit-create [hwu-create] ===
+
Creates a new hardware RAID unit using the specified controller.
+
<pre>
+
<--raid>        :: Hardware RAID type for a hardware RAID unit. [*AUTO, RAID0, RAID1,
+
                            RAID10, RAID5, RAID50, RAID6, RAID60]
+
<--disk-list>    :: Specifies one or more physical disks connected to a hardware RAID
+
                            controller. Use 'all' to indicate all unused disks.
+
[--controller]  :: Name or ID of a hardware RAID controller.
+
[--flags]        :: Optional flags for the operation. [async, force, min, *none]
+
</pre>
+
 
+
 
+
=== hw-unit-delete [hwu-delete] ===
+
Deletes the specified RAID unit.  Note that you must first delete the Storage Pool before you delete the RAID unit.
+
<pre>
+
<--unit>        :: Name of a hardware RAID unit or it unique ID.
+
[--duration]    :: Duration in seconds to repeat the disk identification pattern.
+
</pre>
+
 
+
 
+
=== hw-unit-encrypt [hwu-encrypt] ===
+
Enable hardware SED/FDE encryption for the specified hardware RAID unit.
+
<pre>
+
<--unit>        :: Name of a hardware RAID unit or it unique ID.
+
[--options]      :: Special options to hardware encryption policy.
+
</pre>
+
 
+
 
+
=== hw-unit-get [hwu-get] ===
+
Returns information about a specific RAID unit managed by the specified hardware RAID controller.
+
<pre>
+
<--unit>        :: Name of a hardware RAID unit or it unique ID.
+
</pre>
+
 
+
 
+
=== hw-unit-identify [hwu-identify] ===
+
Flashes the LED indicator light on all the disks in the RAID unit so that it can be identified in the enclosure.
+
<pre>
+
<--unit>        :: Name of a hardware RAID unit or it unique ID.
+
[--duration]    :: Duration in seconds to repeat the disk identification pattern.
+
</pre>
+
 
+
 
+
=== hw-unit-list [hwu-list] ===
+
Returns a list of all the RAID units managed by the specified hardware controller.
+
<pre>
+
[--controller]  :: Name or ID of a hardware RAID controller.
+
</pre>
+
 
+
 
+
== SAS Switch Management ==
+
 
+
=== hw-switch-adapter-get [hwsa-get] ===
+
Returns information about the specified HW switch management module.
+
<pre>
+
<--switch-adapter> :: Storage switch adapter module ID
+
</pre>
+
 
+
 
+
=== hw-switch-adapter-list [hwsa-list] ===
+
Returns a list of all the storage switch management adapters
+
 
+
=== hw-switch-cred-add [hwsc-add] ===
+
Adds storage switch login credentials for a specific switch management adapter
+
<pre>
+
<--username>    :: Administrator user name for the host, typically 'Administrator' for
+
                            Windows hosts.
+
<--password>    :: Administrator password for the host; enables auto-configuration of
+
                            host's iSCSI initiator.
+
<--domain-password> :: Password for the committing zoneset changes to a storage switch.
+
<--ip-address>  :: IP Address of the host being added; if unspecified the service will look
+
                            it up.
+
[--switch-adapter] :: Storage switch adapter module ID
+
[--primary]      :: Primary storage system responsible for managing and discovering the
+
                            switch(es)
+
[--secondary]    :: Secondary storage system responsible for managing and discovering the
+
                            switch(es)
+
</pre>
+
 
+
 
+
=== hw-switch-cred-get [hwsc-get] ===
+
Returns information about specific storage switch login credentials
+
<pre>
+
<--creds>        :: Storage switch credentials (user/pass)
+
</pre>
+
 
+
 
+
=== hw-switch-cred-list [hwsc-list] ===
+
Returns a list of all the storage switch login credentials
+
<pre>
+
[--switch-adapter] :: Storage switch adapter module ID
+
</pre>
+
 
+
 
+
=== hw-switch-cred-remove [hwsc-remove] ===
+
Removes storage switch login credentials
+
<pre>
+
<--creds>        :: Storage switch credentials (user/pass)
+
</pre>
+
 
+
 
+
=== hw-switch-failover-group-activate [hwsfg-activate] ===
+
Activates the pools in a switch failover group on the specified storage system
+
<pre>
+
<--failover-group> :: Name/ID of a storage switch failover group
+
<--storage-system> :: Name or ID of a storage system in a management grid.
+
</pre>
+
 
+
 
+
=== hw-switch-failover-group-create [hwsfg-create] ===
+
Creates a new switch failover group
+
<pre>
+
<--name>        :: Names may include any alpha-numeric characters '_' and '-', spaces are
+
                            not allowed.
+
<--pool-list>    :: List of one or more storage pools.
+
<--sys-primary>  :: Storage system associated with the failover group primary node
+
<--zoneset-primary> :: Zoneset to be associated with the failover group primary node
+
<--sys-secondary> :: Storage system associated with the failover group secondary node
+
<--zoneset-secondary> :: Zoneset to be associated with the failover group secondary node
+
[--ip-address]  :: IP Address of the host being added; if unspecified the service will look
+
                            it up.
+
[--netmask]      :: Subnet IP mask (ex: 255.255.255.0)
+
[--gateway]      :: IP address of the network gateway
+
[--desc]        :: A description for the object.
+
</pre>
+
 
+
 
+
=== hw-switch-failover-group-delete [hwsfg-delete] ===
+
Deletes a failover group
+
<pre>
+
<--failover-group> :: Name/ID of a storage switch failover group
+
</pre>
+
 
+
 
+
=== hw-switch-failover-group-get [hwsfg-get] ===
+
Returns information about a specific switch failover group
+
<pre>
+
<--failover-group> :: Name/ID of a storage switch failover group
+
</pre>
+
 
+
 
+
=== hw-switch-failover-group-list [hwsfg-list] ===
+
Returns a list of all the switch failover groups
+
<pre>
+
[--switch]      :: Name or ID of a SAS/FC storage switch
+
</pre>
+
 
+
 
+
=== hw-switch-failover-group-modify [hwsfg-modify] ===
+
Modifies the properties of a failover group
+
<pre>
+
<--failover-group> :: Name/ID of a storage switch failover group
+
[--name]        :: Names may include any alpha-numeric characters '_' and '-', spaces are
+
                            not allowed.
+
[--ip-address]  :: IP Address of the host being added; if unspecified the service will look
+
                            it up.
+
[--netmask]      :: Subnet IP mask (ex: 255.255.255.0)
+
[--gateway]      :: IP address of the network gateway
+
[--pool-list]    :: List of one or more storage pools.
+
[--sys-primary]  :: Storage system associated with the failover group primary node
+
[--zoneset-primary] :: Zoneset to be associated with the failover group primary node
+
[--sys-secondary] :: Storage system associated with the failover group secondary node
+
[--zoneset-secondary] :: Zoneset to be associated with the failover group secondary node
+
[--desc]        :: A description for the object.
+
</pre>
+
 
+
 
+
=== hw-switch-get [hws-get] ===
+
Returns detailed information about a storage switch
+
<pre>
+
<--switch>      :: Name or ID of a SAS/FC storage switch
+
</pre>
+
 
+
 
+
=== hw-switch-list [hws-list] ===
+
Returns a list of all the discovered storage switches
+
<pre>
+
[--switch-adapter] :: Storage switch adapter module ID
+
</pre>
+
 
+
 
+
=== hw-switch-zoneset-activate [hwsz-activate] ===
+
Activates a specific storage switch zonset
+
<pre>
+
<--zoneset>      :: Name or ID of a storage switch zoneset
+
[--switch]      :: Name or ID of a SAS/FC storage switch
+
</pre>
+
 
+
 
+
=== hw-switch-zoneset-get [hwsz-get] ===
+
Returns information about a specific switch zoneset
+
<pre>
+
<--zoneset>      :: Name or ID of a storage switch zoneset
+
</pre>
+
 
+
 
+
=== hw-switch-zoneset-list [hwsz-list] ===
+
Returns a list of all the discovered zonesets
+
<pre>
+
[--switch]      :: Name or ID of a SAS/FC storage switch
+
</pre>
+
 
+
 
+
== License Management ==
+
 
+
=== license-activate [lic-act] ===
+
Activates the system using a activation key received from customer support.
+
<pre>
+
<--activation-key> :: Activation key you'll receive from customer support after you send the
+
                            activation request code.
+
</pre>
+
 
+
 
+
=== license-activate-online [lic-aon] ===
+
Requests automatic activation via the online activation service.
+
<pre>
+
[--key]          :: Unique license key identifier, use license-list to get a list of these.
+
</pre>
+
 
+
 
+
=== license-add [lic-add] ===
+
Adds a license key using a license key block specified in a key file. In general, you have 7 days to activate your license using online activation of activation via email. If you do not activate after the 7 days the system will continue to run but you will not be able to make configuration changes.
+
<pre>
+
[--storage-system] :: Name or ID of a storage system in a management grid.
+
<--key-file>    :: Key file you received which contains a key block section.
+
</pre>
+
 
+
 
+
=== license-get [lic-get] ===
+
Shows the current license key info, and any activation request code.
+
<pre>
+
<--key>          :: Unique license key identifier, use license-list to get a list of these.
+
</pre>
+
 
+
 
+
=== license-list [lic-list] ===
+
Returns a list of all the registered license keys.
+
 
+
=== license-remove [lic-remove] ===
+
Removes the specified license key.
+
<pre>
+
<--key>          :: Unique license key identifier, use license-list to get a list of these.
+
</pre>
+
 
+
 
+
== Cloud I/O Stats Management ==
+
 
+
=== metrics-get [lm-get] ===
+
Get the current username, token, and interval settings for Librato Metrics.
+
<pre>
+
<--storage-system> :: Name or ID of a storage system in a management grid.
+
</pre>
+
 
+
 
+
=== metrics-set [lm-set] ===
+
Set the username, token, and interval for Librato Metrics posting.
+
<pre>
+
[--storage-system] :: Name or ID of a storage system in a management grid.
+
<--username>    :: The username/email of the Librato Metrics account.
+
<--token>        :: The API token associated with the Librato Metrics account.
+
[--interval]    :: The interval in seconds of how often Quantastor should post data to
+
                            Librato Metrics.
+
[--dashboards]  :: Autmatically create the QuantaStor system dashboard in Librato Metrics
+
[--alert-anno]  :: Add alert annotations to the Librato Metrics postings.
+
[--config-anno]  :: Add config annotations to the Librato Metrics postings.
+
</pre>
+
 
+
 
+
== Storage Pool Management ==
+
 
+
=== pool-add-spare [p-add] ===
+
Adds a dedicated hot-spare to the specified storage pool.
+
<pre>
+
<--pool>        :: Name of the storage pool or its unique ID (GUID).
+
<--disk-list>    :: Comma delimited list of drives (no spaces) to be used for the operation.
+
[--flags]        :: Optional flags for the operation. [async]
+
</pre>
+
 
+
 
+
=== pool-create [p-create] ===
+
Creates a new storage pool from which storage volumes can be created.
+
<pre>
+
<--name>        :: Names may include any alpha-numeric characters '_' and '-', spaces are
+
                            not allowed.
+
<--disk-list>    :: Comma delimited list of drives (no spaces) to be used for the operation.
+
[--raid-type]    :: RAID type for the storage pool. [*AUTO, LINEAR, RAID0, RAID1, RAID10,
+
                            RAID5, RAID6]
+
[--pool-type]    :: The type of storage pool to be created. [btrfs, ceph, ext4, jfs, *xfs,
+
                            zfs]
+
[--desc]        :: A description for the object.
+
[--is-default]  :: Indicates that this pool should be utilized as the default storage pool.
+
[--ssd]          :: Enable solid state disk (SSD) storage pool optimizations.
+
[--compress]    :: Enable storage volume compression on the pool, this boosts both read and
+
                            write performance on most IO loads.
+
[--nobarriers]  :: Enable storage pool write optimizations.  This requires that you have a
+
                            hardware controller with a battery backup unit.
+
[--profile]      :: Specifies an optional IO optimization profile for the storage pool. 
+
                            Storage pool profiles control elements like read-ahead, queue depth and
+
                            other device configurable settings.
+
[--raid-set-size] :: Then number of disks to use in each set of disks when creating a RAID50
+
                            or RAID60 storage pool.
+
[--flags]        :: Optional flags for the operation. [async]
+
</pre>
+
 
+
 
+
=== pool-destroy [p-destroy] ===
+
Deletes a storage pool, *WARNING* any data in the pool will be lost.
+
<pre>
+
<--pool>        :: Name of the storage pool or its unique ID (GUID).
+
[--flags]        :: Optional flags for the operation. [async, force]
+
</pre>
+
 
+
 
+
=== pool-device-get [spd-get] ===
+
Gets information about a specific storage pool device.
+
<pre>
+
<--name>        :: Names may include any alpha-numeric characters '_' and '-', spaces are
+
                            not allowed.
+
</pre>
+
 
+
 
+
=== pool-device-list [spd-list] ===
+
Returns a list of all the storage pool devices.
+
 
+
=== pool-expand [p-expand] ===
+
Expands a storage pool after the underlying hardware RAID unit has been grown underneath.
+
<pre>
+
<--pool>        :: Name of the storage pool or its unique ID (GUID).
+
[--flags]        :: Optional flags for the operation. [async]
+
</pre>
+
 
+
 
+
=== pool-export [p-export] ===
+
Deactivate and removes the storage pool from the storage system database so that it can be exported and used on another system.
+
<pre>
+
<--pool>        :: Name of the storage pool or its unique ID (GUID).
+
[--flags]        :: Optional flags for the operation. [async]
+
</pre>
+
 
+
 
+
=== pool-get [p-get] ===
+
Gets information about a specific storage pool.
+
<pre>
+
<--pool>        :: Name of the storage pool or its unique ID (GUID).
+
</pre>
+
 
+
 
+
=== pool-grow [p-grow] ===
+
Grows the specified storage pool by adding an additional disk.  You can only grow storage pools that are using the RAID5 or RAID6 layout.
+
<pre>
+
<--pool>        :: Name of the storage pool or its unique ID (GUID).
+
<--disk-list>    :: Comma delimited list of drives (no spaces) to be used for the operation.
+
[--raid-type]    :: RAID type for the storage pool. [*AUTO, LINEAR, RAID0, RAID1, RAID10,
+
                            RAID5, RAID6]
+
[--flags]        :: Optional flags for the operation. [async]
+
</pre>
+
 
+
 
+
=== pool-identify [p-id] ===
+
Pulses the disk activity lights for all disks in the pool so they can be identified in the chassis.
+
<pre>
+
<--pool>        :: Name of the storage pool or its unique ID (GUID).
+
[--pattern]      :: Pattern to flash the disk LED lights in, p = short pulse, P = long
+
                            pulse, d = short delay, D = long delay, ex: pattern=pppD
+
[--duration]    :: Duration in seconds to repeat the disk identification pattern.
+
[--flags]        :: Optional flags for the operation. [async]
+
</pre>
+
 
+
 
+
=== pool-list [p-list] ===
+
Returns a list of all the storage pools.
+
 
+
=== pool-modify [p-modify] ===
+
Modifies the properties of the storage pool such as its name and description.
+
<pre>
+
<--pool>        :: Name of the storage pool or its unique ID (GUID).
+
[--name]        :: Names may include any alpha-numeric characters '_' and '-', spaces are
+
                            not allowed.
+
[--is-default]  :: Indicates that this pool should be utilized as the default storage pool.
+
[--ssd]          :: Enable solid state disk (SSD) storage pool optimizations.
+
[--compress]    :: Enable storage volume compression on the pool, this boosts both read and
+
                            write performance on most IO loads.
+
[--nobarriers]  :: Enable storage pool write optimizations.  This requires that you have a
+
                            hardware controller with a battery backup unit.
+
[--profile]      :: Specifies an optional IO optimization profile for the storage pool. 
+
                            Storage pool profiles control elements like read-ahead, queue depth and
+
                            other device configurable settings.
+
[--desc]        :: A description for the object.
+
[--sync]        :: 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]
+
[--compression-type] :: Type of compression to be used. (on | off | lzjb | gzip | gzip-[1-9] |
+
                            zle | lz4)
+
[--repair-policy] :: 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]
+
[--approve-repair] :: 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
+
[--copies]      :: Indicates the number of copies of each block should be maintained in the
+
                            storage pool.  This is a way of getting duplicates for bit-rot protection
+
                            on a single device.
+
[--flags]        :: Optional flags for the operation. [async]
+
</pre>
+
 
+
 
+
=== pool-profile-get [pp-get] ===
+
Gets information about a specific storage pool profile.
+
<pre>
+
<--profile>      :: Specifies an optional IO optimization profile for the storage pool. 
+
                            Storage pool profiles control elements like read-ahead, queue depth and
+
                            other device configurable settings.
+
</pre>
+
 
+
 
+
=== pool-profile-list [pp-list] ===
+
Returns a list of all the storage pool profiles.
+
 
+
=== pool-remove-spare [p-remove] ===
+
Removes the specified hot-spare from the specified pool.
+
<pre>
+
<--pool>        :: Name of the storage pool or its unique ID (GUID).
+
<--disk-list>    :: Comma delimited list of drives (no spaces) to be used for the operation.
+
[--flags]        :: Optional flags for the operation. [async]
+
</pre>
+
 
+
 
+
=== pool-scan [p-scan] ===
+
Rescans the specified storage system for storage pools.
+
<pre>
+
[--storage-system] :: Name or ID of a storage system in a management grid.
+
[--flags]        :: Optional flags for the operation. [async]
+
</pre>
+
 
+
 
+
=== pool-scrub-start [p-scrub-start] ===
+
Starts a zpool scrub/verify operation which verifies data integrity and prevents bit-rot.  Use 'zpoolscrub --cron' to setup an automatic monthly scrub.
+
<pre>
+
<--pool>        :: Name of the storage pool or its unique ID (GUID).
+
[--flags]        :: Optional flags for the operation. [async]
+
</pre>
+
 
+
 
+
=== pool-scrub-stop [p-scrub-stop] ===
+
Stops the zpool scrub/verify operation if it is currently active on the storage pool.  Only applies to ZFS based storage pools.
+
<pre>
+
<--pool>        :: Name of the storage pool or its unique ID (GUID).
+
[--flags]        :: Optional flags for the operation. [async]
+
</pre>
+
 
+
 
+
=== pool-start [p-start] ===
+
Starts up a previously stopped storage pool.
+
<pre>
+
<--pool>        :: Name of the storage pool or its unique ID (GUID).
+
[--flags]        :: Optional flags for the operation. [async]
+
</pre>
+
 
+
 
+
=== pool-stop [p-stop] ===
+
Stops all volume activity to the pool and disables it for maintenance.
+
<pre>
+
<--pool>        :: Name of the storage pool or its unique ID (GUID).
+
[--flags]        :: Optional flags for the operation. [async]
+
</pre>
+
 
+
 
+
== QoS Policy Management ==
+
 
+
=== qos-policy-create [qos-create] ===
+
Creates a new Quality-of-Service (QoS) policy template which an be used to apply performance limits to Storage Volumes.
+
<pre>
+
<--name>        :: Names may include any alpha-numeric characters '_' and '-', spaces are
+
                            not allowed.
+
<--bw-read>      :: Sets the maximum read bandwidth (eg: 100MB) per second as a Quality of
+
                            Service (QoS) control on the storage volume, 0 (default) indicates
+
                            unlimited.
+
<--bw-write>    :: Sets the maximum write bandwidth (eg: 100MB) per second as a Quality of
+
                            Service (QoS) control on the storage volume, 0 (default) indicates
+
                            unlimited.
+
[--desc]        :: A description for the object.
+
[--flags]        :: Optional flags for the operation. [async]
+
</pre>
+
 
+
 
+
=== qos-policy-delete [qos-delete] ===
+
Deletes a given QoS Policy and clears the QoS performance limits on all Storage Volumes associated with the policy.
+
<pre>
+
<--qos-policy>  :: 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.
+
[--flags]        :: Optional flags for the operation. [async, force]
+
</pre>
+
 
+
 
+
=== qos-policy-get [qos-get] ===
+
Returns detailed information about a specific QoS policy.
+
<pre>
+
<--qos-policy>  :: 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.
+
</pre>
+
 
+
 
+
=== qos-policy-list [qos-list] ===
+
Returns details on the list of all QoS policy objects in the storage system grid.
+
 
+
=== qos-policy-modify [qos-modify] ===
+
Modifies and existing QoS policy with a new name, description, or performance limits.  Changes are applied immediately to all volumes.
+
<pre>
+
<--qos-policy>  :: 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.
+
[--name]        :: Names may include any alpha-numeric characters '_' and '-', spaces are
+
                            not allowed.
+
[--desc]        :: A description for the object.
+
[--bw-read]      :: Sets the maximum read bandwidth (eg: 100MB) per second as a Quality of
+
                            Service (QoS) control on the storage volume, 0 (default) indicates
+
                            unlimited.
+
[--bw-write]    :: Sets the maximum write bandwidth (eg: 100MB) per second as a Quality of
+
                            Service (QoS) control on the storage volume, 0 (default) indicates
+
                            unlimited.
+
[--flags]        :: Optional flags for the operation. [async]
+
</pre>
+
 
+
 
+
== Resource Group Quota Management ==
+
 
+
=== provisioning-quota-create [pq-create] ===
+
Creates a new storage provisioning quota on a pool for the specified tenant resource cloud.
+
<pre>
+
<--name>        :: Names may include any alpha-numeric characters '_' and '-', spaces are
+
                            not allowed.
+
<--pool>        :: Name of the storage pool or its unique ID (GUID).
+
<--cloud>        :: Name of a Storage Cloud or its unique id.
+
[--policy]      :: Indicates the type of quota to be created. [hard, *soft]
+
[--desc]        :: A description for the object.
+
[--psize]        :: The total thin-provisionable space allowed by this provisioning quota.
+
[--usize]        :: The total utilizable space allowed by this provisioning quota which may
+
                            be less than the provisionable space.
+
[--max-volumes]  :: The maximum number of volumes that can be created using this quota,
+
                            specify 0 for no limit.
+
[--max-shares]  :: The maximum number of share that can be created using this quota,
+
                            specify 0 for no limit.
+
[--flags]        :: Optional flags for the operation. [async]
+
</pre>
+
 
+
 
+
=== provisioning-quota-delete [pq-delete] ===
+
Deletes a storage provisioning quota, the associated volumes are not deleted.
+
<pre>
+
<--quota>        :: Name or ID of a storage provisioning quota.
+
[--flags]        :: Optional flags for the operation. [async, force]
+
</pre>
+
 
+
 
+
=== provisioning-quota-get [pq-get] ===
+
Returns information about a specific storage provisioning quota.
+
<pre>
+
<--quota>        :: Name or ID of a storage provisioning quota.
+
</pre>
+
 
+
 
+
=== provisioning-quota-list [pq-list] ===
+
Returns a list of all the storage provisioning quotas.
+
 
+
=== provisioning-quota-modify [pq-modify] ===
+
Modifies one to change the name and/or description of a storage provisioning quota.
+
<pre>
+
<--quota>        :: Name or ID of a storage provisioning quota.
+
<--cloud>        :: Name of a Storage Cloud or its unique id.
+
[--name]        :: Names may include any alpha-numeric characters '_' and '-', spaces are
+
                            not allowed.
+
[--desc]        :: A description for the object.
+
[--psize]        :: The total thin-provisionable space allowed by this provisioning quota.
+
[--usize]        :: The total utilizable space allowed by this provisioning quota which may
+
                            be less than the provisionable space.
+
[--max-volumes]  :: The maximum number of volumes that can be created using this quota,
+
                            specify 0 for no limit.
+
[--max-shares]  :: The maximum number of share that can be created using this quota,
+
                            specify 0 for no limit.
+
[--policy]      :: Indicates the type of quota to be created. [hard, *soft]
+
[--flags]        :: Optional flags for the operation. [async]
+
</pre>
+
 
+
 
+
=== provisioning-quota-share-add [pqs-add] ===
+
Adds one or more shares to the specified provisioning quota.
+
<pre>
+
<--quota>        :: Name or ID of a storage provisioning quota.
+
<--share-list>  :: A list of one or more network shares.
+
</pre>
+
 
+
 
+
=== provisioning-quota-share-assoc-list [pqs-alist] ===
+
Returns a list of all the associated provisioning quotas of a specified share.
+
<pre>
+
<--share>        :: Name or ID of a network share.
+
</pre>
+
 
+
 
+
=== provisioning-quota-share-remove [pqs-remove] ===
+
Removes one or more shares from the specified provisioning quota.
+
<pre>
+
<--quota>        :: Name or ID of a storage provisioning quota.
+
<--share-list>  :: A list of one or more network shares.
+
</pre>
+
 
+
 
+
=== provisioning-quota-volume-add [pqv-add] ===
+
Adds one or more volumes to the specified provisioning quota.
+
<pre>
+
<--quota>        :: Name or ID of a storage provisioning quota.
+
<--volume-list>  :: A list of one or more storage volumes.
+
</pre>
+
 
+
 
+
=== provisioning-quota-volume-assoc-list [pqv-alist] ===
+
Returns a list of all the associated provisioning quotas of a specified volume.
+
<pre>
+
<--volume>      :: Name of the storage volume or its unique ID (GUID).
+
</pre>
+
 
+
 
+
=== provisioning-quota-volume-remove [pqv-remove] ===
+
Removes one or more volumes from the specified provisioning quota
+
<pre>
+
<--quota>        :: Name or ID of a storage provisioning quota.
+
<--volume-list>  :: A list of one or more storage volumes.
+
</pre>
+
 
+
 
+
== Remote Replication Management ==
+
 
+
=== replica-assoc-delete [rep-assoc-delete] ===
+
Deletes the specified replication association between a source/target pair of volumes or shares.
+
<pre>
+
<--replica-assoc> :: Name or ID of a replica association between a source/target volume or
+
                            share
+
</pre>
+
 
+
 
+
=== replica-assoc-get [rep-assoc-get] ===
+
Returns details of the specified replication association.
+
<pre>
+
<--replica-assoc> :: Name or ID of a replica association between a source/target volume or
+
                            share
+
</pre>
+
 
+
 
+
=== replica-assoc-list [rep-assoc-list] ===
+
Returns a list of all the replication associations.
+
 
+
=== replica-assoc-rollback [rep-assoc-rollback] ===
+
Reverses the replication to send the changes on the target back to the source volume/share.  Requires the --force flag.
+
<pre>
+
<--replica-assoc> :: Name or ID of a replica association between a source/target volume or
+
                            share
+
</pre>
+
 
+
 
+
=== replica-assoc-stop [rep-assoc-stop] ===
+
Attempts to stop the replication process between a source/target pair of volumes or shares.
+
<pre>
+
<--replica-assoc> :: Name or ID of a replica association between a source/target volume or
+
                            share
+
</pre>
+
 
+
 
+
=== replica-assoc-sync [rep-assoc-sync] ===
+
Restarts the replication process between a source/target pair of volumes or shares.
+
<pre>
+
<--replica-assoc> :: Name or ID of a replica association between a source/target volume or
+
                            share
+
</pre>
+
 
+
 
+
=== replication-schedule-add [rsch-add] ===
+
Adds one or more volumes/shares to the specified schedule.
+
<pre>
+
<--schedule>    :: Name or ID of a replication schedule.
+
[--volume-list]  :: A list of one or more storage volumes.
+
[--share-list]  :: A list of one or more network shares.
+
</pre>
+
 
+
 
+
=== replication-schedule-create [rsch-create] ===
+
Creates a new replication schedule to replicate the specified storage volumes and shares to the specified target pool on a schedule.
+
<pre>
+
<--name>        :: Names may include any alpha-numeric characters '_' and '-', spaces are
+
                            not allowed.
+
<--target-pool>  :: Target storage pool on remote system to replicate to.
+
[--volume-list]  :: A list of one or more storage volumes.
+
[--share-list]  :: A list of one or more network shares.
+
[--start-date]  :: Start date at which the system will begin creating snapshots for a given
+
                            schedule.
+
[--enabled]      :: While the schedule is enabled snapshots will be taken at the designated
+
                            times.
+
[--desc]        :: A description for the object.
+
[--cloud]        :: Name of a Storage Cloud or its unique id.
+
[--max-replicas] :: Maximum number of replica snapshot checkpoints to retain for this
+
                            schedule, after which the oldest snapshot is removed before a new one is
+
                            created.
+
[--days]        :: The days of the week on which this schedule should create snapshots.
+
                            [fri, mon, sat, *sun, thu, tue, wed]
+
[--hours]        :: For the specified days of the week, snapshots will be created at the
+
                            specified hours. [10am, 10pm, 11am, 11pm, 12am, 12pm, 1am, 1pm, 2am, 2pm,
+
                            *3am, 3pm, 4am, 4pm, 5am, 5pm, 6am, 6pm, 7am, 7pm, 8am, 8pm, 9am, 9pm]
+
[--interval]    :: Interval in minutes between replications, minimum is 15 minutes.
+
[--offset-minutes] :: 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.
+
[--flags]        :: Optional flags for the operation. [async]
+
</pre>
+
 
+
 
+
=== replication-schedule-delete [rsch-delete] ===
+
Deletes a replication schedule, snapshots associated with the schedule are not removed.
+
<pre>
+
<--schedule>    :: Name or ID of a replication schedule.
+
[--flags]        :: Optional flags for the operation. [async, force]
+
</pre>
+
 
+
 
+
=== replication-schedule-disable [rsch-disable] ===
+
Disables the specified replication schedule.
+
<pre>
+
<--schedule>    :: Name or ID of a replication schedule.
+
[--flags]        :: Optional flags for the operation. [async, force]
+
</pre>
+
 
+
 
+
=== replication-schedule-enable [rsch-enable] ===
+
Enables the specified replication schedule.
+
<pre>
+
<--schedule>    :: Name or ID of a replication schedule.
+
[--flags]        :: Optional flags for the operation. [async, force]
+
</pre>
+
 
+
 
+
=== replication-schedule-get [rsch-get] ===
+
Returns information about a specific replication schedule.
+
<pre>
+
<--schedule>    :: Name or ID of a replication schedule.
+
</pre>
+
 
+
 
+
=== replication-schedule-list [rsch-list] ===
+
Returns a list of all the replication schedules.
+
 
+
=== replication-schedule-modify [rsch-modify] ===
+
Modifies the name, description or other properties of a replication schedule.
+
<pre>
+
<--schedule>    :: Name or ID of a replication schedule.
+
[--name]        :: Names may include any alpha-numeric characters '_' and '-', spaces are
+
                            not allowed.
+
[--start-date]  :: Start date at which the system will begin creating snapshots for a given
+
                            schedule.
+
[--enabled]      :: While the schedule is enabled snapshots will be taken at the designated
+
                            times.
+
[--desc]        :: A description for the object.
+
[--cloud]        :: Name of a Storage Cloud or its unique id.
+
[--max-replicas] :: Maximum number of replica snapshot checkpoints to retain for this
+
                            schedule, after which the oldest snapshot is removed before a new one is
+
                            created.
+
[--days]        :: The days of the week on which this schedule should create snapshots.
+
                            [fri, mon, sat, *sun, thu, tue, wed]
+
[--hours]        :: For the specified days of the week, snapshots will be created at the
+
                            specified hours. [10am, 10pm, 11am, 11pm, 12am, 12pm, 1am, 1pm, 2am, 2pm,
+
                            *3am, 3pm, 4am, 4pm, 5am, 5pm, 6am, 6pm, 7am, 7pm, 8am, 8pm, 9am, 9pm]
+
[--interval]    :: Interval in minutes between replications, minimum is 15 minutes.
+
[--offset-minutes] :: 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.
+
[--flags]        :: Optional flags for the operation. [async]
+
</pre>
+
 
+
 
+
=== replication-schedule-remove [rsch-remove] ===
+
Removes one or more volumes/shares from the specified schedule.
+
<pre>
+
<--schedule>    :: Name or ID of a replication schedule.
+
[--volume-list]  :: A list of one or more storage volumes.
+
[--share-list]  :: A list of one or more network shares.
+
</pre>
+
 
+
 
+
=== replication-schedule-trigger [rsch-trigger] ===
+
Triggers the specified schedule to run immediately.
+
<pre>
+
<--schedule>    :: Name or ID of a replication schedule.
+
[--flags]        :: Optional flags for the operation. [async, force]
+
</pre>
+
 
+
 
+
== Multitenant Resource Group Management ==
+
 
+
=== resource-group-create [rg-create] ===
+
Creates a new tenant resource group comprised of the specified users, resources and chap information.
+
<pre>
+
<--name>        :: Names may include any alpha-numeric characters '_' and '-', spaces are
+
                            not allowed.
+
[--desc]        :: A description for the object.
+
[--subject-list] :: A list subjects in the following format name:type. Ex:
+
                            userName:user,groupName:user_group...
+
[--resource-list] :: A list resources in the following format name:type. Ex:
+
                            vol:volume,hostname:host...
+
[--parent-cloud] :: The name or unique id of a tenant resource cloud.
+
[--tier]        :: The tier of the storage cloud.
+
[--organization] :: The name of the organization this tenant resource cloud is assigned to.
+
[--chap-user]    :: An optional iSCSI CHAP username.
+
[--chap-pass]    :: An optional iSCSI CHAP password.
+
[--flags]        :: Optional flags for the operation. [async, force, min, *none]
+
</pre>
+
 
+
 
+
=== resource-group-delete [rg-delete] ===
+
Deletes a tenant's resource group, the resources and users will not be deleted.
+
<pre>
+
<--cloud>        :: Name of a Storage Cloud or its unique id.
+
[--flags]        :: Optional flags for the operation. [async, force]
+
</pre>
+
 
+
 
+
=== resource-group-get [rg-get] ===
+
Returns information of the specified tenant resource groups.
+
<pre>
+
<--cloud>        :: Name of a Storage Cloud or its unique id.
+
[--flags]        :: Optional flags for the operation. [async, force]
+
</pre>
+
 
+
 
+
=== resource-group-list [rg-list] ===
+
Returns a list of all the tenant resource groups.
+
<pre>
+
[--flags]        :: Optional flags for the operation. [async, force]
+
</pre>
+
 
+
 
+
=== resource-group-modify [rg-modify] ===
+
Modifies the name, description, parent resource group, tier, organization, and chap information of a resource group.
+
<pre>
+
<--cloud>        :: Name of a Storage Cloud or its unique id.
+
[--name]        :: Names may include any alpha-numeric characters '_' and '-', spaces are
+
                            not allowed.
+
[--desc]        :: A description for the object.
+
[--parent-cloud] :: The name or unique id of a tenant resource cloud.
+
[--tier]        :: The tier of the storage cloud.
+
[--organization] :: The name of the organization this tenant resource cloud is assigned to.
+
[--chap-user]    :: An optional iSCSI CHAP username.
+
[--chap-pass]    :: An optional iSCSI CHAP password.
+
[--flags]        :: Optional flags for the operation. [async, force, min, *none]
+
</pre>
+
 
+
 
+
=== resource-group-resource-add [rgr-add] ===
+
Add one or more resources to the specified tenant resource group.
+
<pre>
+
<--cloud>        :: Name of a Storage Cloud or its unique id.
+
<--resource-list> :: A list resources in the following format name:type. Ex:
+
                            vol:volume,hostname:host...
+
</pre>
+
 
+
 
+
=== resource-group-resource-mode [rgr-mode] ===
+
Set the mode of a specified resource in the tenant resource group.
+
<pre>
+
<--cloud>        :: Name of a Storage Cloud or its unique id.
+
<--resource>    :: The unique id of a volume or volume group or share or host or host group.
+
<--access-mode>  :: Access mode for the volume.
+
[--flags]        :: Optional flags for the operation. [async, force, min, *none]
+
</pre>
+
 
+
 
+
=== resource-group-resource-remove [rgr-remove] ===
+
Remove one or more resource from the specified tenant resource group.
+
<pre>
+
<--cloud>        :: Name of a Storage Cloud or its unique id.
+
<--resource-list> :: A list resources in the following format name:type. Ex:
+
                            vol:volume,hostname:host...
+
</pre>
+
 
+
 
+
=== resource-group-subject-assoc-list [rgsub-alist] ===
+
Returns a list of associated tenant resource groups to the specified subject (user or user group).
+
<pre>
+
<--subject>      :: The unique id of a user or user group.
+
[--flags]        :: Optional flags for the operation. [async, force]
+
</pre>
+
 
+
 
+
=== resource-group-user-add [rgu-add] ===
+
Add one or more users to the specified tenant resource group.
+
<pre>
+
<--cloud>        :: Name of a Storage Cloud or its unique id.
+
<--subject-list> :: A list subjects in the following format name:type. Ex:
+
                            userName:user,groupName:user_group...
+
</pre>
+
 
+
 
+
=== resource-group-user-remove [rgu-remove] ===
+
Remove one or more users from specified tenant resource group.
+
<pre>
+
<--cloud>        :: Name of a Storage Cloud or its unique id.
+
<--subject-list> :: A list subjects in the following format name:type. Ex:
+
                            userName:user,groupName:user_group...
+
</pre>
+
 
+
 
+
== RBAC Role Management ==
+
 
+
=== role-add [r-add] ===
+
Adds a new role to the role based access control (RBAC) system.
+
<pre>
+
<--name>        :: Names may include any alpha-numeric characters '_' and '-', spaces are
+
                            not allowed.
+
[--desc]        :: A description for the object.
+
[--permissions]  :: List of permissions and/or permission groups to add to the specified
+
                            role.
+
</pre>
+
 
+
 
+
=== role-get [r-get] ===
+
Gets information about the specified role.
+
<pre>
+
<--role>        :: Name of a security role or its unique ID (GUID).
+
</pre>
+
 
+
 
+
=== role-list [r-list] ===
+
Returns a list of all the defined roles the RBAC system.
+
 
+
=== role-modify [r-modify] ===
+
Modifies the name and/or description of a role
+
<pre>
+
<--role>        :: Name of a security role or its unique ID (GUID).
+
[--name]        :: Names may include any alpha-numeric characters '_' and '-', spaces are
+
                            not allowed.
+
[--desc]        :: A description for the object.
+
</pre>
+
 
+
 
+
=== role-permission-add [rp-add] ===
+
Adds additional permissions and/or permission groups to the specified role.
+
<pre>
+
<--role>        :: Name of a security role or its unique ID (GUID).
+
<--permissions>  :: List of permissions and/or permission groups to add to the specified
+
                            role.
+
</pre>
+
 
+
 
+
=== role-permission-def-list [rpd-list] ===
+
Returns a list of all the defined permissions available to be assigned to roles in the RBAC system.
+
 
+
=== role-permission-remove [rp-remove] ===
+
Removes one or more permissions and/or permission groups from the specified role.
+
<pre>
+
<--role>        :: Name of a security role or its unique ID (GUID).
+
<--permissions>  :: List of permissions and/or permission groups to add to the specified
+
                            role.
+
</pre>
+
 
+
 
+
=== role-remove [r-remove] ===
+
Removes the specified role identified by name or ID
+
<pre>
+
<--role>        :: Name of a security role or its unique ID (GUID).
+
</pre>
+
 
+
 
+
== Snapshot Schedule Management ==
+
 
+
=== snap-schedule-add [sch-add] ===
+
Adds one or more volumes/shares to the specified schedule.
+
<pre>
+
<--schedule>    :: Name of a snapshot schedule or its unique ID (GUID).
+
[--volume-list]  :: A list of one or more storage volumes.
+
[--share-list]  :: A list of one or more network shares.
+
</pre>
+
 
+
 
+
=== snap-schedule-create [sch-create] ===
+
Creates a new snapshot schedule comprised of the specified storage volumes.
+
<pre>
+
<--name>        :: Names may include any alpha-numeric characters '_' and '-', spaces are
+
                            not allowed.
+
[--volume-list]  :: A list of one or more storage volumes.
+
[--share-list]  :: A list of one or more network shares.
+
[--start-date]  :: Start date at which the system will begin creating snapshots for a given
+
                            schedule.
+
[--enabled]      :: While the schedule is enabled snapshots will be taken at the designated
+
                            times.
+
[--desc]        :: A description for the object.
+
[--cloud]        :: Name of a Storage Cloud or its unique id.
+
[--max-snaps]    :: Maximum number of snapshots to retain for this schedule, after which the
+
                            oldest snapshot is removed before a new one is created.
+
[--days]        :: The days of the week on which this schedule should create snapshots.
+
                            [fri, mon, sat, *sun, thu, tue, wed]
+
[--hours]        :: For the specified days of the week, snapshots will be created at the
+
                            specified hours. [10am, 10pm, 11am, 11pm, 12am, 12pm, 1am, 1pm, 2am, 2pm,
+
                            *3am, 3pm, 4am, 4pm, 5am, 5pm, 6am, 6pm, 7am, 7pm, 8am, 8pm, 9am, 9pm]
+
[--flags]        :: Optional flags for the operation. [async]
+
</pre>
+
 
+
 
+
=== snap-schedule-delete [sch-delete] ===
+
Deletes a snapshot schedule, snapshots associated with the schedule are not removed.
+
<pre>
+
<--schedule>    :: Name of a snapshot schedule or its unique ID (GUID).
+
[--flags]        :: Optional flags for the operation. [async, force]
+
</pre>
+
 
+
 
+
=== snap-schedule-disable [sch-disable] ===
+
Disables the specified snapshot schedule.
+
<pre>
+
<--schedule>    :: Name of a snapshot schedule or its unique ID (GUID).
+
[--flags]        :: Optional flags for the operation. [async, force]
+
</pre>
+
 
+
 
+
=== snap-schedule-enable [sch-enable] ===
+
Enables the specified snapshot schedule.
+
<pre>
+
<--schedule>    :: Name of a snapshot schedule or its unique ID (GUID).
+
[--flags]        :: Optional flags for the operation. [async, force]
+
</pre>
+
 
+
 
+
=== snap-schedule-get [sch-get] ===
+
Returns information about a specific snapshot schedule.
+
<pre>
+
<--schedule>    :: Name of a snapshot schedule or its unique ID (GUID).
+
</pre>
+
 
+
 
+
=== snap-schedule-list [sch-list] ===
+
Returns a list of all the snapshot schedules.
+
 
+
=== snap-schedule-modify [sch-modify] ===
+
Modifies the name, description or other properties of a snapshot schedule.
+
<pre>
+
<--schedule>    :: Name of a snapshot schedule or its unique ID (GUID).
+
[--name]        :: Names may include any alpha-numeric characters '_' and '-', spaces are
+
                            not allowed.
+
[--start-date]  :: Start date at which the system will begin creating snapshots for a given
+
                            schedule.
+
[--enabled]      :: While the schedule is enabled snapshots will be taken at the designated
+
                            times.
+
[--desc]        :: A description for the object.
+
[--cloud]        :: Name of a Storage Cloud or its unique id.
+
[--max-snaps]    :: Maximum number of snapshots to retain for this schedule, after which the
+
                            oldest snapshot is removed before a new one is created.
+
[--days]        :: The days of the week on which this schedule should create snapshots.
+
                            [fri, mon, sat, *sun, thu, tue, wed]
+
[--hours]        :: For the specified days of the week, snapshots will be created at the
+
                            specified hours. [10am, 10pm, 11am, 11pm, 12am, 12pm, 1am, 1pm, 2am, 2pm,
+
                            *3am, 3pm, 4am, 4pm, 5am, 5pm, 6am, 6pm, 7am, 7pm, 8am, 8pm, 9am, 9pm]
+
[--flags]        :: Optional flags for the operation. [async]
+
</pre>
+
 
+
 
+
=== snap-schedule-remove [sch-remove] ===
+
Removes one or more volumes/shares from the specified schedule.
+
<pre>
+
<--schedule>    :: Name of a snapshot schedule or its unique ID (GUID).
+
[--volume-list]  :: A list of one or more storage volumes.
+
[--share-list]  :: A list of one or more network shares.
+
</pre>
+
 
+
 
+
=== snap-schedule-trigger [sch-trigger] ===
+
Triggers the specified schedule to run immediately.
+
<pre>
+
<--schedule>    :: Name of a snapshot schedule or its unique ID (GUID).
+
</pre>
+
 
+
 
+
== iSCSI Session Management ==
+
 
+
=== session-close [sn-close] ===
+
Forcibly closes the specified iSCSI session; generally not recommended, use acl-remove instead.
+
<pre>
+
<--session>      :: iSCSI session identifier for an active iSCSI session.
+
</pre>
+
 
+
 
+
=== session-get [sn-get] ===
+
Returns detailed information on a specific iSCSI session.
+
<pre>
+
<--session>      :: iSCSI session identifier for an active iSCSI session.
+
</pre>
+
 
+
 
+
=== session-list [sn-list] ===
+
Returns a list of all the active iSCSI sessions.
+
<pre>
+
[--volume]      :: Name of the storage volume or its unique ID (GUID).
+
[--host]        :: Name of the host or its unique ID (GUID).
+
</pre>
+
 
+
 
+
== Network Share Management ==
+
 
+
=== share-ad-user-group-list [shr-ad-ug-list] ===
+
Returns a list of all the users and groups in the Active Directory domain that the appliance is a member of.
+
<pre>
+
<--storage-system> :: Name or ID of a storage system in a management grid.
+
[--share]        :: Name or ID of a network share.
+
[--flags]        :: Optional flags for the operation. [async, force]
+
</pre>
+
 
+
 
+
=== share-client-add [shr-cadd] ===
+
Adds a NFS client access rule for the specified network share.
+
<pre>
+
<--share>        :: Name or ID of a network share.
+
<--filter>      :: A filter string for the client
+
[--async]        :: Use asynchronous communication between NFS server and client
+
[--secure]      :: Requires the requests to originate from an Internet port less than
+
                            IPPORT_RESERVED
+
[--subtree]      :: Enables subtree checking
+
[--rdonly]      :: Allow only read requests for the NFS volume
+
[--options]      :: Set of custom NFS options as a comma delimited list such as
+
                            no_root_squash,wdelay,ro etc
+
[--flags]        :: Optional flags for the operation. [async, force]
+
</pre>
+
 
+
 
+
=== share-client-get [shr-cget] ===
+
Returns information about the specific network share NFS client access rule.
+
<pre>
+
<--share>        :: Name or ID of a network share.
+
[--filter]      :: A filter string for the client
+
[--flags]        :: Optional flags for the operation. [async, force]
+
</pre>
+
 
+
 
+
=== share-client-list [shr-clist] ===
+
Returns a list of NFS clients access rules for the specified network share.
+
<pre>
+
<--share>        :: Name or ID of a network share.
+
[--flags]        :: Optional flags for the operation. [async, force]
+
</pre>
+
 
+
 
+
=== share-client-modify [shr-cmodify] ===
+
Modifies a NFS client access rule for the specified network share.
+
<pre>
+
<--share>        :: Name or ID of a network share.
+
<--filter>      :: A filter string for the client
+
[--rdonly]      :: Allow only read requests for the NFS volume
+
[--secure]      :: Requires the requests to originate from an Internet port less than
+
                            IPPORT_RESERVED
+
[--async]        :: Use asynchronous communication between NFS server and client
+
[--subtree]      :: Enables subtree checking
+
[--options]      :: Set of custom NFS options as a comma delimited list such as
+
                            no_root_squash,wdelay,ro etc
+
[--flags]        :: Optional flags for the operation. [async, force]
+
</pre>
+
 
+
 
+
=== share-client-remove [shr-cremove] ===
+
Removes NFS client access rule for the specified network share.
+
<pre>
+
<--share>        :: Name or ID of a network share.
+
<--filter>      :: A filter string for the client
+
[--flags]        :: Optional flags for the operation. [async, force]
+
</pre>
+
 
+
 
+
=== share-clone [shr-clone] ===
+
Creates a full copy of the specified network share to another storage pool.
+
<pre>
+
<--share>        :: Name or ID of a network share.
+
<--pool>        :: Name of the storage pool or its unique ID (GUID).
+
[--name]        :: Name for the clone, if not provided the source volume name will be used
+
                            as a prefix.
+
[--desc]        :: A description for the object.
+
[--flags]        :: Optional flags for the operation. [async, force]
+
</pre>
+
 
+
 
+
=== share-create [shr-create] ===
+
Creates a new NFSv3 network share.
+
<pre>
+
<--name>        :: Names may include any alpha-numeric characters '_' and '-', spaces are
+
                            not allowed.
+
<--pool>        :: Name of the storage pool or its unique ID (GUID).
+
[--desc]        :: A description for the object.
+
[--public]      :: Indicates that the specified network share should be made public and
+
                            open for read/write access to all systems on the network.
+
[--active]      :: Indicates that the network share should be activated.
+
[--cifs-enable]  :: Enables Samba support for network share.
+
[--user-access-list] :: List of users with permission to access the network share for example
+
                            'user1:valid,user2:invalid,user3:none,~user7,~user33', prepend with tilde
+
                            (~) to remove fields/properties.
+
[--cifs-options] :: CIFS/Samba configuration options specified as
+
                            'key=value,key2=value2,~key3,...', prepend with tilde (~) to remove
+
                            fields/properties.
+
[--space-quota]  :: Size of the quota for the network share (optional).
+
[--disable-snap-browsing] :: When this is true, ability to browse snapshot directories over CIFS is
+
                            disabled.
+
[--share-owner]  :: Name of the share owner
+
[--share-owner-group] :: Name of the share owner group (Need to specify both share owner and
+
                            group)
+
[--permissions]  :: 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--
+
[--flags]        :: Optional flags for the operation. [async, force]
+
</pre>
+
 
+
 
+
=== share-delete [shr-delete] ===
+
Deletes the specified network share
+
<pre>
+
<--share>        :: Name or ID of a network share.
+
[--flags]        :: Optional flags for the operation. [async, force]
+
</pre>
+
 
+
 
+
=== share-disable [shr-disable] ===
+
Disables/deactivates the specified network share
+
<pre>
+
<--share>        :: Name or ID of a network share.
+
[--flags]        :: Optional flags for the operation. [async, force]
+
</pre>
+
 
+
 
+
=== share-enable [shr-enable] ===
+
Enables/activates the specified network share
+
<pre>
+
<--share>        :: Name or ID of a network share.
+
[--flags]        :: Optional flags for the operation. [async, force]
+
</pre>
+
 
+
 
+
=== share-enum-quota ===
+
Returns the user quotas for the network share.
+
<pre>
+
<--share>        :: Name or ID of a network share.
+
[--flags]        :: Optional flags for the operation. [async, force]
+
</pre>
+
 
+
 
+
=== share-get [shr-get] ===
+
Returns information about the specified network share.
+
<pre>
+
<--share>        :: Name or ID of a network share.
+
</pre>
+
 
+
 
+
=== share-join-domain [shr-jdomain] ===
+
Joins the specified Active Directory domain/realm.
+
<pre>
+
<--storage-system> :: Name or ID of a storage system in a management grid.
+
<--domain>      :: The name of the domain to have the QuantaStor system join. (DOMAIN)
+
<--realm>        :: The name of the realm that the domain is in. (DOMAIN.COM)
+
<--kdc>          :: The name of the active directory machine.
+
<--ad-admin>    :: The administrator account of the domain that QuantaStor is a member of.
+
<--ad-password>  :: The password to the administrator account of the domain that QuantaStor
+
                            is a member of.
+
[--idmap-mode]  :: Specifies the Unix to Active Directory ID mapping mode (idmap config) of
+
                            rid, autorid, tdb, ad, ad-rfc2307 [ad, ad-rfc2307, autorid, rid, *tdb]
+
[--flags]        :: Optional flags for the operation. [async, force]
+
</pre>
+
 
+
 
+
=== share-leave-domain [shr-ldomain] ===
+
Leaves the current Active Directory domain.
+
<pre>
+
<--storage-system> :: Name or ID of a storage system in a management grid.
+
[--ad-admin]    :: The administrator account of the domain that QuantaStor is a member of.
+
[--ad-password]  :: The password to the administrator account of the domain that QuantaStor
+
                            is a member of.
+
[--flags]        :: Optional flags for the operation. [async, force]
+
</pre>
+
 
+
 
+
=== share-list [shr-list] ===
+
Returns a list of all the network shares in the system.
+
 
+
=== share-modify [shr-modify] ===
+
Modifies the properties of the specified network share.
+
<pre>
+
<--share>        :: Name or ID of a network share.
+
[--name]        :: Names may include any alpha-numeric characters '_' and '-', spaces are
+
                            not allowed.
+
[--desc]        :: A description for the object.
+
[--active]      :: Indicates that the network share should be activated.
+
[--space-quota]  :: Size of the quota for the network share (optional).
+
[--sync]        :: 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]
+
[--compression-type] :: Type of compression to be used. (on | off | lzjb | gzip | gzip-[1-9] |
+
                            zle | lz4)
+
[--copies]      :: Indicates the number of copies of each block should be maintained in the
+
                            storage pool.  This is a way of getting duplicates for bit-rot protection
+
                            on a single device.
+
[--cifs-enable]  :: Enables Samba support for network share.
+
[--user-access-list] :: List of users with permission to access the network share for example
+
                            'user1:valid,user2:invalid,user3:none,~user7,~user33', prepend with tilde
+
                            (~) to remove fields/properties.
+
[--group-access-list] :: List of groups with permission to access the network share for example
+
                            'group1+DOMAIN:valid,~group2+DOMAIN' prepend with tilde (~) to remove
+
                            access for specific users or groups.
+
[--cifs-options] :: CIFS/Samba configuration options specified as
+
                            'key=value,key2=value2,~key3,...', prepend with tilde (~) to remove
+
                            fields/properties.
+
[--disable-snap-browsing] :: When this is true, ability to browse snapshot directories over CIFS is
+
                            disabled.
+
[--share-owner]  :: Name of the share owner
+
[--share-owner-group] :: Name of the share owner group (Need to specify both share owner and
+
                            group)
+
[--permissions]  :: 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--
+
[--flags]        :: Optional flags for the operation. [async]
+
</pre>
+
 
+
 
+
=== share-restore [shr-restore] ===
+
Restores the specified network share with the contents of the specified snapshot.
+
<pre>
+
<--share>        :: Name or ID of a network share.
+
[--flags]        :: Optional flags for the operation. [async, force]
+
</pre>
+
 
+
 
+
=== share-rollback [shr-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>
+
<--share>        :: Name or ID of a network share.
+
<--share-snapshot> :: Name or ID of a snapshot of a network share.
+
[--flags]        :: Optional flags for the operation. [async, force]
+
</pre>
+
 
+
 
+
=== share-snapshot [shr-snap] ===
+
Creates and instant space efficient snapshot of the specified network share (requires Advanced Storage Pool)
+
<pre>
+
<--share>        :: Name or ID of a network share.
+
[--name]        :: Names may include any alpha-numeric characters '_' and '-', spaces are
+
                            not allowed.
+
[--desc]        :: A description for the object.
+
[--active]      :: Indicates that the network share should be activated.
+
[--flags]        :: Optional flags for the operation. [async, force]
+
</pre>
+
 
+
 
+
== Site Resource Management ==
+
 
+
=== cluster-ring-create [cr-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>
+
<--site>        :: A site is a group of appliances in a location.
+
<--member-addresses> :: IP addresses, one from each appliance, used to form a new cluster ring
+
                            for cluster communication activities.
+
[--ring]        :: Unique cluster ring number starting with 0 for the first ring in the
+
                            site.
+
[--bind-address] :: The bind address represents the network on which cluster communication
+
                            is allowed for a specific ring.
+
</pre>
+
 
+
 
+
=== cluster-ring-delete [cr-delete] ===
+
Deletes the specified cluster ring configuration.
+
<pre>
+
<--cluster-ring> :: 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
+
</pre>
+
 
+
 
+
=== cluster-ring-get [cr-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>
+
<--cluster-ring> :: 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
+
</pre>
+
 
+
 
+
=== cluster-ring-list [cr-list] ===
+
Returns a list of the cluster ring configurations.
+
 
+
=== cluster-ring-member-get [crm-get] ===
+
Returns information about the specified cluster ring member.
+
<pre>
+
<--cluster-ring> :: A cluster-ring-member represents a physical interface on a appliance
+
                            used for cluster communication.
+
</pre>
+
 
+
 
+
=== cluster-ring-member-list [crm-list] ===
+
Returns a list of all the cluster ring members of the site.
+
 
+
=== site-cluster-assoc-get [sca-get] ===
+
Returns detailed information about the specified site association.
+
<pre>
+
[--system]      :: The system with the site association.
+
[--site-assoc]  :: A site association is a link between a system and a site.
+
</pre>
+
 
+
 
+
=== site-cluster-assoc-list [sca-list] ===
+
Returns a list of all the configured site association.
+
 
+
=== site-cluster-create [sc-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>
+
<--name>        :: Names may include any alpha-numeric characters '_' and '-', spaces are
+
                            not allowed.
+
<--sys-list>    :: List of systems to be combined together to form a new site.
+
[--desc]        :: A description for the object.
+
[--location]    :: Optional description indicating the location of the storage system.
+
[--flags]        :: Optional flags for the operation. [async]
+
</pre>
+
 
+
 
+
=== site-cluster-delete [sc-delete] ===
+
Deletes the specified site configuration.
+
<pre>
+
<--site>        :: A site is a group of appliances in a location.
+
[--flags]        :: Optional flags for the operation. [async, force]
+
</pre>
+
 
+
 
+
=== site-cluster-get [sc-get] ===
+
Returns detailed information about the specified site.
+
<pre>
+
<--site>        :: A site is a group of appliances in a location.
+
</pre>
+
 
+
 
+
=== site-cluster-list [sc-list] ===
+
Returns a list of all the configured sites.
+
 
+
=== site-cluster-modify [sc-modify] ===
+
Modifys the configuration settings of a site like it's name, location or description.
+
<pre>
+
<--site>        :: A site is a group of appliances in a location.
+
[--name]        :: Names may include any alpha-numeric characters '_' and '-', spaces are
+
                            not allowed.
+
[--desc]        :: A description for the object.
+
[--location]    :: Optional description indicating the location of the storage system.
+
</pre>
+
 
+
 
+
=== site-vif-create [svr-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>
+
<--site>        :: A site is a group of appliances in a location.
+
<--parent-port>  :: 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.
+
<--ip-address>  :: IP address of the form x.x.x.x such as 10.0.0.10
+
[--netmask]      :: Subnet IP mask (ex: 255.255.255.0)
+
[--mtu]          :: Maximum transmission unit (MTU) for the target port, commonly set to
+
                            9000 to enable jumbo frames.
+
[--grid-vif]    :: When true, this virtual interface will be the gridIP. The gridIP is used
+
                            for grid master auto election.
+
</pre>
+
 
+
 
+
=== site-vif-delete [svr-delete] ===
+
Deletes the virtual interface site resource and it's associtated configuration information from the cluster configuration.
+
<pre>
+
<--vif-resource> :: A site virtual interface resource.
+
</pre>
+
 
+
 
+
=== site-vif-get [svr-get] ===
+
Returns the details about the specified virtual interface cluster resource in a site.
+
<pre>
+
<--vif-resource> :: A site virtual interface resource.
+
</pre>
+
 
+
 
+
=== site-vif-list [svr-list] ===
+
Returns a list of all the virtual interface site resources.
+
 
+
== Storage Tier Management ==
+
 
+
=== storage-tier-create [st-create] ===
+
Creates a new storage storage tier comprised of the specified storage pools
+
<pre>
+
<--name>        :: Names may include any alpha-numeric characters '_' and '-', spaces are
+
                            not allowed.
+
<--pool-list>    :: List of storage pools.
+
[--desc]        :: A description for the object.
+
[--storage-class] :: The classification/primary use case of the storage such as
+
                            Backup/Archive, High-Performance, or General Purpose.
+
[--storage-type] :: Type of the storage pools included in this tier: SATA, SAS, SSD, SSHD,
+
                            MULTI, Unknown [AOE, MULTI, *SAS, SATA, SSD, SSHD, UNKNOWN]
+
[--perf-level]  :: An estimation of the relative performance of the storage tier as a
+
                            simplified number in the range of 1 to 100.
+
[--flags]        :: Optional flags for the operation. [async]
+
</pre>
+
 
+
 
+
=== storage-tier-delete [st-delete] ===
+
Deletes the specified storage storage tier (pools are not deleted).
+
<pre>
+
<--tier>        :: Storage tier is a group of one or more storage pools used to simplify
+
                            storage provisioning by tier/category/classification.
+
[--flags]        :: Optional flags for the operation. [async, force]
+
</pre>
+
 
+
 
+
=== storage-tier-get [st-get] ===
+
Returns information about a specific storage storage tier.
+
<pre>
+
<--tier>        :: Storage tier is a group of one or more storage pools used to simplify
+
                            storage provisioning by tier/category/classification.
+
</pre>
+
 
+
 
+
=== storage-tier-list [st-list] ===
+
Returns a list of all the storage storage tiers.
+
 
+
=== storage-tier-modify [st-modify] ===
+
Modifies the name, description or other property of the specified storage tier.
+
<pre>
+
<--tier>        :: Storage tier is a group of one or more storage pools used to simplify
+
                            storage provisioning by tier/category/classification.
+
[--name]        :: Names may include any alpha-numeric characters '_' and '-', spaces are
+
                            not allowed.
+
[--desc]        :: A description for the object.
+
[--storage-class] :: The classification/primary use case of the storage such as
+
                            Backup/Archive, High-Performance, or General Purpose.
+
[--storage-type] :: Type of the storage pools included in this tier: SATA, SAS, SSD, SSHD,
+
                            MULTI, Unknown [AOE, MULTI, *SAS, SATA, SSD, SSHD, UNKNOWN]
+
[--perf-level]  :: An estimation of the relative performance of the storage tier as a
+
                            simplified number in the range of 1 to 100.
+
</pre>
+
 
+
 
+
=== storage-tier-pool-add [stp-add] ===
+
Adds one or more pools to the specified storage tier.
+
<pre>
+
<--tier>        :: Storage tier is a group of one or more storage pools used to simplify
+
                            storage provisioning by tier/category/classification.
+
<--pool-list>    :: List of storage pools.
+
</pre>
+
 
+
 
+
=== storage-tier-pool-remove [stp-remove] ===
+
Removes one or more pools from the specified storage tier.
+
<pre>
+
<--tier>        :: Storage tier is a group of one or more storage pools used to simplify
+
                            storage provisioning by tier/category/classification.
+
<--pool-list>    :: List of storage pools.
+
</pre>
+
 
+
 
+
== Software Controller / iSCSI SAN Adapter ==
+
 
+
=== sw-controller-add [swc-add] ===
+
Adds an iSCSI SAN adapter for connecting to the specified iSCSI SAN.
+
<pre>
+
<--ip-address>  :: IP Address of the host being added; if unspecified the service will look
+
                            it up.
+
<--name>        :: Names may include any alpha-numeric characters '_' and '-', spaces are
+
                            not allowed.
+
<--storage-system> :: Name or ID of a storage system in a management grid.
+
[--desc]        :: A description for the object.
+
[--chap-user]    :: An optional iSCSI CHAP username.
+
[--chap-pass]    :: An optional iSCSI CHAP password.
+
</pre>
+
 
+
 
+
=== sw-controller-get [swc-get] ===
+
Gets detailed information about a specific software SAN controller.
+
<pre>
+
<--sw-controller> :: Specifies the name or ID of a software SAN controller instance.
+
</pre>
+
 
+
 
+
=== sw-controller-list [swc-list] ===
+
Returns a list of all the configured software SAN adapter/controllers (iSCSI, etc).
+
 
+
=== sw-controller-remove [swc-remove] ===
+
Removed the specified iSCSI SAN adapter
+
<pre>
+
<--sw-controller> :: Specifies the name or ID of a software SAN controller instance.
+
</pre>
+
 
+
 
+
=== sw-controller-scan [swc-scan] ===
+
Scans the specified iSCSI SAN adapter for iSCSI targets.
+
<pre>
+
<--sw-controller> :: Specifies the name or ID of a software SAN controller instance.
+
</pre>
+
 
+
 
+
=== sw-controller-target [swc-target] ===
+
Returns the specifed software controller target.
+
<pre>
+
<--target>      :: The software controller target to operate against
+
</pre>
+
 
+
 
+
=== sw-controller-target-list [swc-target-list] ===
+
Returns a list of all the discovered software controller targets.
+
 
+
=== sw-controller-target-login [swc-target-login] ===
+
Logs into the specified targets on the specified iSCSI SAN adapter.
+
<pre>
+
<--sw-controller> :: Specifies the name or ID of a software SAN controller instance.
+
<--target-list>  :: The list of targets for the software controller to operate against
+
</pre>
+
 
+
 
+
=== sw-controller-target-logout [swc-target-logout] ===
+
Logs out of the specified targets on the specified iSCSI SAN adapter.
+
<pre>
+
<--sw-controller> :: Specifies the name or ID of a software SAN controller instance.
+
<--target-list>  :: The list of targets for the software controller to operate against
+
</pre>
+
 
+
 
+
=== sw-disk-session [swc-session] ===
+
Returns the specified software disk session.
+
<pre>
+
<--session>      :: The software disk session to operate against
+
</pre>
+
 
+
 
+
=== sw-disk-session-list [swc-session-list] ===
+
Returns a list of all software disk sessions.
+
 
+
== Storage System Replication Link Management ==
+
 
+
=== link-create [sl-create] ===
+
Create a new storage system link so that storage volumes may be replicated between storage systems.
+
<pre>
+
<--storage-system> :: Name or ID of a storage system in a management grid.
+
<--remote-system> :: Name or ID of a storage system in a management grid.
+
<--local-ip>    :: IP Address of the host being added; if unspecified the service will look
+
                            it up.
+
<--remote-ip>    :: IP Address of the host being added; if unspecified the service will look
+
                            it up.
+
[--bw-limit]    :: Limits the replication bandwidth between two storage systems to a set
+
                            level specified in units of kilobytes per second (KB/sec). Specify 0 to
+
                            indicate no limit.
+
[--link-type]    :: Type of storage system link to establish.
+
[--desc]        :: A description for the object.
+
</pre>
+
 
+
 
+
=== link-delete [sl-delete] ===
+
Delete an existing storage system link.
+
<pre>
+
<--link>        :: Storage system link ID or name.
+
</pre>
+
 
+
 
+
=== link-get [sl-get] ===
+
Get information about the storage system link.
+
<pre>
+
<--link>        :: Storage system link ID or name.
+
</pre>
+
 
+
 
+
=== link-list [sl-list] ===
+
List the existing storage system remote replication links.
+
 
+
=== link-modify [sl-modify] ===
+
Modify the properties of the storage system link.
+
<pre>
+
<--link>        :: Storage system link ID or name.
+
<--remote-ip>    :: IP Address of the host being added; if unspecified the service will look
+
                            it up.
+
[--local-ip]    :: IP Address of the host being added; if unspecified the service will look
+
                            it up.
+
[--desc]        :: A description for the object.
+
[--bw-limit]    :: Limits the replication bandwidth between two storage systems to a set
+
                            level specified in units of kilobytes per second (KB/sec). Specify 0 to
+
                            indicate no limit.
+
[--link-type]    :: Type of storage system link to establish.
+
</pre>
+
 
+
 
+
== Storage System Management ==
+
 
+
=== system-get [sys-get] ===
+
Get general information about the storage system.
+
<pre>
+
[--storage-system] :: Name or ID of a storage system in a management grid.
+
</pre>
+
 
+
 
+
=== system-list [sys-list] ===
+
Returns a list of all the managed storage systems. This is always a single system unless the system is a member of a management grid.
+
 
+
=== system-metadata-recovery-point-list [smrp-list] ===
+
Returns a list of all the available system metadata recovery points.  Recovery points allow you to restore system information such as network, host, users, and other system information from a prior automatic backup.
+
<pre>
+
[--storage-system] :: Name or ID of a storage system in a management grid.
+
</pre>
+
 
+
 
+
=== system-modify [sys-modify] ===
+
Modifies the name and/or description of the storage system.
+
<pre>
+
[--storage-system] :: Name or ID of a storage system in a management grid.
+
[--name]        :: Storage system host name may include alpha-numeric characters and hypen
+
                            '-' as per IETF format requirements.
+
[--desc]        :: A description for the object.
+
[--location]    :: Optional description indicating the location of the storage system.
+
[--domain]      :: The domain name suffix for your network such as example.com
+
[--search]      :: The default domain search suffix for your network such as example.com
+
[--arp-filter-mode] :: ARP filtering should be enabled when you have more than one network card
+
                            on the same network. [*auto, disabled, enabled]
+
[--bond-mode]    :: Round-robin balancing is the default mode but if you are using bonding
+
                            across switches you must use LACP and have switch infrastructure that
+
                            supports it. [lacp, *round-robin]
+
[--ext-hostname] :: Specifies the external hostname for the system.  This is useful for
+
                            creating grids of systems in the cloud like in Amazon's EC2.
+
[--grid-port]    :: Designated port for grid communication
+
[--flags]        :: Optional flags for the operation. [async, force, min, *none]
+
</pre>
+
 
+
 
+
=== system-platform-event [sys-pe] ===
+
Signal the service with an event.
+
<pre>
+
<--event-type>  :: The class of event that is being signaled.
+
<--event-message> :: The message/key of the event to signal.
+
</pre>
+
 
+
 
+
=== system-restart [restart] ===
+
Restarts the entire storage system.
+
<pre>
+
[--storage-system] :: Name or ID of a storage system in a management grid.
+
[--flags]        :: Optional flags for the operation. [async, force, min, *none]
+
</pre>
+
 
+
 
+
=== system-shutdown [shutdown] ===
+
Shutdown the storage system.
+
<pre>
+
[--storage-system] :: Name or ID of a storage system in a management grid.
+
[--service-only] :: Shutdown just the management service and not the system.
+
[--flags]        :: Optional flags for the operation. [async, force, min, *none]
+
</pre>
+
 
+
 
+
=== system-upgrade [upgrade] ===
+
Upgrade to the latest version of the core packages.
+
<pre>
+
[--storage-system] :: Name or ID of a storage system in a management grid.
+
[--flags]        :: Optional flags for the operation. [async, force, min, *none]
+
</pre>
+
 
+
 
+
== Network Interface Management ==
+
 
+
=== bonded-interface-create [bond-create] ===
+
Creates a bonded network interface by bonding/teaming together a group of one or more physical network ports.
+
<pre>
+
<--ip-address>  :: IP Address of the host being added; if unspecified the service will look
+
                            it up.
+
<--port-list>    :: List of target ports to be bonded together.
+
[--storage-system] :: Name or ID of a storage system in a management grid.
+
[--netmask]      :: Subnet IP mask (ex: 255.255.255.0)
+
[--gateway]      :: IP address of the network gateway
+
[--mtu]          :: Maximum transmission unit (MTU) for the target port, commonly set to
+
                            9000 to enable jumbo frames.
+
[--desc]        :: A description for the object.
+
[--bond-mode]    :: Round-robin balancing is the default mode but if you are using bonding
+
                            across switches you must use LACP and have switch infrastructure that
+
                            supports it. [lacp, *round-robin]
+
[--flags]        :: Optional flags for the operation. [async, force, min, *none]
+
</pre>
+
 
+
 
+
=== bonded-interface-delete [bond-delete] ===
+
Deletes the specified bonded network interface.
+
<pre>
+
<--port>        :: Name of unique ID of a physical network port/target port.
+
</pre>
+
 
+
 
+
=== fiber-channel-port-disable [fcp-disable] ===
+
Disables the specified fiber channel port.
+
<pre>
+
<--port>        :: Name or MAC address of the target port.
+
[--flags]        :: Optional flags for the operation. [async, force, min, *none]
+
</pre>
+
 
+
 
+
=== fiber-channel-port-enable [fcp-enable] ===
+
Enables the specified fiber channel port.
+
<pre>
+
<--port>        :: Name or MAC address of the target port.
+
[--flags]        :: Optional flags for the operation. [async, force, min, *none]
+
</pre>
+
 
+
 
+
=== fiber-channel-port-get [fcp-get] ===
+
Returns information about the specified fiber channel target port.
+
<pre>
+
<--port>        :: Name or MAC address of the target port.
+
[--flags]        :: Optional flags for the operation. [min]
+
</pre>
+
 
+
 
+
=== fiber-channel-port-list [fcp-list] ===
+
Returns a list of all the fiber channel target ports in the system.
+
 
+
=== infiniband-port-get [ibp-get] ===
+
Returns information about the specified infiniband port.
+
<pre>
+
<--port>        :: Name or MAC address of the target port.
+
[--flags]        :: Optional flags for the operation. [min]
+
</pre>
+
 
+
 
+
=== infiniband-port-list [ibp-list] ===
+
Returns a list of all the infiniband ports in the system.
+
 
+
=== target-port-disable [tp-disable] ===
+
Disables the specified target port.
+
<pre>
+
<--port>        :: Name or MAC address of the target port.
+
[--flags]        :: Optional flags for the operation. [async, force, min, *none]
+
</pre>
+
 
+
 
+
=== target-port-enable [tp-enable] ===
+
Enables the specified target port.
+
<pre>
+
<--port>        :: Name or MAC address of the target port.
+
[--flags]        :: Optional flags for the operation. [async, force, min, *none]
+
</pre>
+
 
+
 
+
=== target-port-get [tp-get] ===
+
Returns information about the specified target port.
+
<pre>
+
<--port>        :: Name or MAC address of the target port.
+
[--flags]        :: Optional flags for the operation. [min]
+
</pre>
+
 
+
 
+
=== target-port-list [tp-list] ===
+
Returns a list of all the target ports in the system.
+
 
+
=== target-port-modify [tp-modify] ===
+
Modifies target port settings including IP address, gateway, mtu, etc.
+
<pre>
+
<--port>        :: Name or MAC address of a target port, or 'all' to modify all ports.
+
[--port-type]    :: Port configuration type. (static, dhcp)
+
[--ip-address]  :: IP Address of the host being added; if unspecified the service will look
+
                            it up.
+
[--netmask]      :: Subnet IP mask (ex: 255.255.255.0)
+
[--gateway]      :: IP address of the network gateway
+
[--mtu]          :: Maximum transmission unit (MTU) for the target port, commonly set to
+
                            9000 to enable jumbo frames.
+
[--iscsi-enable] :: Enables or disables iSCSI access to the specified port(s).
+
[--desc]        :: A description for the object.
+
[--float-list]  :: List of physical ports and/or bonded ports that the virtual interface is
+
                            allowed to float between.  If a physical port goes offline the system
+
                            will automatically float the virtual interface to one of the online
+
                            physical ports in the float list.
+
[--bond-mode]    :: Round-robin balancing is the default mode but if you are using bonding
+
                            across switches you must use LACP and have switch infrastructure that
+
                            supports it. [lacp, *round-robin]
+
[--flags]        :: Optional flags for the operation. [async, force, min, *none]
+
</pre>
+
 
+
 
+
=== target-port-rescan [tp-rescan] ===
+
Discovers new target ports and/or any manual modifications made to the configuration of the target ports.
+
<pre>
+
[--storage-system] :: Name or ID of a storage system in a management grid.
+
[--flags]        :: Optional flags for the operation. [async, force, min, *none]
+
</pre>
+
 
+
 
+
=== target-port-restart [tp-restart] ===
+
Restarts the specified target port.
+
<pre>
+
<--port>        :: Name or MAC address of the target port.
+
[--flags]        :: Optional flags for the operation. [async, force, min, *none]
+
</pre>
+
 
+
 
+
=== virtual-interface-create [vif-create] ===
+
Creates a new virtual network interface which is linked to a physical network port.
+
<pre>
+
<--parent-port>  :: Port that the virtual interface should initially be attached to.
+
<--ip-address>  :: IP Address of the host being added; if unspecified the service will look
+
                            it up.
+
[--storage-system] :: Name or ID of a storage system in a management grid.
+
[--netmask]      :: Subnet IP mask (ex: 255.255.255.0)
+
[--gateway]      :: IP address of the network gateway
+
[--float-list]  :: List of physical ports and/or bonded ports that the virtual interface is
+
                            allowed to float between.  If a physical port goes offline the system
+
                            will automatically float the virtual interface to one of the online
+
                            physical ports in the float list.
+
[--mtu]          :: Maximum transmission unit (MTU) for the target port, commonly set to
+
                            9000 to enable jumbo frames.
+
[--desc]        :: A description for the object.
+
[--flags]        :: Optional flags for the operation. [async, force, min, *none]
+
</pre>
+
 
+
 
+
=== virtual-interface-delete [vif-delete] ===
+
Deletes the specified virtual network interface.
+
<pre>
+
<--port>        :: Name of unique ID of a physical network port/target port.
+
</pre>
+
 
+
 
+
=== virtual-interface-move [vif-move] ===
+
Moves the specified virtual network interface to a different physical network port.
+
<pre>
+
<--vif>          :: Name of unique ID (GUID) for the virtual interface.
+
<--port>        :: Name of unique ID of a physical network port/target port.
+
</pre>
+
 
+
 
+
=== vlan-interface-create [vlan-create] ===
+
Creates a new VLAN interface on the specified physical port.
+
<pre>
+
<--parent-port>  :: Port that the virtual interface should initially be attached to.
+
<--ip-address>  :: IP Address of the host being added; if unspecified the service will look
+
                            it up.
+
<--vlan-id>      :: VLAN ID (typically 1-255)
+
[--storage-system] :: Name or ID of a storage system in a management grid.
+
[--netmask]      :: Subnet IP mask (ex: 255.255.255.0)
+
[--gateway]      :: IP address of the network gateway
+
[--vlan-qos]    :: VLAN Quality of Service (QoS) can be in the range of 0 (lowest, default)
+
                            to 7 (highest) and represents the Class of Service (CoS) user priority of
+
                            the VLAN traffic.
+
[--mtu]          :: Maximum transmission unit (MTU) for the target port, commonly set to
+
                            9000 to enable jumbo frames.
+
[--desc]        :: A description for the object.
+
[--flags]        :: Optional flags for the operation. [async, force, min, *none]
+
</pre>
+
 
+
 
+
=== vlan-interface-delete [vlan-delete] ===
+
Deletes the specified VLAN interface.
+
<pre>
+
<--port>        :: Name of unique ID of a physical network port/target port.
+
</pre>
+
 
+
 
+
== Task Management ==
+
 
+
=== task-cancel [t-cancel] ===
+
Cancels the specified task that is in the queue or is running.
+
<pre>
+
<--task>        :: ID of a task.
+
</pre>
+
 
+
 
+
=== task-clear-all [t-clear-all] ===
+
Clears all the completed and/or failed tasks from the task log so that only the running and queued tasks remain, if any.
+
 
+
=== task-get [t-get] ===
+
Returns information about the specified task.
+
<pre>
+
<--task>        :: ID of a task.
+
</pre>
+
 
+
 
+
=== task-list [t-list] ===
+
Returns a list of all the tasks including active, completed, and failed tasks. Whenever you run a command in QuantaStor it is queued in the task manager and then executed automatically once the necessary resource locks are aquired. This means that you can run commands synchronously and/or asynchronously to run multiple operations concurrently. By default the CLI waits for the task to complete so it blocks by default. You can have the CLI not wait by specifying the --async flag to any operation. In such cases the CLI will return immediately.
+
<pre>
+
[--filtered]    :: Returns just the 100 most recently created.
+
</pre>
+
 
+
 
+
=== task-proceed [t-proceed] ===
+
Some tasks (eg: 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>
+
<--task>        :: ID of a task.
+
[--wait-for-signal] :: 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'.
+
</pre>
+
 
+
 
+
== Trace Level Management ==
+
 
+
=== trace-level-get [tl-get] ===
+
Get the current trace level that is being used for logging.
+
 
+
=== trace-level-modify [tl-modify] ===
+
Modify the current parameters used for logging.
+
<pre>
+
[--trace-level]  :: This is the trace level you would like the system to use for logging.
+
                            [always, critical, debug, debug2, *error, info, verbose, warning]
+
[--stdout]      :: Whether or not the traces should also be logged to stdout
+
[--trace-filter] :: Specific classes that you would like to have elevated trace levels
+
[--trace-options] :: Specific options for tracing
+
                            [enable-cpuinfo,disable-cpuinfo,enable-meminfo,disable-meminfo,enable-call
+
                            log,disable-calllog,enable-eventlog,disable-eventlog]
+
</pre>
+
 
+
 
+
== User Group Management ==
+
 
+
=== tc-commands ===
+
List of commands for tab completion
+
<pre>
+
[--command]      :: Command to show method args for.
+
</pre>
+
 
+
 
+
=== user-group-create [ug-create] ===
+
Creates a new storage user group comprised of the specified users.
+
<pre>
+
<--name>        :: Names may include any alpha-numeric characters '_' and '-', spaces are
+
                            not allowed.
+
<--user-list>    :: A list of one or more users.
+
[--desc]        :: A description for the object.
+
[--flags]        :: Optional flags for the operation. [async]
+
</pre>
+
 
+
 
+
=== user-group-delete [ug-delete] ===
+
Deletes a storage user group, the users are not deleted unless the delete-users flag is set.
+
<pre>
+
<--user-group>  :: A group of one or more users.
+
[--flags]        :: Optional flags for the operation. [async, force]
+
</pre>
+
 
+
 
+
=== user-group-get [ug-get] ===
+
Returns information about a specific storage user group.
+
<pre>
+
<--user-group>  :: A group of one or more users.
+
</pre>
+
 
+
 
+
=== user-group-list [ug-list] ===
+
Returns a list of all the storage user groups.
+
 
+
=== user-group-modify [ug-modify] ===
+
Modifies the name and/or description of a storage user group.
+
<pre>
+
<--user-group>  :: A group of one or more users.
+
[--name]        :: Names may include any alpha-numeric characters '_' and '-', spaces are
+
                            not allowed.
+
[--desc]        :: A description for the object.
+
</pre>
+
 
+
 
+
=== user-group-user-add [ugu-add] ===
+
Adds one or more users to the specified user group.
+
<pre>
+
<--user-group>  :: A group of one or more users.
+
<--user-list>    :: A list of one or more users.
+
</pre>
+
 
+
 
+
=== user-group-user-remove [ugu-remove] ===
+
Removes one or more users from the specified user group
+
<pre>
+
<--user-group>  :: A group of one or more users.
+
<--user-list>    :: A list of one or more users.
+
</pre>
+
 
+
 
+
== User Management ==
+
 
+
=== user-add [u-add] ===
+
Adds a new user account to the system.  A matching console level account is created on all grid nodes but by default SSH access is not allowed. Rather, management accounts do allow the use of qs CLI commands and QuantaStor web management interface access as per the limits of the assigned user role.
+
<pre>
+
<--name>        :: User names may include any alpha-numeric characters '_' and '-', no
+
                            spaces are allowed.
+
<--password>    :: A password for the user to use when accessing the QuantaStor management
+
                            interface.
+
<--role>        :: Name of a security role or its unique ID (GUID).
+
[--first-name]  :: User's first name; enclose in double-quotes if it contains spaces.
+
[--last-name]    :: User's last name; enclose in double-quotes if it contains spaces.
+
[--email]        :: An email address of the form 'user@example.com' without the quotes.
+
[--desc]        :: A description for the object.
+
[--default-chap-user] :: Default CHAP username for storage volumes owned by a user account which
+
                            have the CHAP policy set to 'use user default CHAP settings'
+
[--default-chap-pass] :: Default CHAP password for storage volumes owned by a user account which
+
                            have the CHAP policy set to 'use user default CHAP settings'
+
[--alerts]      :: Alert types to subscribe to. Alerts at the subscribed level are sent to
+
                            the user's email address automatically when a SMTP server is configured.
+
                            [critical, error, info, *none, warning]
+
</pre>
+
 
+
 
+
=== user-get [u-get] ===
+
Gets information about the specified user.
+
<pre>
+
<--user>        :: Name or ID (GUID) of a existing user.
+
</pre>
+
 
+
 
+
=== user-list [u-list] ===
+
Returns a list of all the users.
+
 
+
=== user-modify [u-modify] ===
+
Modifies the specified user name, role, and/or description.
+
<pre>
+
<--user>        :: Name or ID (GUID) of a existing user.
+
[--role]        :: Name of a security role or its unique ID (GUID).
+
[--desc]        :: A description for the object.
+
[--default-chap-user] :: Default CHAP username for storage volumes owned by a user account which
+
                            have the CHAP policy set to 'use user default CHAP settings'
+
[--default-chap-pass] :: Default CHAP password for storage volumes owned by a user account which
+
                            have the CHAP policy set to 'use user default CHAP settings'
+
[--alerts]      :: Alert types to subscribe to. Alerts at the subscribed level are sent to
+
                            the user's email address automatically when a SMTP server is configured.
+
                            [critical, error, info, *none, warning]
+
</pre>
+
 
+
 
+
=== user-password-set [passwd] ===
+
Changes the password for the specified user
+
<pre>
+
<--user>        :: Name or ID (GUID) of a existing user.
+
<--new-password> :: New password for the user.
+
[--old-password] :: Old password for the user.
+
</pre>
+
 
+
 
+
=== user-remove [u-remove] ===
+
Removes the specified user identified by name or ID.
+
<pre>
+
<--user>        :: Name or ID (GUID) of a existing user.
+
</pre>
+
 
+
 
+
== Storage Volume Access Control (LUN Masking) ==
+
 
+
=== volume-assign [va-add] ===
+
Enables access to the specific volume from the specified host.
+
<pre>
+
<--volume>      :: Name of the storage volume or its unique ID (GUID).
+
<--host-list>    :: A list of one or more hosts by name or ID.
+
</pre>
+
 
+
 
+
=== volume-assign-list [va-list] ===
+
Returns a list of all the volume to host assignments, optionally filtered by host or storage volume.
+
<pre>
+
[--volume]      :: Name of the storage volume or its unique ID (GUID).
+
[--host]        :: Name of the host or its unique ID (GUID).
+
</pre>
+
 
+
 
+
=== volume-unassign [va-remove] ===
+
Disables access to the specific volume from the specified host.
+
<pre>
+
<--volume>      :: Name of the storage volume or its unique ID (GUID).
+
<--host-list>    :: A list of one or more hosts by name or ID.
+
</pre>
+
 
+
 
+
=== volume-unassign-all [va-remove-all] ===
+
Disables all access to the specified volume, host, or host group.
+
<pre>
+
<--volume>      :: Name of the storage volume or its unique ID (GUID).
+
</pre>
+
 
+
 
+
== Storage Volume Group Management ==
+
 
+
=== volume-group-clone [vg-clone] ===
+
Creates a complete block by block copy of all volumes in the group.
+
<pre>
+
<--volume-group> :: A group of one or more storage volumes.
+
[--pool]        :: Name of the storage pool or its unique ID (GUID).
+
[--name-suffix]  :: Name for the snapshot/clone; if unspecified the snapshot/clone will use
+
                            the original name with '_snapNN'/'_cloneNN' appended.
+
[--desc]        :: A description for the object.
+
[--access-mode]  :: Access mode for the volume. [none, readonly, *readwrite]
+
[--flags]        :: Optional flags for the operation. [async, force]
+
</pre>
+
 
+
 
+
=== volume-group-create [vg-create] ===
+
Creates a new storage volume group comprised of the specified storage volumes
+
<pre>
+
<--name>        :: Names may include any alpha-numeric characters '_' and '-', spaces are
+
                            not allowed.
+
<--volume-list>  :: A list of one or more storage volumes.
+
[--desc]        :: A description for the object.
+
[--flags]        :: Optional flags for the operation. [async]
+
</pre>
+
 
+
 
+
=== volume-group-delete [vg-delete] ===
+
Deletes a storage volume group, the volumes are not deleted unless the delete-volumes flag is set.
+
<pre>
+
<--volume-group> :: A group of one or more storage volumes.
+
[--destroy-volumes] :: If 'true' all the volumes in the group will be deleted with the volume
+
                            group, default is 'false'.
+
[--flags]        :: Optional flags for the operation. [async, force]
+
</pre>
+
 
+
 
+
=== volume-group-get [vg-get] ===
+
Returns information about a specific storage volume group.
+
<pre>
+
<--volume-group> :: A group of one or more storage volumes.
+
</pre>
+
 
+
 
+
=== volume-group-list [vg-list] ===
+
Returns a list of all the storage volume groups.
+
 
+
=== volume-group-modify [vg-modify] ===
+
Modifies the name and/or description of a storage volume group.
+
<pre>
+
<--volume-group> :: A group of one or more storage volumes.
+
[--name]        :: Names may include any alpha-numeric characters '_' and '-', spaces are
+
                            not allowed.
+
[--desc]        :: A description for the object.
+
</pre>
+
 
+
 
+
=== volume-group-snapshot [vg-snap] ===
+
Creates a space efficient copy of all volumes in the group.
+
<pre>
+
<--volume-group> :: A group of one or more storage volumes.
+
[--name-suffix]  :: Name for the snapshot/clone; if unspecified the snapshot/clone will use
+
                            the original name with '_snapNN'/'_cloneNN' appended.
+
[--desc]        :: A description for the object.
+
[--access-mode]  :: Access mode for the volume. [none, readonly, *readwrite]
+
[--count]        :: The number of snapshots of the specified volume to create, default is 1.
+
[--wait-for-signal] :: 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'.
+
[--flags]        :: Optional flags for the operation. [async, force]
+
</pre>
+
 
+
 
+
=== volume-group-volume-add [vgv-add] ===
+
Adds one or more volumes to the specified volume group.
+
<pre>
+
<--volume-group> :: A group of one or more storage volumes.
+
<--volume-list>  :: A list of one or more storage volumes.
+
</pre>
+
 
+
 
+
=== volume-group-volume-remove [vgv-remove] ===
+
Removes one or more volumes from the specified volume group
+
<pre>
+
<--volume-group> :: A group of one or more storage volumes.
+
<--volume-list>  :: A list of one or more storage volumes.
+
</pre>
+
 
+
 
+
== Storage Volume Management ==
+
 
+
=== volume-clone [v-clone] ===
+
Creates a complete block copy of the source volume.
+
<pre>
+
<--volume>      :: Name of the storage volume or its unique ID (GUID).
+
[--pool]        :: Name of the storage pool or its unique ID (GUID).
+
[--name]        :: Name for the clone, if not provided the source volume name will be used
+
                            as a prefix.
+
[--desc]        :: A description for the object.
+
[--access-mode]  :: Access mode for the volume. [none, readonly, *readwrite]
+
[--flags]        :: Optional flags for the operation. [async, force]
+
</pre>
+
 
+
 
+
=== volume-create [v-create] ===
+
Creates a new storage volume in the specified storage pool.
+
<pre>
+
<--name>        :: Names may include any alpha-numeric characters '_' and '-', spaces are
+
                            not allowed.
+
<--size>        :: Size may be specified in MiB, GiB, or TiB. examples: 4G, 100M, 1.4T
+
<--pool>        :: Name of the storage pool or its unique ID (GUID).
+
[--desc]        :: A description for the object.
+
[--percent-reserved] :: 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)
+
[--access-mode]  :: Access mode for the volume. [none, readonly, *readwrite]
+
[--chap-policy]  :: CHAP setting can be 'target' which is unique to a storage volume, 'user'
+
                            or 'resource-group' which inherits the chap user/pass from your user
+
                            account or tenant resource cloud respectively. [cloud-defaults,
+
                            *disabled, target, user-defaults]
+
[--chap-user]    :: An optional iSCSI CHAP username.
+
[--chap-pass]    :: An optional iSCSI CHAP password.
+
[--count]        :: The number of volumes to create, default is 1.
+
[--blocksize]    :: Volume block size in KB, valid values are 8, 16, 32, 64, 128. Larger
+
                            values deliver higher performance for workloads with high sequential IO.
+
[--qos-policy]  :: 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.
+
[--thin]        :: Thin provision (sparse allocate) the storage volume (deprecated, use
+
                            percent-reserved).
+
[--flags]        :: Optional flags for the operation. [async, force]
+
</pre>
+
 
+
 
+
=== volume-delete [v-delete] ===
+
Deletes a storage volume, *WARNING* any data in the volume will be lost.
+
<pre>
+
<--volume>      :: Name of the storage volume or its unique ID (GUID).
+
[--flags]        :: Optional flags for the operation. [async, force]
+
</pre>
+
 
+
 
+
=== volume-get [v-get] ===
+
Returns information about a specific storage volume.
+
<pre>
+
<--volume>      :: Name of the storage volume or its unique ID (GUID).
+
</pre>
+
 
+
 
+
=== volume-list [v-list] ===
+
Returns a list of all the storage volumes.
+
 
+
=== volume-modify [v-modify] ===
+
Modifies a the name, description or other properties of the storage volume.
+
<pre>
+
<--volume>      :: Name of the storage volume or its unique ID (GUID).
+
[--name]        :: Names may include any alpha-numeric characters '_' and '-', spaces are
+
                            not allowed.
+
[--desc]        :: A description for the object.
+
[--access-mode]  :: Access mode for the volume. [none, readonly, *readwrite]
+
[--flags]        :: Optional flags for the operation. [async]
+
[--chap-policy]  :: CHAP setting can be 'target' which is unique to a storage volume, 'user'
+
                            or 'resource-group' which inherits the chap user/pass from your user
+
                            account or tenant resource cloud respectively. [cloud-defaults,
+
                            *disabled, target, user-defaults]
+
[--chap-user]    :: An optional iSCSI CHAP username.
+
[--chap-pass]    :: An optional iSCSI CHAP password.
+
[--clear-snap-flag] :: Promotes a snapshot volume to standard (non-snapshot) volume.
+
[--enable-wb-cache] :: Enables the write-back cache on the iSCSI target driver, this option
+
                            uses volatile system RAM for cache and is not recommended.
+
[--is-active-checkpoint] :: Tags the checkpoint device so that it cannot be replicated over.  Use
+
                            this for DR failover and this flag is set automatically when a failover
+
                            checkpoint volume has an active iSCSI session.
+
[--sync]        :: 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]
+
[--compression-type] :: Type of compression to be used. (on | off | lzjb | gzip | gzip-[1-9] |
+
                            zle | lz4)
+
[--copies]      :: Indicates the number of copies of each block should be maintained in the
+
                            storage pool.  This is a way of getting duplicates for bit-rot protection
+
                            on a single device.
+
[--qos-policy]  :: 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.
+
[--reserved]    :: Amount of thick-provisioned reserved space for a Storage Volume
+
                            specified in MiB, GiB, or TiB. examples: 4G, 100M, 1.4T
+
</pre>
+
 
+
 
+
=== volume-reassign-schedule [v-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>
+
<--volume>      :: Name of the storage volume or its unique ID (GUID).
+
<--schedule>    :: Name or ID of a replication schedule.
+
[--recursive]    :: Recursively update the GMT snapshots of the specified parent storage
+
                            volume.
+
[--flags]        :: Optional flags for the operation. [async, force]
+
</pre>
+
 
+
 
+
=== volume-resize [v-resize] ===
+
Resizes a storage volume to make it larger, volumes cannot be reduced in size.
+
<pre>
+
<--volume>      :: Name of the storage volume or its unique ID (GUID).
+
<--new-size>    :: New larger size for the volume specified in MiB, GiB, or TiB. examples:
+
                            4G, 100M, 1.4T
+
[--flags]        :: Optional flags for the operation. [async, force]
+
</pre>
+
 
+
 
+
=== volume-restore [v-restore] ===
+
Restores a storage volume to a previous point in time using a 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>
+
<--volume>      :: Name of the storage volume or its unique ID (GUID).
+
<--snapshot>    :: Name or ID of a snapshot volume to use as the restore point.
+
[--flags]        :: Optional flags for the operation. [async, force]
+
</pre>
+
 
+
 
+
=== volume-rollback [v-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>
+
<--volume>      :: Name of the storage volume or its unique ID (GUID).
+
<--snapshot>    :: Name or ID of a snapshot volume to use as the restore point.
+
[--flags]       :: Optional flags for the operation. [async, force]
+
</pre>
+
 
+
 
+
=== volume-set-qos [v-qos] ===
+
Sets quality of service (QoS) performance maximums for IOPS and bandwidth for the specified storage volume.
+
<pre>
+
<--volume>      :: Name of the storage volume or its unique ID (GUID).
+
[--iops-read]    :: Sets the maximum number of 4K read IOPS (I/O per second) as a Quality of
+
                            Service (QoS) control on the storage volume.
+
[--iops-write]  :: Sets the maximum number of 4K write IOPS (I/O per second) as a Quality
+
                            of Service (QoS) control on the storage volume.
+
[--bw-read]      :: Sets the maximum read bandwidth (eg: 100MB) per second as a Quality of
+
                            Service (QoS) control on the storage volume, 0 (default) indicates
+
                            unlimited.
+
[--bw-write]    :: Sets the maximum write bandwidth (eg: 100MB) per second as a Quality of
+
                            Service (QoS) control on the storage volume, 0 (default) indicates
+
                            unlimited.
+
[--qos-policy]  :: 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.
+
[--flags]        :: Optional flags for the operation. [async, force]
+
</pre>
+
 
+
 
+
=== volume-snapshot [v-snap] ===
+
Creates a space efficient copy of the source volume.
+
<pre>
+
<--volume>      :: Name of the storage volume or its unique ID (GUID).
+
[--name]        :: Name for the snapshot, if not provided the source volume name will be
+
                            used as a prefix.
+
[--desc]        :: A description for the object.
+
[--access-mode]  :: Access mode for the volume. [none, readonly, *readwrite]
+
[--count]        :: The number of snapshots of the specified volume to create, default is 1.
+
[--lazy-clone]  :: 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.
+
[--wait-for-signal] :: 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'.
+
[--flags]        :: Optional flags for the operation. [async, force]
+
</pre>
+
 
+
 
+
=== volume-utilization-get [vu-get] ===
+
Returns a specific volume utilization metrics for a single volume and specific date.
+
<pre>
+
<--entry>        :: Specifies the GUID or the name of a volume utilization entry in the form
+
                            of 'VOLUMENAME:TIMESTAMP'
+
</pre>
+
 
+
 
+
=== volume-utilization-list [vu-list] ===
+
Returns volume utilization information for a specific storage volume or all storage volumes if no volume is specified.
+
<pre>
+
[--volume]      :: Name of the storage volume or its unique ID (GUID).
+
[--offset-days]  :: Offset N many days back before pulling the utilization metrics.
+
[--num-days]    :: Number of days of utilization metrics to pull.
+
</pre>
+

Revision as of 18:00, 24 July 2017

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

How to use the CLI

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

Authentication

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

Authentication via --server Argument

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

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

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

Authentication via QS_SERVER Environment Variable

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

export QS_SERVER=ipaddress[,username,password]]

Examples:

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

Authentication via .qs.cnf Configuration File

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

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

Usage

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

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

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

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

Output Modes

XML Output Mode

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

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

Minimal Output Mode

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

Interactive Mode

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

qs i

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

Built-in CLI Help

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

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

    qs help command=CMD-NAME

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

    qs help command=pool-create

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

    qs help category=pool

Or to see all list or get commands:

    qs help category=list
    qs help category=get

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

Remote System Specification

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

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

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

Command Error Code Definitions

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

Usage Examples

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

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

Help Commands

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


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

CLI Overview

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

CLI Command Reference Versions

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

QuantaStor CLI Command Reference v4.3

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

QuantaStor CLI Command Reference v4.2

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

QuantaStor CLI Command Reference v4.1 and earlier