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.
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:
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:
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:
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.
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.
CLI 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.
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').
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.
Alert Management [ALERT]
alert-clear
Deletes the alert with the specified ID.
qs alert-clear|a-clear --id=value
id
Unique identifier (GUID) for the object.
alert-clear-all
Clears all the alerts.
qs alert-clear-all|a-clear-all
alert-config-get
Alert configuration settings indicate where alert notifications should be sent.
qs alert-config-get|ac-get
alert-config-set
Sets the alert configuration settings such as the administrator email address, SMTP server address, etc. Be sure to use the alert-raise command to generate a test alert after you modify the alert configuration settings to ensure that emails are being properly sent.
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 indicates 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.
alert-get
Gets information about a specific alert.
qs alert-get|a-get --id=value
id
Unique identifier (GUID) for the object.
alert-list
Returns a list of all the alerts from all systems in the grid. Adjust the settings for the 'admin' or custom user account(s) to indicate alerts to be sent out via email call-home mechanism.
qs alert-list|a-list [--filtered=value ]
filtered
Returns just the 'value' most recently created.
alert-raise
Allows one to raise a user generated alert for testing the SMTP server configuration settings.
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]
backup-to-root
Indicates that the backups should go into the root folder of the Network Share.
maintain-logs
Maintain logs of all the files that were backed up in the /var/log/backup-log folder within the appliance.
start-date
Start date at which the system will begin using a given schedule.
enabled
Set to enabled to activate the backup policy.
backup-policy-delete
Deletes the specified backup policy.
qs backup-policy-delete|bp-delete --policy=value
policy
A backup policy name or ID which is associated with a network share to do ingest backups.
backup-policy-disable
Disables the specified backup policy so job are not automatically run.
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]
maintain-logs
Maintain logs of all the files that were backed up in the /var/log/backup-log folder within the appliance.
start-date
Start date at which the system will begin using a given schedule.
enabled
Set to enabled to activate the backup policy.
backup-policy-trigger
Triggers the specified backup policy which in turn starts a backup job.
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]
ceph-journal-delete
Deletes the specified Ceph Journal and all journal partitions on the given physical disk, if a physical disk is specified. Note: This call will fail if there are one or more Journals still being used by OSDs in the system.
Names may include any alpha-numeric plus '_' and '-' characters; spaces are not allowed.
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.
volume-list
A list of one or more storage volumes.
start-date
Start date at which the system will begin using a given schedule.
enabled
While the schedule is enabled snapshots will be taken at the designated times.
desc
A description for the object.
max-backups
Maximum number of backups to do of a given volume in a given backup schedule before the oldest backup is removed.
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]
A cloud backup schedule periodically does a backup of a specified set of volumes into the cloud.
name
Names may include any alpha-numeric plus '_' and '-' characters; spaces are not allowed.
start-date
Start date at which the system will begin using a given schedule.
enabled
While the schedule is enabled snapshots will be taken at the designated times.
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.
max-backups
Maximum number of backups to do of a given volume in a given backup schedule before the oldest backup is removed.
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]
cloud-backup-schedule-trigger
Immediately triggers the specified cloud backup schedule to start a backup.
Names may include any alpha-numeric plus '_' and '-' characters; spaces are not allowed.
desc
A description for the object.
pool-list
List of one or more storage pools.
replica-count
Number of replica 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]
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).
ha-interface-delete
Deletes the specified virtual network interface resource from the HA group
IP addresses of hosts that should be pinged to verify connectivity. If there's no connectivity a preemptive failover is attempted.
storage-system
Name or ID of a storage system in a management grid.
HOST Host Management
host-add
Modifies a host entry. The username/password fields are optional and are not yet leveraged by the QuantaStor system. Later this may be used to provide additional levels of integration such as automatic host side configuration of your iSCSI initiator.
IQN (iSCSI Qualified Name) of the host's iSCSI initiator
host-list
Returns a list of all the hosts that you have added to the QuantaStor system. Host groups allow you to assign storage to multiple host all at once. This is especially useful when you have a VMware or Windows cluster as you can assign and unassign storage to all nodes in the cluster in one operation.
qs host-list|h-list
host-modify
Modifies a host entry which contains a list of WWN/IQN or IB GIDs for a given host.
Returns a list of all the hardware controller groups.
qs hw-controller-group-list|hwcg-list
hw-controller-import-units
Scan and import foreign disks associated with RAID groups that were attached to another RAID controller or that require re-importing to the local appliance.
Duration in seconds to repeat the disk identification pattern.
hw-disk-list
Returns a list of all the disks managed by the specified hardware controller.
qs hw-disk-list|hwd-list [--controller=value ]
controller
Name or ID of a hardware RAID controller.
hw-disk-mark-good
Marks the specified disk as 'good' or 'ready'. You can use this to correct the disk status for good disks that the controller has in 'bad' or 'failed' state.
qs hw-disk-mark-good|hwd-mark-good --disk=value
disk
Specifies a physical disk connected to a hardware RAID controller.
hw-disk-mark-spare
Marks the specified disk as a universal hot spare within the group of RAID units managed by the controller in which the disk is attached.
qs hw-disk-mark-spare|hwd-mark-spare --disk=value
disk
Specifies a physical disk connected to a hardware RAID controller.
hw-enclosure-get
Returns information about a specific enclosure managed by the specified hardware RAID controller.
qs hw-enclosure-get|hwe-get --enclosure=value
enclosure
Name of a hardware RAID enclosure or it unique ID.
hw-enclosure-list
Returns a list of all the enclosures managed by the specified hardware RAID controller.
Activation key you'll receive from customer support after you send the activation request code.
license-activate-online
Requests automatic activation via the online activation service.
qs license-activate-online|lic-aon [--key=value ]
key
Unique license key identifier, use license-list to get a list of these.
license-add
Adds a license key using a license key block specified in a key file. In general, you have 7 days to activate your license using online activation of activation via email. If you do not activate after the 7 days the system will continue to run but you will not be able to make configuration changes.
Names may include any alpha-numeric plus '_' and '-' characters; 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.
encrypt
Enables encryption on all devices in the storage pool. Encryption can only be enabled at the time of pool creation.
encryption-type
Sets the encryption algorithm, currently only the default aes256 is supported. [aes256, *default]
passphrase
Locks up the storage keys into an encrypted file after the pool has been created. After this the passphrase must be provided to start the storage pool. If no storage pool is provided then the pool is started automatically at system startup time.
flags
Optional flags for the operation. [async]
pool-destroy
Deletes a storage pool, *WARNING* any data in the pool will be lost.
Names may include any alpha-numeric plus '_' and '-' characters; 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]
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]
pool-preimport-scan
Returns a list of pools that are available to import but that are not yet discovered.
Name or ID of a storage system in a management grid.
flags
Optional flags for the operation. [min]
pool-profile-get
Gets information about a specific storage pool profile.
qs pool-profile-get|pp-get --profile=value
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.
pool-profile-list
Returns a list of all the storage pool profiles.
qs pool-profile-list|pp-list
pool-remove-spare
Removes the specified hotspare from the specified pool.
Name or ID of a storage system in a management grid.
flags
Optional flags for the operation. [async]
pool-scrub-start
Starts a scrub/verify operation on a ZFS-based storage pool (verifies data integrity and prevents bit-rot).See 'zpoolscrub' command for additional control. For example, 'zpoolscrub --cron' will setup an automatic monthly scrub.
If the Storage Pool was created with an encryption passphrase then it must be specified in order to temporarily unlock the keys and start the Storage Pool.
flags
Optional flags for the operation. [async]
pool-stop
Stops all volume activity to the pool and disables it for maintenance.
qs pool-stop|p-stop --pool=value [--flags=value ]
pool
Name of the storage pool or its unique ID (GUID).
flags
Optional flags for the operation. [async]
QOSPOLICY QoS Policy Management
qos-policy-create
Creates a new Quality-of-Service (QoS) policy template, which can apply performance limits to storage volumes.
Names may include any alpha-numeric plus '_' and '-' characters; spaces are not allowed.
bw-read
Sets the maximum read bandwidth (e.g., 100MB) per second as a Quality of Service (QoS) control on the storage volume, 0 (default) indicates unlimited.
bw-write
Sets the maximum write bandwidth (e.g., 100MB) per second as a Quality of Service (QoS) control on the storage volume, 0 (default) indicates unlimited.
desc
A description for the object.
flags
Optional flags for the operation. [async]
qos-policy-delete
Deletes a given QoS Policy and clears the QoS performance limits on all Storage Volumes associated with the policy.
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]
qos-policy-get
Returns detailed information about a specific QoS policy.
qs qos-policy-get|qos-get --qos-policy=value
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.
qos-policy-list
Returns details on the list of all QoS policy objects in the storage system grid.
qs qos-policy-list|qos-list
qos-policy-modify
Modifies an existing QoS policy with a new name, description, or performance limits. Changes are applied immediately to all volumes.
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 plus '_' and '-' characters; spaces are not allowed.
desc
A description for the object.
bw-read
Sets the maximum read bandwidth (e.g., 100MB) per second as a Quality of Service (QoS) control on the storage volume, 0 (default) indicates unlimited.
bw-write
Sets the maximum write bandwidth (e.g., 100MB) per second as a Quality of Service (QoS) control on the storage volume, 0 (default) indicates unlimited.
flags
Optional flags for the operation. [async]
QUOTA Resource Group Quota Management
provisioning-quota-create
Creates a new storage provisioning quota on a pool for the specified tenant resource cloud.
Names may include any alpha-numeric plus '_' and '-' characters; 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 using 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]
replication-schedule-delete
Deletes a replication schedule, snapshots associated with the schedule are not removed.
Names may include any alpha-numeric plus '_' and '-' characters; spaces are not allowed.
start-date
Start date at which the system will begin using 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]
replication-schedule-remove
Removes one or more volumes/shares from the specified schedule.
Resource failure domains identify physical equipment, sites, racks so that data can be dispersed in such a way as to ensure fault-tolerance and high availability across sites and racks.
Names may include any alpha-numeric plus '_' and '-' characters; 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 using 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]
snap-schedule-delete
Deletes a snapshot schedule, snapshots associated with the schedule are not removed.
Name of a snapshot schedule or its unique ID (GUID).
name
Names may include any alpha-numeric plus '_' and '-' characters; spaces are not allowed.
start-date
Start date at which the system will begin using 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]
snap-schedule-remove
Removes one or more volumes/shares from the specified schedule.
Names may include any alpha-numeric plus '_' and '-' characters; 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,~DOMAIN+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).
space-quota-exclude-snapshots
If specified there is no limit on the space utilized by snapshots of the parent 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
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.
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--
Names may include any alpha-numeric plus '_' and '-' characters; 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).
space-quota-exclude-snapshots
If specified there is no limit on the space utilized by snapshots of the parent 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
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,~DOMAIN+user7,~user33', prepend with tilde (~) to remove fields/properties.
group-access-list
List of groups with permission to access the network share for example 'DOMAIN+group1:valid,~DOMAIN+group2' prepend with tilde (~) to remove access for specific users or groups.
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]
share-restore
Restores the specified network share with the contents of the specified snapshot.
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.
Names may include any alpha-numeric plus '_' and '-' characters; 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]
SITE Site Resource Management
cluster-ring-create
Creates a new cluster ring configuration for the specified site. Sites can have multiple rings to improve resiliency of the cluster in the event of a network loss on a specific port or network interface.
A cluster ring is a communication channel for heartbeat communication and cluster resource management communication activities. Ideal site configurations have two independent rings each on separate networks. For example, a site configuration may have a cluster ring 0 on 10.0.x.x/16 and ring 1 on 10.1.x.x/16
cluster-ring-get
Returns the details about a specific cluster ring. A ring represents a communication channel for cluster heartbeat communication. Ideal cluster configurations have two rings.
qs cluster-ring-get|cr-get --cluster-ring=value
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
cluster-ring-list
Returns a list of the cluster ring configurations.
qs cluster-ring-list|cr-list
cluster-ring-member-get
Returns information about the specified cluster ring member.
A site association is a link between a system and a site.
site-cluster-assoc-list
Returns a list of all the configured site association.
qs site-cluster-assoc-list|sca-list
site-cluster-create
A site represents a group of appliances at a particular location. That location can span buildings but typically represents systems in close proximity to each other.
Names may include any alpha-numeric plus '_' and '-' characters; spaces are not allowed.
desc
A description for the object.
location
Optional description indicating the location of the storage system.
site-vif-create
Creates a new virtual interface for the site. Site virtual interfaces automatically float between appliances/systems to ensure availability of a management IP for a given site.
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.
site-vif-delete
Deletes the virtual interface site resource and it's associated configuration information from the cluster configuration.
An email address of the form 'user@example.com' without the quotes.
s3-access-key
The access key for accessing your ceph Object store using S3 Interface.(Default: , generated if not specified.)
s3-secret-key
The secret key for accessing your ceph Object store using S3 Interface.(Default: , generated if not specified.)
swift-secret-key
The secret key for accessing your ceph Object store using Swift Interface. (Default: , generated if not specified.)
user
Name or ID (GUID) of a existing user.
flags
Optional flags for the operation. [async, force, min, *none]
SYSTEM Storage System Management
system-get
Get general information about the storage system.
qs system-get|sys-get [--storage-system=value ]
storage-system
Name or ID of a storage system in a management grid.
system-list
Returns a list of all the managed storage systems. This is always a single system unless the system is a member of a management grid.
qs system-list|sys-list
system-metadata-recovery-point-list
Returns a list of all the available system metadata recovery points. Recovery points allow you to restore system information such as network, host, users, and other system information from a prior automatic backup.
Name or ID of a storage system in a management grid.
name
Storage system host name may include any alpha-numeric and hyphen '-' characters 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
ntp-servers
Comma delimited list of NTP servers to assign to the appliance.
dns-servers
Comma delimited list of DNS servers to assign to the appliance.
flags
Optional flags for the operation. [async, force, min, *none]
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.
link-delete
Delete an existing storage system link.
qs link-delete|sl-delete --link=value
link
Storage system link ID or name.
link-get
Get information about the storage system link.
qs link-get|sl-get --link=value
link
Storage system link ID or name.
link-list
List the existing storage system remote replication links.
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.
TAG Tag/Object Property Management
tag-get
Returns information on a specific tag on a specific object.
qs tag-get|prop-get --object-id=value --tag=value
object-id
UUID of the object to associate the tag with.
tag
Name of the tag/key for the object property. Tags are used to add custom user metadata to objects which is especially important for multi-tenant environments.
tag-list
Lists all the tags for the object with the specified object UUID.
qs tag-list|prop-list --object-id=value
object-id
UUID of the object to associate the tag with.
tag-set
Adds a new tag/property to the specified object, use a value of hyphen '-' to clear a previously set value.
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]
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).
object-gateway-enable
Enables/disables access to the port via S3/SWIFT for object storage deployments. WARNING, turning on object storage access will block management access to the web UI for that IP address!
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]
target-port-rescan
Discovers new target ports and/or any manual modifications made to the configuration of the target ports.
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]
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]
vlan-interface-delete
Deletes the specified VLAN interface.
qs vlan-interface-delete|vlan-delete --port=value
port
Name of unique ID of a physical network port/target port.
TASK Task Management
task-cancel
Cancels the specified task that is in the queue or is running.
qs task-cancel|t-cancel --task=value
task
ID of a task.
task-clear-all
Clears all the completed and/or failed tasks from the task log so that only the running and queued tasks (if any) remain.
qs task-clear-all|t-clear-all
task-get
Returns information about the specified task.
qs task-get|t-get --task=value
task
ID of a task.
task-list
Returns a list of all the tasks including active, completed, and failed tasks. Whenever you run a command in QuantaStor it is queued in the task manager and then executed automatically once the necessary resource locks are acquired. This means that you can run commands synchronously and/or asynchronously to run multiple operations concurrently. By default the CLI waits for the task to complete so it blocks by default. You can have the CLI not wait by specifying the 'async' flag to any operation. In such cases the CLI will return immediately.
qs task-list|t-list [--filtered=value ]
filtered
Returns just the 'value' most recently created.
task-proceed
Some tasks (e.g., volume-snapshot) can wait for a signal part-way through the task before proceeding. In the case of volume snapshot tasks this can be used to shorten the snapshot quiesce window.
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'.
TRACE-LEVEL Trace Level Management
trace-level-get
Get the current trace level that is being used for logging.
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-calllog,disable-calllog,enable-eventlog,disable-eventlog]
USER User Management
user-add
Adds a new user account to the system. A matching console level account is created on all grid nodes but by default SSH access is not allowed. Rather, management accounts do allow the use of qs CLI commands and QuantaStor web management interface access as per the limits of the assigned user role.
User names may include any alpha-numeric plus '_' and '-' characters; spaces are not 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]
user-get
Gets information about the specified user.
qs user-get|u-get --user=value
user
Name or ID (GUID) of a existing user.
user-list
Returns a list of all the users.
qs user-list|u-list
user-modify
Modifies the specified user name, role, and/or description.
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'
lock-account
Lock/disable the user account.
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]
Names may include any alpha-numeric plus '_' and '-' characters; 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]
volume-delete
Deletes a storage volume, *WARNING* any data in the volume will be lost.
Name of the storage volume or its unique ID (GUID).
name
Names may include any alpha-numeric plus '_' and '-' characters; 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
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
volume-reassign-schedule
Reassigns the created by ownership for a volume and optionally it's GMT snapshots to a new replication schedule so that they can be automatically cleaned up by the new schedule.
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]
volume-restore
Restores a storage volume to a previous point in time using a previously created snapshot. The volume restore process uses a full copy technique which is much slower than the Volume Rollback operation but works with any point-in-time snapshot.
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]
volume-rollback
Does an instant rollback of a storage volume to a previous point-in-time using the most recently created snapshot volume. Rollback only works with the most recently created snapshot. To rollback using an earlier snapshot, all snapshots that were created after the snapshot to be used for rollback must be deleted. For example, volume V1 with snapshots Vt1, Vt2, Vt3 only Vt3 can be used for rollback. To use Vt1 for rollback Vt2 and Vt3 must be deleted first.
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 (e.g., 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 (e.g., 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]
volume-snapshot
Creates a space efficient copy of the source 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]
volume-utilization-get
Returns a specific volume utilization metrics for a single volume and specific date.
qs volume-utilization-get|vu-get --entry=value
entry
Specifies the GUID or the name of a volume utilization entry in the form of 'VOLUMENAME:TIMESTAMP'
volume-utilization-list
Returns volume utilization information for a specific storage volume or all storage volumes if no volume is specified.
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]
volume-group-volume-add
Adds one or more volumes to the specified volume group.