LSMCLI_URI
The URI for the storage array in question.
Libstoragemgmt command line interface
lsmcli [options] ...
[command] ...
[command
options] ...
lsmcli is the command line tool for the libStorageMgmt library. This tool allows users to do one off storage related management operations or to script management of their storage.
--versionshow program's version number and exit
-h, --helpshow this help message and exit
-u URI, --uri=URIuniform resource identifier (env LSMCLI_URI)
-P, --promptprompt for password (env LSMCLI_PASSWORD)
-H, --humanprint sizes in human readable format (e.g., MiB, GiB, TiB)
-t SEP, --terse=SEPprint output in terse form with "SEP" as a record separator
-e, --enumdisplay enumerated types as numbers instead of text
-f, --forcebypass confirmation prompt for data loss operations
-w WAIT, --wait=WAITcommand timeout value in ms (default = 30s)
--headerinclude the header with terse
-brun the command asynchronously instead of waiting for completion. lsmcli command will exit with exit code(7) and job id will be written to stdout when a command is still executing on the storage array. Use --job-status <job id> to inquire on the progress of the command.
LSMCLI_URI
The URI for the storage array in question.
LSMCLI_PASSWORD
The password to use for the array.
-l <type>, --list=<type>
[VOLUMES|INITIATORS|POOLS|FS|SNAPSHOTS|EXPORTS
|NFS_CLIENT_AUTH|ACCESS_GROUPS|SYSTEMS]
--fs <fs id>--capabilities=<system id>Retrieves array capabilities
--plugin-info
Retrieves plugin description and version
--delete-fs=<fs id>Delete a filesystem
--delete-access-group=<group id>Deletes an access group
--access-group-add=<access group id>Adds an initiator to an access group, requires:
--id <initiator id
--type <initiator type>
--access-group-remove=<access group id>Removes an initiator from an access group, requires:
--id <initiator id>
--create-volume=<volume name>Creates a volume (logical unit) requires:
--size <volume size>
--pool <pool id>
--provisioning (optional) [DEFAULT|THIN|FULL]
--create-fs=<fs name>Creates a file system requires:
--size <fs size>
--pool <pool id>
--create-ss=<snapshot name>Creates a snapshot requires:
--file <repeat for each file> (default is all files)
--fs <file system id>
--create-access-group=<Access group name>Creates an access group, requires:
--id <initiator id>
--type [WWPN|WWNN|ISCSI|HOSTNAME]
--system <system id>
--access-group-volumes=<access group id>Lists the volumes that the access group has been granted access to
--volume-access-group=<volume id>Lists the access group(s) that have access to volume
--volumes-accessible-initiator=<initiator id>Lists the volumes that are accessible by the initiator
--initiators-granted-volume=<volume id>Lists the initiators that have been granted access to specified volume
--restore-ss=<snapshot id>Restores a FS or specified files to previous snapshot state, requires:
--fs <file system>
--file <repeat for each file (optional)>
--fileas <restore file name (optional)>
--all (optional, exclusive option, restores all files in snapshot other options must be absent)
--clone-fs=<source file system id>Creates a file system clone requires:
--name <file system clone name>
--backing-snapshot <backing snapshot id> (optional)
--clone-file=<file system>Creates a clone of a file (thin provisioned) requires:
--src <source file to clone (relative path)>
--dest <destination file (relative path)>
--backing-snapshot <backing snapshot id> (optional)
--delete-volume=<volume id>Deletes a volume given its id
--delete-ss=<snapshot id>Deletes a snapshot requires --fs
-r <volume id>, --replicate-volume=<volume id>replicates a volume, requires:
--type [SNAPSHOT|CLONE|COPY|MIRROR_ASYNC|MIRROR_SYNC]
--name <human name>
Optional:
--pool <pool id> (Plugin choice if absent)
--replicate-volume-range-block-size=<system id>size of each replicated block in bytes
--replicate-volume-range=<volume id>Replicates a portion of a volume, requires:
--type [SNAPSHOT|CLONE|COPY|MIRROR]
--dest <destination volume>
--src_start <source block start number>
--dest_start <destination block start>
--count <number of blocks to replicate>
--iscsi-chap=<initiator id>configures ISCSI inbound/outbound CHAP authentication
Optional:
--in-user <inbound CHAP user name>
--in-password <inbound CHAP password>
--out-user <outbound CHAP user name>
--out-password <inbound CHAP user password
--access-grant=<initiator id>Grants access to an initiator to a volume requires:
--type <initiator id type>
--volume <volume id>
--access [RO|RW], read-only or read-write
--access-grant-group=<access group id>Grants access to an access group to a volume requires:
--volume <volume id>
--access [RO|RW], read-only or read-write
--access-revoke=<initiator id>Removes access for an initiator to a volume requires:
--volume <volume id>
--access-revoke-group=<access group id>Removes access for access group to a volume requires:
--volume <volume id>
--resize-volume=<volume id>Re-sizes a volume, requires:
--size <new size>
--resize-fs=<fs id>Re-sizes a file system, requires:
--size <new size>
--nfs-export-remove=<nfs export id>Removes a nfs export
--nfs-export-fs=<file system id>creates a nfs export
Optional:
--exportpath e.g. /foo/bar.
Note: root, ro, rw are to be repeated for each host
--root <no_root_squash host>
--ro <read only host>
--rw <read/write host>
--anonuid <uid to map to anonymous>
--anongid <gid to map to anonymous>
--auth-type <NFS client authentication type>
--job-status=<job status id>retrieve information about job
--volume-dependants=<volume id>Returns True if volume has a dependant child
--volume-dependants-rm=<volume id>Removes dependencies
--fs-dependants=<fs id>Returns true if a child dependency exists.
--file <file> for File check (optional)
--fs-dependants-rm=<fs id>Removes dependencies
--file <file> for File check (optional)
--size=size
size (Can use B, K, M, G, T, P postfix, IEC sizing) No postfix indicates bytes
--pool=pool idpool ID
--provisioning=PROVISIONING
[DEFAULT|THIN|FULL]
--type=type
type specifier
--name=name
human readable name
--volume=volume
volume ID
--access=access
[RO|RW], read-only or read-write access
|
initiator id |
|---|---|
|
system id |
|
backing snap shot name for operation |
|
source of operation |
|
destination of operation |
--file=<file>
file to include in operation, option can be repeated
--fileas=<fileas>
file to be renamed as, option can be repeated
|
file system of interest |
|---|---|
|
desired export path on array |
--root=<no_root_squash_host>
list of hosts with no_root_squash
|
list of hosts with read/only access |
|---|---|
|
list of hosts with read/write access |
|
uid to map to anonymous |
|
gid to map to anonymous |
--authtype=<type>
NFS client authentication type
--all
specify all in an operation
|
source block address to replicate |
|---|---|
|
destination block address to replicate |
|
number of blocks to replicate |
--in-user=<username>
CHAP inbound user name
--in-password=<password>
CHAP inbound password
--out-user=<out_user>
CHAP outbound user name
--out-password=<out_password>
CHAP outbound password
~/.lsmcli
lsmcli configuration file, containing name-value pairs separated by '='. The only currently supported configuration option is 'uri', such as 'uri=ontap://[email protected]'.
Configuration options in .lsmcli are only used if not overridden by command-line option or environment variable.