Infinishell Commands Reference

Download as pdf or txt
Download as pdf or txt
You are on page 1of 212

 

  

INFINISHELL COMMANDS
REFERENCE 5.5.10 

LAST UPDATED: 10/20/2020
INFINISHELL COMMANDS REFERENCE 5.5.10 

Table of Contents
1 Overview_____________________________________________________________5
1.1 Accessing the InfiniShell Console............................................................................................... 5
1.2 Getting help on commands ........................................................................................................ 5
1.3 Installation prerequisites ........................................................................................................... 6
1.4 Command auto-completion....................................................................................................... 6
1.5 InfiniShell Query Options............................................................................................................ 8
2 General Commands ___________________________________________________11
2.1 exit ............................................................................................................................................. 11
2.2 help  ........................................................................................................................................... 11
2.3 history  ....................................................................................................................................... 13
2.4 login  .......................................................................................................................................... 14
2.5 quit  ............................................................................................................................................ 15
3 Provisioning Commands _______________________________________________16
3.1 Pool commands ........................................................................................................................ 16
3.2 Volume commands ................................................................................................................... 25
3.3 Volume Snapshot commands .................................................................................................. 37
3.4 Filesystem commands .............................................................................................................. 46
3.5 Filesystem Snapshot commands ............................................................................................. 56
3.6 Filesystem Export commands .................................................................................................. 63
3.7 Filesystem Export Permission commands............................................................................... 68
3.8 Consistency Group commands ................................................................................................ 70
3.9 Snapshot Group commands..................................................................................................... 77
3.10 Host commands ........................................................................................................................ 81
3.11 Cluster commands .................................................................................................................... 90
3.12 Map commands......................................................................................................................... 94
3.13 Event commands ...................................................................................................................... 95
3.14 Event Rule commands ............................................................................................................ 100
3.15 Metadata commands .............................................................................................................. 103
3.16 System commands.................................................................................................................. 105

 2
INFINISHELL COMMANDS REFERENCE 5.5.10 

3.17 System Service commands .................................................................................................... 108


3.18 Replica commands.................................................................................................................. 108
3.19 Replica Advanced commands ................................................................................................ 118
3.20 Links commands ..................................................................................................................... 120
3.21 Node commands..................................................................................................................... 124
3.22 Node Drive commands ........................................................................................................... 125
3.23 Drive commands ..................................................................................................................... 125
3.24 Enclosure commands ............................................................................................................. 126
3.25 User commands ...................................................................................................................... 127
3.26 User Group commands ........................................................................................................... 131
3.27 Config System commands...................................................................................................... 134
3.28 Config System Time commands............................................................................................. 138
3.29 Config FC Port commands ...................................................................................................... 139
3.30 Config FC Switch commands.................................................................................................. 141
3.31 Config Cache commands ........................................................................................................ 142
3.32 Config Notification SMTP commands .................................................................................... 142
3.33 Config Notifications SNMP commands .................................................................................. 144
3.34 Config Notifications Syslog commands ................................................................................. 148
3.35 Config LDAP commands ......................................................................................................... 151
3.36 Config Ethernet Port commands............................................................................................ 156
3.37 Config Ethernet Interface commands.................................................................................... 157
3.38 Network Space commands .................................................................................................... 161
3.39 Network Space IP Address commands .................................................................................. 170
3.40 Filesystem Metrics commands ............................................................................................... 172
3.41 Replica Metrics commands..................................................................................................... 181
3.42 Volume Metrics commands .................................................................................................... 183
3.43 HTTPS/SSL Management commands .................................................................................... 193
3.44 QoS commands ....................................................................................................................... 196
3.45 Filesystem TreeQ commands ................................................................................................. 202
3.46 Filesystem NLM commands.................................................................................................... 205
3.47 Mobility commands ................................................................................................................ 207

 3
INFINISHELL COMMANDS REFERENCE 5.5.10 

3.48 KMS commands....................................................................................................................... 207


4 Special Commands __________________________________________________208
4.1 %clear  ..................................................................................................................................... 208
4.2 %count .................................................................................................................................... 208
4.3 %csv  ........................................................................................................................................ 209
4.4 %debug ................................................................................................................................... 209
4.5 %json  ...................................................................................................................................... 210
4.6 %logstart  ................................................................................................................................ 210
4.7 %logstate ................................................................................................................................ 211
4.8 %logstop ................................................................................................................................. 211
4.9 %raw  ....................................................................................................................................... 211
4.10 %user  ...................................................................................................................................... 212
4.11 %version  ................................................................................................................................. 212

 4
INFINISHELL COMMANDS REFERENCE 5.5.10 

1 Overview
The InfiniBox CLI comes with a rich, context-aware auto-complete, and with a simple and easy to use
command structure that only takes administrators a few minutes to learn. With commands structured
the same way across the board, and simple use of wildcards to apply the same commands to multiple
objects, administrators love using InfiniShell to accelerate and simplify their work.

The InfinShell documentation is complemented by the InfiniBox user documentation:


• InfiniBox Management Console
• Accessing the InfiniShell Console
• InfiniShell session controls

1.1 Accessing the InfiniShell Console

1.1.1 About this task


The InfiniBox Management Console provides both Graphic and command-line UI for managing the
InfiniBox. The command-line UI is called InfiniShell. It allows for accessing (connecting to) InfiniBox.

1.1.2 Instructions
Select InfiniShell from the menu at the top right of the screen. The InfiniShell console opens, displaying
the command prompt:

admin@localhost>

Alternately, you can access the InfiniShell console from the following URL:

<InfiniBox>.<your-site>.com /#/infinishell

1.2 Getting help on commands


The help command uses the following arguments:
• On – this argument gets a name of a command and returns the command syntax.
• Search – this argument gets any string of characters and returns a list of commands where it is part of the
command name or syntax.
See the following examples:
• help - The output of this command is a list of all of the InfiniShell command categories.
• help on= and TAB - The output of this command is a list of all of the categories and commands for which
help can run with the on argument. See the next example.
• help on=user - The output of this command lists categories and commands that have user in their name.
• help search=role - Returns a list of categories and commands where role is part of either the category,
command name, or parameter.
• <command_name>? - Use this form similarly to help on=<command_name>. For example: user.create?

OVERVIEW  –  5
INFINISHELL COMMANDS REFERENCE 5.5.10 

1.3 Installation prerequisites


• 1 CPU core
• 512MB memory
• 20GB storage space

1.4 Command auto-completion

1.4.1 Typing a command name + TAB

Type a part of the command name (and press TAB)


Type the following string po The string auto completes to the first part of the command name, followed
by a dot (.) pool. Meaning: all of the commands that start with "pool."

Type the command initial part (and press TAB)


Type the following string: pool. The string auto completes to all of the commands that start with pool.:

Commands: cache delete query resize unlock create lock rename set_thresholds user_query

Type a command name (and press TAB)


Type pool.create The string auto completes to all of the parameters that the command pool.create a
ccepts.
• Mandatory parameters are not bracketed.
• Optional parameters are bracketed.
name physical_capacity [virtual_capacity] [ssd_cache] [auto_extend]

Typing a query command + TAB


Type pool.query The string auto completes to

[name] [unit] [--detailed] [--columns] [--sort] [--format]

Querying for a detailed output


Displays the query results with all of the queried object’s fields:

pool.query pool=1855 --detailed Name 1855 State NORMAL Physical Total 20.00 TB Physical Allocated
2.19 TB Physical Free 17.80 TB Virtual Total 20.00 TB Virtual Allocated 2.19 TB Virtual Free 17.80 TB
Emergency Buffer UNLIMITED Used Emergency Buffer - Warning Threshold 80% Critical Threshold 90%
Volumes QoS Policy - Filesystems QoS Policy - Compressed yes Data Reduction 1.00 : 1 SSD Cache
Default yes

OVERVIEW  –  6
INFINISHELL COMMANDS REFERENCE 5.5.10 

Controlling the columns of the displayed query output


Displays a list of attributes that can be included as columns in the query result:

pool.query --columns= name, state, physical_total, physical_allocated, physical_free, virtual_total,


virtual_allocated, virtual_free, auto_extend, used_emergency_buffer, warning_threshold,
critical_threshold or ssd_cache_default (multiple values, separated by commas)

Sorting the query output


Displays a list of attributes that the query can be sorted by:

vol.query --columns=name,pool --sort= Names of sortable columns: e.g, size: sort by ascending order,
-size: sort by descending order. name, serial, size, wp, mapped, ssd_cache, created_at, updated_at,
-name, -serial, -size, -wp, -mapped, -ssd_cache, -created_at or -updated_at (multiple values, separated
by commas) -created_at -name -size -updated_at created_at name size updated_at -mapped -serial
-ssd_cache -wp mapped serial ssd_cache wp

Another example:

pool.query --sort=size NAME STATE PHYSICAL TOTAL PHYSICAL ALLOCATED VIRTUAL TOTAL VIRTUAL
ALLOCATED AUTO EXTEND pool1 NORMAL 7.00 TB 0 7.00 TB 0 UNLIMITED pool2 NORMAL 6.00 TB 0
6.00 TB 0 UNLIMITED pool3 NORMAL 5.00 TB 0 5.00 TB 0 UNLIMITED

Displaying the output in CSV format


pool.query --format=csv NAME,STATE,PHYSICAL TOTAL,PHYSICAL ALLOCATED,VIRTUAL TOTAL,VIRTUAL
ALLOCATED,AUTO EXTEND pool1,NORMAL,7.00 TB,0,7.00 TB,0,UNLIMITED pool2,NORMAL,6.00 TB,
0,6.00 TB,0,UNLIMITED pool3,NORMAL,5.00 TB,0,5.00 TB,0,UNLIMITED

Displaying the output in JSON format


pool.query --format=json

Displays the output in JSON format:

{ "command": "pool.query --format=json", "result": [ { "allocated_physical_space": "0",


"allocated_virtual_space": "10.78 TB", "max_extend": "DISABLED", "name":
"pool_acc3d07cb0b011e48cda00505699a571", "physical_capacity": "10.99 TB", "state": "NORMAL",
"virtual_capacity": "10.99 TB" } ] }

Querying for any string


Querying for a single string *.query --grep=STRING Returns query results only for entities that contain
the searched string.

pool.query --grep=er --columns=name uberpool_0000 uberpool_0001

OVERVIEW  –  7
INFINISHELL COMMANDS REFERENCE 5.5.10 

Querying for more than one string


*.query --grep="STRING1|STRING2"

Returns query results for entities that contain either of the searched strings.

pool.query --grep=er|re --columns=name replica_0000 replica_0001 uberpool_0000 uberpool_0001

Approving a warning message


Some InfiniShell commands require user approval. The approval message always provides a reason,
and can be either approved or rejected. For example, deleting a pool requires user approval:

pool.delete name=pool1 Deleting pool 'pool1' might prevent the pool's administrator from creating
new volumes. Are you sure? [y/n] If the warning message is approved, the pool is deleted: Are you sure?
[y/n] y Pool "pool1" deleted

If the warning message is disapproved, the command is aborted and the pool is not deleted:

Are you sure? [y/n] n Command aborted

1.5 InfiniShell Query Options


InfiniShell provides options that help the user to control the way query result are displayed.

###Filtering a query InfiniBox queries can be filtered, so that only specific entities will be returned. The
filtering options of each query are available through running help on the query command: typing the
command and pressing TAB. For example: you can filter the volume query by:
• Name - the name of the volume
• Pool - the pool that the volume belongs to
• CG - the consistency group that the volume is a member of
• Mapped, thin, write protected - volumes attributes
vol.query
[name] [pool] [mapped] [thin]
[--columns] [--format] [-d|--xdebug]
[cg] [unit] [write_protected] [--detailed] [--sort] [--grep] [-y|--yes]

1.5.1 Filtering the query result by any string of characters

Filtering by a string of characters


Example:

vol.query --grep=replica

OVERVIEW  –  8
INFINISHELL COMMANDS REFERENCE 5.5.10 

Filtering for query results that do not include a specific string


Examples:

vol.query --grep=replica vol.query --inverted-grep=replica

1.5.2 Sorting the query


The query results can be sorted by the value of any of its fields.

Sorting by numerical value


Sorting the query results by used, from small to big.

vol.query --sort=used NAME THIN USED POOL vol_1 yes 980.02 MB replication-from-ibox1092 vol_2 yes
880.02 MB replica_from_ibox3008 vol_3 yes 763.69 MB replica_from_ibox3008 vol_4 yes 678.97 MB
replica_from_ibox3008 ...

Sorting the query results by used, from big to small.

vol.query --sort=-used NAME THIN USED POOL vol_4 yes 678.97 MB replica_from_ibox3008 vol_3 yes
763.69 MB replica_from_ibox3008 vol_2 yes 880.02 MB replica_from_ibox3008 vol_1 yes 980.02 MB
replication-from-ibox1092 ...

Sorting by alphanumerical value


Sorting the query results by volume name.

vol.query --sort=name NAME THIN USED POOL vol_1 yes 980.02 MB replication-from-ibox1092 vol_2 yes
880.02 MB replica_from_ibox3008 vol_3 yes 763.69 MB replica_from_ibox3008 vol_4 yes 678.97 MB
replica_from_ibox3008 ...

Setting the displayed capacity unit


You can select the unit in which capacity is displayed.

vol.query unit= B, G, GB, GiB, T, TB, TiB or block B G GB GiB T TB TiB block

Selecting the displayed columns


Select the columns that will be displayed on the query result.

vol.query --columns=name,used,pool NAME USED POOL aixio001_1 0 aix aixio001_2 0 aix aixio001_3 0
aix aixio001_4 0 aix aixio001_5 0 aix aixio003_boot_1 0 aix aixio003_boot_2 0 aix aixio003_boot_3 0 aix
aixio003_boot_4 0 aix aixio004-01 222.00 GB aix aixio004-02 444.00 GB aix aixio004-03 665.99 GB aix
aixio004-04 887.96 GB aix ...

OVERVIEW  –  9
INFINISHELL COMMANDS REFERENCE 5.5.10 

Setting the results format


You can select between tabular, CSV and JSON formats. (For tabular format, run the query without the
format option.)

CSV format

vol.query --format=csv NAME,THIN,SIZE,USED,ALLOCATED,TREE ALLOCATED,POOL,WP,MAPPED


aixio001_1,no,500.00 GB,0,500.00 GB,0,aix,no,yes aixio001_2,no,500.00 GB,0,500.00 GB,0,aix,no,yes
aixio001_3,no,500.00 GB,0,500.00 GB,0,aix,no,yes aixio001_4,no,500.00 GB,0,500.00 GB,0,aix,no,yes
aixio001_5,no,500.00 GB,0,500.00 GB,0,aix,no,yes

JSON format

vol.query name=vol_fea63de9-6a2f-4f9d-8fa2-62aa34e6d855_replica --format=json { "command":


"vol.query name=vol_fea63de9-6a2f-4f9d-8fa2-62aa34e6d855_replica --format=json", "result":
[ { "allocated": "1.00 GB", "mapped": "no", "name":
"vol_fea63de9-6a2f-4f9d-8fa2-62aa34e6d855_replica", "pool": "replica_from_ibox3008", "size": "1.00
GB", "thin": "yes", "tree_allocated": "0", "used": "1.00 GB", "write_protected": "no" } ] }

Displaying a detailed output


The detailed output displays more fields than the default tabular output.

vol.query name=vol_fea63de9-6a2f-4f9d-8fa2-62aa34e6d855_replica --detailed Name


vol_fea63de9-6a2f-4f9d-8fa2-62aa34e6d855_replica Serial 742b0f000000bbb0000000000000414 Thin
yes Size 1.00 GB Used 1.00 GB Allocated 1.00 GB Tree Allocated 0 Pool replica_from_ibox3008 Write
Protected no Mapped no Ssd Cache yes Replication Role - Created At 2015-09-27 09:59:28 Updated At
2015-10-19 12:33:45

OVERVIEW  –  10
INFINISHELL COMMANDS REFERENCE 5.5.10 

2 General Commands

2.1 exit 
ROLE: All Roles

Description End current session.

Syntax exit

Example exit

Output Goodbye!
Session closed

2.2 help 
ROLE: All Roles

Description Displays help for commands, parameters and categories.

This command returns information on a searched command, category, parameter, string, or a list of
commands than contain objects that match the search string.

Syntax help on=SUBJECT search=STR 

Arguments search  Any sequence of characters 

on Name of a command or a category 

Example In the following example we search for help on a snapshot.

help search=snap 

GENERAL COMMANDS  –  11


INFINISHELL COMMANDS REFERENCE 5.5.10 

Search results: snap


      Categories:

          cg.snap

          fs.snap

          vol.snap

      Commands:

          cg.snap.create          source=CG name=NAME

                                  [snap_prefix=NAME]

                                  [snap_suffix=NAME]

          cg.snap.delete          name=SG[,SG,...]

                                  [delete_members={YES|NO|Y|N}]

          cg.snap.member_query    name=SG[,SG,...]

                                  [--detailed]

                                  [--columns=FIELD[,FIELD,...]]

                                  [--sort=FIELD[,FIELD,...]]

                                  [--format={csv|json}]

                                  [--grep=PATTERN]

                                  [--grepv|--inverted-grep=PATTERN]

Example In the following example we search for help on the vol.create command.

help on=vol.create

GENERAL COMMANDS  –  12


INFINISHELL COMMANDS REFERENCE 5.5.10 

Create a new volume.


          Syntax:

            vol.create name=NAME[,NAME,...] size=SIZE [pool=POOL]


                       [thin={YES|NO|Y|N}]
                       [ssd_cache={YES|NO|Y|N}]

                       [compression={YES|NO|Y|N}]
                       [series=SERIES]

          Arguments:

             name      A maximum of 65 Latin characters, numbers,


spaces, and the                           following
symbols:
"^&'@()[]$=!-#{}%.+~_" (excluding quotation
                       marks). Leading and trailing whitespace
characters are                               stripped.
(multiple values,
separated by commas).

            size       A positive number (up to 2 digits beyond the


decimal point),                         optionally
followed by a unit;
e.g. 1TB, 1000000000000.

            pool       Name of an existing pool.

            thin       Either yes, or no.

            ssd_cache  Either yes, or no.

            compression  Either yes, or no.

            series     Either a range of numbers, e.g "3-7", or a single


number, e.g                         "5", which is the
same as "1-5".
Zero-padding the numbers                             yields a zero-padded
sequence. The series may contain at most                 
       100
items, and the index of the last item may not
exceed                             10000000000.

2.3 history 
ROLE: All Roles

Description Show user history.

Displays commands that were run by the user (by this user alone). Filterable by:

• --grep
• --inverted-grep.

Syntax history 

GENERAL COMMANDS  –  13


INFINISHELL COMMANDS REFERENCE 5.5.10 

Example Run the command with no arguments 

history 

--- COMMAND

1 pool.create name=p1 physical_capacity=10t

2 cg.create name=cg1

3 vol.create name=v-cg1- size=10g series=3

4 cg.add_member cg=cg1 member=v-cg-1,v-cg-2,v-cg-3

5 cg.member_query

6 history  

Example Run the command looking for a specific string 

history --grep=cg 

--- COMMAND

2 cg.create name=cg1

3 vol.create name=v-cg1- size=10g series=3

4 cg.add_member cg=cg1 member=v-cg-1,v-cg-2,v-cg-3

5 cg.member_query

Example Run the command excluding a specific string

history --inverted-grep=cg

--- COMMAND

1 pool.create name=p1 physical_capacity=10t

6 history

2.4 login 
ROLE: All Roles

Description Login as another user. 

Syntax login username=USERSTR 

Arguments username  User name 

Example login username=admin 

GENERAL COMMANDS  –  14


INFINISHELL COMMANDS REFERENCE 5.5.10 

The command prompt. 

2.5 quit 
ROLE: All Roles

Description End current session.

Syntax quit

Example quit

Output Goodbye!
Session closed

GENERAL COMMANDS  –  15


INFINISHELL COMMANDS REFERENCE 5.5.10 

3 Provisioning Commands

3.1 Pool commands


Pool commands allow you to create a pool, to lock it for writes, to rename and resize it, to enable SSD
cache, to set size thresholds for notifications and to query the InfiniBox on pools and their
administrators.

3.1.1 pool.add_admin 
Roles: Admin 

Description Grant pool provisioning privileges to a pool administrator.

Syntax pool.add_admin pool=POOL user=POOLADMIN[,POOLADMIN,...]

Arguments user Name of an existing local user or ldap group, with PoolAdmin role (multiple values,
separated by commas)

pool Name of an existing pool

Example pool.add_admin name=pool1 admin=pool-admin-may-17

Granted provisioning privileges on pool pool1 to pool admins: local user pool-admin-
may-17

3.1.2 pool.assign_qos
Roles: Admin 

Description Assign pool to policy.

Syntax pool.assign_qos pool=POOL[,POOL,...] policy=QOSPOOLVOLUMESPOLICY

Arguments policy QoS policy

PROVISIONING COMMANDS  –  16


INFINISHELL COMMANDS REFERENCE 5.5.10 

pool Name of an existing pool (multiple values, separated by commas)

Example pool.assign_qos pool=p1 policy=q3

Pool 'p1' was assigned to policy 'q3'

3.1.3 pool.create 
Roles: Admin 

Description Create a new pool.

Set the pool physical capacity, virtual capacity and emergency buffer. The emergency buffer
determines whether the pool is allowed to extend without limitation, to extend within a predefined
limitation, or not allowed to extend at all. The pool will extend into the emergency buffer once it
passes its physical size. Then, the pool enters a Limited state where no new volumes can be created,
but the existing volumes can be written into. If the pool can no longer expand, it enters a Locked
state and its entities can no longer accept writes. When the pool is locked, no entity can be created
and volumes cannot be resized. Release the Locked state (unlock the pool) using the pool.unlock
command.

Syntax pool.create name=NAME physical_capacity=SIZE [virtual_capacity=SIZE]


[emergency_buffer={UNLIMITED|DISABLED|SIZE}] [ssd_cache=YES|NO|Y|N] [compression=YES|
NO|Y|N] [type=STANDARD]

Arguments physical_capacity A positive number (up to 2 digits beyond the decimal point), optionally
followed by a unit; e.g. 1TB, 1000000000000

name A maximum of 65 Latin characters, numbers, spaces, and the following


symbols: "^&'@()[]$=!-#{}%.+~_" (excluding quotation marks). Leading and
trailing whitespace characters are stripped.

virtual_capacity A positive number (up to 2 digits beyond the decimal point), optionally
followed by a unit; e.g. 1TB, 1000000000000

emergency_buffer DISABLED, UNLIMITED, or a positive number (up to 2 digits beyond the


decimal point), optionally followed by a unit; e.g. 1TB, 1000000000000

ssd_cache Either yes, or no

compression Either yes, or no

type Only one value: STANDARD

Example Creating a pool: minimal required configuration

PROVISIONING COMMANDS  –  17


INFINISHELL COMMANDS REFERENCE 5.5.10 

pool.create name=pool1 physical_capacity=20t

Pool pool1 created

Example Creating an overprovisioned pool.

• The specific attributes that are relevant to the pool's physical and virtual capacity are
visible through the pool.query command.

pool.create name=pool2 physical_capacity=10t virtual_capacity=20t


emergency_buffer=UNLIMITED

Pool pool2 created

Example Creating a pool with an emergency buffer.

pool.create name=pool4 physical_capacity=10t emergency_buffer=1t

Emergency buffer for pool pool4 was rounded up to 932.00 GiB (1.00 TB) Pool pool4
created

3.1.4 pool.delete 
Roles: Admin 

Description Delete pool.

Prior to the deletion of the pool, it has to be emptied.

• All of its entities - volumes, filesystems and their snapshots - need to be moved to
other pools.

Syntax pool.delete pool=POOL[,POOL,...]

Arguments pool Name of an existing pool (multiple values separated by commas)

Example pool.delete name=pool1

Pool pool1 deleted

PROVISIONING COMMANDS  –  18


INFINISHELL COMMANDS REFERENCE 5.5.10 

3.1.5 pool.lock  
Roles: Admin 

Description Lock pool, revoking write access to its volumes.

When the pool is locked, no entity can be created and volumes cannot be resized. Release the
Locked state (unlock the pool) using the pool.unlock command

Syntax pool.lock pool=POOL

Arguments pool Name of an existing pool 

Example pool.lock name=pool1

Pool pool1 Locked

3.1.6 pool.query  
Roles: All Roles  

Description List existing pools.

Run the command with no arguments in order to list all of the pools on the InfiniBox. Run the
command with a pool name as an input, in order to list only this pool.
Run the command with names of several pools, separated with a comma and no space, in order to
list these pools. Entering a name of a pool
that does not exist fails the command even if other names are entered correctly. Use the unit
argument to specify the units of the capacity fields of the output. 

Syntax pool.query [pool=POOL[,POOL,...]] [unit=CAPACITYUNIT] 

Arguments pool  Name of an existing pool (multiple values, separated by commas)

unit  B, G (or GB), GiB, T (or TB), TiB or block 

Example pool.query

PROVISIONING COMMANDS  –  19


INFINISHELL COMMANDS REFERENCE 5.5.10 

NAME   STATE   PHYSICAL  PHYSICAL  VIRTUAL  VIRTUAL    EMERGENCY COMPRESSED  DATA


               TOTAL     ALLOCATED TOTAL    ALLOCATED  BUFFER                REDUCTION

pool1  NORMAL  3.23 TB   1.97 TB   3.23 TB  1.97 TB    DISABLED  yes         1.00:1 

Example To set the capacity units, run the command with the unit argument. 

pool.query unit=block 

NAME   STATE   PHYSICAL           PHYSICAL           VIRTUAL            VIRTUAL  


               TOTAL              ALLOCATED TOTAL    TOTAL              ALLOCATED 
  EMERGENCY COMPRESSED DATA
  BUFFER               REDUCTION

pool-1 NORMAL  6314441472 blocks  3848399360 blocks  6314441472 blocks  3848399360


blocks 
  DISABLED  yes        1.00:1 

Example Querying for pools and the QoS policy they are assigned toCreating a pool with an emergency
buffer.

pool.query --columns=name,volumes_qos_policy,filesystems_qos_policy

NAME  VOLUMES     FILESYSTEMS 


      QoS POLICY  QoS POLICY

p1    q3          q4   

3.1.7 pool.remove_admin
Roles: Admin 

Description Revoke pool provisioning privileges from a pool administrator.

Syntax pool.remove_admin pool=POOL user=POOLADMIN[,POOLADMIN,...]

Arguments user Name of an existing local user or ldap group, with PoolAdmin role (multiple values,
separated by commas)

pool Name of an existing pool 

Example pool.remove_admin name=pool1 admin=pool-admin-may-17

PROVISIONING COMMANDS  –  20


INFINISHELL COMMANDS REFERENCE 5.5.10 

Revoked provisioning privileges on pool pool1 from pool admins: local user pool-admin-
may-17

3.1.8 pool.rename 
Roles: Admin 

Description Rename pool.

Syntax pool.rename pool=POOL new_name=NAME

Arguments new_name A maximum of 65 Latin characters, numbers, spaces, and the following symbols:
"^&'@()[]$=!-#{}%.+~_" (excluding quotation marks). Leading and trailing
whitespace characters are stripped.

pool Name of an existing pool 

Example pool.rename name=pool1 new_name=pool2

Pool pool1 renamed to pool2

3.1.9 pool.resize 
Roles: Admin 

Description Resize pool.

Change the pool physical capacity, virtual capacity or emergency buffer. See the documentation of
pool.create for the way the emergency buffer can be configured.

Syntax pool.resize pool=POOL [physical_capacity=SIZEDELTA] [virtual_capacity=SIZEDELTA]


[emergency_buffer={UNLIMITED|DISABLED|SIZE}]

Arguments physical_capacity A maximum of 65 Latin characters, numbers, spaces, and the following
symbols: "^&'@()[]$=!-#{}%.+~_" (excluding quotation marks). Leading and
trailing whitespace characters are stripped.

PROVISIONING COMMANDS  –  21


INFINISHELL COMMANDS REFERENCE 5.5.10 

pool Name of an existing pool 

emergency_buffer DISABLED, UNLIMITED, or a positive number (up to 2 digits beyond the


decimal point), optionally followed by a unit; e.g. 1TB, 1000000000000

virtual_capacity A number (up to 2 digits beyond the decimal point), optionally followed by a
unit; e.g. 1TB, 1000000000000. When preceded by a plus or minus sign,
represents a delta; e.g. 3000000m (absolute size), +2000GB (positive delta),
-1.5T (negative delta)

Example Resizing the pool's physical capacity.

pool.resize name=pool1 physical_capacity=2t

Pool pool1 resized

Example Resizing the pool's emergency buffer.

pool.resize name=pool2 emergency_buffer=1t

Emergency buffer for pool pool2 was rounded up to 932.00 GiB (1.00 TB) Pool pool2
created

3.1.10 pool.set_compression 
Roles: Admin, Pool Admin

Description Set the pool capacity to be compressed.

Syntax pool.set_compression pool=POOL compression=YESNO

Arguments pool Name of an existing pool 

compression Either yes or no

Example Set the pool to compress its capacity.

pool.set_compression name=p1 compression=yes

PROVISIONING COMMANDS  –  22


INFINISHELL COMMANDS REFERENCE 5.5.10 

Pool "p1" Compression was enabled

Example Set the pool to stop compressing its capacity

pool.set_compression name=p1 compression=no

Pool "p1" Compression was disabled

3.1.11 pool.set_thresholds 
Roles: Admin, Pool Admin

Description Set pool capacity notification thresholds.

Set the InfiniBox to issue events whenever the pool exceeds a capacity threshold. You may set two
thresholds for each pool: Warning and Critical. The size of the Warning threshold cannot exceed the
size of the Critical threshold.

Syntax pool.set_thresholds pool=POOL warning=PERCENT critical=PERCENT

Arguments critical An integer between 0 and 100, optionally followed by a percent symbol

warning An integer between 0 and 100, optionally followed by a percent symbol

pool Name of an existing pool 

Example pool.set_thresholds name=pool1 warning=70% critical=80%

Pool pool1 updated

3.1.12 pool.unassign_qos 
Roles: Admin 

Description Remove pool from policy. 

PROVISIONING COMMANDS  –  23


INFINISHELL COMMANDS REFERENCE 5.5.10 

Syntax pool.unassign_qos pool=POOL [policy=QOSPOOLVOLUMESPOLICY]

Arguments policy QoS policy

pool Name of an existing pool 

Example pool.unassign_qos pool=p1

Pool 'p1' was unassigned from policies 'q4', 'q3'

3.1.13 pool.unlock 
Roles: Admin 

Description Unlock pool, granting write access to its volumes.

Syntax pool.unlock pool=POOL

Argument pool Name of an existing pool 

Example pool.unlock name=pool1

Pool pool1 unlocked

3.1.14 pool.user_query 
Roles: All Rolls

Description List existing pools with respective administrators.

Syntax pool.user_query [pool=POOL]

PROVISIONING COMMANDS  –  24


INFINISHELL COMMANDS REFERENCE 5.5.10 

Argument pool Name of an existing pool 

Example pool.user_query

NAME  ADMINS
pool1  admin.pooladmin_1
pool2  admin.pooladmin_2

3.2 Volume commands


Volume provisioning commands

Volume commands allow you to create volumes. You can use the volume commands to map each
volume to a host or a cluster, to rename and resize the volume, to restore it from a snapshot, to protect
it from writing, to enable SSD cache, to set it to be thin provisioned, to move it between pools and to
query the InfiniBox volumes. This category does not include commands for provisioning snapshots.

3.2.1 config.system.set_auto_udid_range
ROLE: Admin

Description Enables / disables default pool ssd cache.

Syntax config.system.set_auto_udid_range [start=CONFIGUDID] [end=CONFIGUDID] [disabled=YESNO]

Arguments start An integer number between 1 and 32767 (inclusive)

disabled Either yes or no

end An integer number between 1 and 32767 (inclusive)

3.2.2 vol.assign_qos 
ROLE: Admin

Description Assign volume to policy

Syntax vol.assign_qos vol=vol[,vol...] policy=QOSVOLUMESPOLICY

Arguments policy QoS policy

PROVISIONING COMMANDS  –  25


INFINISHELL COMMANDS REFERENCE 5.5.10 

pool Name of an existing pool (multiple values, separated by commas)

Example vol.assign_qos pool=v2 policy=q1

Volume 'v2' was assigned to policy 'q1'

3.2.3 vol.cache 
ROLE: Admin, Pool Admin

Description Enable or disable SSD cache.

Set the optional parameter Recursive to Yes in order to apply the SSD cache settings to the entire volume
tree.

Syntax vol.cache vol=VOL ssd_cache=YESNO [recursive=YESNO]

Arguments recursive Either yes or no

ssd_cache Either yes or no

vol Name of an existing volume

Example vol.cache name=vol1 ssd=yes recursive=yes

Volume vol1 and all descendants SSD cache enabled.

3.2.4 vol.create  
ROLE: Admin, Pool Admin

Description Create a new volume.

Create a batch of volumes by stating the requested amount of volumes using the Series parameter. The
volumes names are prefixed. It is recommended to denote a new prefix for each batch. The pool
parameter is not required in case there is only one pool available. The volume size can be any number
that is divisible by 512 (bytes). On the pool view, the volume size is represented in a number that is
divisible by 64k.

Syntax vol.create name=NAME[,NAME,...] size=SIZE [pool=STANDARDPOOL] [thin=YES|NO|Y|N]


[ssd_cache=YES|NO|Y|N] [compression=YES|NO|Y|N] [series=SERIES] [udid=UDID]

Arguments pool Name of an existing standard pool

size A positive number (up to 2 digits beyond the decimal point), optionally followed by
a unit; e.g. 1TB, 1000000000000

PROVISIONING COMMANDS  –  26


INFINISHELL COMMANDS REFERENCE 5.5.10 

name A maximum of 65 Latin characters, numbers, spaces, and the following symbols:
"^&'@()[]$=!-#{}%.+~_" (excluding quotation marks). Leading and trailing
whitespace characters are stripped. (multiple values, separated by commas)

thin Either yes, or no

ssd_cache Either yes, or no

udid AUTO, or an integer number between 1 and 32767 (inclusive)

compression Either yes, or no

series Either a range of numbers, e.g "3-7", or a single number, e.g "5", which is the same
as "1-5". Zero-padding the numbers yields a zero-padded sequence. The series
may contain at most 100 items, and the index of the last item may not exceed
10000000000

Example Creating a single volume, providing a name and specifying the volume size and the pool it will
created in.

vol.create name=vol1 size=1g pool=pool1

Volume vol1 created

Example Creating a series of volumes specifying their number. The volumes will be numbered from 1
onward.
Note that the name parameter serves as a prefix to the entire series.

vol.create name=vol- size=1g pool=pool1 series=10

Created 10 volumes: vol-01 through vol-10

Example Creating a series of volumes specifying the first and last ordinal numbers.

vol.create name=vol- size=1g pool=pool1 series=11-20

Created 10 volumes: vol-11 through vol-20

3.2.5 vol.delete
ROLE: Admin, Pool Admin

Description Delete volume.

You may select multiple volumes, separated with a comma.

Syntax vol.delete vol=VOL[,VOL,...]

Arguments vol Name of an exiting volume ( multiple values, separated by commas)

PROVISIONING COMMANDS  –  27


INFINISHELL COMMANDS REFERENCE 5.5.10 

Example vol.delete name=vol1

Volume vol1 deleted

3.2.6 vol.map
ROLE: Admin, Pool Admin

Description Map volume to host or cluster.

You may determine the LUN that will connect the volume to the host, or cluster.

Syntax vol.map vol=VOL[,VOL,...] [host=HOST] [cluster=CLUSTER] [lun=LUN]

Arguments vol Name of an existing volume (multiple values, separated by commas)

lun SCSI logical unit number (LUN)

cluster Name of an existing cluster

host Name of an existing host

Example vol.map name=vol1 cluster=cluster1

volume vol1 mapped to LUN 12 in cluster cluster1

3.2.7 vol.map_query
ROLE: All Roles

Description List host and cluster mappings by volume.

Syntax vol.map_query [vol=VOL[,VOL,...]] [pool=STANDARDPOOL] [host=HOST] [cluster=CLUSTER]

Arguments vol Name of an existing volume (multiple values, separated by commas)

pool Name of an existing standard pool

cluster Name of an existing cluster

host Name of an existing host

Example vol.map_query

PROVISIONING COMMANDS  –  28


INFINISHELL COMMANDS REFERENCE 5.5.10 

NAME  MAPPING TYPE  MAPPED TO  LUN ID


vol1  CLUSTER       cluster1   l1
vol2  CLUSTER       cluster1   l2

3.2.8 vol.move 
ROLE: Admin, Pool Admin 

Description Move volume to a different pool. 

The move_capacity parameter determines whether the volume moves along with its
capacity, so as not to
impact the new pool free space. The default value of this parameter is no.

Syntax vol.move vol=VOL pool=STANDARDPOOL [move_capacity=YES|NO|Y|N]

Arguments pool Name of an existing standard pool 

vol Name of an existing volume

move_capacity    Either yes or no


      

Example Moving a volume with its capacity

vol.move name=vol1 pool=pool2 move_capacity=yes

Volume vol1 moved to pool pool2 with its capacity

Example Moving a volume without its capacity

vol.move name=vol1 pool=pool2

Volume vol1 and all descendants SSD cache enabled.

3.2.9 vol.query 
ROLE: All Rolls

Description List existing volumes.

• Use the unit argument to specify the units of the capacity fields of the output.
• To view all of the available volume attributes, run:
• vol.query --columns= and then press TAB. See an example below.

PROVISIONING COMMANDS  –  29


INFINISHELL COMMANDS REFERENCE 5.5.10 

Syntax vol.query [vol=VOL[,VOL,...]] [cg=CG] [pool=STANDARDPOOL] [unit=CAPACITYUNIT]


[mapped=YESNO] [write_protected=YESNO] [thin=YESNO] [compression_enabled=YESNO]
[ssd_enabled=YESNO]

Arguments cg Name of an existing consistency group 

vol Name of an existing volume

compression_enabled Either yes or no

thin Either yes or no

write_protected Either yes or no

mapped Either yes or no

unit B, G (or GB), GiB, T (or TB), TiB or block

ssd_enabled Either yes or no

pool name of an exiting standard pool

Example Querying for all volumes

vol.query 

NAME THIN  SIZE      USED   ALLOCATED COMPRESSION SNAPSHOTS POOL WP MAPPED


                                      SAVINGS
v1   no    1.00 TB   100 GB 1.00 TB   1.00:1      0         p1   no  yes

Example Querying for volumes that belong to a consistency group, returning the ID of the consistency
group

vol.query --columns=name,cg_id

NAME  CG ID
v1    1272
v2    1272
v3    --

Example Querying for compressed volumes, and displaying only compression-related columns

vol.query compression_enabled=yes --columns=name,compressed,data_reduction

NAME  COMPRESSED  DATA REDUCTION


v1    yes         9.34:1
v2    yes         1.64:1
v3    yes         1.64:1

Example Querying for volumes that are assigned to a QoS policy

PROVISIONING COMMANDS  –  30


INFINISHELL COMMANDS REFERENCE 5.5.10 

vol.query --columns=name,policy

NAME  POLICY
v1    q1
v2    --

Example Get all of the available volume's attributes

vol.query --columns=

name, serial, thin, size, used, allocated, Snapshots, cg, policy, wp,
pool, compressed, data_reduction, mapped, ssd_cache, replication_role,
created_at, updated_at, cg_id or * (multiple values, separated by
commas)
* cg created_at name replication_role
ssd_cache used
Snapshots cg_id data_reduction policy serial
thin wp
allocated compressed mapped pool size
updated_at

Example Query for the volume's serial number

vol.query name=v1 --columns=name,serial

NAME  SERIAL
v1    742b0f000004e21000000000182e663

3.2.10 vol.reclaimable 
ROLE:  Admin, Pool Admin

Description Estimate reclaimed capacity (deletion simulation).

You may simulate the deletion of the filesystem and its descendants.

Syntax vol.reclaimable vol={VOL|SNAP}

Arguments vol Name of an existing volume or snapshot

Example vol.reclaimable name=vol1

Estimated reclaimable space for volume v1 and its tree descendants: 327.68 KB

PROVISIONING COMMANDS  –  31


INFINISHELL COMMANDS REFERENCE 5.5.10 

3.2.11 vol.rename
ROLE: Admin, Pool Admin

Description Rename volume 

Syntax vol.rename vol=VOL new_name=NAME

Arguments new_name A maximum of 65 Latin characters, numbers, spaces, and the following symbols:
"^&'@()[]$=!-#{}%.+~_" (excluding quotation marks).
Leading and trailing whitespace characters are stripped

vol Name of an existing volume 

Example vol.rename name=vol1 new_name=vol2

Volume volume1 renamed to volume2

3.2.12 vol.reset_serial
ROLE: Admin

Description Reset volume serial 

Syntax vol.reset_serial vol=VOL

Arguments vol Name of an exiting volume  

ADMIN

3.2.13 vol.resize
ROLE: Admin

Description Resize volumes

Syntax vol.resize vol=VOL size=SIZEPOSITIVEDELTA

Arguments vol Name of an existing volume

size A number (up to 2 digits beyond the decimal point), optionally followed by a unit; e.g. 1TB,
1000000000000. When preceded by a plus sign, represents a delta; e.g. 3000000m (absolute
size), +2000GB (positive delta)

PROVISIONING COMMANDS  –  32


INFINISHELL COMMANDS REFERENCE 5.5.10 

Example vol.resize name=vol1 size=1.5t

Volume vol1 updated

3.2.14 vol.restore 
ROLE: Admin, Pool Admin

Description Restore data state of a volume from one of its snapshots.

This command restores a volume from one of its snapshots.

• The volume can be restored from any of its snapshots

Syntax vol.restore vol=VOL source=SNAP

Arguments vol Name of an existing volume

source Name of an exiting volume snapshot 

Example vol.restore name=vol1 snap=snap1

Volume vol1 restored from snapshot snap1

3.2.15 vol.set_compression
ROLE: Admin, Pool Admin

Description Set a volume to use compression 

Syntax vol.set_compression vol=VOL compression=YESNO

Arguments compression Either yes or no

vol Name of an exiting volume 

Example Enable compression on a volume

vol.set_compression name=v1 enable=yes

Volume "v1" Compression was enabled

PROVISIONING COMMANDS  –  33


INFINISHELL COMMANDS REFERENCE 5.5.10 

Example Disable compression on a volume

vol.set_compression name=v1 enable=no

Volume "v1" Compression was disabled

3.2.16 vol.set_thin
ROLE: Admin, Pool Admin

Description Set volume provisioning type

Toggle between thin and thick provisioning. 

Syntax vol.set_thin vol=VOL thin=YESNO

Arguments thin Either yes or no

vol Name of an exiting volume 

Example vol.set_thin name=vol1 thin=yes

Volume vol1 set to thin provisioning

3.2.17 vol.set_udid 
ROLE: Admin, Pool Admin

Description Change UDID on a volume. 

Syntax vol.set_udid vol=VOL udid=UDIDUPDATE

Arguments vol Name of an existing volume

udid CLEAR, or an integer number between 1 and 32767 (inclusive)

3.2.18 vol.tree 
ROLE: All Roles

PROVISIONING COMMANDS  –  34


INFINISHELL COMMANDS REFERENCE 5.5.10 

Description Display hierarchy of volumes and their snapshots.

You may filter the results by volume and pool.

Syntax vol.tree [vol=VOL] [pool=POOL] [unit=CAPACITYUNIT]

Arguments unit B, G (or GB), GiB, T (or TB), TiB or block

pool Name of an existing pool

vol Name of an existing volume

Example vol.tree name=v1

NAME     TYPE  SIZE    USED    ALLOCATED  POOL  WP  CREATED AT 


v1       VOL   1.00 TB 100 GB  1.0 TB     p1    no  2015*12-01 10:00:00
|-----s1 SNAP  0       0       0          p1    yes 2015-12-02 10:00:00

3.2.19 vol.unassign_qos 
ROLE: Admin

Description Unassign volume from policy.

• Unassigning the volume does not unassign its snapshots, even if both volume and
snapshot are assigned to the same policy.
• This command allows for a multiple-entity selection

Syntax vol.unassign_qos vol=VOL[,VOL,...]

vol Name of an existing volume (multiple values, separated by commas)

Example Unassigning a single volume

vol.unassign_qos vol=v2

Volume 'v2' was unassigned from policy 'q1'

Example Unassigning several volumes

vol.unassign_qos vol=v1,v2

2 volumes were unassigned from their policies

PROVISIONING COMMANDS  –  35


INFINISHELL COMMANDS REFERENCE 5.5.10 

3.2.20 vol.unmap_qos 
ROLE: Admin, Pool Admin

Description Unmap volume from host or cluster

Syntax vol.unmap vol=VOL[,VOL,...] [host=HOST] [cluster=CLUSTER]

Arguments cluster Name of an existing cluster

host Name of an existing host

vol Name of an existing volume (multiple values, separated by commas)

Example vol.unmap name=vol1 cluster=cluster1

Volume vol1 unmapped from LUN LUN1 in cluster cluster1

3.2.21 vol.write_enable
ROLE: Admin, Pool Admin

Description Enable write access on volume.

Set the optional parameter Recursive to Yes in order to enable writing to the entire volume tree. 

Syntax vol.write_enable vol=VOL [recursive=YESNO]

Arguments recursive Either yes or no

vol Name of an existing volume 

Example vol.write_enable name=vol1 recursive=yes

Volume vol1 and all descendants write access enabled

3.2.22 vol.write_protect
ROLE: Admin, Pool Admin

PROVISIONING COMMANDS  –  36


INFINISHELL COMMANDS REFERENCE 5.5.10 

Description Disable access on volume.

Set the optional parameter Recursive to Yes in order to disable writing to the entire volume tree. 

Syntax vol.write_protect vol=VOL [recursive=YESNO]

Arguments recursive Either yes or no

vol Name of an existing volume 

Example vol.write_protect name=vol1 recursive=yes

Volume vol1 and all descendants write access disabled

3.3 Volume Snapshot commands


The snapshot is an entity that allows the user to restore a volume to a specific point-in-time.
• When the snapshot is created it is in read-only mode. It can become writable (by a specific user action).
• A writable snapshot can restore its parent volume (or parent snapshot).
• Snapshot operations create a snapshot, delete it, rename it, enable SSD cache, view its relation with the
volume and other snapshots, map it to a host or a cluster, unmap it, query the mapping and query all
snapshots per volume or pool.

3.3.1 vol.snap.assign_qos 
ROLE: Admin 

Description Assign volume to policy. 

Syntax vol.snap.assign_qos snap=SNAP[,SNAP,...] policy=QOSVOLUMEPOLICY

Arguments policy Qos policy

snap Name of an existing volume snapshot (multiple values separated by commas) 

Example vol.restore name=vol1 snap=snap1

Volume vol1 restored from snapshot snap1

3.3.2 vol.snap.cache 
ROLE: Admin, Pool Admin

PROVISIONING COMMANDS  –  37


INFINISHELL COMMANDS REFERENCE 5.5.10 

Description Enable or disable SSD cache.

• The snapshot setting to use the InfiniBox SSD drives is inherited from the volume
• This command allows setting the snapshot to use/unuse the SSD drives
independently of the volume (or parent snapshot)
• For a snapshot that has child snapshot(s) there is an option to set the SSD usage all
down the snapshots tree at once (the snapshot ancestors are not affected)

Syntax vol.snap.cache snap=SNAP ssd_cache=YESNO [recursive=YESNO]

Arguments recursive Either yes or no

ssd_cache Either yes or no

snap Name of an existing volume snapshot 

Example Setting the snapshot to use SSD

vol.snap.cache snap=v1-s1 ssd_cache=yes

Volume snapshot "v1-s1" is now cached on SSD

Example Setting the snapshot - and its descendants - to use SSD

vol.snap.cache snap=v1-s1 ssd_cache=yes recursive=yes

Volume snapshot "v1-s1" and all of its descendants are now cached on SSD

3.3.3 vol.snap.create 
ROLE: Admin, Pool Admin

Description Create a new volume snapshot.

• A snapshot can be from a volume or a snapshot


• The snapshot is created in a read-only state
• The snapshot state can be changed from read-only to writable
• Restoring a volume or a snapshot from a snapshot
• To restore the volume from its snapshot, use the vol.restore command
• To restore the snapshot from its child snapshot, use the vol.snap.restore
command

Syntax vol.snap.create vol={VOL|SNAP} name=NAME [ssd_cache=YESNO] [lock_duration=DATEDURATION]

Arguments ssd-cache Either yes or no

PROVISIONING COMMANDS  –  38


INFINISHELL COMMANDS REFERENCE 5.5.10 

name A maximum of 65 Latin characters, numbers, spaces, and the following


symbols: "^&'@()[]$=!-#{}%.+~_" (excluding quotation marks). Leading and
trailing whitespace characters are stripped.

vol Name of an existing volume or snapshot

lock_duration A positive number, followed by a unit; e.g. 1M, 10DAYS 

Example Taking a snapshot of a volume

vol.snap.create vol=vol1 snap=snap1

Volume snapshot snap1 created

Example Creating a locked snapshot

vol.snap.create vol=vol1 name=s2 lock_duration=1d

Volume snapshot "s2" created, locked until '2018-09-17 11:00:00'

Example Taking a snapshot of a snapshot

vol.snap.create vol=snap1 name=snap1-s1

Volume snapshot "snap1-s1" created

Example Taking a snapshot and disabling the usage of SSD drives

vol.snap.create vol=snap1 snap=snap1-s1 ssd_cache=no

Volume snapshot "snap1-s1" created

3.3.4 vol.snap.delete 
ROLE: Admin, Pool Admin

Description Delete volume snapshot.

• This is a dangerous operation that requires a specific user approval.

Syntax vol.snap.delete snap=SNAP[,SNAP,...]

Arguments snap Name of an existing volume snapshot (multiple values, separated by


commas)

Example Deleting a snapshot

PROVISIONING COMMANDS  –  39


INFINISHELL COMMANDS REFERENCE 5.5.10 

vol.snap.delete snap=v1-s3

Volume snapshot "v1-s3" deleted

Example Deleting a snapshot that has children

• The dangerous operation that the user has to approve indicates that the snapshot
has children

vol.snap.delete snap=v1-s3

Volume snapshot "v1-s3" deleted

3.3.5 vol.snap.map 
ROLE: Admin, Pool Admin

Description Map volume snapshot to host or cluster.

• The LUN is assigned by InfiniBox 

Syntax vol.snap.map snap=SNAP[,SNAP,...] [host=HOST] [cluster=CLUSTER] [lun=LUN]

Arguments snap Name of an existing volume snapshot (multiple values, separated by commas)

lun SCSI logical unit number (LUN)

cluster Name of an existing cluster 

host Name of an existing host 

Example vol.snap.map snap=v1-s1-s1 host=h1

Volume snapshot "v1-s1-s1" mapped to LUN 2 in host "h1"

3.3.6 vol.snap.map_query 
ROLE: All Roles

Description List mappings of snapshots to hosts and clusters.

PROVISIONING COMMANDS  –  40


INFINISHELL COMMANDS REFERENCE 5.5.10 

Syntax vol.snap.map_query [snap=SNAP[,SNAP,...]] [pool=POOL] [host=HOST] [cluster=CLUSTER]

Arguments host Name of an existing host

pool Name of an existing pool

snap Name of an existing volume snapshot (multiple values, separated by commas)

cluster Name of an existing cluster 

Example vol.snap.map_query snap=snap1

NAME   MAPPING TYPE  MAPPED TO  LUN ID


snap1  CLUSTER       cluster1   11

3.3.7 vol.snap.query 
ROLE: All Roles

Description List existing snapshots.

The output of this command displays all of the snapshots on the InfiniBox system.

• Use the unit argument to specify the units of the capacity fields of the output. 

Syntax vol.snap.query [snap=SNAP[,SNAP,...]] [source={VOL|SNAP}] [sg=SG] [pool=POOL]


[unit=CAPACITYUNIT] [mapped=YESNO] [write_protected=YESNO]

Arguments unit Either yes or no

pool Either yes or no

sg Name of an existing snapshot group

source Name of an existing volume or snapshot  (multiple values, separated by


commas)

snap Name of an existing volume snapshot

write_protected Either yes or no

mapped Either yes or no

Example Querying for all of the snapshots in the system

PROVISIONING COMMANDS  –  41


INFINISHELL COMMANDS REFERENCE 5.5.10 

vol.snap.query

NAME      THIN  SIZE     USED  ALLOCATED  POOL  WP  MAPPED  LOCK     CREATED 
                                                            STATE    AT 
v1-s1     yes   10.00 GB 0     0          p1    yes yes     lOCKED   2016-04-11 10:00:00
v1-s1-s1  yes   10.00 GB 0     0          p1    yes yes     UNlOCKED 2016-04-11 10:00:00  

Example Querying for snapshots that are assigned to a QoS policy

vol.snap.query --columns=name,policy

NAME  POLICY
v1-s1 q1

3.3.8 vol.snap.refresh 
ROLE: Admin, Pool Admin

Description Refresh a snapshot.

• This operation refreshes the snapshot with the volume's data, keeping the snapshot
metadata as is
• This operation is a dangerous operation

Syntax vol.snap.refresh snap=SNAP

Arguments snap Name of an existing snapshot 

Example vol.snap.refresh snap=v1-s1

Volume snapshot "v1-s1" refreshed

3.3.9 vol.snap.rename 
ROLE: Admin, Pool Admin

Description Rename volume snapshot.

Syntax vol.snap.rename snap=SNAP new_name=NAME

PROVISIONING COMMANDS  –  42


INFINISHELL COMMANDS REFERENCE 5.5.10 

Arguments new_name A maximum of 65 Latin characters, numbers, spaces, and the following symbols:
"^&'@()[]$=!-#{}%.+~_" (excluding quotation marks).
Leading and trailing whitespace characters are stripped.

snap Name of an existing volume snapshot 

Example vol.snap.rename snap=snap1 new_name=snap2

Volume snapshot snap1 renamed to snap2

3.3.10 vol.snap.resize 
ROLE: Admin, Pool Admin

Description Resize volume snapshot.

• The snapshot size can only be increased


• The snapshot has to be write-enabled

Syntax vol.snap.resize snap=SNAP size=SIZEPOSITIVEDELTA

Arguments snap Name of an existing volume snapshot 

size A number (up to 2 digits beyond the decimal point), optionally followed by a unit;
e.g. 1TB, 1000000000000. When preceded by a plus sign, represents a delta; e.g.
3000000m (absolute size), +2000GB (positive delta)

Example Resizing a snapshot

vol.snap.resize snap=s1 size=100g

Volume snapshot "s1" resized

Example Running the command with an input that is identical to the snapshot current size does not
fail the command

vol.snap.resize snap=s1 size=100g

Volume snapshot "s1" size is already 100.00 GB

3.3.11 vol.snap.restore 
ROLE: Admin, Pool Admin

PROVISIONING COMMANDS  –  43


INFINISHELL COMMANDS REFERENCE 5.5.10 

Description Restore a snapshot from one of its snapshots.

• The restored snapshot has to be in a write_enabled state


• This is a dangerous operation

Syntax vol.snap.restore snap=SNAP source=SNAP

Arguments source Name of an existing volume snapshot 

snap Name of an existing volume snapshot 

Example vol.snap.restore target=v1-s1 source=v1-s1-s1

Volume snapshot "v1-s1" restored from volume "v1-s1-s1"

3.3.12 vol.snap.secure_lock 
ROLE: Admin, Pool Admin

Descripti Locks a snapshot, temporarily preventing its deletion until the provided time, or extends an existing
on snapshot lock. 

Syntax vol.snap.secure_lock snap=SNAP lock_duration=DATEDURATION

Argumen snap Name of an existing volume snapshot 


ts

lock_duration A politive number followed by a unit, e.g.1M, 10DAYS

3.3.13 vol.snap.tree 
ROLE: All Roles

Descripti Display the snapshots tree. 


on

Syntax vol.snap.tree snap=SNAP [unit=CAPACITYUNIT]

Argume unit B, G (or GB), GiB, T (or TB), TiB or block


nts

snap Name of an existing volume snapshot 

Example vol.snap.tree snap=v1-s1

PROVISIONING COMMANDS  –  44


INFINISHELL COMMANDS REFERENCE 5.5.10 

NAME        TYPE     SIZE     USED  ALLOCATED  POOL  WP  CREATED AT 


v1-s1       SNAPSHOT 10.00 GB 0     0          p1    no  2016-04-11 10:00:00
|v1-s1-s1   SNAPSHOT 10.00 GB 0     0          p1    no  2016-04-11 10:00:00  

3.3.14 vol.snap.unassign_qos  
ROLE: Admin 

Description Unassign volume from policy. 

Syntax vol.snap.unassign_qos snap=SNAP[,SNAP,...]

Arguments snap Name of an existing volume snapshot (multiple values separated by commas) 

Example vol.snap.unassign_qos snap=v2-s1

Volume 'v2-s1' was unassigned from policy 'q1'

3.3.15 vol.snap.unmap  
ROLE: Admin, Pool Admin

Description Unmap volume snapshot from host or cluster. 

Syntax vol.snap.unmap snap=SNAP[,SNAP,...] [host=HOST] [cluster=CLUSTER]

Arguments cluster Name of an existing cluster

host Name of an existing host

snap Name of an existing volume snapshot (multiple values, separated by commas)

Example vol.snap.unmap snap=snap1

volume snapshot snap1 unmapped from LUN 12 in cluster cluster1

PROVISIONING COMMANDS  –  45


INFINISHELL COMMANDS REFERENCE 5.5.10 

3.3.16 vol.snap.write_enable  
ROLE: Admin, Pool Admin

Descriptio Enable write access on volume snapshot.


n

Syntax vol.snap.write_enable snap=SNAP [recursive=YESNO]

Arguments recursive Either yes or no

snap Name of an existing volume snapshot 

Example vol.snap.write_enable snap=v1-s1

Volume snapshot "v1-s1" is now write-enabled 

3.3.17 vol.snap.write_protect  
ROLE: Admin, Pool Admin

Description Disable write access on volume snapshot.

Syntax vol.snap.protect snap=SNAP [recursive=YESNO]

Arguments recursive Either yes or no

snap Name of an existing volume snapshot 

Example vol.snap.write_protect snap=v1-s1

Volume snapshot "v1-s1" is now write-protected 

3.4 Filesystem commands

3.4.1 fs.assign_qos  
ROLE: Admin 

Description Assign filesystem to policy.

PROVISIONING COMMANDS  –  46


INFINISHELL COMMANDS REFERENCE 5.5.10 

Syntax fs.assign_qos fs=FS[,FS,...] policy=QOSPOLICY

Arguments fs Name of an existing filesystem (multiple values separated by commas) 

policy QoS policy

Example fs.assign_qos fs=fs1 policy=q2

Filesystem 'fs1' was assigned to policy 'q2'

3.4.2 fs.cache  
ROLE: Admin, Pool Admin

Description Enable or disable SSD cache.

Set the optional parameter Recursive to Yes in order to apply the SSD cache settings to the entire
volume tree.

Syntax fs.cache fs=FS ssd_cache=YES|NO|Y|N [recursive=YES|NO|Y|N]

Arguments fs Name of an existing filesystem

ssd_cache Either yes or no 

recursive Either yes or no 

Example fs.cache name=fs1 ssd=yes recursive=yes

Filesystem fs1 and all descendants are SSD cache enabled

3.4.3 fs.create  
ROLE: Admin, Pool Admin

Description Create a new filesystem. 

Syntax fs.create name=NAME[,NAME,...] size=SIZE [snapshot_directory_name=NAME]


[snapshot_directory_accessible=YES|NO|Y|N] [pool=STANDARDPOOL] [thin=YES|NO|Y|N]
[ssd_cache=YES|NO|Y|N] [series=SERIES] [compression=YES|NO|Y|N]

Arguments pool Name of an existing standard pool

PROVISIONING COMMANDS  –  47


INFINISHELL COMMANDS REFERENCE 5.5.10 

snapshot_directory_accessible Either yes or no

snapshot_directory_name A maximum of 65 Latin characters, numbers, spaces, and


the following symbols: "^&'@()[]$=!-#{}%.+~_" (excluding
quotation marks). Leading and trailing whitespace
characters are stripped.

size A positive number (up to 2 digits beyond the decimal point),


optionally followed by a unit; e.g. 1TB, 1000000000000

name A maximum of 65 Latin characters, numbers, spaces, and


the following symbols: "^&'@()[]$=!-#{}%.+~_" (excluding
quotation marks). Leading and trailing whitespace
characters are stripped. (multiple values, separated by
commas)

series Either a range of numbers, e.g "3-7", or a single number, e.g


"5", which is the same as "1-5". Zero-padding the numbers
yields a zero-padded sequence. The series may contain at
most 100 items, and the index of the last item may not
exceed 10000000000

ssd_cache Either yes or no

thin Either yes or no

compression Either yes or no

Example Creating a single filesystem, providing a name and specifying its size and the pool it will created
in.

fs.create name=fs1 size=1g pool=pool1

Volume fs1 created

Example Creating a series of filesystems specifying their number. The filesystems will be numbered from
1 onward. Note that the name parameter serves as a prefix to the entire series.

fs.create name=fs- size=1g pool=pool1 series=10

Created 10 filessytems: fs-01 through fs-10

Example Creating a series of filesystems specifying the first and last ordinal numbers.

fs.create name=fs- size=1g pool=pool1 count=11-20

Created 10 filesystems: fs-11 through fs-20

Example Creating a filesystem and making its snapshot directory accessible

fs.create name=fs1 size=1g snapshot_directory_accessible=yes pool=p1

Filesystem "fs1" created

PROVISIONING COMMANDS  –  48


INFINISHELL COMMANDS REFERENCE 5.5.10 

3.4.4 fs.delete  
ROLE: Admin, Pool Admin

Description Delete filesystem.

This command succeeds only if the filesystem has no active exports. 

Syntax fs.delete fs=FS[,FS,...]

Arguments fs Name of an existing filesystem (multiple values, separated by commas)

Example fs.delete name=fs1

Filesystem fs1 deleted

3.4.5 fs.move  
ROLE: Admin, Pool Admin

Description Move filesystem to a different pool. 

Syntax fs.move fs=FS pool=STANDARDPOOL [move_capacity=YES|NO|Y|N]

Arguments move_capacity Either yes or no

pool Name of an existing standardpool

fs Name of an existing filesystem

Example Moving a filesystem with its capacity

fs.move name=fs1 pool=pool2 move_capacity=yes

Filesystem fs1 moved to pool pool2 without its capacity

Example Moving a filesystem without its capacity

fs.move name=fs1 pool=pool2

Filesystem fs1 moved to pool pool2

PROVISIONING COMMANDS  –  49


INFINISHELL COMMANDS REFERENCE 5.5.10 

3.4.6 fs.query 
ROLE: Admin, Pool Admin

READ ONLY

Description List existing filesystems.

Syntax fs.query [fs=FS[,FS,...]] [pool=POOL] [unit=NASCAPACITYUNIT] [has_exports=YES|NO|Y|N]


[write_protected=YES|NO|Y|N] [thin=YES|NO|Y|N] [compression_enabled=YES|NO|Y|N]
[ssd_enabled=YES|NO|Y|N]

Arguments compression_enabled Either yes or no

thin Either yes or no

write_protected Either yes or no

has_exports Either yes or no

unit B, G (or GB), GiB, T (or TB), TiB

pool Name of an existing pool

fs Name of an existing filesystem (multiple values, separated by commas)

ssd_enabled Either yes or no

Example fs.query name=fs1

NAME THIN SIZE USED ALLOCATED


COMPRESSION SNAPSHOTS POOL WP EXPORTED COMPRESSION
SAVINGS
fs1  yes  1.00 GB  327.68 KB 327.68 KB  1.00:0      0         p1   no yes      yes

Example Querying for filesystems that are assigned to a QoS policy

fs.query --columns=name,policy

NAME POLICY
FS1   Q2

Example Querying for the filesystem snapshot directory accessibility

fs.query pool=p1 --columns=name,snapshot_dir_accessible,snapshot_dir_name

NAME SNAPSHOT DIR ACCESSIBLE SNAPSHOT DIR NAME


fs1   yes                      .snapshot

PROVISIONING COMMANDS  –  50


INFINISHELL COMMANDS REFERENCE 5.5.10 

3.4.7 fs.reclaimable  
ROLE: Admin, Pool Admin

Description Estimate reclaimed capacity (deletion simulation).

You may simulate the deletion of the filesystem and its descendants. 

Syntax fs.reclaimable fs={FS|SNAP}

Arguments fs Name of an existing filesystem or snapshot

Example fs.reclaimable name=fs1

Estimated reclaimable space for filesystem fs1 and its tree descendants: 1.00 TB

3.4.8 fs.rename 
ROLE: Admin, Pool Admin

Description Rename filesystem.

Syntax fs.rename fs=FS new_name=NAME

Arguments new_name A maximum of 65 Latin characters, numbers, spaces, and the following symbols:
"^&'@()[]$=!-#{}%.+~_" (excluding quotation marks). Leading and trailing
whitespace characters are stripped.

fs Name of an existing filesystem 

Example fs.rename name=fs1 new_name=fs2

Filesystem fs1 renamed to fs2

3.4.9 fs.resize  
ROLE: Admin, Pool Admin

PROVISIONING COMMANDS  –  51


INFINISHELL COMMANDS REFERENCE 5.5.10 

Description Resize filesystem.

The filesystem can only be resized upwards. Its size cannot be decreased.

Syntax fs.resize fs=FS size=SIZEPOSITIVEDELTA

Arguments size A number (up to 2 digits beyond the decimal point), optionally followed by a unit;
e.g. 1TB, 1000000000000. When preceded by a plus sign, represents a delta; e.g.
3000000m (absolute size), +2000GB (positive delta)

fs Name of an existing filesystem 

Example fs.resize name=fs1 size=1GB

Filesystem fs1 resized

3.4.10 fs.restore 
ROLE: Admin, Pool Admin

Description This command restores a filesystem from one of its snapshots.

Syntax fs.restore fs=FS source=SNAP

Arguments source Name of an existing filesystem snapshot

fs Name of an existing filesystem 

Example fs.restore name=fs1 snap=fs1s1

Filesystem fs1 restored from snapshot fs1s1

3.4.11 fs.set_compression 
ROLE: Admin, Pool Admin

Description Set the filesystem to use compression.

Syntax fs.set_compression fs=FS compression=YES|NO|Y|N

Arguments compression Either yes or no

PROVISIONING COMMANDS  –  52


INFINISHELL COMMANDS REFERENCE 5.5.10 

fs Name of an existing filesystem

Example Enable compression on a filesystem

fs.set_compression name=fs1 enable=yes

Filesystem "fs1" Compression was enabled

Example Disable compression on a filesystem

fs.set_compression name=fs1 enable=no

Filesystem "fs1" Compression was disabled

3.4.12 fs.set_snapshot_directory_accessible 
ROLE: Admin, Pool Admin

Description Determines whether the snapshot directory is accessible.

Syntax fs.set_snapshot_directory_accessible fs=FS snapshot_directory_accessible=YES|NO|Y|N

Arguments snapshot_directory_accessible Either yes or no

fs Name of an existing filesystem 

Example fs.set_snapshot_directory_accessible fs=fs-1 snapshot_directory_accessible=yes

Filesystem "fs-1" set to allow access to snapshot directory

3.4.13 fs.set_thin  
ROLE: Admin, Pool Admin

Description Set filesystem provisioning type.

Syntax fs.set_thin fs=FS thin=YES|NO|Y|N

Arguments thin Either yes or no

fs Name of an existing filesystem 

PROVISIONING COMMANDS  –  53


INFINISHELL COMMANDS REFERENCE 5.5.10 

Example fs.set_thin name=fs1 thin=yes

Filesystem fs1 set to thin provisioning

3.4.14 fs.tree  
ROLE: Admin, Pool Admin
READ ONLY

Description Display hierarchy of filesystems along with their snapshots. 

Syntax fs.tree [fs=FS] [pool=STANDARDPOOL] [unit=NASCAPACITYUNIT]

Arguments unit B, G (or GB), GiB, T (or TB), TiB

pool Name of an existing standard pool

fs Name of an existing filesystem

Example fs.tree name=fs1

NAME TYPE SIZE USED ALLOCATED POOL WP CREATED AT


FS1      FILESYSTEM 1.00 TB 100 GB  1.00 TB   p1    no  2015-12-01 10:00:00
|-----s1 SNAP       0       0       0         p1    no  2015-12-02 10:00:00 

3.4.15 fs.unassign_qos 
ROLE: Admin 

Description Unassign fs from policy.

• Unassigning the filesystem does not unassign its snapshots, even if both filesystem
and snapshot are assigned to the same policy.
• This command allows for a multiple-entity selection.

Syntax fs.unassign_qos fs=FS[,FS,...]

Arguments fs Name of an existing filesystem (multiple values, separated by commas)

Example Unassigning a single filesystem

PROVISIONING COMMANDS  –  54


INFINISHELL COMMANDS REFERENCE 5.5.10 

fs.unassign_qos fs=fs1

Filesystem 'fs1' was unassigned from policy 'q2'

Example Unassigning multiple filesystems

fs.unassign_qos fs=fs1,fs2

2 filesystems were unassigned from their policies

3.4.16 fs.write_enable  
ROLE: Admin, Pool Admin

Description Enable write access on filesystem.

Syntax fs.write_enable fs=FS [recursive=YES|NO|Y|N]

Arguments recursive Either yes or no

fs Name of an existing filesystem 

Example fs.write_enable name=fs1 recursive=yes

Filesystem fs1 and all descendants write access enabled

3.4.17 fs.write_protect  
ROLE: Admin, Pool Admin

Description Disable write access on filesystem.

Syntax fs.write_protect fs=FS [recursive=YES|NO|Y|N]

Arguments recursive Either yes or no

fs Name of an existing filesystem 

Example fs.write_protect name=fs1 recursive=yes

Filesystem fs1 and all descendants write access disabled

PROVISIONING COMMANDS  –  55


INFINISHELL COMMANDS REFERENCE 5.5.10 

3.5 Filesystem Snapshot commands

3.5.1 fs.snap.assign_qos 
ROLE: Admin 

Description Assign filesystem to policy.

Syntax fs.snap.assign_qos SNAP=SNAP[,SNAP,...] policy=QOSPOLICY

Arguments fs Name of an existing filesystem snapshot (multiple values separated by commas) 

policy QoS policy

Example fs.snap.assign_qos snap=fs1-s1 policy=q2

Filesystem 'fs1-s1' was assigned to policy 'q2'

3.5.2 fs.snap.cache 
ROLE: Admin, Pool Admin

Description Enable or disable SSD cache.

Use the recursive argument in order to enable SSD for the snapshot and its descendants.

Syntax fs.snap.cache snap=SNAP ssd_cache=YESNO [recursive=YESNO]

Arguments recursive Either yes or no 

ssd_cache Either yes or no 

snap Name of an existing filesystem snapshot

Example fs.snap.cache name=fs1s1 ssd=yes 

Filesystem fs1s1 SSD cache enabled

PROVISIONING COMMANDS  –  56


INFINISHELL COMMANDS REFERENCE 5.5.10 

3.5.3 fs.snap.create 
ROLE: Admin, Pool Admin

Description Create a new filesystem snapshot.

Create a snapshot from a filesystem.

Syntax fs.snap.create fs={FS|SNAP} name=NAME [ssd_cache=YESNO] [lock_duration=DATEDURATION]


[snapshot_directory_accessible=YESNO]

Arguments snapshot_directory_accessible Either yes or no

lock_duration Name of an existing pool

sad_cache A positive number, followed by a unit; e.g. 1M, 10DAYS

name Either yes or no

fs Name of an existing filesystem or snapshot

Example fs.snap.create source=fs1 name=fs1s1

Filesystem snapshot fs1s1 created

Example Creating a filesystem snapshot and making the snapshot directory accessible

fs.snap.create fs=fs-1 name=fs-1-s-1 snapshot_directory_accessible=yes

Filesystem snapshot "fs-1-s-1" created

3.5.4 fs.snap.delete  
ROLE: Admin, Pool Admin

Description Delete filesystem snapshot. 

Syntax fs.snap.delete snap=SNAP[,SNAP,...]

Arguments snap Name of an existing filesystem snapshot (multiple values, separated by


commas)

Example fs.snap.delete name=fs1s1

PROVISIONING COMMANDS  –  57


INFINISHELL COMMANDS REFERENCE 5.5.10 

Filesystem snapshot fs1s1 deleted

3.5.5 fs.snap.query  
ROLE: Admin, Pool Admin

READ ONLY

Description List existing snapshots

This command lists either all filsystem snashots, or snapshots per specific filesystem. The source
parameter of this command is the filesystem whose snapshots are queried.

Syntax fs.snap.query [snap=SNAP[,SNAP,...]] [source={FS|SNAP}] [expiry_date_from=TIMESTAMP]


[expiry_date_to=TIMESTAMP] [pool=STANDARDPOOL] [unit=NASCAPACITYUNIT] [has_exports=YESNO]
[write_protected=YESNO] [lock=Lock type]

Arguments lock EXPIRED, LOCKED or UNLOCKED

write_protected Either yes or no

has_exports Either yes or no

unit B, G (or GB), GiB, T (or TB), TiB

pool Name of an existing standardpool

expiry_date_to EXPIRED, LOCKED or UNLOCKED

expiry_date_from EXPIRED, LOCKED or UNLOCKED

source Name of an existing filesystem or snapshot

snap Name of an existing filesystem snapshot (multiple values, separated by


commas)

Example fs.snap.query source=fs1 

NAME  THIN SIZE     USED      ALLOCATED  POOL  LOCKED STATE CREATED AT


fs1S1 yes  1.00 GB  327.68 KB 65.53 KB   pool1 LOCKED       2015-06-01 10:00:00
fs1S2 yes  1.00 GB  327.68 KB 65.53 KB   pool1 UNLOCKED     2015-06-01 10:00:00

Example Querying for filesystem snapshots that are assigned to a QoS policy

fs.snap.query --columns=name,policy

PROVISIONING COMMANDS  –  58


INFINISHELL COMMANDS REFERENCE 5.5.10 

NAME  POLICY
fs1         q1

Example Querying for filesystem snapshot accessibility

fs.snap.query --columns=name,snapshot_dir_accessible,snapshot_dir_name

NAME  SNAPSHOT DIR ACCESSIBLE  SNAPSHOT DIR NAME


fs1         yes                                                  .snapshot

Example Querying for the lock status of the snapshots

fs.snap.query --columns=name,lock_state,expiry_date

NAME  LOCK STATE  EXPIRY DATE


snap1 LOCKED      2018-11-01 10:00:00 
snap2 EXPIRED     2018-11-01 10:00:00 

3.5.6 fs.snap.refresh  
ROLE: Admin, Pool Admin

Description Refresh a snapshot.

This operation refreshes the snapshot with the filesystem's data, keeping the snapshot metadata as
is This operation is a dangerous operation

Syntax fs.snap.refresh snap=SNAP

Arguments snap Name of an existing filesystem snapshot 

Example fs.snap.refresh snap=fs1-s1

Filesystem snapshot "fs1-s1" refreshed

3.5.7 fs.snap.rename  
ROLE: Admin, Pool Admin 

Description Rename filesystem snapshot.

Syntax fs.snap.rename snap=SNAP new_name=NAME

PROVISIONING COMMANDS  –  59


INFINISHELL COMMANDS REFERENCE 5.5.10 

Arguments new_name A maximum of 65 Latin characters, numbers, spaces, and the following symbols:
"^&'@()[]$=!-#{}%.+~_" (excluding quotation marks). Leading and trailing whitespace
characters are stripped.

snap Name of an existing filesystem snapshot 

Example fs.snap.rename name=fs1s1 new_name=fs1s2

Filesystem snapshot fs1s1 renamed to fs1s2

3.5.8 fs.snap.resize  
ROLE: Admin, Pool Admin 

Description Resize filesystem snapshot.

• The snapshot size can only be increased


• The snapshot has to be write-enabled 

Syntax fs.snap.resize snap=SNAP size=SIZEPOSITIVEDELTA

Arguments size A number (up to 2 digits beyond the decimal point), optionally followed by a unit; e.g.
1TB, 1000000000000. When preceded by a plus sign, represents a delta; e.g.
3000000m (absolute size), +2000GB (positive delta)

snap Name of an existing filesystem snapshot 

Example Resizing the snapshot

fs.snap.resize snap=s1 size=100g

Filesystem snapshot "s1" resized

Example Running the command with an input that is identical to the snapshot current size does not fail
the command

fs.snap.resize snap=s1 size=100g

Filesystem snapshot "s1" size is already 100.00 GB

3.5.9 fs.snap.restore  
ROLE: Admin, Pool Admin 

PROVISIONING COMMANDS  –  60


INFINISHELL COMMANDS REFERENCE 5.5.10 

Description Restore a filesystem snapshot from one of its snapshots.

• The restored snapshot has to be in a write_enabled state


• This is a dangerous operation 

Syntax fs.snap.restore snap=SNAP source=SNAP

Arguments snap Name of an existing filesystem snapshot 

source Name of an existing filesystem snapshot 

Example fs.snap.restore target=fs1-s1 source=fs1-s1-s1

Filesystem snapshot "fs1-s1" restored from snapshot "fs1-s1-s1"

3.5.10 fs.snap.secure_lock 
ROLE: Admin, Pool Admin 

Description Locks a snapshot, temporarily preventing its deletion until the provided time, or extends an
existing snapshot lock. 

Syntax fs.snap.secure_lock snap=SNAP lock_duration=DATEDURATION

Arguments lock_duration A positive number, followed by a unit; e.g. 1M, 10DAYS

snap Name of an existing filesystem snapshot 

3.5.11 fs.snap.set_snapshot_directory_accessible  
ROLE: Admin, Pool Admin 

Description Determines whether the snapshot directory is accessible. 

Syntax fs.snap.set_snapshot_directory_accessible snap=SNAP snapshot_directory_accessible=YESNO

Arguments snapshot_directory_accessible Either yes or no

snap Name of an existing filesystem snapshot 

Example fs.snap.set_snapshot_directory_accessible snap=fs-1-s-1 snapshot_directory_accessible=yes

PROVISIONING COMMANDS  –  61


INFINISHELL COMMANDS REFERENCE 5.5.10 

Filesystem snapshot "fs-1-s-1" set to allow access to snapshot directory

3.5.12 fs.snap.tree 
ROLE: Admin, Pool Admin 
READ ONLY

Description Display hierarchy of snapshots and their snapshots.

Syntax fs.snap.tree snap=SNAP [unit=NASCAPACITYUNIT]

Arguments unit B, G (or GB), GiB, T (or TB), TiB

snap Name of an existing filesystem snapshot 

Example fs.snap.tree name=fs1s1

NAME          TYPE      SIZE


fs1s1         SNAPSHOT  0.002 TB
|----fs1s1s1  SNAPSHOT  0.002 TB

3.5.13 fs.snap.unassign_qos  
ROLE: Admin 

Description Unassign fs from policy. 

Syntax fs.snap.unassign_qos snap=SNAP[,SNAP,...]

Arguments snap Name of an existing filesystem snapshot (multiple values, separated by


commas)

Example fs.snap.unassign_qos snap=fs1-s1

Filesystem 'fs1-s1' was unassigned from policy 'q2'

3.5.14 fs.snap.write_enable 
ROLE: Admin, Pool Admin

PROVISIONING COMMANDS  –  62


INFINISHELL COMMANDS REFERENCE 5.5.10 

Description Enable write access on filesystem snapshot.

Syntax fs.snap.write_enable SNAP=SNAP [recursive=YESNO]

Arguments recursive Either yes or no

snap Name of an existing filesystem snapshot

Example fs.snap.write_enable fs=fs1-s1

Filesystem snapshot "fs1-s1" is now write-enabled

3.5.15 fs.snap.write_protect 
ROLE: Admin, Pool Admin

Description Disable write access on filesystem snapshot.

Syntax fs.snap.write_protect snap=SNAP [recursive=YESNO]

Arguments recursive Either yes or no

snap Name of an existing filesystem snapshot 

Example fs.snap.write_protect fs=fs1-s1

Filesystem snapshot "fs1-s1" is already write-protected

3.6 Filesystem Export commands

3.6.1 fs.export.create  
ROLE: Admin, Pool Admin

Description Create a new filesystem export.

The following parameters accept values up to 910241024*1024 byte: maximum_write_size,


maximum_read_size, preferred_write_size, preferred_readdir_size.

PROVISIONING COMMANDS  –  63


INFINISHELL COMMANDS REFERENCE 5.5.10 

Syntax fs.export.create fs={FS|SNAP} export_path=STR [internal_path=STR]


[copy_permissions_from=EXPORT] [squash_all_users=YESNO] [anonymous_gid=INT]
[anonymous_uid=INT] [maximum_write_size=SIZE] [maximum_read_size=SIZE]
[preferred_write_size=SIZE] [preferred_read_size=SIZE] [preferred_readdir_size=SIZE]
[privileged_port=YESNO] [snapshot_directory_visible=YESNO] [character_encoding=Character
Encoding]

Arguments fs Name of an existing filesystem or snapshot

maximum_write_size A positive number (up to 2 digits beyond the decimal point),


optionally followed by a unit; e.g. 1TB, 1000000000000

anonymous_uid An integer number

anonymous_gid An integer number

squash_all_users Either yes or no

copy_permission_from Name of an existing export

internal_path A positive number (up to 2 digits beyond the decimal point),


optionally followed by a unit; e.g. 1TB, 1000000000000

export_path Any sequence of characters

compression Either yes or no

maximum_read_size The character set of clients using the NFS export

character_encoding Either yes, or no

snapshot_directory_visible Either yes, or no

privileged_port A positive number (up to 2 digits beyond the decimal point),


optionally followed by a unit; e.g. 1TB, 1000000000000

preferred_readdir_size A positive number (up to 2 digits beyond the decimal point),


optionally followed by a unit; e.g. 1TB, 1000000000000

preferred_write_size A positive number (up to 2 digits beyond the decimal point),


optionally followed by a unit; e.g. 1TB, 1000000000000

Example fs.export.create fs=fs1 export_path=/fs/

Export /fs/ created

Example Setting the visibility of the snapshot directory to the export. By default, the directory is visible.

fs.export.create fs=fs-1 export_path=/no_visibility_settings

Export "/no_visibility_settings" created

PROVISIONING COMMANDS  –  64


INFINISHELL COMMANDS REFERENCE 5.5.10 

Example Setting the visibility of the snapshot directory to the export. In this example, the export is set
not to see the directory.

fs.export.create fs=fs-1 export_path=/invisible snapshot_directory_visible=no

Export "/invisible" created

3.6.2 fs.export.delete  
ROLE: Admin, Pool Admin

Description Delete filesystem export. 

Syntax fs.export.delete export_path=EXPORT[,EXPORT,...]

Arguments export_path Name of an existing export (multiple values, separated by commas)

Example fs.export.delete export_path=/fs/

Export /fs/ deleted

3.6.3 fs.export.disable  
ROLE: Admin, Pool Admin

Description Disable filesystem export.

Syntax fs.export.disable export_path=EXPORT

Arguments export_path Name of an existing export 

Example fs.export.disable export_path=/fs/

Export /fs/ disabled

3.6.4 fs.export.enable  
ROLE: Admin, Pool Admin

PROVISIONING COMMANDS  –  65


INFINISHELL COMMANDS REFERENCE 5.5.10 

Description Enable filesystem export.

Syntax fs.export.enable export_path=EXPORT

Arguments export_path Name of an existing export 

Example fs.export.enable export_path=/fs/

Export /fs/ enabled

3.6.5 fs.export.modify  
ROLE: Admin, Pool Admin

Description Modify existing filesystem export.

The following parameters accept values up to 910241024*1024 byte: maximum_write_size,


maximum_read_size, preferred_write_size, preferred_readdir_size.  

Syntax fs.export.modify export_path=EXPORT [copy_permissions_from=EXPORT]


[squash_all_users=YESNO] [anonymous_gid=INT] [anonymous_uid=INT]
[maximum_write_size=SIZE] [maximum_read_size=SIZE] [preferred_write_size=SIZE]
[preferred_read_size=SIZE] [preferred_readdir_size=SIZE] [privileged_port=YESNO]
[snapshot_directory_visible=YESNO]

Arguments export_path Name of an existing filesystem or snapshot

maximum_read_size A positive number (up to 2 digits beyond the decimal point),


optionally followed by a unit; e.g. 1TB, 1000000000000

maximum_write_size A positive number (up to 2 digits beyond the decimal point),


optionally followed by a unit; e.g. 1TB, 1000000000000

anonymous_uid An integer number

anonymous_gid An integer number

squash_all_users Either yes or no

copy_permission_from Name of an existing export

preferred_write_size A positive number (up to 2 digits beyond the decimal point),


optionally followed by a unit; e.g. 1TB, 1000000000000

snapshot_directory_visible Either yes, or no

privileged_port Either yes or no

PROVISIONING COMMANDS  –  66


INFINISHELL COMMANDS REFERENCE 5.5.10 

preferred_readdir_size A positive number (up to 2 digits beyond the decimal point),


optionally followed by a unit; e.g. 1TB, 1000000000000

preferred_write_size A positive number (up to 2 digits beyond the decimal point),


optionally followed by a unit; e.g. 1TB, 1000000000000

Example fs.export.modify export_path=/fs/ copy_permissions_from=/fs1/

Export /fs/ modified

3.6.6 fs.export.query  
ROLE: All Roles 

Description List existing filesystem exports.

Syntax fs.export.query [export_path=EXPORT[,EXPORT,...]] [internal_path=STR[,STR,...]]


[fs={FS|SNAP}[,{FS|SNAP},...]]

Arguments internal_path Any sequence of characters (multiple values, separated by commas)

export_path Name of an existing export (multiple values, separated by commas)

fs Name of an existing filesystem or snapshot (multiple values, separated by


commas)

Example Running the command for a filesystem.

fs.export.query name=FS1010

EXPORT PATH INTERNAL PATH FILESYSTEM TYPE ENABLED PERMISSIONS


/export/FS1010_a  /              FS1010      FILESYSTEM  yes     1
/export/FS1010_b  /              FS1010      FILESYSTEM  yes     1  

Example Running the command for the same fielsystem, with detailed output.

fs.export.query name=FS1010 --detailed

PROVISIONING COMMANDS  –  67


INFINISHELL COMMANDS REFERENCE 5.5.10 

EXPORT PATH                     /export/FS1010_a


Internal Path                   /
Filesystem                      FS1010
Type                            Filesystem
Enabled                         yes
Anongid                         65534
Anonuid                         65534
Squash All Users                no 
Max Wsize                       1048576
Max Rsize                       1048576
Pref Wsize                      65536
Pref Rsize                      65536 
Pref Readdir Size               32768
Privileged Ports Only           no
32Bit File ID                   no
Snapshot Directory Visible      yes

EXPORT PATH                     /export/FS1010_b


Internal Path                   /
Filesystem                      FS1010
Type                            Filesystem
Enabled                         yes
Anongid                         65534
Anonuid                         65534
Squash All Users                no 
Max Wsize                       1048576
Max Rsize                       1048576
Pref Wsize                      65536
Pref Rsize                      65536 
Pref Readdir Size               32768
Privileged Ports Only           no
32Bit File ID                   no
Snapshot Directory Visible      yes

3.7 Filesystem Export Permission commands

3.7.1 fs.export.permission.add  
ROLE: Admin, Pool Admin

Description Grant a host with permissions to access an existing filesystem export.

The client can be either a host that is defined in the system, or an IP address. 

Syntax fs.export.permission.add export_path=EXPORT client=CLIENT access=EXPORTACCESSLEVEL


[no_root_squash=YESNO]

Arguments no_root_squash Either yes or no 

access RO or RW

client A full wildcard (i.e: *), IP address or IP range (e.g 10.0.0.1-10.0.0.10)

export_path Name of an existing export

PROVISIONING COMMANDS  –  68


INFINISHELL COMMANDS REFERENCE 5.5.10 

Example fs.export.permission.add export_path=/fs/ client=172.16.66.172 access=READ_WRITE

READ_WRITE access granted to client 172.16.66.172 on /fs/

3.7.2 fs.export.permission.modify  
ROLE: Admin, Pool Admin

Description Add a new permission to an existing filesystem export.

This command changes the access rights of an existing client. This command does not allow to
change the client. To add a client, use the fs.export.permissions.add command. 

Syntax fs.export.permission.modify export_path=EXPORT client=CLIENT


[access=EXPORTACCESSLEVEL] [no_root_squash=YESNO]

Arguments no_root_squash Either yes or no 

access RO or RW

client A full wildcard (i.e: *), IP address or IP range (e.g 10.0.0.1-10.0.0.10)

export_path Name of an existing export

Example fs.export.permission.modify export_path=/fs/ client=172.16.66.172 access=READ_ONLY

READ_ONLY access granted to client 172.16.66.172 on /fs/

3.7.3 fs.export.permission.query  
ROLE: All Roles

Description List permissions for existing filesystem exports. 

Syntax fs.export.permission.query [export_path=EXPORT[,EXPORT,...]] [fs={FS|SNAP}[,{FS|


SNAP},...]] [client=CLIENT[,CLIENT,...]]
[access=EXPORTACCESSLEVEL[,EXPORTACCESSLEVEL,...]] [no_root_squash=YESNO]

Arguments access RO or RW (multiple values, separated by commas) 

client A full wildcard (i.e: *), IP address or IP range (e.g 10.0.0.1-10.0.0.10)

PROVISIONING COMMANDS  –  69


INFINISHELL COMMANDS REFERENCE 5.5.10 

fs Name of an existing filesystem or snapshot (multiple values, separated by


commas)

export_path Name of an existing export (multiple values, separated by commas)

no_root_squash Either yes or no

Example fs.export.permission.query export_path=/fs/

EXPORT PATH   CLIENT          ACCESS LEVEL 


/fs/          172.16.66.172   READ_WRITE
/fs/          172.16.66.173   READ_ONLY

3.7.4 fs.export.permission.remove  
ROLE: Admin, Pool Admin

Description Remove a permission from an existing filesystem export.

Enter pairs of export path and client. 

Syntax fs.export.permission.remove export_path=EXPORT client=CLIENT

Arguments client A full wildcard (i.e: *), IP address or IP range (e.g 10.0.0.1-10.0.0.10)

export_path Name of an existing export

Example fs.export.permission.remove export_path=/fs/ client=172.16.66.172

READ_WRITE access revoked from client 172.16.66.172 on /fs/

3.8 Consistency Group commands


Consistency group commands allow to group datasets together and take snapshots for all of the
members at the same point-in-time.

3.8.1 cg.add_member 
ROLE: Admin, Pool Admin

PROVISIONING COMMANDS  –  70


INFINISHELL COMMANDS REFERENCE 5.5.10 

Description Add a member to a consistency group.

This command adds a member to a consistency group.

• A snapshot group that is taken after the member addition will include a snapshot for
this new member
• Any snapshot group that was taken prior to the member addition does not include a
snapshot for this new member, thus is considered inconsistent with the consistency
group
Replicated consistency group

• Adding a non-replicating volume to a replicating consistency group breaks its


replication consistency.
• In such a case, the consistency group replica on the target will be considered
consistent as of the next sync job.
• Adding a dataset other than volume is impossible.

Syntax cg.add_member cg=CG member=VOL[,VOL,...] [target=REMOTEENTITY[,REMOTEENTITY,...]]


[new_target_name=NAME[,NAME,...]]

Arguments cg Name of an existing consistency group

member Name of an existing volume (multiple values, separated by commas)

target Name of a remote entity (auto-completion unavailable) (multiple


values, separated by commas)

new_target_name A maximum of 65 Latin characters, numbers, spaces, and the


following symbols: "^&'@()[]$=!-#{}%.+~_" (excluding quotation
marks). Leading and trailing whitespace characters are stripped.
(multiple values, separated by commas)

Example In this example, a single volume is added to a consistency group.

cg.add_member name=cg1 members=vol1

Volume vol1 added to consistency group cg1

Example In this example, three volumes are added to a consistency group.

cg.add_member name=cg1 members=vol1,vol2,vol3

3 members added to consistency group cg1

3.8.2 cg.create  
ROLE: Admin, Pool Admin

PROVISIONING COMMANDS  –  71


INFINISHELL COMMANDS REFERENCE 5.5.10 

Description Create a new consistency group. 

Syntax cg.create name=NAME [pool=STANDARDPOOL]

Arguments name A maximum of 65 Latin characters, numbers, spaces, and the following symbols:
"^&'@()[]$=!-#{}%.+~_" (excluding quotation marks). Leading and trailing
whitespace characters are stripped. 

pool Name of an standard pool.

Example cg.create name=cg1

Consistency group cg1 created

3.8.3 cg.delete  
ROLE: Admin, Pool Admin

Description Delete a consistency group.

Syntax cg.delete cg=CG[,CG,...] [delete_members=YESNO]

Arguments cg Name of an existing consistency group (multiple values, separated by commas)

delete_members Either yes or no 

Example cg.delete name=cg1 

Consistency group cg1 deleted 

3.8.4 cg.member_query  
ROLE: All Roles

Description List all cg members. 

Syntax cg.member_query [cg=CG[,CG,...]]

Arguments cg Name of an existing consistency group (multiple values, separated by commas)

PROVISIONING COMMANDS  –  72


INFINISHELL COMMANDS REFERENCE 5.5.10 

Example cg.member_query name=cg1

NAME SIZE USED ALLOCATED MAPPED


vol-01  10.00 TB  9.83 TB  9.83 TB    yes
vol-02  10.00 TB  9.83 TB  9.83 TB    yes
vol-03  10.00 TB  9.83 TB  9.83 TB    yes

3.8.5 cg.move  
ROLE: Admin, Pool Admin 

Description Move a consistency group to a different pool.

Move a consistency group from one pool or another with or without its members. See the examples
below. The association of the members with a pool can be verified using the vol.query command. 

Syntax cg.move cg=CG pool=STANDARDPOOL [move_capacity={YES|NO|Y|N}]

Arguments cg Name of an existing consistency group

move_capacity Either yes or no

pool Name of an existing standard pool 

Example In this example, the consistency group - and its volumes - move to another pool without their
capacity. 

cg.move name=cg1 pool=pool2

Consistency group cg1 moved to pool pool2 without its capacity

Example In this example, the consistency group - and its volumes - move to another pool with their
capacity.

cg.move name=cg1 pool=pool1 move_capacity=yes

Consistency group cg1 moved to pool pool1 along with its capacity

Example This example is similar to the first. In this example, the consistency group - and its volumes -
move to another pool without their capacity.

cg.move name=cg1 pool=pool2 move_capacity=no

Consistency group cg1 moved to pool pool2 without its capacity

PROVISIONING COMMANDS  –  73


INFINISHELL COMMANDS REFERENCE 5.5.10 

3.8.6 cg.query  
ROLE: All Roles

Description List existing consistency groups.

Query consistency groups by name, the pool they belong to, or dataset members.

Syntax cg.query [cg=CG[,CG,...]] [pool=STANDARDPOOL] [member=VOL]

Arguments cg Name of an existing consistency group (multiple values, separated by


commas)

member Name of an existing member

pool Name of an existing standard pool 

Example cg.query

NAME   POOL   MEMBERS   REPLICATED 


cq1    pool1  1         yes
cq2    pool2  2         no

3.8.7 cg.remove_member  
ROLE: Admin, Pool Admin

PROVISIONING COMMANDS  –  74


INFINISHELL COMMANDS REFERENCE 5.5.10 

Description Remove a member from a consistency group.

This command removes a member from a consistency group.

• A snapshot group that is taken after the member removal will not include a snapshot for
the removed member
• Any snapshot group that was taken prior to the member removal is no longer consistent
with the consistency group
Removing a member of a replicating consistency group can be done as follows:

• Using the create_new_replica flag removes the source member from the source


consistency group, removes the target member from the target consistency group and
keeps them replicating independently
• Using retain_staging_area (available for asynchronous replica only) - removes the members
from their consistency groups and exposes their snapshots
• The created snapshot has the following prefix auto-reclaim
• Using the force flag - removes the member only from the source consistency group
• The removed member is no longer replicated
• The target member remains on the target consistency group and has to be
removed manually from the target side
The command is a dangerous operation and requires an approval.  

Syntax cg.remove_member cg=CG member=VOL [retain_staging_area=YES|NO|Y|N}] [force=YES|NO|Y|N}]


[create_new_replica=YES|NO|Y|N}] [force_keep_serial=YES|NO|Y|N}]

Arguments create_new_replica  Either yes or no

force  Either yes or no

retain_staging_area Either yes or no

member  Name of an existing volume

cg Name of an existing consistency group

force_keep_serial Either yes or no

Example In this example, a single volume is removed from a consistency group.

cg.remove_member name=cg1 members=vol1

Volume vol1 removed from consistency group cg1

Example In this example, three volumes were removed from a consistency group.

cg.remove_member name=cg1 members=vol1,vol2,vol3

3 members removed from consistency group cg1

PROVISIONING COMMANDS  –  75


INFINISHELL COMMANDS REFERENCE 5.5.10 

Example Removing a member using the force flag

cg.remove_member cg=cg1 member=vol1 force=yes

Volume "vol1" removed from consistency group "cg1", and its staging area discarded

Example Removing a member using the create_new_replica flag

cg.remove_member cg=cg1 member=vol1 create_new_replica=yes

Volume "vol1" removed from consistency group "cg1", and its staging area discarded

Example Removing a member using the retain_staging_area flag

cg.remove_member cg=cg1 member=vol1 retain_staging_area=yes

Volume "vol1" removed from consistency group "cg1", and its staging area retained

3.8.8 cg.rename  
ROLE: Admin, Pool Admin

Description Rename a consistency group.

Syntax cg.rename cg=CG new_name=NAME

Arguments new_name A maximum of 65 Latin characters, numbers, spaces, and the following
symbols: "^&'@()[]$=!-#{}%.+~_" (excluding quotation marks). Leading and
trailing whitespace characters are stripped.

cg Name of an existing consistency group 

Example cg.rename name=cg1 new_name=cg2

Consistency group cg1 renamed to cg2

3.8.9 cg.restore  
ROLE: Admin, Pool Admin

Description Restore a consistency group from one of its snapshot groups.

PROVISIONING COMMANDS  –  76


INFINISHELL COMMANDS REFERENCE 5.5.10 

Syntax cg.restore cg=CG source=SG

Arguments source Name of an existing snapshot group

cg Name of an existing consistency group 

Example cg.restore name=cg1 source=sg1

Consistency group cg1 restored from snapshot group sg1

3.9 Snapshot Group commands


Snapshot Groups commands allow to create a group of snapshot per consistency group. The members
of the snapshot group are snapshots, taken one per each memeber of the consistency group.

3.9.1 cg.snap.create  
ROLE: Admin, Pool Admin

Description Create a snapshot of a consistency group.

The snapshot group includes a snapshot group entity and individual snapshots for each of the
datasets of the consistency gorup.

• Provide the name of the consistency group, a name for the new snapshot group, and
either a prefix or a suffix for the individual snapshots.
• As the maximum length of a consistency group is 65 characters, the length of the
prefix, or suffix, has to take into consideration the length of the longest consistency
group member.

Syntax cg.snap.create cg=CG name=NAME [snap_prefix=NAME] [snap_suffix=NAME]


[lock_duration=DATEDURATION]

Arguments snap_suffix A maximum of 65 Latin characters, numbers, spaces, and the following
symbols: "^&'@()[]$=!-#{}%.+~_" (excluding quotation marks). Leading and
trailing whitespace characters are stripped.

snap_prefix A maximum of 65 Latin characters, numbers, spaces, and the following


symbols: "^&'@()[]$=!-#{}%.+~_" (excluding quotation marks). Leading and
trailing whitespace characters are stripped.

name A maximum of 65 Latin characters, numbers, spaces, and the following


symbols: "^&'@()[]$=!-#{}%.+~_" (excluding quotation marks). Leading and
trailing whitespace characters are stripped.

cg Name of an existing consistency group

lock_duration A positive number, followed by a unit; e.g. 1M, 10DAYS

PROVISIONING COMMANDS  –  77


INFINISHELL COMMANDS REFERENCE 5.5.10 

Example cg.snap.create sg=sg1 source=cg1 snap_suffix=pre-initialization

Snapshot group sg1 created

3.9.2 cg.snap.delete 
ROLE: Admin, Pool Admin

Description Delete a snapshot group.

This command deletes a snapshot group with or without its members. An approval is required for this
operation.

• This is a dangerous operation that requires a specific user approval.   

Syntax cg.snap.delete sg=SG[,SG,...] [delete_members=YESNO]

Arguments delete_members Either yes or no

sg Name of an existing snapshot group (multiple values, separated by commas)

Example In this example, a snapshot group is deleted and its snapshots remain.

cg.snap.delete sg=sg1 

Snapshot group sg1 deleted 

Example In this example, a snapshot group is deleted and its snapshots are deleted as well. 

cg.snap.delete sg=sg1 delete_members=yes 

Snapshot group sg1 deleted 

3.9.3 cg.snap.member_query   
ROLE: All Roles 

Description List all members of a snapshot group. 

Syntax cg.snap.member_query [sg=SG[,SG,...]] 

Arguments sg Name of an existing snapshot group (multiple values, separated by commas) 

PROVISIONING COMMANDS  –  78


INFINISHELL COMMANDS REFERENCE 5.5.10 

Example cg.snap.member_query sg=sg1

NAME DATASET TYPE THIN SIZE


snap-1  SNAPSHOT      yes   1.00 GB
snap-2  SNAPSHOT      yes   1.00 GB
snap-3  SNAPSHOT      yes   1.00 GB

3.9.4 cg.snap.query  
ROLE: All Roles 

Description List existing snapshot groups.

Syntax cg.snap.query [sg=SG[,SG,...]] [source=CG] [expiry_date_from=TIMESTAMP]


[expiry_date_to=TIMESTAMP] [pool=STANDARDPOOL] [member=SNAP] [lock=Lock type] 

Arguments sg Name of an existing snapshot group (multiple values, separated by


commas) 

lock EXPIRED, LOCKED or UNLOCKED

member Name of an existing volume snapshot

pool Name of an existing standard pool

expiry_date_to A timestamp, e.g: '2011-04-13', '2011-04-13 18:30:12'

expiry_date_from A timestamp, e.g: '2011-04-13', '2011-04-13 18:30:12'

source Name of an existing consistency group

Example cg.snap.query

NAME    POOL   MEMBERS 


sg-1    pool1  1
sq-2    pool2  2 

3.9.5 cg.snap.refresh  
ROLE: Admin, Pool Admin 

PROVISIONING COMMANDS  –  79


INFINISHELL COMMANDS REFERENCE 5.5.10 

Description This command refreshes all of the members of a snapshot group from the members of the
consistency group.

• This command is a dangerous operation.

Syntax cg.snap.refresh sg=SG 

Arguments sg Name of an existing snapshot group 

Example cg.snap.refresh sg=cg1-sg1 

Snapshot group "cg1-sg1" refreshed 

3.9.6 cg.snap.rename  
ROLE: Admin, Pool Admin 

Description Rename a snapshot group. 

Syntax cg.snap.rename sg=SG new_name=NAME 

Arguments new_name A maximum of 65 Latin characters, numbers, spaces, and the following
symbols: "^&'@()[]$=!-#{}%.+~_" (excluding quotation marks). Leading and
trailing whitespace characters are stripped.

sg Name of an existing snapshot group 

Example cg.snap.rename sg=sg1 new_name=sg2

Snapshot group sg1 renamed to sg2

3.9.7 cg.snap.secure_lock 
ROLE: Admin, Pool Admin 

PROVISIONING COMMANDS  –  80


INFINISHELL COMMANDS REFERENCE 5.5.10 

Description Locks a snapshot group, temporarily preventing its deletion until the provided time.

The lock duration can be set either upon the snapshot creation or through running this command.

This is a dangerous operation. The lock, or extend, operation has to be acknowledged.

Available duration units:

• Day
• Week
• Month
• Year
The lock duration cannot be reduced.

Syntax cg.snap.secure_lock sg=SG lock_duration=DATEDURATION 

Arguments lock_duration A positive number, followed by a unit; e.g. 1M, 10DAYS

sg Name of an existing snapshot group 

Example cg.snap.lock sg=cg1s1 lock_duration=1d 

Snapshot group "cg1s1" is locked until '2018-09-16 10:00:00' 

3.10 Host commands


The following host commands allow you to create a host, to map a volume or a snapshot to a host and
to query the mapping, to add a port to a host and to query the ports by host.

3.10.1 host.add_port  
ROLE: Admin, Pool Admin

Description Add port to host.

Syntax host.add_port host=HOST port=[(WWN|IQN0,(WWN|IQN)...] [type=FC|ISCSI] 

Arguments type iSCSI or FC

port Logged in initiator (multiple values, separated by commas)

host Name of an existing host

Example host.add_port name=host1 port=1000000c9c06f340 

FFC port 1000000c9c06f340 added to host host1 

PROVISIONING COMMANDS  –  81


INFINISHELL COMMANDS REFERENCE 5.5.10 

3.10.2 host.clear_chap  
ROLE: Admin, Pool Admin

Description Clears CHAP settings.

• This command clears the CHAP username and secret from both initiator and target
• This command clears the CHAP authentication type and sets the host CHAP to NONE 

Syntax host.clear_chap host=HOST 

Arguments host Name of an existing host

Example host.clear_chap host=h1 

Host "h1" CHAP settings cleared 

3.10.3 host.create 
ROLE: Admin, Pool Admin

Description Create a new host.

Syntax host.create name=NAME [host_type={DEFAULT|ESXI|HPUX}] 

Arguments host_type DEFAULT, ESXI or HPUX

port A maximum of 65 Latin characters, numbers, spaces, and the following symbols:
"^&'@()[]$=!-#{}%.+~_" (excluding quotation marks). Leading and trailing
whitespace characters are stripped. 

Example host.create name=host1 

Host host1 created 

3.10.4 host.delete  
ROLE: Admin, Pool Admin

PROVISIONING COMMANDS  –  82


INFINISHELL COMMANDS REFERENCE 5.5.10 

Description Delete host. 

Syntax host.delete host=HOST 

Arguments host Name of an existing host

Example host.delete name=host1 

Host host1 deleted 

3.10.5 host.initiator_query 
ROLE: Admin, Pool Admin

Description List logged-in initiators which are not assigned to any host in the system.

• Run the command with no parameter to return both FC and ISCSI initiators
• Run the command using the protocol parameter in order to filter out the query
results. 

Syntax host.initiator_query [{ISCSI|FC}] 

Arguments protocol iSCSI or FC

Example Query for FC initiators 

host.initiator_query protocol=FC 

WWPN               PROTOCOL
21000024ff3cee01   FC
21000024ff3cf0cc   FC 

Example Query for ISCSI initiators 

host.initiator_query protocol=ISCSI 

WWPN                                   PROTOCOL
iqn.1994-05.com.infinidat:iscsi-man03  iSCSI
iqn.1994-05.com.infinidat:iscsi-man02  iSCSI
iqn.1994-05.com.infinidat:iscsi-man04  iSCSI
iqn.1994-05.com.infinidat:iscsi-man01  iSCSI 

PROVISIONING COMMANDS  –  83


INFINISHELL COMMANDS REFERENCE 5.5.10 

3.10.6 host.map  
ROLE: Admin, Pool Admin

Description Map a volume or a snapshot to a host. 

Syntax host.map host=HOST [vol=VOL[,VOL,...]] [snap=SNAP[,SNAP,...]] [lun=LUN] 

Arguments lun SCSI logical unit number (LUN) 

snap  Name of an existing volume snapshot (multiple values, separated by


commas) 

vol  Name of an existing volume (multiple values, separated by commas) 

host  Name of an existing host 

Example host.map name=host1 vol=vol1 

Volume vol1 mapped to LUN LUN1 in host host1 

3.10.7 host.map_query 
ROLE: All Roles

Description List existing mappings for hosts (clustered hosts included).

Syntax host.map_query [host=HOST] [map_type={HOST|CLUSTER}]

Arguments map_type CLUSTER or HOST 

host Name of an existing host

Example host.map_query 

HOST VOLUME LUN ID MAPPING TYPE


h1    vol1   1      HOST
h2    vol2   11     CLUSTER

PROVISIONING COMMANDS  –  84


INFINISHELL COMMANDS REFERENCE 5.5.10 

3.10.8 host.port_query  
ROLE: All Roles 

Description List ports of existing hosts.

Hosts with no ports are not listed.

Syntax host.port_query [host=HOST] [port=SCSIADDRESS] 

Arguments port A WWN or IQN address. A WWN address consists of a 16-digit hexadecimal number,
optionally delimited by colons to 8 groups of two digits each. An IQN address begins
with the string "iqn.", optionally followed by a domain registration date, followed by
an organizational naming authority, and optionally followed by a colon and a
custom string of choosing, e.g "iqn.2001-04.com.example:diskarrays-sn-a8675309".

host  Name of an existing host 

Example An output example for an FC host 

host.port_query name=host1 

HOST  TYPE PORT             LOGGED IN


host1 FC   1000000c9c06f340 yes 

Example An output example of an iSCSI host

host.port_query 

HOST       TYPE  PORT                                 LOGGED IN


interop006 ISCSI iqn.1991-05.com.microsoft:interop006 yes 
interop008 ISCSI iqn.1991-05.com.microsoft:interop008 no

3.10.9 host.query  
ROLE: All Roles 

Description List existing hosts. 

Syntax host.query [host=HOST[,HOST,...]] [cluster=CLUSTER[,CLUSTER,...]] [auth_type={NONE|CHAP|


MUTUAL_CHAR},{NONE|CHAP|MUTUAL_CHAR}...]] [host_type={DEFAULT|ESXI|HPUX}] 

Arguments host_type  DEFAULT, ESXI or HPUX

auth_type  Authentication method required of host when connecting through iSCSI: NONE,
CHAP or MUTUAL_CHAP (multiple values, separated by commas)

PROVISIONING COMMANDS  –  85


INFINISHELL COMMANDS REFERENCE 5.5.10 

cluster  Name of an existing cluster (multiple values, separated by commas)

host  Name of an existing host (multiple values, separated by commas)

Example Running the command for with no parameters

host.query  

NAME        CLUSTER    LUNS  FC PORTS ISCSI IQNS AUTH TYPE  CREATED AT 
iscsi-man01 -          3     0        1          NONE       2016-05-10 10:00:00
iscsi-man02 -          3     0        1          NONE       2016-05-10 10:00:00

Example Running the command in detailed mode 

host.query name=iscsi-man01 --detailed 

Name                 iscsi-man01
Cluster              -
LUNs                 3
Allocated Capacity   32.98 TB
FC Ports             0
iSCSI IQNs           1
Auth Type            NONE
CHAP Target User     -
CHAP Initiator User  - 
Created At           2016-07-25 10:00:00
Updated AT           2016-07-25 10:00:00

3.10.10 host.remove_port  
ROLE: Admin, Pool Admin

Description Remove port from host. 

Syntax host.remove_port host=HOST port=[(WWN|IQN),(WWN|IQN)...]  [type=(FC|ISCSI)]

Arguments host  Name of an existing host 

type iSCSI or FC 

port A WWN or IQN address. A WWN address consists of a 16-digit hexadecimal


number, optionally delimited by colons to 8 groups of two digits each. An IQN
address begins with the string "iqn.", optionally followed by a domain
registration date, followed by an organizational naming authority, and optionally
followed by a colon and a custom string of choosing, e.g "iqn.
2001-04.com.example:diskarrays-sn-a8675309". (multiple values, separated by
commas) 

PROVISIONING COMMANDS  –  86


INFINISHELL COMMANDS REFERENCE 5.5.10 

Example host.remove_port name=host1 port=1000000c9c06f340 

FC port 1000000c9c06f340 removed from host host1 

3.10.11 host.rename  
ROLE: Admin, Pool Admin

Description Rename host.

Syntax host.rename host=HOST new_name=NAME 

Arguments new_name A maximum of 65 Latin characters, numbers, spaces, and the following symbols:
"^&'@()[]$=!-#{}%.+~_" (excluding quotation marks). Leading and trailing
whitespace characters are stripped. 

host Name of an existing host 

Example host.rename name=host1 new_name=host2 

Host host1 renamed to host2 

3.10.12 host.set_auth_type  
ROLE: Admin, Pool Admin

Description Set iSCSI host authentication method.

• Inbound secret - the key with which the host authenticates with InfiniBox
• Outbound secret - the key with which InfiniBox authenticates with the host
Available authentication types:

• CHAP - the host has to authenticate with InfiniBox


• MUTUAL_CHAP - both host and InfiniBox have to authenticate to each other
• NONE - no authentication is required 

Syntax host.set_auth_type host=HOST type=METHOD 

Arguments type Authentication method required of host when connecting through iSCSI: NONE,
CHAP or MUTUAL_CHAP 

host  Name of an existing host 

PROVISIONING COMMANDS  –  87


INFINISHELL COMMANDS REFERENCE 5.5.10 

Example Setting the authentication method of an iSCSI host to CHAP

host.set_auth_type name=h1 type=chap

Host "h1" iSCSI authentication type set to CHAP, auto-generated inbound secret:
'MVqaQWmB572mB0xzeito'

Example Setting the authentication method of an iSCSI host to MUTUAL_CHAP

host.set_auth_type name=h1 type=MUTUAL_CHAP

Host "h1" iSCSI authentication type set to MUTUAL_CHAP, auto-generated inbound secret:
'cbAl0V2yk6mhLEyV3PAt', auto-generated outbound secret: 'yYqXkGNzxR8CZIjQpjii'

Example Removing an existing authentication requirement

host.set_auth_type name=h1 type=NONE

Host "h1" iSCSI authentication type set to NONE

3.10.13 host.set_chap  
ROLE: Admin, Pool Admin

Description Set iSCSI host CHAP usernames and secrets.

Syntax host.set_chap host=HOST [inbound_user=STR] [inbound_secret=STR] [outbound_user=STR]


[outbound_secret=STR]  

Arguments host Name of an existing host 

outbound_secret  Any sequence of characters

outbound_user Any sequence of characters

inbound_secret Any sequence of characters

inbound_user Any sequence of characters

Example Setting the host authentication without details 

host.set_chap name=h1 

Host "h1" CHAP settings updated 

Example Setting the inbound name and secret 

PROVISIONING COMMANDS  –  88


INFINISHELL COMMANDS REFERENCE 5.5.10 

host.set_chap name=h1 inbound_user=admin inbound_secret=cbA10V2yk6mhLEyV3PAe 

Host "h1" CHAP settings updated 

3.10.14 host.set_host_type  
ROLE: Admin, Pool Admin

Description Set host type. 

Syntax host.set_host_type host=HOST host_type=[DEFAULT|ESXI|HPUX]

Arguments host  Name of an existing host  

host_type  DEFAULT, ESXI or HPUX

3.10.15 host.set_path_optimized_state 
ROLE: Admin, Pool Admin

Description Set ALUA optimized state for LUNS mapped to a host. 

Syntax host.set_path_optimized_state host=HOST optimized=YESNO 

Arguments optimized Either yes or no

host  Name of an existing host  

3.10.16 host.unmap  
ROLE: Admin, Pool Admin

Description Unmap a volume or a snapshot from a host. 

Syntax host.unmap host=HOST [vol=VOL[,VOL,...]] [snap=SNAP[,SNAP,...]] [lun=LUN[,LUN,...]] 

PROVISIONING COMMANDS  –  89


INFINISHELL COMMANDS REFERENCE 5.5.10 

Arguments snap Name of an existing volume snapshot (multiple values, separated by


commas) 

vol Name of an existing volume (multiple values, separated by commas) 

host  Name of an existing host 

lun  SCSI logical unit number (LUN) (multiple values, separated by commas)

Example host.unmap name=host1 vol=vol1 

Volume vol1 unmapped from LUN LUN1 in host host1 

3.11 Cluster commands


The following cluster commands allow you to create a cluster, to add a host to a cluster and to query
the hosts by cluster, to map a volume, snapshot or clone to the host and to query the mapping.

3.11.1 cluster.add_host  
ROLE: Admin, Pool Admin

Description Add host to cluster.

Syntax cluster.add_host cluster=CLUSTER host=HOST[,HOST,...] 

Arguments host Name of an existing host (multiple values, separated by commas) 

cluster  Name of an existing cluster  

Example cluster.add_host name=cluster1 host=host1 

Host host1 added to cluster cluster1 

3.11.2 cluster.create 
ROLE: Admin, Pool Admin

Description Create a new cluster. 

Syntax cluster.create name=NAME [cluster_type=cluster type] 

PROVISIONING COMMANDS  –  90


INFINISHELL COMMANDS REFERENCE 5.5.10 

Arguments cluster_type

name  A maximum of 65 Latin characters, numbers, spaces, and the following


symbols: "^&'@()[]$=!-#{}%.+~_" (excluding quotation marks). Leading and
trailing whitespace characters are stripped.  

Example cluster.create name=cluster1 

Cluster cluster1 created 

3.11.3 cluster.delete   
ROLE: Admin, Pool Admin

Description Delete cluster.

Syntax cluster.delete cluster=CLUSTER 

Arguments cluster  Name of an existing cluster 

Example cluster.delete name=cluster1 

Cluster cluster1 deleted 

3.11.4 cluster.host_query  
ROLE: All Roles

Description List existing clusters with member hosts. 

Syntax cluster.host_query [cluster=CLUSTER[,CLUSTER,...]] [host=HOST[,HOST,...]] 

Arguments host  Name of an existing host (multiple values, separated by commas)

cluster  Name of an existing cluster (multiple values, separated by commas)

Example cluster.host_query name=cluster1 

NAME     HOST
cluster1 host1

PROVISIONING COMMANDS  –  91


INFINISHELL COMMANDS REFERENCE 5.5.10 

3.11.5 cluster.map 
ROLE: Admin, Pool Admin

Description Map a volume or a snapshot to a cluster. 

Syntax cluster.map cluster=CLUSTER [vol=VOL[,VOL,...]] [snap=SNAP[,SNAP,...]] [lun=LUN]

Arguments lun  SCSI logical unit number (LUN) 

vol  Name of an existing volume (multiple values, separated by commas)

cluster  Name of an existing cluster

snap  Name of an existing volume snapshot (multiple values, separated by


commas)

Example cluster.map name=cluster1 vol=vol1 

Volume vol1 mapped to LUN LUN1 in cluster cluster1 

3.11.6 cluster.map_query 
ROLE: All Roles 

Description List existing cluster mappings. 

Syntax cluster.map_query [cluster=CLUSTER] [cluster_type=cluster type] 

Arguments cluster_type

name  Name of an existing cluster  

Example cluster.map_query 

Cluster  VOLUME  LUN


cluster1 vol1   11

PROVISIONING COMMANDS  –  92


INFINISHELL COMMANDS REFERENCE 5.5.10 

3.11.7 cluster.query  
ROLE: All Roles 

Description List existing clusters.

This command displays the number of hosts and LUNs for each cluster, along with the cluster
creation date and the last time it was modified.

Syntax cluster.query [cluster=CLUSTER[,CLUSTER,...]] 

Arguments cluster  Name of an existing cluster (multiple values, separated by commas)

Example cluster.query 

NAME      HOSTS LUNS CREATED AT           UPDATED AT


cluster1  2     2    2014-01-01 10:00:00  2014-01-01 10:00:00

3.11.8 cluster.remove_host  
ROLE: Admin, Pool Admin

Description Remove host from cluster.  

Syntax cluster.remove_host cluster=CLUSTER host=HOST[,HOST,...]

Arguments cluster Name of an existing cluster

host  Name of an existing host (multiple values, separated by commas)

Example cluster.remove_host name=cluster1 host=host1

Host host1 removed from cluster cluster1 

3.11.9 cluster.rename  
ROLE: Admin, Pool Admin

Description Rename cluster.  

PROVISIONING COMMANDS  –  93


INFINISHELL COMMANDS REFERENCE 5.5.10 

Syntax cluster.rename cluster=CLUSTER new_name=NAME 

Arguments new_name A maximum of 65 Latin characters, numbers, spaces, and the following
symbols: "^&'@()[]$=!-#{}%.+~_" (excluding quotation marks). Leading and
trailing whitespace characters are stripped. 

cluster  Name of an existing cluster 

Example cluster.rename name=cluster1 new_name=cluster2 

Cluster cluster1 renamed to cluster2 

3.11.10 cluster.unmap  
ROLE: Admin, Pool Admin

Description Unmap a volume or a snapshot from a cluster. 

Syntax cluster.unmap cluster=CLUSTER [vol=VOL[,VOL,...]] [snap=SNAP[,SNAP,...]] [lun=LUN] 

Arguments lun  SCSI logical unit number (LUN) 

snap  Name of an existing volume snapshot (multiple values, separated by


commas)

vol  Name of an existing volume (multiple values, separated by commas)

cluster  Name of an existing cluster 

Example cluster.unmap name=cluster1 vol=vol1 

Volume vol1 unmapped from cluster cluster 

3.12 Map commands


The map.query command lists all host and cluster mappings of the InfiniBox volumes and snapshots.

3.12.1 map.query  
ROLE: All Roles

PROVISIONING COMMANDS  –  94


INFINISHELL COMMANDS REFERENCE 5.5.10 

Description List existing host and cluster mappings.

You can view results for hosts only by using the host.map_query command.  

Syntax map.query 

Example map.query 

MAPPED TO  MAPPING TYPE  LUN  VOLUME  SIZE


cluster1   CLUSTER       11   v1      1.00 TB
host1      HOST          1    v2      1.00 TB

3.13 Event commands


Controls the way InfiniBox events are displayed.

3.13.1 event.codes  
ROLE: All Roles 

Description List all event codes.

Filter the list by code, level or reporter. State the code to list only the event codes without their details.
State the level and select among critical, error, warning and info. State the reporter and select among
block, custom, file, management, platform and RMR. Run the command without parameters to get a full
list of all events.

Syntax event.codes [code=CODE[,CODE,...]] [level=LEVEL[,LEVEL,...]]


[reporter=REPORTER[,REPORTER,...]]

Arguments reporter Event reporter (multiple values, separated by commas) 

level Event severity level (multiple values, separated by commas) 

code  Event code (multiple values, separated by commas) 

Example Listing event codes that contain a specific string. The string can be part of either the code or the
description

event.codes level=WARNING

CODE                   LEVEL    REPORTER DESCRIPTION 


ACTIVATION_PAUSED      WARNING  MGMT     System activation paused due to configuration
tunable
AUTHENTICATION_FAILURE WARNING  MGMT     Authentication attempt of user '{username}' from
                                         IP:'{client_ip}' failed, please verify the
                                         credentials

Example Listing event codes using the grep operatoListing event codes using the grep operator 

PROVISIONING COMMANDS  –  95


INFINISHELL COMMANDS REFERENCE 5.5.10 

event.codes --grep=snapshot 

CODE                        LEVEL REPORTER DESCRIPTION 


FILESYSTEM_SNAPSHOT_CREATED INFO  MGMT     Filesystem snapshot '{FS_Snapshot_Name}' was   
                                               created for filesystem '{fs_name}'

Example Listing event codes using the grep operator, for a string that includes a space

event.codes --grep='consistency group'

CODE                        LEVEL REPORTER DESCRIPTION 


CG_CREATED  INFO  MGMT  Created consistency group '{cg_name}'
CG_DELETED  INFO  MGMT  Deleted consistency group '{cg_name}'

3.13.2 vent.create  
ROLE: Admin 

Description Create a new custom event. 


Set the level and text of the event you create. Then, run the event.query command to see the event
ID. Then, use the event ID to run the event.details command.

Syntax event.create level=LEVEL description=STR 

Arguments description Any sequence of characters  


 

level  Event severity level  

Example event.create level=INFO description='free text' 

Event created 

3.13.3 event.delete 
ROLE: Admin 

Description Set the event retention timestamp. 

Syntax event.delete retention=TIMESTAMP 

Arguments retention  A timestamp, e.g: '2011-04-13', '2011-04-13 18:30:12' 

PROVISIONING COMMANDS  –  96


INFINISHELL COMMANDS REFERENCE 5.5.10 

3.13.4 event.details  
ROLE: Admin, Pool Admin

Description Display an individual event. 

Syntax event.details seq=INT 

Arguments seq An integer number 

Example event.details seq=553   

Affected Entity ID       0


CODE                     CUSTOM_INFO_EVENT
Description              General
Seq                      553
Level                    INFO
Reporter                 CUSTOM
Source Node ID           1
System Version           1.5.0.7
Timestamp                2014-01-01 10:00:00
Username                 ADMIN 

3.13.5 event.levels  
ROLE: All Roles 

Description List all event levels. 

Syntax event.levels 

Example event.levels 

CRITICAL
ERROR
INFO
WARNING

3.13.6 event.query  
ROLE: Admin, Pool Admin
READ ONLY

PROVISIONING COMMANDS  –  97


INFINISHELL COMMANDS REFERENCE 5.5.10 

Description Display hierarchy of filesystems along with their snapshots. 

Syntax fs.tree [fs=FS] [pool=POOL] [unit=NASCAPACITYUNIT]

Arguments exclude  Event code (multiple values, separated by commas) 

code  Event code (multiple values, separated by commas)

to_seq  An integer number

from_seq  An integer number

to  A timestamp, e.g: '2011-04-13', '2011-04-13 18:30:12'

from  A timestamp, e.g: '2011-04-13', '2011-04-13 18:30:12'

level  Event severity level (multiple values, separated by commas)

reporter  Event reporter (multiple values, separated by commas)

username  INTERNAL, or name of an existing user (multiple values, separated by commas) 

Example event.query from_id=549 to_id=553

TIMESTAMP  ID  LEVEL REPORTER CODE                            USERNAME DESCRIPTION


2014-05-19 553 INFO  CUSTOM   CUSTOM_INFO_EVENT               admin    GENERAL
08:40:00
2014-05-19 552 INFO  MGMT     CONFIGURATION_PARAMETER_UPDATED admin    System
configuration      08:30:00                                                             
 parameter with category                                                                 
         MGMT and key                                                                     
                 environment.dns_servers                                                 
                         changed to 192.168.8.20
2014-05-19 551 INFO  MGMT     NOTIFICATION_TARGET_UPDATED     admin    SYSLOG notification
target
08:20:00                                                               target0 updated   
        2014-05-19 550 INFO  MGMT     NOTIFICATION_TARGET_CREATED     admin    SNMP
notification target 08:10:00                                                             
 created 
2014-05-19 549 INFO  mgmt     USER_LOGIN_SUCCESS            admin      User admin
successfully  08:00:00                                                             
 logged in from IP
                                                                       '172.16.4.30'
 

3.13.7 event.reporters 
ROLE: All Roles

PROVISIONING COMMANDS  –  98


INFINISHELL COMMANDS REFERENCE 5.5.10 

Description List all event reporters.

Syntax event.reporters 

Example event.reporters  

REPORTER
BLOCK
CUSTOM
FILE
MGMT
PLATFORM
RMR

3.13.8 event.watch  
ROLE: All Roles

Description Monitor system events in real time.

Displays the latest events. The display is refreshed at a rate determined by the Interval parameter.
Use the Code and Exclude parameters to determine which events are displayed on the watch. Use
Control+C to return to the prompt. 

Syntax event.watch [interval=TIMEDELTA] [code=CODE[,CODE,...]] [exclude=CODE[,CODE,...]]


[level=LEVEL[,LEVEL,...]] [reporter=REPORTER[,REPORTER,...]] [username=USER[,USER,...]]
[show_polling=YESNO] [tail_length=TAILLENGTH]  

Arguments code  Event code (multiple values, separated by commas) 

interval  A time delta, e.g: '02:02', '05:11:06'

exclude Event code (multiple values, separated by commas)

level Event severity level (multiple values, separated by commas)

reporter Event reporter (multiple values, separated by commas)

username INTERNAL, or name of an existing user (multiple values, separated by


commas)

show_polling Either yes, or no

tail_length An integer number between 1 and 50 (inclusive) 

Example event.watch level=WARNING

PROVISIONING COMMANDS  –  99


INFINISHELL COMMANDS REFERENCE 5.5.10 

See the documentation of the event.query command. 

Example Setting the event watch length 

event.watch tail_length=10 

See the documentation of the event.query command.

3.14 Event Rule commands


Controls the way events are sent from the InfiniBox to the user.

3.14.1 event.rule.create  
ROLE: Admin,

Description Create a new event notification rule. 

Syntax event.rule.create name=NAME [level=LEVEL[,LEVEL,...]] [include=CODE[,CODE,...]]


[exclude=CODE[,CODE,...]] [email=LOCALEMAIL[,LOCALEMAIL,...]] [snmp=SNMPTARGET]
[syslog=SYSLOGTARGET]fs.set_compression fs=FS compression=YESNO

Arguments name A maximum of 65 Latin characters, numbers, spaces, and the following
symbols: "^&'@()[]$=!-#{}%.+~_" (excluding quotation marks). Leading and
trailing whitespace characters are stripped.

include Event code (multiple values, separated by commas) 

level Event severity level (multiple values, separated by commas)

syslog Name of an existing syslog notification target

snmp Name of an existing snmp notification target

email a valid email address (multiple values, separated by commas)

exclude Event code (multiple values, separated by commas)

Example event.rule.create name=rule1include=VOLUME_CREATE,VOLUME_DELETE email=infinibox@infinid


at.com

Event rule rule1 created 

PROVISIONING COMMANDS  –  100


INFINISHELL COMMANDS REFERENCE 5.5.10 

3.14.2 event.rule.delete  
ROLE: Admin 

Description Delete event notification rule.  

Syntax event.rule.delete rule=EVENTRULE 

Arguments rule Name of an existing event rule 

Example event.rule.delete name=rule1 

Event rule rule1 deleted 

3.14.3 event.rule.modify  
ROLE: Admin,

Description Modify existing event notification rule.

Syntax event.rule.modify rule=EVENTRULE [level=LEVEL[,LEVEL,...]] [include=CODE[,CODE,...]]


[exclude=CODE[,CODE,...]] [email=LOCALEMAIL[,LOCALEMAIL,...]] [snmp=SNMPTARGET]
[syslog=SYSLOGTARGET] 

Arguments rule  Name of an existing event rule

snmp  Name of an existing snmp notification target

email  a valid email address (multiple values, separated by commas)

exclude  NONE, or event code (multiple values, separated by commas)

include  NONE, or event code (multiple values, separated by commas)

level  NONE, or event severity level (multiple values, separated by commas)

syslog  Name of an existing syslog notification target

Example event.rule.modify name=rule1 include=VOLUME_RESIZE 

Event rule rule1 updated 

PROVISIONING COMMANDS  –  101


INFINISHELL COMMANDS REFERENCE 5.5.10 

3.14.4 event.rule.query 
ROLE: All Roles  

Description List existing event rules. 

Syntax event.rule.query [rule=EVENTRULE] 

Arguments rule Name of an existing event rule 

Example event.rule.query name=rule1

Name       rule1 
Target     SMTP 
Server     customer-smtp
Recipients [email protected] 
Level      INFO 
Include    VOLUME_CREATE
Exclude    -
Name       rule2 
Target     SNMP 
Server     snmpv3 
Recipients - 
Level      WARNING 
Include    VOLUME_DELETE
Exclude    -

3.14.5 event.rule.rename  
ROLE: Admin 

Description Rename existing event notification rule. 

Syntax event.rule.rename rule=EVENTRULE new_name=NAME 

Arguments new_name A maximum of 65 Latin characters, numbers, spaces, and the following symbols:
"^&'@()[]$=!-#{}%.+~_" (excluding quotation marks). Leading and trailing
whitespace characters are stripped.

rule  Name of an existing event rule 

Example event.rule.rename name=rule1 new_name=rule2 

Event rule rule1 renamed rule2 

PROVISIONING COMMANDS  –  102


INFINISHELL COMMANDS REFERENCE 5.5.10 

3.15 Metadata commands


The meta-data commands allow you to add meta-data to the InfiniBox entities and view meta-data that
arrives from entities that were created by the hosts. See examples along the commands
documentation.

NOTE: By default, objects do not have associated metadata. The metadata must be set first.

3.15.1 metadata.clear  
ROLE: Admin, Pool Admin

Description Clear all metadata keys from object. 

Syntax metadata.clear objtype=OBJTYPE [object=NAME] 

Arguments object  A maximum of 65 Latin characters, numbers, spaces, and the following symbols:
"^&'@()[]$=!-#{}%.+~_" (excluding quotation marks). Leading and trailing
whitespace characters are stripped. 

objtype  vol, vol-snap, fs, fs-snap, pool, host, cluster or system 

Example metadata.clear 

All meta-data cleared 

3.15.2 metadata.get   
ROLE: Admin, Pool Admin

Description Get metadata from object.

The object type is taken from a predefined list that can be obtained as you type. The object can be
obtained from running a query for the specific object type. For example, if you are looking for the
metadata of a specific host, query for a host first, and then use host as the object type, and the
name of the desired host as an object.

Syntax metadata.get objtype=OBJTYPE [object=NAME] [key=STR] 

Arguments key  Any sequence of characters 

object  A maximum of 65 Latin characters, numbers, spaces, and the following


symbols: "^&'@()[]$=!-#{}%.+~_" (excluding quotation marks). Leading and
trailing whitespace characters are stripped. 

PROVISIONING COMMANDS  –  103


INFINISHELL COMMANDS REFERENCE 5.5.10 

objtype  vol, vol-snap, fs, fs-snap, pool, host, cluster or system 

Example metadata.get objtype=host object=io004 

KEY                VALUE  
hostname           io004.lab.il.infinidat.com 
platform           Linux-3.10.0-123.20.1.el7.x86_64-x86_64-with-centos-               
           7.0.1406-Core
powertools_version 1.13.3 
system             Linux

3.15.3 metadata.remove  
ROLE: Admin, Pool Admin

Description Remove a single metadata key from object.

See the documentation of metadata.get above. 

Syntax metadata.remove objtype=OBJTYPE key=NAME [object=STR]  

Arguments object   Any sequence of characters  

key   A maximum of 65 Latin characters, numbers, spaces, and the following


symbols: "^&'@()[]$=!-#{}%.+~_" (excluding quotation marks). Leading and
trailing whitespace characters are stripped. 

objtype  vol, vol-snap, fs, fs-snap, pool, host, cluster or system 

Example metadata.remove objtype=host object=io004 key=platform  

Meta-data removed 

3.15.4 metadata.set  
ROLE: Admin, Pool Admin

Description Set metadata on object.

You can set one key at a time. setting a value to an already existing key overrides the previous string.

Syntax metadata.set objtype=OBJTYPE key=STR value=STR [object=NAME] 

PROVISIONING COMMANDS  –  104


INFINISHELL COMMANDS REFERENCE 5.5.10 

Arguments objtype  vol, vol-snap, fs, fs-snap, pool, host, cluster or system 

object A maximum of 65 Latin characters, numbers, spaces, and the following symbols:
"^&'@()[]$=!-#{}%.+~_" (excluding quotation marks). Leading and trailing
whitespace characters are stripped.

value  Any sequence of characters

key  Any sequence of characters

Example metadata.set objtype=host object=io004 key=platform


value=Linux-3.10.0-123.20.1.el7.x86_64-x86_64-with-centos-7.0.1406-Core 

Meta-data set 

3.16 System commands


System commands

3.16.1 system.boot_progress 
ROLE: All Roles

Description Display the system boot progress.  

Syntax system.boot_progress 

Example system.boot_progress 

System state: ACTIVE (System is active)  

3.16.2 system.fips_best_practice_check  
ROLE: All Roles

Description Checks the compliance with FIPS best practices. 

Syntax system.fips_best_practice_check 

Example system.fips_best_practice_check 

PROVISIONING COMMANDS  –  105


INFINISHELL COMMANDS REFERENCE 5.5.10 

HTTPS Redirection OK (enabled) Certificate Strength OK (2048 bits) Encryption ERROR


(disabled) Local Users Disabled ERROR (5 enabled) Local Users Password Hash OK (all
SHA256) LDAP Connections Are Secured OK (enabled) 

3.16.3 system.info 
ROLE: All Roles 

Description Display general system information.  

Syntax system.info 

Example Running the command using the grep operator 

system.info --grep=replica 

Replicas  2

Example Running the command with no operators 

system.info  

Name                              ibox3000
Serial                            3000
Product ID                        INFINIBOX
Model Name                        F6100
Version                           2.2.0.9
Uptime                            185:38:48 hours
Operational State                 ACTIVE
WWNN                              57:42:b0:f0:00:0b:bb:00
SSD cache drives                  0
Total Physical Capacity           1383.28 TB
Free Physical Capacity            210.91 TB
Pools Physical Capacity           409.97 TB
Pools Allocated Physical Capacity 17.84 TB
Total Virtual Capacity            1383.30 TB
Free Virtual Capacity             418.78 TB
Pools Virtual Capacity            18.93 TB
Pools Allocated Virtual Capacity  17.84 TB
Compression Savings               2.55 : 1
Pools                             131
Volumes                           15452 (31005 snapshots)   
Filesystems                       9863 (20110 snapshots)
Consistency Groups                2 (3 snap-groups)
Replicas                          5                
Exports                           1052
Hosts                             33 
Inactive Drives                   0 
Rebuild 1 in progress             no
Rebuild 2 in progress             no      

 Example Querying for BBU information 

PROVISIONING COMMANDS  –  106


INFINISHELL COMMANDS REFERENCE 5.5.10 

system.info --grep=bbu 

BBU CHARGE PERCENT BBU 1: 100%, BBU 2: 100%, BBU 3: 100%


Node BBU Protection  Node 1: protected, Node 2: protected, Node 3: protected

3.16.4 system.show_metrics 
ROLE: All Roles 

Description System overall traffic

This command displays the overall system traffic, broken down to NAS and SAN. For detailed
traffic metrics, look for metrics.* commands.

Syntax system.show_metrics [interval=Metrics Interval] [count=POSITIVE]  

Arguments court  A positive integer number, greater than zero 

interval Metrics refresh interval. Max value is 60 

Example system.show_metrics 

TYPE OPERATIONS THROUGHPUT    LATENCY 


NAS  35,438      523 MB/Sec   1.7 MS
SAN  15,023      1,233 MB/Sec 1.2 MS 

3.16.5 system.shutdown 
ROLE: Admin

Descriptio Initiate system shutdown process.


n

Syntax system.shutdown

Example system.shutdown

Output Warning: You are about to shutdown the system. This will stop all IO services to hosted volumes. To avoid
potential loss of data, please make sure that no application is accessing the system's volumes. Are you sure
you wish to continue? y/n

3.16.6 system.upgrade  
ROLE: Admin

PROVISIONING COMMANDS  –  107


INFINISHELL COMMANDS REFERENCE 5.5.10 

Description Upload an upgrade package. 

Syntax system.upgrade filename=STR 

Arguments filename Any sequence of characters 

Example system.upgrade filename=upgrade-file-name 

3.17 System Service commands

3.17.1 system.service.query 
ROLE: Admin 

Description Delete filesystem.

report the state of InfiniBox services. 

Syntax system.service.query [services=SERVICE[,SERVICE,...]] 

Arguments services Name of an existing service (multiple values, separated by commas) 

Example system.service.query 

SERVICE     STATE  
core        ACTIVE
iscsi       ACTIVE
management  ACTIVE
nas         ACTIVE
replication ACTIVE 

3.18 Replica commands

3.18.1 replica.change_role  
ROLE: Admin, Pool Admin 

Description Change the replica role on the local system only.

Changes the role of the local replica from source to target, or from target to source. When using this
command in a failover scenario you have to run this command twice, once on the source and once on
the target. 

Syntax replica.change_role local_dataset=LOCAL ENTITY [dataset_type=CGORDATASET] 

PROVISIONING COMMANDS  –  108


INFINISHELL COMMANDS REFERENCE 5.5.10 

Arguments dataset_type CG, VOLUME or FILESYSTEM 

local_dataset dataset or consistency group with SYNC or ASYNC (not concurrent)


replication  

Example replica.change_role dataset=vol1 

Replica rep1 role is now TARGET, and its staging area was discarded 

3.18.2 replica.change_type 
ROLE: Admin, Pool Admin

Description Change replica type

This command changes the type of the replica from synchronous to asynchronous and from
asynchronous to synchronous.

• This operation requires an approval

Changing the type of the replica from asynchronous to synchronous


The source system will initiate a sync job. Until the sync job is finished, the sync state will be
SYNC_IN_PROGRESS

Changing the type of the replica from synchronous to asynchronous:


The RPO and Interval parameters are mandatory 

Syntax replica.change_type local_dataset=LOCAL ENTITY


new_replica_type=REPLICATYPEEXCLUDEACTIVEACTIVE [dataset_type=CGORVOLUME]
[rpo=TIMEDELTA] [interval=TIMEDELTA] 

Arguments dataset_type  CG or VOLUME 

new_replica_type  ASYNC or SYNC 

local_dataset  dataset or consistency group with SYNC or ASYNC (not


concurrent) replication 

rpo  A time delta, e.g: '02:02', '05:11:06' 

interval  A time delta, e.g: '02:02', '05:11:06' 

Example Changing the type of the replica from asynchronous to synchronous (this operation requires an
approval)  

replica.change_type local_dataset=v1 new_replica_type=sync -y 

PROVISIONING COMMANDS  –  109


INFINISHELL COMMANDS REFERENCE 5.5.10 

Replica for volume "v1" type changed to SYNC 

Example Changing the type of the replica from synchronous to asynchronous (this operation requires an
approval)  

replica.change_type local_dataset=v1 new_replica_type=ASYNC interval=60 RPO=300 -y 

Replica for volume "v1" type changed to ASYNC 

3.18.3 replica.create  
ROLE: Admin, Pool Admin

Description Create a new replica.

This command creates a new replica.

• Set the replica type - either SYNC or ASYNC


• Set the remote system
• Set the local entity (volume, consistency group, or filesystem)
• Set the local entity type
• Set an existing remote entity
• Otherwise, set the remote pool
• Optionally set the name of the remote entity that will be created
• Optionally set a suffix for the target consistency group members
• For ASYNC replica - set the interval and RPO in seconds, both values have to be
between 4 seconds and 24 hours.
A note on name uniqueness:

• Two replicated entities (of any entity types) should not have the same name.  

Syntax replica.create system=SYSTEM source=NONREPLICATEDORACTIVEACTIVEENTITY


remote_pool=REMOTEENTITY replication_type=REPLICATYPE
[active_active_preferred=ACTIVEACTIVEPREFERRED] [interval=TIMEDELTA] [rpo=TIMEDELTA]
[dataset_type=CGORDATASET] [new_target_name=NAME] [new_datasets_suffix=NAME] 

Arguments new_datasets_suffix  A maximum of 65 Latin characters, numbers, spaces,


and the following symbols: "^&'@()[]$=!-#{}%.
+~_" (excluding quotation marks). Leading and trailing
whitespace characters are stripped.  

rpo  A time delta, e.g: '02:02', '05:11:06'  

interval   A time delta, e.g: '02:02', '05:11:06'  

active_active_preferred  LOCAL or REMOTE  

replication_type  ASYNC, SYNC or ACTIVE_ACTIVE  

PROVISIONING COMMANDS  –  110


INFINISHELL COMMANDS REFERENCE 5.5.10 

remote_pool   Name of a remote entity (auto-completion unavailable) 

source   Name of an existing dataset or consistency group


without replication or dataset with active-active
replication  

system  Name of an existing replication link

dataset_type  CG, VOLUME or FILESYSTEM 

new_target_name  A maximum of 65 Latin characters, numbers, spaces,


and the following symbols: "^&'@()[]$=!-#{}%.
+~_" (excluding quotation marks). Leading and trailing
whitespace characters are stripped. 

Example Create an ASYNC replica for a volume. 

replica.create system=localsystem source=vol-1 interval=60 rpo=120 

Replica for volume vol-1 created 

Example Create a replica with no interval. When a replica is created with no Interval, a sync job can be
created only manually.  

replica.create system=localsystem source=vol-2 interval=NONE  

Replica for volume vol-2 created  

Example Create a replica with no RPO. When a replica is created with no RPO, the InfiniBox system does
not manage the RPO states, nor create events for the transition from RPO OK to RPO lagging
and back.  

replica.create system=localsystem source=vol-3 rpo=NONE  

CReplica for volume vol-3 created 

Example Create a replica for a consistency group. The interval and RPO are set to 1 minute each.  

replica.create system=localsystem source=cg-1 interval=60 rpo=60 

Replica for consistency group cg-1 created 

Example  Create a synchronous replica

replica.create system=ibox628 remote_pool=p1 source=vol1000 replication_type=sync

Replica for volume vol1000 created

PROVISIONING COMMANDS  –  111


INFINISHELL COMMANDS REFERENCE 5.5.10 

3.18.4 replica.delete  
ROLE: Admin, Pool Admin 

Description Delete a replica.

Delete a replica by indicating the source dataset. The replica is deleted on both source and target.

• For ASYNC replica: indicate whether to keep the staging area.


• Use the FORCE flag to delete only the local replica (for example, in a case of link
down)  

Syntax replica.delete local_dataset=LOCAL ENTITY [dataset_type=CGORDATASET]


[remote_system=SYSTEM] [retain_staging_area=YESNO] [force=YESNO]
[force_keep_serial=YESNO]  

Arguments force  Either yes, or no 

retain_staging_area  Either yes, or no 

remote_system Name of an existing replication link

dataset_type CG, VOLUME or FILESYSTEM

local_dataset dataset or consistency group with replication

force_keep_serial Either yes, or no 

Example replica.delete dataset=vol1 retain_staging_area=yes  

Replica replica1 deleted 

3.18.5 replica.query 
ROLE: All Roles 

Description List existing replicas.

Use the local_dataset parameter in order to filter the output by the replicated dataset(s). The query
can be filtered by:

• replication_type
• state

PROVISIONING COMMANDS  –  112


INFINISHELL COMMANDS REFERENCE 5.5.10 

Syntax replica.query [replication_type=REPLICATYPE] [unit=REPLICACAPACITYUNIT] [system=SYSTEM]


[local_dataset=LOCAL ENTITY[,LOCAL ENTITY,...]] [role={SOURCE|TARGET}] [state={ACTIVE|
UNKNOWN|AUTO_SUSPENDED|SUSPENDED}] [infinisync_protected=YES|NO|Y|N] [type={CG|VOLUME|
FILESYSTEM}] [sync_state={SYNCHRONIZED|OUT_OF_SYNC|SYNCH_STALLED}]
[concurrent_replica=YES|NO|Y|N] 

Arguments system   Name of an existing replication link  

unit   KiB, MiB, GiB, TiB 

replication_type   ASYNC, SYNC or ACTIVE_ACTIVE  

local_dataset  dataset or consistency group with replication (multiple values,


separated by commas) 

role  ASYNC, SYNC or ACTIVE_ACTIVE  

state  SOURCE or TARGET 

infinisync_protected Either yes or no 

type  CG, VOLUME or FILESYSTEM  

sync_state   Replication sync state  

concurrent_replica  Either yes or no   

Example Querying replicas - synchronous example 

replica.query replication_type=sync 

LOCAL      TYPE   ROLE   REMOTE   REMOTE     STATE  SYNC         LATENCY


DATASET                  SYSTEM   DATASET           STATE 
vol_90b000 VOLUME SOURCE ibox3000 vol_dbad75 ACTIVE SYNCHRONIZED 0.0 MS
vol_c9be33 VOLUME SOURCE ibox3000 vol_45f609 ACTIVE SYNCHRONIZED 0.0 MS

Example Querying replicas - asynchronous example 

replica.query replication_type=async  

LOCAL   TYPE ROLE   REMOTE   REMOTE      STATE  JOB   PROGRESS STATE  RPO   RESTORE
DATASET             SYSTEM   DATASET            STATE                 STATE POINT

CG-1    CG   SOURCE ibox3000 cg-1-remote ACTIVE DONE  100%     ACTIVR OK    2015-08-01
10:00:00

Example Querying for replicated datasets with ongoing sync jobs. 

replica.query --grep=replicating --
columns=local_dataset,state,progress,throughput,rpo_state,interval,rpo_value 

PROVISIONING COMMANDS  –  113


INFINISHELL COMMANDS REFERENCE 5.5.10 

LOCAL                     STATE       PROGRESS  THROUGHPUT  RPO  INTERVAL  RPO  


DATASET                                                     STATE          VALUE   
io004_replica_to_ibox1106 REPLICATING 90%       249 MB/sec  OK   0:00:05   30 sec
io004_replica_to_ibox1177 REPLICATING 4%        233 MB/sec  OK   0:00:05   30 sec
io004_replica_to_ibox3008 REPLICATING 10%       240 MB/sec  OK   0:00:05   30 sec

Example Querying for replicas, displaying a detailed output 

replica.query --detailed  

local Dataset     cg1


Local Pool Name   p1
Role              SOURCE
Remote System     box-avi
Remote Dataset    cg1-box-avi
Remote Pool Name  p1-box-avi
State             ACTIVE
State Description -
Job State         DONE
Progress          100%
Throughput        -
RPO State         OK
RPO Value         0:05:00
Sync Interval     0:01:00
Created At        2016-09-12 10:00:00
Updated At        2016-09-12 10:00:00
Last Synchronized 2016-09-12 10:00:02
Restore Point     2016-09-12 10:00:02
Staging Area Size 0
Pairs
      Local Dataset Remote Dataset Initializing Restore Point
      v-1           v-1-target     No           2016-09-12 11:20:00
      v-2           v-2-target     No           2016-09-12 11:20:00

Example  Querying replicas - asynchronous example 

replica.query 

Malformed JSON

Example  Filter the query by the state of the replica

replica.query state=SUSPENDED --columns=local_dataset,state

LOCAL DATASET  STATE


VOL1           SUSPENDED
LOCAL DATASET  STATE
VOL2           SUSPENDED

3.18.6 replica.resume 
ROLE: Admin, Pool Admin

PROVISIONING COMMANDS  –  114


INFINISHELL COMMANDS REFERENCE 5.5.10 

Description Resumes the replica.

This command resumes the replica from a SUSPENDED or AUTO-SUSPENDED state. The command
has to be run on the source only.

Syntax replica.resume [local_dataset=LOCAL ENTITY] [dataset_type=CGORDATASET]


[remote_system=SYSTEM] [resume_all=YESNO]  

Arguments remote_system  Name of an existing replication link

dataset_type  CG, VOLUME or FILESYSTEM 

local_dataset  dataset or consistency group without mobility replication 

resume_all  Either yes or no   

Example Run the command, specifying the local dataset. Then, enter the credentials to the remote
system.  

replica.resume dataset=vol1 Username for box-avi: admin Password: 

Replica replica1 resumed  

3.18.7 replica.set_interval  
ROLE: Admin, Pool Admin

Description Set the replica sync interval.

The interval cannot be greater than the RPO.

• This command is available for ASYNC replica only


• This command can be run only from the source

Syntax replica.set_interval local_dataset=LOCAL ENTITY interval=TIMEDELTA


[dataset_type=CGORDATASET] 

Arguments dataset_type  CG, VOLUME or FILESYSTEM

interval  A time delta, e.g: '02:02', '05:11:06' 

local_dataset  dataset or consistency group with SYNC or ASYNC


replication 

Example replica.set_interval dataset=vol1 interval=60 

PROVISIONING COMMANDS  –  115


INFINISHELL COMMANDS REFERENCE 5.5.10 

Replica for volume vol1 set to synchronize every 60 seconds  

3.18.8 replica.set_preferred
ROLE: Admin, Pool Admin

Description Update replica preferred system

Syntax replica.set_preferred local_dataset=LOCAL ENTITY active_active_preferred=[LOCAL|REMOTE]


[dataset_type={CG}VOLUME|FILESYSTEM] 

Arguments dataset_type  CG, VOLUME or FILESYSTEM

active_active_preferred LOCAL or REMOTE

local_dataset  dataset or consistency group with ACTIVE-active replication and


without mobility replication

3.18.9 replica.set_rpo 
ROLE: Admin, Pool Admin

Description Set the replica recovery point objective (RPO).

The RPO has to be greater than the interval.

• This command is available for ASYNC replica only


• This command can be run only from the source
• It is recommended to set the RPO to be at least twice as large as the Interval.

Syntax replica.set_rpo local_dataset=LOCAL ENTITY rpo=TIMEDELTA [dataset_type=CGORDATASET] 

Arguments dataset_type  CG, VOLUME or FILESYSTEM

rpo  A time delta, e.g: '02:02', '05:11:06' 

local_dataset  dataset or consistency group with SYNC or ASYNC replication 

Example replica.set_rpo local_dataset=cg-1 rpo=60 

Replica for consistency group cg-1 recovery point objective set to 60 seconds 

PROVISIONING COMMANDS  –  116


INFINISHELL COMMANDS REFERENCE 5.5.10 

3.18.10 replica.suspend 
ROLE: Admin, Pool Admin

Description Suspend the replica. 

Syntax replica.suspend local_dataset=LOCAL ENTITY [dataset_type=CGORDATASET]


[remote_system=SYSTEM] 

Arguments remote_system  Name of an existing replication link 

dataset_type  CG, VOLUME or FILESYSTEM 

local_dataset  dataset or consistency group without mobility replication 

Example replica.suspend dataset=vol1 

Replica replica1 suspended 

3.18.11 replica.switch_role  
ROLE: Admin, Pool Admin

Description Switch the roles of the replica

Switching the roles of replicated datasets changes the source to target and the target to source.

• When the source switches to target, it becomes write-protected.


• When the target switches to source, it becomes write-enabled (in order to accept host I/
O)
The command is available for SYNC replica only. The command has to be run on the source. The
replica has to be Synchronized.

Syntax replica.switch_role local_dataset=LOCAL ENTITY [dataset_type=CGORDATASET] 

Arguments dataset_type   CG, VOLUME or FILESYSTEM  

local_dataset  dataset or consistency group with SYNC replication 

Example replica.switch_role local_dataset=vol1001 

PROVISIONING COMMANDS  –  117


INFINISHELL COMMANDS REFERENCE 5.5.10 

Roles of replica vol1001 have changed successfully 

3.18.12 replica.sync_now 
ROLE: Admin, Pool Admin

Description Initiate a sync job.

Initiate a sync job that runs immediately. This command assumes that a replica is defined correctly
and has already past its Initialization phase. The command runs only on the source dataset.

Syntax replica.sync_now local_dataset=LOCAL ENTITY [dataset_type=CGORDATASET] 

Arguments dataset_type  CG, VOLUME or FILESYSTEM

local_dataset  dataset or consistency group with ASYNC replication 

Example Initiating a sync for a volume 

replica.sync_now local_dataset=vol-2 

Replica for volume vol-2 sync started 

Example Initiating a sync for a consistency group 

replica.sync_now local_dataset=cg-1 

Replica for consistency group cg-1 sync started 

3.19 Replica Advanced commands

3.19.1 replica.advanced.create 
ROLE: Admin, Pool Admin

Description Create a new replica using a target dataset that already exists on the remote system.

This command uses a dataset or a snapshot as a baseline. Using a source snapshot and a target
snapshot as a baseline, both snapshots need to be retained from the previous replica.

Syntax replica.advanced.create system=SYSTEM source=NONREPLICATEDORACTIVEACTIVEDATASET


target=REMOTEENTITY replication_type=REPLICATYPE
[active_active_preferred=ACTIVEACTIVEPREFERRED] [interval=TIMEDELTA] [rpo=TIMEDELTA]
[dataset_type=CGORDATASET] [source_snapshot=SNAP] [target_snapshot=REMOTEENTITY] 

PROVISIONING COMMANDS  –  118


INFINISHELL COMMANDS REFERENCE 5.5.10 

Arguments interval  A time delta, e.g: '02:02', '05:11:06'

active_active_preferred LOCAL or REMOTE 

replication_type  ASYNC, SYNC or ACTIVE_ACTIVE 

target Name of a remote entity (auto-completion unavailable)

source Name of an existing dataset without replication

system Name of an existing replication link

rpo A time delta, e.g: '02:02', '05:11:06'

dataset_type CG, VOLUME or FILESYSTEM

source_snapshot Name of an existing snapshot

target_snapshot Name of a remote entity (auto-completion unavailable)

Example Replicating a volume using a source volume and a target volume. 

replica.advanced.create system=ibox3000 source=vol-3 target=vol-3-target interval=60


rpo=60 

Replica from volume vol-3 to volume vol-3-target created 

Example Replicating a volume using a source snapshot and a target snapshot. 

replica.advanced.create system=ibox3000 source=vol-3 source_snapshot=vol-3-s-1


target=vol-3-target target_snapshot=vol-3-target-s-1 interval=60 rpo=60 

Replica for volume vol-3 created 

3.19.2 replica.advanced.create_cg 
ROLE: Admin, Pool Admin

Description Create a new replica to target consistency group that already exists on remote system.

This command uses a consistency group or a snapshot group as a baseline. Using a source snapshot
group and a target snapshot group as a baseline, both snapshot groups need to be retained from the
previous replica.

Syntax replica.advanced.create_cg system=SYSTEM source=NONREPLICATEDCG target=REMOTEENTITY


replication_type=REPLICATYPE [active_active_preferred=ACTIVEACTIVEPREFERRED]
[interval=TIMEDELTA] [rpo=TIMEDELTA] [cg_pairs=LOCAL:REMOTE[,LOCAL:REMOTE,...]] 

PROVISIONING COMMANDS  –  119


INFINISHELL COMMANDS REFERENCE 5.5.10 

Arguments active_active_preferred LOCAL or REMOTE

replication_type  ASYNC, SYNC or ACTIVE_ACTIVE 

target Name of a remote entity (auto-completion unavailable)

source Name of an consistency group without replication or


consistency group with active-active replication

system Name of an existing replication link

interval  A time delta, e.g: '02:02', '05:11:06'

rpo  A time delta, e.g: '02:02', '05:11:06'

source_snapshot Name of an existing snapshot

cg_pairs  Pairs of local and remote dataset names, each delimited by a


colon, e.g: 'vol01:rep-vol01,vol02:rep-vol02' (multiple values,
separated by commas)

Example Replicating a consistency group using a source consistency group and a target consistency group.  

replica.advanced.create_cg system=ibox3000 source=cg-2 target=cg-2-target interval=45


rpo=45 

Replica for consistency group cg-2 created using automatic configuration 

Example Replicating a consistency group using source and target consistency groups and pairs of source and
target consistency group members. 

replica.advanced.create_cg system=ibox3000 source=cg-2 target=cg-2-target


cg_pairs=vol-11:remote-vol-11,vol-12:remove-vol-12 interval=45 rpo=45 

Replica for consistency group cg-2 created using automatic configuration  

3.20 Links commands

3.20.1 link.attach 
ROLE: Admin 

Description Attach network space to link. 

Syntax link.attach remote_system=SYSTEM network_space=REPLICATIONNETWORKSPACE 

Arguments network_space Name of an existing replication network space 

PROVISIONING COMMANDS  –  120


INFINISHELL COMMANDS REFERENCE 5.5.10 

remote_system  Name of an existing replication link 

Example link.attach system=ibox1089 network_space=replication_link 

Replication link "ibox1089" attached 

3.20.2 link.authenticate  
ROLE: Admin, Pool Admin

Description Authenticate a link to a remote system.

This command authenticates the link between the current InfiniBox system to a remote system. The
command receives the name of the remote system as an input. If user credentials to the remote
system are not provided as input, you will be asked to type them.

Syntax link.authenticate remote_system=SYSTEM [username=STR] [password=STR] 

Arguments password  Any sequence of characters 

username  Any sequence of characters 

remote_system  Name of an existing replication link 

Example link.authenticate system=ibox3010 

 Authenticated on ibox3010 as user user1 with role ADMIN 

3.20.3 link.change_remote_address  
ROLE: Admin 

Description Change remote address. 

Syntax link.change_remote_address remote_system=SYSTEM remote_address=HOSTNAME 

Arguments remote_address A valid hostname or IPv4 address 


 

remote_system  Name of an existing replication link 

Example link.change_remote_address system=ibox1089 remote_address=172.16.32.211 

PROVISIONING COMMANDS  –  121


INFINISHELL COMMANDS REFERENCE 5.5.10 

The remote address of system "ibox1089" has changed to 172.16.32.211 

3.20.4 link.change_witness_address 
ROLE: Admin 

Description Update the witness address for a link. 

Syntax link.change_witness_address remote_system=SYSTEM witness_address=HOSTNAMEORNONE  

Arguments remote_system Name of an existing replication link 

witness_address  A valid hostname or IPv4 address

3.20.5 link.create  
ROLE: Admin 

Description Create a new replication link. 

Syntax link.create remote_address=HOSTNAME network_space=REPLICATIONNETWORKSPACE


[witness_address=HOSTNAME] 

Arguments remote_address A valid hostname or IPv4 address 

network_space  Name of an existing replication network space 

witness_address  A valid hostname or IPv4 address 

Example link.create remote_address=ibox3009 network_space=REPLICATION 

Link ibox3009 created 

3.20.6 link.delete  
ROLE: Admin 

PROVISIONING COMMANDS  –  122


INFINISHELL COMMANDS REFERENCE 5.5.10 

Description Delete replication link. 

Syntax link.delete remote_system=SYSTEM [force=YESNO] 

Arguments remote_system  Name of an existing replication link 

force  Either yes or no 

Example link.delete system=ibox3009  

Link ibox3009 deleted 

3.20.7 link.detach  
ROLE: Admin 

Description Detach network space from link. 

Syntax link.detach remote_system=SYSTEM 

Arguments remote_system  Name of an existing replication link 

Example link.detach remote_system=ibox1089 

Link is detached from the remote system ibox1089 

3.20.8 link.query  
ROLE: All Roles 

Description List existing replication links.

The output can be filtered by a remote system, a network space, or both

Syntax link.query [remote_system=SYSTEM[,SYSTEM,...]] [net_space=NETWORKSPACE]


[witness_address=HOSTNAME] 

Arguments remote_system  Name of an existing replication link (multiple values, separated by commas)

witness_address  A valid hostname or IPv4 address 

PROVISIONING COMMANDS  –  123


INFINISHELL COMMANDS REFERENCE 5.5.10 

net_space Name of an existing network space

Example link.query net_space=REPLICATION 

REMOTE    LINK   LAST                LOCAL NETWORK      REMOTE SYSTEM 


SYSTEM    STATE  CONNECTION          SPACE              ADDRESS 
ibox3009  UP     2015-03-01 10:00:00 replication_space  172.16.62.36

3.21 Node commands


List system nodes.

3.21.1 bbu.health.power.query 
ROLE: Admin, Pool Admin
READ-ONLY

Description List system BBUs. 

Syntax bbu.health.power.query

Example bbu.health.power.query

NAME   ON BATT  CHARGING  CHARGE LVL(%)


bbu-1  no       no        100 
bbu-2  no       no        100 
bbu-3  no       no        100     

3.21.2 node.health.power.query  
ROLE: All Roles 

Description Displays the health status of the nodes power supply.

Each of the node is fed by two Power Supply Units. 

Syntax node.health.power.query 

Example node.health.power.query 

NAME    BBU PROTECTION  PSU1  PSU2 


node-1  Protected       OK    OK 
node-2  Protected       OK    OK 
node-3  Protected       OK    OK 

PROVISIONING COMMANDS  –  124


INFINISHELL COMMANDS REFERENCE 5.5.10 

3.21.3 node.query 
ROLE: All Roles 

Description List system nodes. 

As of InfiniBox release 4.0.30, this query includes a BBU Protection field.

Syntax node.query 

Example node.query 

NAME    STATE   CORE STATE  CORE ROLE  MGMT STATE MGMT ROLE  BBU PROTECTION 
node-1  ACTIVE  ACTIVE      MASTER     ACTIVE     MASTER     Protected 
node-2  ACTIVE  ACTIVE      SECONDARY  ACTIVE     SECONDARY  Protected  
node-1  ACTIVE  ACTIVE      MASTER     ACTIVE     MASTER     Protected 

3.22 Node Drive commands

3.22.1 node.drive.query 
ROLE: All Roles

Description List node drives. 

Syntax node.drive.query [drive=NODEDRIVE] [node=NODE] [type=Drive Node Type] 

Arguments drive  Node and drive index, e.g: N1D8 

type  Storage device type (DISK or SSD) 

node Node name

Example node.drive.query 

NAME  TYPE  STATE    STATE DESCRIPTION


N1D01 Disk  OK       -
N1D02 Disk  OK       -
...
N1D09 SSD   MISSING  Drive is missing      - 

3.23 Drive commands


Drive commands manage the process of replacing a disk drive on the InfiniBox.

PROVISIONING COMMANDS  –  125


INFINISHELL COMMANDS REFERENCE 5.5.10 

3.23.1 drive.query 
ROLE: All Roles 

Description List all data-drives.

Lists the InfiniBox drives. Run without parameters to list all of the drives. Use the drive parameter to
filter the output.

Syntax drive.query [drive=DRIVE[,DRIVE,...]] [enclosure=ENCLOSURE[,ENCLOSURE,...]] 

Arguments enclosure   Enclosure name (multiple values, separated by commas) 

drive Enclosure and drive index, e.g: E2D17 (multiple values, separated by commas) 

Example drive.query 

NAME  STATE  CAPACITY  ACTIVE SINCE 


E1D01 ACTIVE 1 TB      2014-01-01 10:00:00
E1D01 ACTIVE 1 TB      2014-01-01 10:00:00   

3.24 Enclosure commands


List all data-drive enclosures.

3.24.1 enclosure.query 
ROLE: All Roles 

Description List all data-drive enclosures.

This command lists the InfiniBox Enclosures along with their state and number of drives. User
drive.query in order to investigate the state of each of the drives.

Syntax enclosure.query

Example enclosure.query

INDEX  STATE  DRIVES 


1      OK     60
2      OK     60
3      OK     60
4      OK     60
5      OK     60
6      OK     60
7      OK     60
8      OK     60

PROVISIONING COMMANDS  –  126


INFINISHELL COMMANDS REFERENCE 5.5.10 

3.25 User commands


User commands allow you to create a user, assign him as a pool admin (and change his role to allow
that), map him to LDAP and query all of the users on an InfiniBox.

3.25.1 user.add_pool 
ROLE: Admin 

Description Grant pool provisioning privileges to a pool administrator.

This command operates on pool administrators only.

Syntax user.add_pool user=POOLADMINUSER pool=POOL 

Arguments pool Name of an existing pool 

user  Name of an existing local user with PoolAdmin role 

Example user.add_pool name=user1 pool=pool1 

Granted provisioning privileges on pool pool1 to user user1 

3.25.2 user.change_email 
ROLE: Admin 

Description Change local user email. 

Syntax user.change_email user=LOCALUSER email=LOCALEMAIL 

Arguments user  Name of an existing local user 

email  A valid email address 

Example user.change_email name=user1 [email protected] 

User user1 email changed from email1 to email2 

PROVISIONING COMMANDS  –  127


INFINISHELL COMMANDS REFERENCE 5.5.10 

3.25.3 user.change_password 
ROLE: All Roles 

Description Change your password.

Run the command, enter a new password and re-enter when prompted to do so.

Syntax user.change_password [user=LOCALUSER] [password_env_variable=ENVVAR]

Arguments user  Name of an existing local user 

password_env_variable Name of an existing environment variable 

Example user.change_password 

Local user user1 password changed 

3.25.4 user.change_role 
ROLE: Admin 

Description Change local user role.

Available roles: Admin, PoolAdmin, ReadOnly. The availability of these roles depends on the role of
the user that runs this command.

Syntax user.change_role user=LOCALUSER role=ROLE 

Arguments role  User role 

user  Name of an existing local user 

Example user.change_role name=user1 role=pool-admin-1 

User user1 role changed from PoolAdmin to ReadOnly 

3.25.5 user.create 
ROLE: Admin 

PROVISIONING COMMANDS  –  128


INFINISHELL COMMANDS REFERENCE 5.5.10 

Description Create a new local user.  

Syntax user.create name=NAME email=LOCALEMAIL role=ROLE [password=STR] 

Arguments name  A maximum of 65 Latin characters, numbers, spaces, and the following symbols:
"^&'@()[]$=!-#{}%.+~_" (excluding quotation marks). Leading and trailing
whitespace characters are stripped. 

email  a valid email address 

role User role

password Any sequence of characters

Example user.create name=user1 password=****** [email protected] role=pool-admin-1 

User user1 created

3.25.6 user.delete 
ROLE: Admin 

Description Delete local user. 

Syntax user.delete user=LOCALUSER 

Arguments user  Name of an existing local user 

Example user.delete name=user1 

User user1 deleted 

3.25.7 user.disable 
ROLE: Admin 

Description Disables a local user.

This command prevents the user from logging into the system. The user is not deleted and can be
re-enabled.

Syntax user.disable user=ENABLEDLOCALUSER 

PROVISIONING COMMANDS  –  129


INFINISHELL COMMANDS REFERENCE 5.5.10 

Arguments user  Name of an existing enabled local user 

Example user.disable name=pool-admin-1 

Local user "pool-admin-1" disabled 

3.25.8 user.enable 
ROLE: Admin 

Description Enables a local user. 

Syntax user.enable user=DISABLEDLOCALUSER 

Arguments user  Name of an existing disabled local user 

Example user.enable name=pool-admin-1 

Local user "pool-admin-1" enabled 

3.25.9 user.query 
ROLE: All Roles 

Description List existing local users.

The users are displayed along with their roles and the pools they have access to. 

Syntax user.query [user=LOCALUSER[,LOCALUSER,...]] [role=ROLE] 

Arguments user  Name of an existing local user (multiple values, separated by commas) 

role  User role 

Example user.query 

NAMR  ROLE      POOLS 


user1 Admin     all pools
user2 PoolAdmin pool1
user3 PoolAdmin - 

PROVISIONING COMMANDS  –  130


INFINISHELL COMMANDS REFERENCE 5.5.10 

3.25.10 user.remove_pool 
ROLE: Admin

Description Revoke pool provisioning privileges from a pool administrator. 

Syntax user.remove_pool user=POOLADMINUSER pool=POOL 

Arguments pool  Name of an existing pool 

user  Name of an existing local user with PoolAdmin role 

Example user.remove_pool name=user1 pool=pool1 

Revoked provisioning privileges on pool pool1 from user user1 

3.25.11 user.rename 
ROLE: Admin

Description Change local user username. 

Syntax user.rename user=LOCALUSER new_name=STR 

Arguments new_name  Any sequence of characters 

user  Name of an existing local user  

Example user.rename name=user1 new_name=user2 

User user1 renamed to user2 

3.26 User Group commands

3.26.1 user.group.add_pool 
ROLE: Admin 

Description Grant pool provisioning privileges to an LDAP group of pool administrators. 

Syntax user.group.add_pool group=POOLADMINGROUP pool=POOL 

PROVISIONING COMMANDS  –  131


INFINISHELL COMMANDS REFERENCE 5.5.10 

Arguments pool Name of an existing pool 

group Name of an existing ldap group with PoolAdmin roleQoS policy

Example user.group.add_pool name=user-group-1 pool=pool1 

Granted provisioning privileges on pool pool1 to ldap group usergroup-1 

3.26.2 user.group.change_role 
ROLE: Admin 

Description Change LDAP or Active Directory group role.

Change the InfiniBox user role with which the members of an LDAP group access the InfiniBox.

Syntax user.group.change_role group=LDAPGROUP role=ROLE 

Arguments role User role 

group Name of an existing ldap group 

Example user.group.change_role name=group1 role=PoolAdmin 

LDAP group group1 role changed from ReadOnly to PoolAdmin 

3.26.3 user.group.create 
ROLE: Admin 

Description Map an LDAP group to an InfiniBox user role.

Allow members of an LDAP group to access the InfiniBox with a specified user role. The available user
roles are: Admin, PoolAdmin and ReadOnly.

Syntax user.group.create name=NAME role=ROLE ldap=USERSREPOSITORY dn=LDAPDN 

Arguments dn LDAP distinguished name

ldap Name of an existing ldap server

role User role 

PROVISIONING COMMANDS  –  132


INFINISHELL COMMANDS REFERENCE 5.5.10 

name A maximum of 65 Latin characters, numbers, spaces, and the following


symbols: "^&'@()[]$=!-#{}%.+~_" (excluding quotation marks). Leading and
trailing whitespace characters are stripped. 

Example user.group.create name=ldap1 role=Admin ldap=infinidat.com


dn=CN=Administrators,CN=Builtin,DC=infinidat,DC=com 

LDAP group ldap1 created  

3.26.4 user.group.delete 
ROLE: Admin 

Description Unmap an LDAP group from a user role.

Syntax user.group.delete group=LDAPGROUP 

Arguments group Name of an existing ldap group 

Example user.group.delete name=ldap1 

LDAP group ldap1 deleted 

3.26.5 user.group.query 
ROLE: All Roles

Descriptio List LDAP groups that are mapped to user roles. 


n

Syntax user.group.query [group=LDAPGROUP] 

Arguments group Name of an existing ldap group 

Example user.group.query  

NAME         ROLE     LDAP  DN                                      POOLS 


admin_group  Admin    inf   CN=Users,CN=Builtin,DC=corp,DC=mgmttest -
read_only    ReadOnly read  CN=dev,OU=local,DC=infinidat.com        -

PROVISIONING COMMANDS  –  133


INFINISHELL COMMANDS REFERENCE 5.5.10 

3.26.6 user.group.remove_pool 
ROLE: Admin 

Description Revoke pool provisioning privileges from an LDAP group of pool administrators. 

Syntax user.group.remove_pool group=POOLADMINGROUP pool=POOL 

Arguments pool Name of an existing pool 

group Name of an existing ldap group with PoolAdmin role

Example user.group.remove_pool name=user-group-1 pool=pool1 

Revoked provisioning privileges on pool pool1 from ldap group usergroup-1 

3.26.7 user.group.rename 
ROLE: Admin 

Description Rename a user group. 

Syntax user.group.rename group=LDAPGROUP new_name=STR 

Arguments new_name Any sequence of characters 

group Name of an existing ldap group 

Example user.group.rename name=user-group-1 new_name=user-group-2 

User group user-group-1 renamed to user-group-2 

3.27 Config System commands


System configuration commands set the InfiniBox DNS, Management IP and name.

3.27.1 config.system.query 
ROLE: All Roles

PROVISIONING COMMANDS  –  134


INFINISHELL COMMANDS REFERENCE 5.5.10 

Description Display general system configuration. 

Syntax config.system.query 

Example config.system.query

Name                      ibox505
Management IP             172.16.65.75 / 255.255.224.0
Address
Default Gateway           172.16.95.254
SSL Redirection           enabled
Active Session Timeout    1440 Minutes
Idle Session Timeout      60 Minutes
Node 1 IP Address         172.16.67.35
NTP Servers               ntp01.infinidat.com
Message Of The Day        Infinidat’s enterprise storage 
                          solutions offer the performance,
                          flexibility and reliability that
                          are necessary to support today’s data
                          intensive enterprises.

3.27.2 config.system.set_default_pool_compression 
ROLE: Admin 

Description Enables / disables default pool compression.

• This command sets the system default to allow pools to use compression for all of
their datasets
• This system-level setting can be overridden per pool, using the
pool.set_compression command
• This system-level setting can be overridden per dataset, using the following
commands:
• vol.set_compression
• fs.set_compression

Syntax config.system.set_default_pool_compression compression=YESNO 

Arguments compression    Either yes or no 

Example config.system.set_default_pool_compression compression=yes 

Default pool compression set to "enabled" 

PROVISIONING COMMANDS  –  135


INFINISHELL COMMANDS REFERENCE 5.5.10 

3.27.3 config.system.set_default_pool_ssd_cache 
ROLE: Admin 

Description Enables / disables default pool SSD cache

• This command sets the system default to allow pools to use SSD cache for all of
their datasets
• This system-level setting can be overridden per pool, using the pool.cache
command
• This system-level setting can be overridden per dataset, using the following
commands:
• vol.cache
• vol.snap.cache
• fs.cache
• fs.snap.cache 

Syntax config.system.set_default_pool_ssd_cache ssd_cache=YESNO 

Arguments ssd_cache    Either yes or no 

Example config.system.set_default_pool_ssd_cache ssd_cache=yes 

Default pool ssd cache set to "enabled" 

3.27.4 config.system.set_dns 
ROLE: Admin 

Description Set DNS server IPs. 

Syntax config.system.set_dns primary=IPADDRESS [secondary=IPADDRESS]  

Arguments secondary A valid IPv4 address 

primary A valid IPv4 address

Example config.system.set_dns primary=192.168.8.21 

DNS server set to 192.168.8.21 

PROVISIONING COMMANDS  –  136


INFINISHELL COMMANDS REFERENCE 5.5.10 

3.27.5 config.system.set_fqdn 
ROLE: Admin 

Description Sets the system's FQDN, as defined in the DNS. 

Syntax config.system.set_fqdn fqdn=STR  

Arguments fqdn  Any sequence of characters 

3.27.6 config.system.set_motd  
ROLE: Admin 

Description Set the message of the day

• The message is visible via config.system.query. 

Syntax config.system.set_motd [clear=YESNO] 

Arguments clear    Either yes or no 

• Run the command.


• When prompted, enter the message text. Then, type Ctrl+D to save the message.

Example config.system.set_motd 

Message of the day set to "sequence of characters" 

3.27.7 config.system.set_name 
ROLE: Admin 

Description Set system name. 

Syntax config.system.set_name name=NAME 

PROVISIONING COMMANDS  –  137


INFINISHELL COMMANDS REFERENCE 5.5.10 

Arguments name    A maximum of 65 Latin characters, numbers, spaces, and the following
symbols: "^&'@()[]$=!-#{}%.+~_" (excluding quotation marks). Leading
and trailing whitespace characters are stripped

Example config.system.set_name name=box-cl002  

System renamed from box-cl001 to box-cl002  

3.27.8 config.system.set_session_timeout 
ROLE: Admin 

Description Set system timeouts.

InfiniBox session timeout values are configurable as follows:

• Idle session timeout - sets the session to expire in case of user inactivity
• The user's credentials are kept for the timeout period. Within this period, when
opening the GUI in the browser, there is no need to type the user and password.
• By default, the session terminates after 1 hour of inactivity
• Active session timeout - sets the session to disconnect the user
• By default, the session expires after 24 hours 

Syntax config.system.set_session_timeout [active_session=ACTIVESESSIONTIMEOUT]


[idle_session=IDLESESSIONTIMEOUT] 

Arguments idle_session  Session timeout. In minutes 

active_session  Session timeout. In minutes  

Example config.system.set_session_timeout active_session=2880 idle_session=1440 

Session expiry set to "2880 minutes", Session idle timeout set to "1440 minutes" 

3.28 Config System Time commands

3.28.1 config.system.time.ntp_diagnostics 
ROLE: Admin 

Description Display the InfiniBox NTP status. 

Syntax config.system.time.ntp_diagnostics 

PROVISIONING COMMANDS  –  138


INFINISHELL COMMANDS REFERENCE 5.5.10 

Example config.system.time.ntp_diagnostics 

NODE 1 TALLY REMOTE REFID STRATUM TYPE WHEN (SEC) POLL (SEC) REACH DELAY (MS) OFFSET
(MS) JITTER (MS) candidate node-2 172.20.255.1 4 UNICAST 41 64 377 0.042 0.398 0.031
candidate node-3 172.20.255.1 4 UNICAST 55 64 373 0.036 0.769 0.105 sys.peer
172.20.255.1 103.245.79.18 3 UNICAST 336 1024 377 0.752 0.132 0.106 NODE 2 TALLY
REMOTE REFID STRATUM TYPE WHEN (SEC) POLL (SEC) REACH DELAY (MS) OFFSET (MS) JITTER
(MS) candidate node-1 172.20.255.1 4 UNICAST 42 64 376 0.021 -0.403 0.029 candidate
node-3 172.20.255.1 4 UNICAST 39 64 377 0.042 0.396 0.028 sys.peer 172.20.255.1
103.245.79.18 3 UNICAST 451 1024 377 0.976 -0.274 0.181 NODE 3 TALLY REMOTE REFID
STRATUM TYPE WHEN (SEC) POLL (SEC) REACH DELAY (MS) OFFSET (MS) JITTER (MS) candidate
node-1 172.20.255.1 4 UNICAST 56 64 356 0.005 -0.828 0.089 candidate node-2
172.20.255.1 4 UNICAST 56 64 376 0.019 -0.471 0.072 sys.peer 172.20.255.1
103.245.79.18 3 UNICAST 430 1024 377 0.678 -0.869 0.458Filesystem 'fs1' was assigned
to policy 'q2'

3.28.2 config.system.time.set_ntp 
ROLE: Admin 

Description Set NTP servers. 

Syntax config.system.time.set_ntp primary=HOSTNAME [secondary=HOSTNAME] 

Arguments secondary  A valid hostname or IPv4 address 

primary  A valid hostname or IPv4 address 

Example config.system.time.set_ntp primary=ntp1 

NTP server set to ntp1 

3.29 Config FC Port commands

3.29.1 config.fc.port.disable 
ROLE: Admin 

Description Disable FC port. 

Syntax config.fc.port.disable port=PORT 

Arguments port Node and FC port index, e.g: N2FC5, or WWPN (a 16-digit hexadecimal
number, optionally divided by colons to 8 groups of two digits each). 

Example config.fc.port.disable name=N1FC1 

PROVISIONING COMMANDS  –  139


INFINISHELL COMMANDS REFERENCE 5.5.10 

FC port N1FC1 disabled 

3.29.2 config.fc.port.enable  
ROLE: Admin 

Description Enable FC port. 

Syntax config.fc.port.enable port=PORT 

Arguments port Node and FC port index, e.g: N2FC5, or WWPN (a 16-digit hexadecimal
number, optionally divided by colons to 8 groups of two digits each). 

Example config.fc.port.enable name=N1FC1 

FC port N1FC1 enabled  

3.29.3 config.fc.port.query  
ROLE: All Roles

Description Enable FC port. 

Syntax config.fc.port.query [port=PORT[,PORT,...]] [switch=SWITCH] [node=NODE] 

Arguments port Node and FC port index, e.g: N2FC5, or WWPN (a 16-digit hexadecimal number,
optionally divided by colons to 8 groups of two digits each). 

switch Name of an existing FC switch

node Node name

Example config.fc.port.query name=N1FC1,N1FC2 

NAME   ENABLED  STATE  STATE       LINK  SWITCH  WWPN                    ROLE      SPEED 


                                            DESCRIPTION       
MAX    PATCH
SPEED  PANEL
N1FC1  yes      OK     -           UP    Cisco1  57:42:b0:f0:00:0b:b8:11 HARD_PORT 8 Gbps
8 Gbps 1
N1FC2  yes      OK     -           DOWN          57:42:b0:f0:00:0b:b8:12 HARD_PORT -   
8 Gbps 2 

PROVISIONING COMMANDS  –  140


INFINISHELL COMMANDS REFERENCE 5.5.10 

3.30 Config FC Switch commands

3.30.1 config.fc.switch.delete 
ROLE: Admin 

Description Delete FC switch. 

Syntax config.fc.switch.delete switch=SWITCH[,SWITCH,...] 

Arguments switch  Name of an existing FC switch (multiple values, separated by commas) 

Example config.fc.switch.delete name=brocade-1 

FC switch brocade-1 deleted 

3.30.2 config.fc.switch.query 
ROLE: All Roles

Description List FC switches.

Lists the switches that are connected to the InfiniBox. The query can be filtered by switch name.

Syntax config.fc.switch.query [switch=SWITCH[,SWITCH,...]] 

Arguments switch  Name of an existing FC switch (multiple values, separated by commas) 

Example config.fc.switch.query 

NAME     WWNN                    RESILIENCY              VENDOR 


Brocade1 10:00:50:eb:1a:2a:d3:54 Single point of failure Brocade
Brocade6 10:00:50:eb:1a:2a:d3:55 Connected               Brocade 
Brocade8 10:00:50:eb:1a:2a:d3:56 Disconnected            Brocade 
Cisco7   20:01:54:7f:ee:d8:c4:c1 Disconnected            Cisco 

3.30.3 config.fc.switch.rename 
ROLE: Admin 

PROVISIONING COMMANDS  –  141


INFINISHELL COMMANDS REFERENCE 5.5.10 

Description Rename FC switch.

Renames the FC switch

Syntax config.fc.switch.rename switch=SWITCH new_name=NAME 

Arguments switch Name of an existing FC switch

new_name A maximum of 65 Latin characters, numbers, spaces, and the following symbols:
"^&'@()[]$=!-#{}%.+~_" (excluding quotation marks). Leading and trailing
whitespace characters are stripped. 

Example config.fc.switch.rename name=brocade new_name=brocade1 

FC switch renamed from brocade1 to brocade-1 

3.31 Config Cache commands


Set SSD cache default for new pools.

3.32 Config Notification SMTP commands


SMTP commands allow you to configure an SMTP target for the InfiniBox events.

3.32.1 config.notifications.smtp.modify 
ROLE: Admin 

Description Modify SMTP notification target.

Set an SMTP target for InfiniBox notifications. An SMTP server address is required. Optionally, you can
define a new server by setting the host, port, user and password. You can also determine whether to use
the secured TLS protocol. You can determine a prefix that will be added to the subject of the email. 

Syntax config.notifications.smtp.modify smtp=SMTPTARGET [host=HOSTNAME] [port=PORT] [tls=YESNO]


[username=STR] [password=STR] [fromaddress=LOCALEMAIL] [subject_prefix=STR] 

Arguments fromaddress  a valid email address 

password  Any sequence of characters 

username  Any sequence of characters

tls  Either yes or no

port  An integer number between 1 and 65535 (inclusive)  

PROVISIONING COMMANDS  –  142


INFINISHELL COMMANDS REFERENCE 5.5.10 

subject_prefix  Any sequence of characters 

host  A valid hostname or IPv4 address 

smtp  Name of an existing smtp notification target 

Example config.notifications.smtp.modify name=SMTP-1 host=smtp port=25 tls=tls fromaddress=no-


[email protected] 

SMTP notification target SMTP-1 modified 

3.32.2 config.notifications.smtp.query 
ROLE: All Roles

Description List existing SMTP notification targets. 

Syntax config.notifications.smtp.query 

Example config.notifications.smtp.query  

NAME          HOST  PORT TLS USERNAME FROM ADDRESS


custmer-smtp  smtp  25   tls --       [email protected]

3.32.3 config.notifications.smtp.rename 
ROLE: Admin 

Description Rename SMTP notification target.  

Syntax config.notifications.smtp.rename smtp=SMTPTARGET new_name=NAME 

Arguments new_name  A maximum of 65 Latin characters, numbers, spaces, and the following symbols:
"^&'@()[]$=!-#{}%.+~_" (excluding quotation marks). Leading and trailing
whitespace characters are stripped.Either yes or no

smtp Name of an existing smtp notification target

Example config.notifications.smtp.rename name=customer-smtp new_name=customer2-smtp 

SMTP notification target customer-smtp renamed to customer2-smtp 

PROVISIONING COMMANDS  –  143


INFINISHELL COMMANDS REFERENCE 5.5.10 

3.32.4 config.notifications.smtp.test 
ROLE: Admin 

Description Test SMTP notification target.

This command sends a test notification to an email recipient.

Syntax config.notifications.smtp.test smtp=SMTPTARGET recipient=LOCALEMAIL 

Arguments smtp  Name of an existing smtp notification target 

recipient a valid email address

Example config.notifications.smtp.test name=customer-smtp [email protected] 

SMTP notification target customer-smtp tested successfully 

3.33 Config Notifications SNMP commands


SNMP commands allow you to configure an SNMP trap for the InfiniBox events.

3.33.1 config.notifications.snmp.define 
ROLE: Admin 

Description Create a new SNMP notification target.

Define an SNMP trap to which the InfiniBox sends events. State the name and host and then select the
version of the SNMP protocol. 

Syntax config.notifications.snmp.define name=NAME host=HOSTNAME version=SNMPPROTOCOL [port=PORT]


[community=STR] [engine_id=SNMPENGINE] [username=STR] [security=SNMPSECURITY]
[password=STR] [auth_type=SNMPAUTHPROTOCOL] [priv_key=STR] [encryption=SNMPENCRYPTION] 

Arguments priv_key  Any sequence of characters 

auth_type  MD5 or SHA 

password  Any sequence of characters 

security  NoAuthNoPriv, AuthNoPriv or AuthPriv 

username  Any sequence of characters 

PROVISIONING COMMANDS  –  144


INFINISHELL COMMANDS REFERENCE 5.5.10 

engine_id  Engine should be a 5-byte value represented in 10 hex characters preceded


with '0x', e.g. 0xAB4F398C43 

community  Any sequence of characters 

port An integer number between 1 and 65535 (inclusive)

version 1, 2c or 3

host A valid hostname or IPv4 address

name  A maximum of 65 Latin characters, numbers, spaces, and the following


symbols: "^&'@()[]$=!-#{}%.+~_" (excluding quotation marks). Leading and
trailing whitespace characters are stripped.

encryption AES or DES

Example The following example describes how to set an SNMP target for SNMP versions 1 and 2c. For these
SNMP versions you need to define a community.

config.notifications.snmp.define name=snmp-v1-dest host=snmp version=1 community=infinidat

SNMP notification target snmp-v1-dest created 

Example The following example describes how to set an SNMP target for SNMP version 3. For this SNMP
version you need to define an SNMP Engine ID and a user name. You also need to select the user-
based security model among authentication and privacy, authentication without privacy and no
authentication and no privacy. Optionally, you may set the authentication type, and whether to
encrypt the events and a private key. 

config.notifications.snmp.define name=snmp-v3-dest host=snmp version=3 engine_id=1


username=user1 security=NoAuthNoPriv 

SNMP notification target snmp-v3-dest created 

Example In this SNMP version 3 example, the messages are authenticated and not encrypted. 

config.notifications.snmp.define name=snmp-v3-dest host=snmp version=3 engine_id=1


username=user1 security=AuthPriv password=123456 auth_type=SHA priv_key=privatekey
encryption=DES 

SNMP notification target snmp-v3-dest created 

Example In this SNMP version 3 example, the messages are both authenticated and encrypted.

config.notifications.snmp.define name=snmp-v3-authpriv host=snmp version=3 engine_id=1


username=user1 security=AuthPriv password=123456 auth_type=SHA priv_key=privatekey
encryption=DES

SNMP notification target snmp-v3-dest created

PROVISIONING COMMANDS  –  145


INFINISHELL COMMANDS REFERENCE 5.5.10 

3.33.2 config.notifications.snmp.modify 
ROLE: Admin 

Description Modify SNMP notification target.

Modify some of the SNMP definitions.

Syntax config.notifications.snmp.modify snmp=SNMPTARGET [host=HOSTNAME] [port=PORT]


[community=STR] [engine_id=SNMPENGINE] [username=STR] [security=SNMPSECURITY]
[password=STR] [auth_type=SNMPAUTHPROTOCOL] [priv_key=STR] [encryption=SNMPENCRYPTION] 

Arguments community  Any sequence of characters 

engine_id  Engine should be a 5-byte value represented in 10 hex characters preceded


with '0x', e.g. 0xAB4F398C43  

port  An integer number between 1 and 65535 (inclusive) 

host  A valid hostname or IPv4 address 

snmp  Name of an existing snmp notification target 

username  Any sequence of characters 

security  NoAuthNoPriv, AuthNoPriv or AuthPriv

password  Any sequence of characters 

auth_type MD5 or SHA

priv_key  Any sequence of characters

encryption AES or DES

Example config.notifications.snmp.define name=NAME host=HOSTNAME version=SNMPPROTOCOL [port=PORT]


[community=STR] 

SNMP notification target snmp1 updated 

3.33.3 config.notifications.snmp.query  
ROLE: All Roles 

Description List existing SNMP notification targets. 

PROVISIONING COMMANDS  –  146


INFINISHELL COMMANDS REFERENCE 5.5.10 

Syntax config.notifications.snmp.query [snmp=SNMPTARGET] 

Arguments snmp  Name of an existing snmp notification target 

Example config.notifications.snmp.query [name=SNMPTARGET] 

NAME   HOST  PORT VERSION  COMMUNITY  ENGINE ID  USERNAME SECURITY


snmpv1 snmp  25   SNMPv1   infinidat  -          -        -  
snmpv2 snmp  25   SNMPv2c  infinidat  -          -        - 
snmpv3 snmp  25   SNMPv3   -          1          user1    NoAuthNoPriv

3.33.4 config.notifications.snmp.remove 
ROLE: Admin

Description Delete SNMP notification target. 

Syntax config.notifications.snmp.remove snmp=SNMPTARGET 

Arguments snmp  Name of an existing snmp notification target 

Example config.notifications.snmp.remove name=SNMPTARGET

SNMP notification target snmp1 deleted

3.33.5 config.notifications.snmp.rename 
ROLE: Admin

Description Rename SNMP notification target. 

Syntax config.notifications.snmp.rename snmp=SNMPTARGET new_name=NAME 

Arguments new_name A maximum of 65 Latin characters, numbers, spaces, and the following symbols:
"^&'@()[]$=!-#{}%.+~_" (excluding quotation marks). Leading and trailing whitespace
characters are stripped.

snmp  Name of an existing snmp notification target 

Example config.notifications.snmp.rename name=SNMPTARGET new_name=NAME 

PROVISIONING COMMANDS  –  147


INFINISHELL COMMANDS REFERENCE 5.5.10 

SNMP notification target snmp1 renamed to snmp2 

3.33.6 config.notifications.snmp.test 
ROLE: Admin

Description Test SNMP notification target. 

Syntax config.notifications.snmp.test snmp=SNMPTARGET 

Arguments snmp  Name of an existing snmp notification target 

Example config.notifications.snmp.test name=SNMPTARGET 

SNMP notification target snmp1 tested successfully 

3.34 Config Notifications Syslog commands


Syslog commands allow you to log and store InfiniBox events.

3.34.1 config.notifications.syslog.define 
ROLE: Admin 

Description Create a new syslog notification target.

Define a syslog notification target by providing a host and a port. You can override the default UDP
protocol with TCP. You can override the default Facility local7 with any other value between local0
and local7. Facility is a part of the Syslog message Priority and local0 contributes to the calculation
that yields the highest priority. 

Syntax config.notifications.syslog.define name=NAME host=HOSTNAME [port=PORT]


[protocol=SYSLOGPROTOCOL] [facility=SYSLOGFACILITY] 

Arguments host  A valid hostname or IPv4 address 

name  A maximum of 65 Latin characters, numbers, spaces, and the following


symbols: "^&'@()[]$=!-#{}%.+~_" (excluding quotation marks). Leading and
trailing whitespace characters are stripped. 

facility  local0, local1, local2, local3, local4, local5, local6 or local7 

PROVISIONING COMMANDS  –  148


INFINISHELL COMMANDS REFERENCE 5.5.10 

protocol TCP or UDP 

port An integer number between 1 and 65535 (inclusive)

Example fconfig.notifications.syslog.define name=target0 host=syslog1 

Syslog notification target0 syslog1 created 

3.34.2 config.notifications.syslog.modify 
ROLE: Admin 

Description Modify syslog notification target. 

Syntax config.notifications.syslog.modify syslog=SYSLOGTARGET [host=HOSTNAME] [port=PORT]


[protocol=SYSLOGPROTOCOL] [facility=SYSLOGFACILITY] 

Arguments port An integer number between 1 and 65535 (inclusive)

host   A valid hostname or IPv4 address 

syslog  Name of an existing syslog notification target 

protocol TCP or UDP 

facility local0, local1, local2, local3, local4, local5, local6 or local7 

Example config.notifications.syslog.modify name=target0 host=syslog2 

Syslog notification target0 syslog2 updated 

3.34.3 config.notifications.syslog.query 
ROLE: All Roles

Description List existing syslog notification targets. 

Syntax config.notifications.syslog.query [syslog=SYSLOGTARGET]  

Arguments syslog  Name of an existing syslog notification target 

PROVISIONING COMMANDS  –  149


INFINISHELL COMMANDS REFERENCE 5.5.10 

Example config.notifications.syslog.query 

NAME    HOST   PORT PROTOCOL  FACILITY


target0 syslog 25   UDP       local0
target1 syslog 25   TCP       local1  

3.34.4 config.notifications.syslog.remove 
ROLE: Admin

Description Delete syslog notification target. 

Syntax config.notifications.syslog.remove syslog=SYSLOGTARGET 

Arguments syslog  Name of an existing syslog notification target 

Example config.notifications.syslog.remove name=target1 

Syslog notification target target1 deleted 

3.34.5 config.notifications.syslog.rename 
ROLE: Admin 

Description Rename syslog notification target. 

Syntax config.notifications.syslog.rename syslog=SYSLOGTARGET new_name=NAME 

Arguments new_name  A maximum of 65 Latin characters, numbers, spaces, and the following
symbols: "^&'@()[]$=!-#{}%.+~_" (excluding quotation marks). Leading and
trailing whitespace characters are stripped. 

syslog  Name of an existing syslog notification target 

Example config.notifications.syslog.rename name=SYSLOGTARGET new_name=NAME 

Syslog notification target target1 renamed to target2 

PROVISIONING COMMANDS  –  150


INFINISHELL COMMANDS REFERENCE 5.5.10 

3.34.6 config.notifications.syslog.test 
ROLE: Admin

Description Test syslog notification target. 

Syntax config.notifications.syslog.test syslog=SYSLOGTARGET 

Arguments syslog  Name of an existing syslog notification target 

Example config.notifications.syslog.test name=SYSLOGTARGET 

Syslog notification target target1 tested successfully 

3.35 Config LDAP commands


LDAP commands allow users listed on an LDAP to successfully login to an InfiniBox.

3.35.1 config.ldap.define 
ROLE: Admin 

Description Define an LDAP server.

Allow a user that is listed in an LDAP server to access the InfiniBox. 

Syntax config.ldap.define name=NAME username=STR type=LDAP type [domain=STR] [password=STR]


[server=STR[,STR,...]] [schema_user_class=STR] [port=PORT] [use_ldaps=YESNO]
[schema_username_attribute=STR] [schema_user_basedn=STR] [schema_group_class=STR]
[schema_group_attribute=STR] [schema_member_attribute=STR] [schema_group_basedn=STR] 

Arguments schema_username_attribute  Any sequence of characters 

use_ldaps  Either yes or no 

port An integer number between 1 and 65535 (inclusive)

schema_user_class Any sequence of characters

server Any sequence of characters (multiple values, separated by


commas)

password Any sequence of characters

domain Any sequence of characters

PROVISIONING COMMANDS  –  151


INFINISHELL COMMANDS REFERENCE 5.5.10 

type Only one value: AD

username Any sequence of characters

name A maximum of 65 Latin characters, numbers, spaces, and


the following symbols: "^&'@()[]$=!-#{}%.+~_" (excluding
quotation marks). Leading and trailing whitespace
characters are stripped.

schema_group_class Any sequence of characters

schema_user_basedn Any sequence of characters

schema_group_basedn Any sequence of characters

schema_member_attribute Any sequence of characters

schema_group_attribute Any sequence of characters

Example config.ldap.define name=ad2k3.local domain=ad2k3.local username=Administrator 

LDAP infinidat.com defined 

3.35.2 config.ldap.flush_cache 
ROLE: Admin 

Description Flush LDAP authentication cache.

Clear the cache before you define new LDAP users.

Syntax config.ldap.flush_cache 

Example config.ldap.flush_cache 

LDAP authentication cache flushed 

3.35.3 config.ldap.modify  
ROLE: Admin 

PROVISIONING COMMANDS  –  152


INFINISHELL COMMANDS REFERENCE 5.5.10 

Description Modify the LDAP server.

Change any of the LDAP server details.

Syntax config.ldap.modify ldap=USERSREPOSITORY [username=STR] [password=STR]


[server=LDAPSERVER[,LDAPSERVER,...]] [schema_user_class=STR] [port=PORT]
[use_ldaps=YESNO] [schema_username_attribute=STR] [schema_user_basedn=STR]
[schema_group_class=STR] [schema_group_attribute=STR] [schema_member_attribute=STR]
[schema_group_basedn=STR] 

Arguments username  Any sequence of characters 

ldap  Name of an existing ldap server 

password  Any sequence of characters 

schema_group_basedn  Any sequence of characters

schema_member_attribute  Any sequence of characters

schema_group_attribute  Any sequence of characters

schema_group_class  Any sequence of characters

schema_user_basedn  Any sequence of characters 

schema_username_attribute  Any sequence of characters

use_ldaps  Either yes or no 

port  An integer number between 1 and 65535 (inclusive) 

schema_user_class  Any sequence of characters

server  Any sequence of characters (multiple values, separated by


commas) 

Example Modifying the user and password 

config.ldap.modify name=ad2k3.local domain=ad2k3.local username=Administrator 

LDAP ad2k3.local modified

Example Modifying the port

config.ldap.modify name=ad2k3.local domain=ad2k3.local port=626

LDAP ad2k3.local modified

PROVISIONING COMMANDS  –  153


INFINISHELL COMMANDS REFERENCE 5.5.10 

3.35.4 config.ldap.order_query 
ROLE: All Roles

Description LDAP & Active Directory resolution order.

Syntax config.ldap.order_query 

Example config.ldap.order_query 

INDEX LDAP 
1     LDAP-1
2     LDAP-2

3.35.5 config.ldap.query  
ROLE: All Roles

Description List existing LDAP servers.

List the LDAP user along with its attributes. 

Syntax config.ldap.query [ldap=USERSREPOSITORY] [type=LDAP type] 

Arguments ldap  Name of an existing ldap server 

type  Only one value: AD 

Example config.ldap.query 

Name                     ad2k3.local
Repository Type          ActiveDirectory
Domain Name              ad2k3.local
Bind Username            Administrator
User Class               user
Username Attribute       sAMAccountName
Users Basedn             -
Group Class              cn
Group Name Attribute     cn
Group Memberof Attribute memberof
Groups Basedn            -

3.35.6 config.ldap.remove 
ROLE: Admin 

PROVISIONING COMMANDS  –  154


INFINISHELL COMMANDS REFERENCE 5.5.10 

Description Remove the LDAP server definition.

Disconnect the LDAP server from the InfiniBox, so that users listed on this LDAP server can no
longer access the InfiniBox.

Syntax config.ldap.remove ldap=USERSREPOSITORY 

Arguments ldap Name of an existing ldap server 

Example config.ldap.remove name=ACTIVEDIRECTORY 

LDAP infinidat.com removed 

3.35.7 config.ldap.rename 
ROLE: Admin 

Description Rename the LDAP server.  

Syntax config.ldap.rename ldap=USERSREPOSITORY new_name=NAME 

Arguments new_name  A maximum of 65 Latin characters, numbers, spaces, and the following symbols:
"^&'@()[]$=!-#{}%.+~_" (excluding quotation marks). Leading and trailing
whitespace characters are stripped.

ldap  Name of an existing ldap server 

Example config.ldap.rename name=ACTIVEDIRECTORY new_name=NAME 

LDAP infinidat.com renamed to customer.com 

3.35.8 config.ldap.set_order 
ROLE: Admin 

Description Set LDAP servers resolution order. 

Syntax config.ldap.set_order order=USERSREPOSITORY[,USERSREPOSITORY,...]

Arguments order Name of an existing ldap server (multiple values, separated by commas) 

PROVISIONING COMMANDS  –  155


INFINISHELL COMMANDS REFERENCE 5.5.10 

Example config.ldap.set_order order=ACTIVEDIRECTORY 

Order set 

3.35.9 config.ldap.test  
ROLE: Admin 

Description Test the LDAP server. 

Syntax config.ldap.test ldap=USERSREPOSITORY 

Arguments ldap Name of an existing ldap server 

Example config.ldap.test name=ACTIVEDIRECTORY 

LDAP tested successfully 

3.36 Config Ethernet Port commands

3.36.1 config.ethernet.port.query 
ROLE: All Roles

Description List system ethernet ports.

The port speed is in Gbps

Syntax config.ethernet.port.query [port=PORT] [node=NODE] 

Arguments node  Node name 

port  Ethernet port index, e.g: ETH2 

Example Run the command with a detailed output 

config.ethernet.port.query --detailed 

NAME   ROLE STATE LINK  CURRENT  MAX     PATCH  HW                DEVICE


                        SPEED    SPEED   PANEL  ADDR
N1ETH1 Data OK    UP    10 Gbps  10 Gbps 9      ec:f4:bb:e0:87:60  eth-data1
N1ETH2 Data OK    UP    -        10 Gbps 10     ec:f4:bb:e0:87:60  eth-data2 

PROVISIONING COMMANDS  –  156


INFINISHELL COMMANDS REFERENCE 5.5.10 

Example Run the command with no parameters 

config.ethernet.port.query 

NAME   ROLE       STATE LINK  CURRENT  MAX     PATCH 


                              SPEED    SPEED   PANEL 
N1ETH1 Data       OK    UP    10 Gbps  10 Gbps 9     
N1ETH2 Data       OK    UP    -        10 Gbps 10   
N1ETH3 Management OK    UP    -         1 Gbps MGMT
N1ETH4 Internal   OK    UP    -         1 Gbps -
N1ETH5 iDrac      OK    UP    1 Gbps   10 Gbps 10   
N2ETH1 Data       OK    UP    10 Gbps  10 Gbps 9     
N2ETH2 Data       OK    UP    -        10 Gbps 10   
N2ETH3 Management OK    UP    -         1 Gbps MGMT
N2ETH4 Internal   OK    UP    -         1 Gbps -
N2ETH5 iDrac      OK    UP    1 Gbps    1 Gbps 10   
N3ETH1 Data       OK    UP    10 Gbps  10 Gbps 9     
N3ETH2 Data       OK    UP    -        10 Gbps 10   
N3ETH3 Management OK    UP    -         1 Gbps MGMT
N3ETH4 Internal   OK    UP    -         1 Gbps -
N3ETH5 iDrac      OK    UP    1 Gbps    1 Gbps 10   

3.37 Config Ethernet Interface commands

3.37.1 config.ethernet.interface.add_port 
ROLE: Admin 

Description Add ethernet port to a network interface.

You can add several ports at once. The command returns success and error messages per port.   

Syntax config.ethernet.interface.add_port interface=PHYSICALINTERFACE port=PORT[,PORT,...]


[node=NODE] 

Arguments interface  Name of an existing physical network interface 

port  Ethernet port index, e.g: ETH2 (multiple values, separated by commas) 

node  Node name 

Example config.ethernet.interface.add_port name=interface port=N1ETH1 

Port added: N1ETH1 

3.37.2 config.ethernet.interface.create 
ROLE: Admin 

PROVISIONING COMMANDS  –  157


INFINISHELL COMMANDS REFERENCE 5.5.10 

Description Create a network interface. 

Syntax config.ethernet.interface.create ports=PORT[,PORT,...] name=NETWORKINTERFACENAME


[type=TYPE] [node=NODE] 

Arguments node  Node name 

type  Only one value: PORT_GROUP 

name  A maximum of 5 Latin characters, numbers, spaces, and the following


symbols: "^&'@()[]$=!-#{}%.+~_" (excluding quotation marks). Leading and
trailing whitespace characters are stripped.

ports  Ethernet port index, e.g: ETH2 (multiple values, separated by commas) 

Example config.ethernet.interface.create name=interface1 type=PORT_GROUP ports=N1ETH3


repeat_on_all_nodes=yes 

interface interface1: created on node_1


interface interface1: created on node_2
interface interface1: created on node_3

3.37.3 config.ethernet.interface.create_vlan 
ROLE: Admin 

Description Create network interface of type VLAN. 

Syntax config.ethernet.interface.create_vlan physical_interface=PHYSICALINTERFACE vlan_id=INT


[node=NODE] 

Arguments node  Node name 

vlan_id  An integer number 

physical_interface  Name of an existing physical network interface 

3.37.4 config.ethernet.interface.delete 
ROLE: Admin 

PROVISIONING COMMANDS  –  158


INFINISHELL COMMANDS REFERENCE 5.5.10 

Description Delete network interface.

The interface has to be diabled in order for this command to take effect.

Syntax config.ethernet.interface.delete interface=INTERFACE [node=NODE]

Arguments interface  Name of an existing network interface 

node  Node name 

Example config.ethernet.interface.delete name=interface1 

Network interface n1eth deleted 

3.37.5 config.ethernet.interface.disable 
ROLE: Admin 

Description Disable network interface. 

Syntax config.ethernet.interface.disable interface=INTERFACE [node=NODE] 

Arguments interface  Name of an existing network interface 

node  Node name 

Example config.ethernet.interface.disable name=interface1 

Network interface n1eth disabled 

3.37.6 config.ethernet.interface.enable 
ROLE: Admin 

Description Enable network interface. 

Syntax config.ethernet.interface.enable interface=PHYSICALINTERFACE [node=NODE] 

Arguments interface  Name of an existing physical network interface 

node  Node name 

PROVISIONING COMMANDS  –  159


INFINISHELL COMMANDS REFERENCE 5.5.10 

Example config.ethernet.interface.enable name=interface1 

Network interface n1eth enabled 

3.37.7 config.ethernet.interface.query 
ROLE: All Roles 

Description List existing network interfaces. 

Syntax config.ethernet.interface.query [interface=INTERFACE[,INTERFACE,...]] [node=NODE] 

Arguments interface  Name of an existing network interface (multiple values, separated by


commas) 

node  Node name 

Example config.ethernet.interface.query 

NAME         TYPE   NODE  PORTS   NETWORK STATE


                                  SPACE 
n1eth-data1  PORT   1     N1ETH1  ns1     OK
n2eth-data1  PORT   2     N2ETH1  ns1     OK
n3eth-data1  PORT   3     N3ETH1  ns1     OK 

3.37.8 config.ethernet.interface.remove_port 
ROLE: Admin 

Description Remove ethernet port from network interface. 

Syntax config.ethernet.interface.remove_port interface=PHYSICALINTERFACE port=PORT[,PORT,...]


[node=NODE] 

Arguments port Ethernet port index, e.g: ETH2 (multiple values, separated by commas)

interface Name of an existing physical network interface 

node Node name 

Example config.ethernet.interface.remove_port name=interface1 port=N1ETH1 

Port removed: N1ETH1 

PROVISIONING COMMANDS  –  160


INFINISHELL COMMANDS REFERENCE 5.5.10 

3.37.9 config.ethernet.interface.rename 
ROLE: Admin 

Description Rename network interface. 

Syntax config.ethernet.interface.rename interface=PHYSICALINTERFACE


new_name=NETWORKINTERFACENAME [node=NODE] 

Arguments new_name  A maximum of 5 Latin characters, numbers, spaces, and the following
symbols: "^&'@()[]$=!-#{}%.+~_" (excluding quotation marks). Leading and
trailing whitespace characters are stripped. 

interface Name of an existing physical network interface 

node Node name 

Example config.ethernet.interface.rename name=interface1 new_name=N1ETH1 

Interface n1eth renamed to n1eth1 

3.38 Network Space commands

3.38.1 config.net_space.create 
ROLE: Admin 

Description Create network space. 

Syntax config.net_space.create name=NAME service=[NAS|ISCSI|REPLICATION|INFINISYNC]


interface=INTERFACE[,INTERFACE,...] network=IPADDRESS/CIDR [default_gateway=IPADDRESS]
[mtu=MTU] [rate_limit=LIMIT] [replication_async_only=YES|NO|Y|N}] 

Arguments name  A maximum of 65 Latin characters, numbers, spaces, and the


following symbols: "^&'@()[]$=!-#{}%.+~_" (excluding quotation marks).
Leading and trailing whitespace characters are stripped. 

service  NAS, ISCSI, INFINISYNC or REPLICATION 

interface  Name of an existing network interface (multiple values, separated by


commas) 

replication_async_only Either yes or no 

PROVISIONING COMMANDS  –  161


INFINISHELL COMMANDS REFERENCE 5.5.10 

mtu Maximum transmission unit. An integer number between 1280 and


9000 (inclusive)

default_gateway A valid IPv4 address

network A valid IPv4 network address in CIDR notation, e.g. 192.168.1.0/24

rate_limit NONE, or an amount of megabits per second

Example config.net_space.create name=netspace1 interface=n1eth-data1


default_gateway=172.16.95.254 service=REPLICATION network=172.16.64.0/19 

Net_space netspace1 created 

3.38.2 config.net_space.delete 
ROLE: Admin 

Description Delete network space.  

Syntax config.net_space.delete net_space=NETWORKSPACE 

Arguments net_space  Name of an existing network space 

Example config.net_space.delete name=netspace1 

Net_space netspace1 deleted 

3.38.3 config.net_space.params.query  
ROLE: All Roles 

Description List network space service parameters. 

Syntax config.net_space.params.query [net_space=NETWORKSPACE] [service=(NAS|ISCSI|INFINISYNC|


REPLICATION)] 

Arguments net_space  Name of an existing network space 

service NAS, ISCSI, INFINISYNC or REPLICATION

Example config.net_space.params.query net_space=iscsi-data1 

PROVISIONING COMMANDS  –  162


INFINISHELL COMMANDS REFERENCE 5.5.10 

NAME         IQN                                                 TCP   UNKNOWN     AUTH   


 ISNS
                                                                 PORT  HOST        TYPE   
 SERVERS
iscsi-data1  iqn.2009-11.com.infinidat:storage:infinibox-sn-3009 3260  None               
 172.16.64.96

3.38.4 config.net_space.params.set_iscsi 
ROLE: Admin, Pool Admin

Description Set network space iSCSI parameters. 

Syntax config.net_space.params.set_iscsi net_space=NETWORKSPACE [tcp_port=TCPPORT]


[isns_servers=HOSTNAME[,HOSTNAME,...]] 

Arguments isns_servers  NONE, or a valid hostname or IPv4 address (multiple values, separated by
commas) 

tcp_port An integer number between 1 and 65535 (inclusive) 

net_space  Name of an existing network space 

Example config.net_space.params.set_iscsi net_space=iscsi-data1 tcp_port=3260 

Network space "iscsi-data1" updated 

3.38.5 config.net_space.query 
ROLE: All Roles

Description List existing network spaces. 

Syntax config.net_space.query [net_space=NETWORKSPACE] [service=SERVICE] 

Arguments net_space  Name of an existing network space 

service  NAS, ISCSI, INFINISYNC or REPLICATION 

Example Non-filtered query 

config.net_space.query 

PROVISIONING COMMANDS  –  163


INFINISHELL COMMANDS REFERENCE 5.5.10 

NAME   SERVICE      NETWORK        MTU   RATE LIMIT  GATEWAY  IPS  INTERFACES 


rmr_ns REPLICATION  172.16.32.0/19 1500  1000 Mbps   -        7    LAG-1,LAG-2,LAG-3 

Example Filtered by service query. 

config.net_space.query service=NAS 

NAME              SERVICE NETWORK        MTU  RATE  GATEWAY IPS  INTERFACES 


                                              LIMIT
default_nas_space NAS     172.16.32.0/19 9000 -     -       7    n1eth-data1,n2eth-
data1,n3eth-data1 

3.38.6 config.net_space.rename 
ROLE: Admin

Description Rename network space. 

Syntax config.net_space.rename net_space=NETWORKSPACE new_name=NAME 

Arguments new_name  A maximum of 65 Latin characters, numbers, spaces, and the following
symbols: "^&'@()[]$=!-#{}%.+~_" (excluding quotation marks). Leading and
trailing whitespace characters are stripped. 

net_space  Name of an existing network space 

Example config.net_space.rename name=rmr_ns new_name=rmr_ns_1 

Network space rmr_ns renamed to rmr_ns_1 

3.38.7 config.net_space.route.add 
ROLE: Admin

Description Add route to network space. 


The routing table is automatically created by InfiniBox to each network space that has a default
gateway definition.

Syntax config.net_space.route.add net_space=NETWORKSPACE destination=IPADDRESS netmask=NETMASK


gateway=IPADDRESS 

Arguments gateway  A valid IPv4 address 

netmask  An IPv4 netmask 

PROVISIONING COMMANDS  –  164


INFINISHELL COMMANDS REFERENCE 5.5.10 

destination A valid IPv4 address

net_space Name of an existing network space

Example config.net_space.route.add name=Replication destination=192.168.10.0


netmask=255.255.255.0 gateway=10.68.65.254 metric=20 

Route added to Network Space Replication 

3.38.8 config.net_space.route.query 
ROLE: All Roles

Description Query network space routes. 

Syntax config.net_space.route.query [net_space=NETWORKSPACE] [destination=IPADDRESS] 

Arguments net_space  Name of an existing network space 

destination  A valid IPv4 address 

Example config.net_space.route.query net_space=Replication 

Destination     Netmask          Gateway


0.0.0.0         0.0.0.0          172.25.172.254
10.0.0.192      255.255.255.240  172.25.172.1
192.168.0.0     255.255.0.0      172.25.172.1
172.25.172.255  172.25.172.3     172.25.172.254  

Example config.net_space.route.query --detailed

Name            Replication
Service         SYNC Replication
Network         172.16.32.0/19
MTU             1500
Rate Limit      -
Gateway         172.16.63.254
IPs             16
Interfaces      PG1
VMAC Addresses
                addresses            role
                74:2b:0f:4e:56:f8 :  DATA
                74:2b:0f:4e:56:f9 :  DATA
                74:2b:0f:4e:56:f4 :  DATA
                74:2b:0f:4e:56:f5 :  DATA
                74:2b:0f:4e:56:f6 :  DATA
                74:2b:0f:4e:56:f7 :  DATA

PROVISIONING COMMANDS  –  165


INFINISHELL COMMANDS REFERENCE 5.5.10 

3.38.9 config.net_space.route.remove 
ROLE: Admin

Description Remove network space route. 

Syntax config.net_space.route.remove net_space=NETWORKSPACE destination=IPADDRESS


netmask=NETMASK gateway=IPADDRESS 

Arguments gateway  A valid IPv4 address 

netmask  An IPv4 netmask 

destination A valid IPv4 address

net_space Name of an existing network space

Example config.net_space.route.remove net_space=Async1 destination=11.11.128.0


netmask=255.255.252.0 gateway=172.16.95.254 

Route to 11.11.128.0 255.255.252.0 removed from network space Async1

3.38.10 config.net_space.route.set_gateway 
ROLE: Admin

PROVISIONING COMMANDS  –  166


INFINISHELL COMMANDS REFERENCE 5.5.10 

Description Set route gateway in network space.

This command allows to change the gateway that the route uses. The route is identified by all of its
attributes.

Syntax config.net_space.route.set_gateway net_space=NETWORKSPACE destination=IPADDRESS


netmask=NETMASK gateway=IPADDRESS new_gateway=IPADDRESS

Arguments new_gateway A valid IPv4 address

gateway  A valid IPv4 address 

netmask  An IPv4 netmask 

destination A valid IPv4 address

net_space Name of an existing network space

Example config.net_space.route.set_gateway net_space=Replication netmask=255.255.255.240


destination=192.168.0.0 gateway=172.25.172.1 new_gateway=172.25.172.2 

Route was updated 

3.38.11 config.net_space.set_default_gateway 
ROLE: Admin

Description Set default gateway 

Syntax config.net_space.set_default_gateway net_space=NETWORKSPACE


default_gateway=IPADDRESSORNONE 

Arguments net_space  Name of an existing network space 

default_gateway  A valid IPv4 address 

Example Setting a default gateway. 

config.net_space.set_default_gateway name=REPLICATION default_gateway=172.16.32.254 

Network space REPLICATION default gateway set to 172.16.32.254 

Example Removing the default gateway. 

config.net_space.set_default_gateway name=REPLICATION default_gateway=None 

PROVISIONING COMMANDS  –  167


INFINISHELL COMMANDS REFERENCE 5.5.10 

Network space REPLICATION default gateway unset 

3.38.12 config.net_space.set_interfaces 
ROLE: Admin

Description Set network space port groups. 

Syntax cconfig.net_space.set_interfaces net_space=NETWORKSPACE


interfaces=INTERFACE[,INTERFACE,...]

Arguments interfaces  Name of an existing network interface (multiple values, separated by


commas) 

net_space  Name of an existing network space 

Example config.net_space.set_interfaces name=REPLICATION interfaces=n1eth-data1, n2eth-data1,


n3eth-data1 

Network space REPLICATION interfaces set to n1eth-data1, n2eth-data1, n3eth-data1 

3.38.13 config.net_space.set_mtu 
ROLE: Admin

Description Set the network space MTU.

MTU (maximum transfer unit) is measured in octets (bytes).

Syntax config.net_space.set_mtu net_space=NETWORKSPACE mtu=MTU 

Arguments net_space  Name of an existing network space  

mtu  Maximum transmission unit. An integer number between 1280 and 9000
(inclusive)

Example config.net_space.set_mtu name=RMR01 mtu=1200 

Network space RMR01 MTU set to 1200 

PROVISIONING COMMANDS  –  168


INFINISHELL COMMANDS REFERENCE 5.5.10 

3.38.14 config.net_space.set_network 
ROLE: Admin

Description Set network space network configuration. 

Syntax config.net_space.set_network net_space=NETWORKSPACE network=IPADDRESS/CIDR 

Arguments network  A valid IPv4 network address in CIDR notation, e.g. 192.168.1.0/24

net_space   Name of an existing network space   

Example config.net_space.set_network name=REPLICATION network=172.16.32.0/19


default_gateway=none 

Network space REPLICATION network set to 172.16.32.0/19 

3.38.15 config.net_space.set_rate_limit
ROLE: Admin, Pool Admin

Description Sets a bandwidth limitation on a Network Space per node.

This limit is configured on the Interface used by the Network space to allow traffic shaping and avoid
bandwidth starvation.

Syntax config.net_space.set_rate_limit net_space=NETWORKSPACE limit_per_node=LIMIT 

Arguments limit_per_node NONE, or an amount of megabits per second

net_space  Name of an existing network space  

Example Setting a rate limit. 

config.net_space.set_rate_limit name=replication_space limit_per_node=200 

Network space replication_space bandwidth limitation (per node): Limited to 200Mbps 

Example Removing the rate limit. 

config.net_space.set_rate_limit name=replication_space limit_per_node=none 

Network space replication_space bandwidth limitation (per node): Limit removed 

PROVISIONING COMMANDS  –  169


INFINISHELL COMMANDS REFERENCE 5.5.10 

3.38.16 config.net_space.set_replication_type 
ROLE: Admin, Pool Admin

Description Sets a bandwidth limitation on a Network Space per node. This limit is configured on the
Interface used by the Network space to allow traffic shaping and avoid bandwidth starvation. 

Syntax config.net_space.set_replication_type net_space=REPLICATIONNETWORKSPACE


async_only=YESNO 

Arguments async_only  Either yes, or no 

net_space  Name of an existing replication network space  

3.39 Network Space IP Address commands

3.39.1 config.net_space.ip.create 
ROLE: Admin 

Description Create IP address in network space. 

Syntax config.net_space.ip.create net_space=NETWORKSPACE ip_address=IPADDRESS[,IPADDRESS,...] 

Arguments net_space  Name of an existing network space 

ip_address  A valid IPv4 address (multiple values, separated by commas) 

Example config.net_space.ip.create net_space=default.nas.space ip_address=172.16.32.56 

IP address 172.16.32.56 created in network space default_nas_space 

3.39.2 config.net_space.ip.delete 
ROLE: Admin 

Description Delete IP address from network space.

The IP address has to be disabled in order for the deletion command to take effect. 

Syntax config.net_space.ip.delete net_space=NETWORKSPACE ip_address=IPADDRESS[,IPADDRESS,...] 

PROVISIONING COMMANDS  –  170


INFINISHELL COMMANDS REFERENCE 5.5.10 

Arguments net_space  Name of an existing network space 

ip_address  A valid IPv4 address (multiple values, separated by commas) 

Example config.net_space.ip.delete net_space=NETWORKSPACE ip_address=IPADDRESS 

IP address 172.16.32.57 deleted in network space default_nas_space 

3.39.3 config.net_space.ip.disable  
ROLE: Admin 

Description Disable network space IP address. 

Syntax config.net_space.ip.disable net_space=NETWORKSPACE ip_address=IPADDRESS[,IPADDRESS,...] 

Arguments net_space  Name of an existing network space 

ip_address  A valid IPv4 address (multiple values, separated by commas) 

Example config.net_space.ip.disable net_space=NETWORKSPACE ip_address=IPADDRESS 

IP address 172.16.32.57 disabled in network space default_nas_space 

3.39.4 config.net_space.ip.enable 
ROLE: Admin 

Description Enable network space IP address. 

Syntax config.net_space.ip.enable net_space=NETWORKSPACE ip_address=IPADDRESS[,IPADDRESS,...] 

Arguments net_space  Name of an existing network space 

ip_address  A valid IPv4 address (multiple values, separated by commas) 

Example config.net_space.ip.enable net_space=NETWORKSPACE ip_address=IPADDRESS 

IP address 172.16.32.57 enabled in network space default_nas_space 

PROVISIONING COMMANDS  –  171


INFINISHELL COMMANDS REFERENCE 5.5.10 

3.39.5 config.net_space.ip.query 
ROLE: All Roles

Description Query network space IPs. 

Syntax config.net_space.ip.query [net_space=NETWORKSPACE] [interface=INTERFACE] 

Arguments net_space  Name of an existing network space 

interface  Name of an existing network interface 

Example config.net_space.ip.query 

NETWORK   IP             ENABLED  NODE   NETWORK   REPLICATION 


SPAVE     ADDRESS                        INTERFACE MANAGEMENT IP
RMR       172.16.32.162  yes      -      -         yes
RMR       172.16.32.163  yes      2      LAG-2     no
RMR       172.16.32.164  yes      2      LAG-2     no 
RMR       172.16.32.165  yes      3      LAG-3     no
RMR       172.16.32.166  yes      3      LAG-3     no
RMR       172.16.32.167  yes      2      LAG-2     no
RMR       172.16.32.168  yes      3      LAG-3     no     

3.40 Filesystem Metrics commands

3.40.1 metrics.nas.destination_ip.show 
ROLE: All Roles

Description  Show metrics for specific destination ip in system. 

Syntax metrics.nas.destination_ip.show destination_ip=IPADDRESS [pool=POOL] [fs={FS|SNAP}]


[interval=Metrics Interval] [count=Metrics Count]

Arguments fs Name of an existing filesystem or snapshot

pool  Name of an existing pool 

destination_ip  A valid IPv4 address 

interval Metrics refresh interval. Max value is 60

count The number of times command will be executed

Example metrics.nas.destination_ip.show destination_ip=172.16.32.0 

PROVISIONING COMMANDS  –  172


INFINISHELL COMMANDS REFERENCE 5.5.10 

---     OPERATIONS THROUGHPUT  LATENCY


READ    0          -           1.022 ms
WRITE   0          -           0.796 ms

3.40.2 metrics.nas.destination_ip.top 
ROLE: All Roles

Description Show top metrics for destination ips in system. 

Syntax metrics.nas.destination_ip.top [pool=POOL] [fs={FS|SNAP}] [sort_by=[ops|latency|throughput]


[results=Metrics Results] 

Arguments results  The number of results that will be displayed. Max value is 100 

sort_by  ops, throughput or latency 

fs Name of an existing filesystem or snapshot 

pool Name of an existing pool

Example Run the command with no parameters to see the metrics. 

metrics.nas.destination_ip.top 

DESTINATION IP  OPS    THROUGHPUT  LATENCY


10.77.255.34    17,895 -           0.281 ms
10.77.255.35    17,833 -           0.246 ms
10.77.255.31    17,828 -           0.274 ms
10.77.255.36    17,089 -           0.275 ms
10.77.255.32    17,634 -           0.258 ms
10.77.255.33    17,947 -           0.260 ms

3.40.3 metrics.nas.file.top  
ROLE: All Roles

Description Show top metrics for file paths in system. 

Syntax metrics.nas.file.top [pool=POOL] [fs={FS|SNAP}] [sort_by=[ops|latency|throughput}]


[results=Metrics Results] 

Arguments results  The number of results that will be displayed. Max value is 100 

PROVISIONING COMMANDS  –  173


INFINISHELL COMMANDS REFERENCE 5.5.10 

sort_by  ops, throughput or latency 

fs Name of an existing filesystem or snapshot 

pool Name of an existing pool

Example metrics.nas.file.top 

File path                OPERATIONS   THROUGHPUT  LATENCY


/filesystem1/1.txt       290          -           1.022 ms
/fs_VMware/abcd.vmdk     304          -           0.796 ms
/folder1/folder2/10.txt  538          -           0.508 ms

3.40.4 metrics.nas.fs.show 
ROLE: All Roles

Description Show metrics for specific filesystem in system.

• The output can be filtered by filesystem


• The output can be configured to be refreshed every specific interval and count
Press Q to return to the command prompt.

Syntax metrics.nas.fs.show fs={FS|SNAP} [interval=Metrics Interval] [count=Metrics Count] 

Arguments count The number of times command will be executed 

interval Metrics refresh interval. Max value is 60 

fs Name of an existing filesystem or snapshot 

Example metrics.nas.fs.show fs=fs1 

--    OPERATIONS   THROUGHPUT  LATENCY


READ  290          -           -
WRITE 538          -           -

3.40.5 metrics.nas.fs.top 
ROLE: All Roles

PROVISIONING COMMANDS  –  174


INFINISHELL COMMANDS REFERENCE 5.5.10 

Description Show top metrics for filesystems in system.

• The output can be filtered by pool


• The output can be sorted by any of the metrics (OPS, throughput, latency)
• The number of returned objects can be limited
Press Q to return to the command prompt.

Syntax metrics.nas.fs.top [pool=POOL] [sort_by={ops|latency|throughput] [results=Metrics


Results] 

Arguments sort_by  ops, throughput or latency 

pool  Name of an existing pool 

results  The number of results that will be displayed. Max value is 100 

Example metrics.nas.fs.top 

FS ID  OPS  THROUGHPUT  LATENCY


44     290  -           1.022 ms
26     314  -           0.796 ms
31     538  -           0.508 ms
74     312  -           1.299 ms

3.40.6 metrics.nas.gid.show  
ROLE: All Roles

Description Show metrics for specific gid in system. 

Syntax metrics.nas.gid.show gid=INT [fs={FS|SNAP}] [interval=Metrics Interval] [count=Metrics


Count] 

Arguments count  The number of times command will be executed 

interval  Metrics refresh interval. Max value is 60 

fs  Name of an existing filesystem or snapshot 

gid An integer number

Example metrics.nas.gid.show 

--    OPERATIONS  THROUGHPUT  LATENCY


READ  0           -           1.022 ms
WRITE 0           -           0.796 ms

PROVISIONING COMMANDS  –  175


INFINISHELL COMMANDS REFERENCE 5.5.10 

3.40.7 metrics.nas.gid.top 
ROLE: All Roles

Description Show top metrics for gid in system. 

Syntax metrics.nas.gid.top [pool=POOL] [fs={FS|SNAP}] [sort_by={ops|latency|throughput}]


[results=Metrics Results] 

Arguments pool  Name of an existing pool 

fs   Name of an existing filesystem or snapshot 

sort_by  ops, throughput or latency 

results  The number of results that will be displayed. Max value is 100 

Example metrics.nas.gid.top 

GROUP ID  OPERATIONS  THROUGHPUT  LATENCY


7194      1           -           0.727 ms
8926      1           -           0.744 ms
4582      1           -           0.508 ms
3473      1           -           1.299 ms

3.40.8 metrics.nas.pool.show 
ROLE: All Roles

Description Show metrics for specific pool in system. 

Syntax metrics.nas.pool.show pool=POOL [interval=Metrics Interval] [count=Metrics Count] 

Arguments count   The number of times command will be executed 

interval  Metrics refresh interval. Max value is 60 

pool Name of an existing pool 

Example metrics.nas.pool.show pool=p1 

PROVISIONING COMMANDS  –  176


INFINISHELL COMMANDS REFERENCE 5.5.10 

--       OPERATIONS  THROUGHPUT  LATENCY


READ     0           -           1.022 ms
WRITE    0           -           0.796 ms
METADATA 538         -           0.508 ms

3.40.9 metrics.nas.pool.top 
ROLE: All Roles

Description Show top metrics for pools in system. 

Syntax metrics.nas.pool.top [sort_by={ops|latency|throughput}] [results=Metrics Results] 

Arguments results   The number of results that will be displayed. Max value is 100 

sort_by  ops, throughput or latency 

Example metrics.nas.pool.top 

POOL NAME  OPERATIONS  THROUGHPUT  LATENCY


p1         290         -           1.022 ms
p2         314         -           0.796 ms
p3         538         -           0.508 ms
p4         312         -           1.299 ms

3.40.10 metrics.nas.source_ip.show 
ROLE: All Roles

Description Show metrics for specific source IP in system.

Syntax metrics.nas.source_ip.show source_ip=IPADDRESS [pool=POOL] [fs={FS|SNAP}]


[interval=Metrics Interval] [count=Metrics Count] 

Arguments count  The number of times command will be executed 

interval  Metrics refresh interval. Max value is 60 

fs  Name of an existing filesystem or snapshot 

pool  Name of an existing pool 

source_ip  A valid IPv4 address 

PROVISIONING COMMANDS  –  177


INFINISHELL COMMANDS REFERENCE 5.5.10 

Example metrics.nas.source_ip.show source_ip=172.32.16.0 

---    OPERATIONS  THROUGHPUT  LATENCY


READ   0           -           1.022 ms
WRITE  0           -           0.796 ms

3.40.11 metrics.nas.source_ip.top 
ROLE: All Roles

Description Show top metrics for the source IP addresses of a network space that serves NAS. 

Syntax metrics.nas.source_ip.top [pool=POOL] [fs={FS|SNAP}] [sort_by={ops|latency|throughput}]


[results=Metrics Results] 

Arguments results   The number of results that will be displayed. Max value is 100 

sort_by  ops, throughput or latency 

fs Name of an existing filesystem or snapshot

pool Name of an existing pool

Example metrics.nas.source_ip.top 

SOURCE IP  OPERATIONS  THROUGHPUT  LATENCY


44         290         -           1.022 ms
26         314         -           0.796 ms
31         538         -           0.508 ms
74         312         -           1.299 ms

3.40.12 metrics.nas.system.show 
ROLE: All Roles

Description Show metrics for system. 

Syntax metrics.nas.system.show [interval=Metrics Interval] [count=Metrics Count] 

Arguments count   The number of times command will be executed 

interval  Metrics refresh interval. Max value is 60 

PROVISIONING COMMANDS  –  178


INFINISHELL COMMANDS REFERENCE 5.5.10 

Example metrics.nas.system.show 

--       OPERATIONS  THROUGHPUT  LATENCY


READ     0           -           1.022 ms
WRITE    0           -           0.796 ms
METADATA 538         -           0.508 ms

3.40.13 metrics.nas.treeq.show 
ROLE: All Roles

Description Show metrics for specific TreeQ in system. 

Syntax metrics.nas.treeq.show fs={FS|SNAP} treeq=TREEQNAME [interval=Metrics Interval]


[count=Metrics Count]

Arguments count  The number of times command will be executed 

interval Metrics refresh interval. Max value is 60 

treeq  TreeQ name

fs  Name of an existing filesystem or snapshot  

3.40.14 metrics.nas.treeq.top 
ROLE: All Roles

Description Show top metrics for TreeQs in system. 

Syntax metrics.nas.treeq.top [pool=POOL] [fs={FS|SNAP}] [sort_by={ops|latency|throughput}]


[results=Metrics Results] 

Arguments pool  Name of an existing pool 

fs  Name of an existing filesystem or snapshot 

sort_by  ops, throughput or latency 

results  The number of results that will be displayed. Max value is 100 

PROVISIONING COMMANDS  –  179


INFINISHELL COMMANDS REFERENCE 5.5.10 

3.40.15 metrics.nas.uid.show 
ROLE: All Roles

Description Show metrics for specific uid in system. 

Syntax metrics.nas.uid.show uid=INT [fs={FS|SNAP}] [interval=Metrics Interval] [count=Metrics


Count] 

Arguments interval  Metrics refresh interval. Max value is 60 

fs  Name of an existing filesystem or snapshot  

uid  An integer number

count  The number of times command will be executed 

Example metrics.nas.uid.show uid=5 

---    OPERATIONS  THROUGHPUT  LATENCY


READ   0           -           1.022 ms
WRITE  0           -           0.796 ms

3.40.16 metrics.nas.uid.top 
ROLE: All Roles

Description Show top metrics for the system users. 

Syntax metrics.nas.uid.top [pool=POOL] [fs={FS|SNAP}] [sort_by={ops|latency|throughput}]


[results=Metrics Results] 

Arguments fs  Name of an existing filesystem or snapshot 

sort_by  ops, throughput or latency 

pool  Name of an existing pool 

results   The number of results that will be displayed. Max value is 100

Example metrics.nas.uid.top 

PROVISIONING COMMANDS  –  180


INFINISHELL COMMANDS REFERENCE 5.5.10 

USER ID  OPERATIONS  THROUGHPUT  LATENCY


44       290         -           1.022 ms
26       314         -           0.796 ms
31       538         -           0.508 ms
74       312         -           1.299 ms

3.41 Replica Metrics commands


These commands display metrics for a replicated volume or for the entire system.

3.41.1 metrics.async.fs.show  
ROLE: All Roles 

Description Show metrics for specific replicating filesystem in system. 

Syntax metrics.async.fs.show fs={FS|SNAP} [interval=Metrics Interval] [count=Metrics Count] 

Arguments interval  Metrics refresh interval. Max value is 60 

fs  Name of an existing filesystem or snapshot 

count The number of times command will be executed 

3.41.2 metrics.async.fs.top 
ROLE: All Roles 

Description Show top ASYNC metrics for replicating filesystems in system. 

Syntax metrics.async.fs.top [results=Metrics Results] 

Arguments results  The number of results that will be displayed. Max value is 100 

3.41.3 metrics.async.system.show 
ROLE: All Roles

PROVISIONING COMMANDS  –  181


INFINISHELL COMMANDS REFERENCE 5.5.10 

Description Show metrics for replicated volumes in the system.

• Received - replication traffic that received by target volumes


• Sent - replication traffic that sent from source volumes

Syntax metrics.async.system.show [interval=Metrics Interval] [count=Metrics Count] 

Arguments count  The number of times command will be executed 

interval  Metrics refresh interval. Max value is 60 

Example metrics.async.system.show 

--        OPERATIONS  THROUGHPUT  LATENCY


received  2,337       813 MB/sec  0.851 ms
sent      0           -           0.0 ms

3.41.4 metrics.async.vol.show 
ROLE: All Roles

Description Show metrics for a specific replicated volume. 

Syntax metrics.async.vol.show vol={VOL|SNAP} [interval=Metrics Interval] [count=Metrics Count] 

Arguments count  The number of times command will be executed 

interval  Metrics refresh interval. Max value is 60 

vol Name of an existing volume or snapshot 

Example metrics.async.vol.show vol=v1 

--        OPERATIONS  THROUGHPUT


received  2,337       813 MB/sec 
sent      0           -          

  

3.41.5 metrics.async.vol.top 
ROLE: All Roles

Description Show top ASYNC metrics for volumes in system. 

PROVISIONING COMMANDS  –  182


INFINISHELL COMMANDS REFERENCE 5.5.10 

Syntax metrics.async.vol.top [results=Metrics Results] 

Arguments results  The number of results that will be displayed. Max value is 100 

Example metrics.async.vol.top 

VOL NAME  OPERATIONS  THROUGHPUT 


v1        2,337       813 MB/sec 
v2        1,093       407 MB/sec        

3.42 Volume Metrics commands

3.42.1 metrics.san.fc.show 
ROLE: All Roles

Description Show metrics for FC in system. 

• The output can be filtered by pool


• The output can be filtered by volume
• The output can be configured to be refreshed every specified interval and count

Syntax metrics.san.fc.show [pool=POOL] [vol={VOL|SNAP}] [interval=Metrics Interval]


[count=Metrics Count] 

Arguments interval  Metrics refresh interval. Max value is 60 

vol Name of an existing volume or snapshot

pool Name of an existing pool

count   The number of times command will be executed 

Example metrics.san.fc.show 

--         OPERATIONS  THROUGHPUT  LATENCY    ERRORS


READ       7,121       251 MB/sec  3663.017ms 0
WRITE      3,927       126 MB/sec  2803.351ms 0
XCOPY      0           -           0.0ms      0
WRITE_SAME 0           -           0.0ms      0

3.42.2 metrics.san.fc_initiator.show 
ROLE: All Roles

PROVISIONING COMMANDS  –  183


INFINISHELL COMMANDS REFERENCE 5.5.10 

Description Show metrics for specific FC initiator in system. 

Syntax metrics.san.fc_initiator.show initiator=USEDFCLOGGEDININITIATOR [interval=Metrics


Interval] [count=Metrics Count] 

Arguments count   The number of times command will be executed 

interval  Metrics refresh interval. Max value is 60  

initiator  Logged in initiator 

Example metrics.san.fc_initiator.show initiator=10000000c9cc1979 

--         OPERATIONS  THROUGHPUT  LATENCY    ERRORS


READ       7,121       251 MB/sec  3663.017ms 0
WRITE      3,927       126 MB/sec  2803.351ms 0
XCOPY      0           -           0.0ms      0
WRITE_SAME 0           -           0.0ms      0

3.42.3 metrics.san.fc_initiator.top 
ROLE: All Roles

Description Show metrics for top FC initiators in system. 

Syntax metrics.san.fc_initiator.top [pool=POOL] [host=HOST] [sort_by=TYPE] [results=Metrics


Results] 

Arguments results  The number of results that will be displayed. Max value is 100 

sort_by  operations, latency or throughput 

host Name of an existing host

pool  Name of an existing pool

Example metrics.san.fc_initiator.top 

INITIATOR               OPERATIONS  THROUGHPUT  LATENCY    ERRORS


10:00:00:00:c9:ac:c6:f3 5,680       106 MB/sec  7.91 ms    0
10:00:00:00:c9:f2:1d:d9 4,790       313 MB/sec  8.12 ms    0

PROVISIONING COMMANDS  –  184


INFINISHELL COMMANDS REFERENCE 5.5.10 

3.42.4 metrics.san.fc_target.show 
ROLE: All Roles

Description Show metrics for specific port in system.

• The target is represented by the Port parameter

Syntax metrics.san.fc_target.show port=PORT [interval=Metrics Interval] [count=Metrics Count] 

Arguments count   The number of times command will be executed 

interval  Metrics refresh interval. Max value is 60  

port  Node and FC port index, e.g: N2FC5, or WWPN (a 16-digit hexadecimal number,
optionally divided by colons to 8 groups of two digits each)

Example metrics.san.fc_target.show port=N1FC1 

--         OPERATIONS  THROUGHPUT  LATENCY    ERRORS


READ       7,121       251 MB/sec  3663.017ms 0
WRITE      3,927       126 MB/sec  2803.351ms 0
XCOPY      0           -           0.0ms      0
WRITE_SAME 0           -           0.0ms      0

3.42.5 metrics.san.fc_target.top 
ROLE: All Roles

Description Show top metrics for fc targets in system.

• The command output is filterable by:


• Pool
• Volume
• Host
• Initiator
• The number of metered entities can be determined
• The results can be sorted

Syntax metrics.san.fc_target.top [pool=POOL] [vol={VOL|SNAP}] [host=HOST] [sort_by=TYPE]


[results=Metrics Results] 

Arguments results  The number of results that will be displayed. Max value is 100 

sort_by  operations, latency or throughput 

PROVISIONING COMMANDS  –  185


INFINISHELL COMMANDS REFERENCE 5.5.10 

host Name of an existing host

vol Name of an existing volume or snapshot

pool  Name of an existing pool

Example metrics.san.fc_target.top

TARGET                  OPERATIONS  THROUGHPUT  LATENCY    ERRORS


57:42:b0:f0:00:0b:bb:31 5,680       106 MB/sec  7.91 ms    0
57:42:b0:f0:00:0b:bb:21 4,790       313 MB/sec  8.12 ms    0

3.42.6 metrics.san.host.show 
ROLE: All Roles

Description Show metrics for specific host in system. 

Syntax metrics.san.host.show host=HOST [interval=Metrics Interval] [count=Metrics Count] 

Arguments host Name of an existing host

interval  Metrics refresh interval. Max value is 60  

count The number of times command will be executed 

Example metrics.san.host.show host=h1

--         OPERATIONS  THROUGHPUT  LATENCY    ERRORS


READ       7,121       251 MB/sec  3663.017ms 0
WRITE      3,927       126 MB/sec  2803.351ms 0
XCOPY      0           -           0.0ms      0
WRITE_SAME 0           -           0.0ms      0

3.42.7 metrics.san.host.top 
ROLE: All Roles

Description Show top metrics for hosts in system. 

Syntax metrics.san.host.top [pool=POOL] [sort_by=TYPE] [results=Metrics Results] 

Arguments results  The number of results that will be displayed. Max value is 100 

PROVISIONING COMMANDS  –  186


INFINISHELL COMMANDS REFERENCE 5.5.10 

sort_by  operations, latency or throughput 

pool  Name of an existing pool

Example metrics.san.host.top

INITIATOR               OPERATIONS  THROUGHPUT  LATENCY    ERRORS


10:00:00:00:c9:ac:c6:f3 5,680       106 MB/sec  7.91 ms    0
10:00:00:00:c9:f2:1d:d9 4,790       313 MB/sec  8.12 ms    0

3.42.8 metrics.san.iscsi.show 
ROLE: All Roles

Description Show metrics for all of the iSCSI in the system.

Syntax metrics.san.iscsi.show [pool=POOL] [vol={VOL|SNAP}] [interval=Metrics Interval]


[count=Metrics Count]

Arguments count The number of times command will be executed  

interval  Metrics refresh interval. Max value is 60  

vol Name of an existing volume or snapshot

pool Name of an existing pool

Example metrics.san.iscsi.show 

--         OPERATIONS  THROUGHPUT  LATENCY    ERRORS


READ       7,121       251 MB/sec  3.017ms    0
WRITE      3,927       126 MB/sec  3.35ms     0
XCOPY      0           -           0.0ms      0
WRITE_SAME 0           -           0.0ms      0

3.42.9 metrics.san.iscsi_initiator.show 
ROLE: All Roles

Description Show metrics for specific iSCSI initiator in system.

Syntax metrics.san.iscsi_initiator.show initiator=USEDISCSILOGGEDININITIATOR [interval=Metrics


Interval] [count=Metrics Count]

PROVISIONING COMMANDS  –  187


INFINISHELL COMMANDS REFERENCE 5.5.10 

Arguments initiator Logged in initiator

interval  Metrics refresh interval. Max value is 60  

count The number of times command will be executed 

Example metrics.san.iscsi_initiator.show initiator=172.16.35.74

--         OPERATIONS  THROUGHPUT  LATENCY    ERRORS


READ       7,121       251 MB/sec  3663.017ms 0
WRITE      3,927       126 MB/sec  2803.351ms 0
XCOPY      0           -           0.0ms      0
WRITE_SAME 0           -           0.0ms      0

3.42.10 metrics.san.iscsi_initiator.top 
ROLE: All Roles

Description Show top metrics for iSCSI initiators in system. 

Syntax metrics.san.iscsi_initiator.top [pool=POOL] [host=HOST] [sort_by=TYPE] [results=Metrics


Results]

Arguments results The number of results that will be displayed. Max value is 100

sort_by operations, latency or throughput

host Name of an existing host 

pool Name of an existing pool

Example metrics.san.iscsi_initiator.top 

INITIATOR INITIATOR OPERATIONS  THROUGHPUT  LATENCY  ERRORS


NAME
--        –-        7,121       251 MB/sec  3.66 ms  0
--        –         3,927       126 MB/sec  2.80 ms  0

3.42.11 metrics.san.iscsi_initiator_ip.show 
ROLE: All Roles

Description Show metrics for specific iscsi initiator IP in system.

PROVISIONING COMMANDS  –  188


INFINISHELL COMMANDS REFERENCE 5.5.10 

Syntax metrics.san.iscsi_initiator_ip.show ip_address=IPADDRESS [interval=Metrics Interval]


[count=Metrics Count]

Arguments count The number of times command will be executed 

interval  Metrics refresh interval. Max value is 60  

ip_address A valid IPv4 address

Example metrics.san.iscsi_initiator_ip.show ip_address=172.16.35.74 

--         OPERATIONS  THROUGHPUT  LATENCY    ERRORS


READ       7,121       251 MB/sec  3663.017ms 0
WRITE      3,927       126 MB/sec  2803.351ms 0
XCOPY      0           -           0.0ms      0
WRITE_SAME 0           -           0.0ms      0

3.42.12 metrics.san.iscsi_initiator_ip.top 
ROLE: All Roles

Description Show top metrics for iscsi initiator IPs in system.

Syntax metrics.san.iscsi_initiator_ip.top [pool=POOL] [vol={VOL|SNAP}] [host=HOST]


[sort_by=TYPE] [results=Metrics Results]

Arguments pool  Name of an existing pool

host  Name of an existing host

vol  Name of an existing volume or snapshot

sort_by operations, latency or throughput

results The number of results that will be displayed. Max value is 100 

Example metrics.san.iscsi_initiator_ip.top

--         OPERATIONS  THROUGHPUT  LATENCY    ERRORS


READ       7,121       251 MB/sec  3663.017ms 0
WRITE      3,927       126 MB/sec  2803.351ms 0
XCOPY      0           -           0.0ms      0
WRITE_SAME 0           -           0.0ms      0

PROVISIONING COMMANDS  –  189


INFINISHELL COMMANDS REFERENCE 5.5.10 

3.42.13 metrics.san.iscsi_target_ip.show 
ROLE: All Roles

Description Show metrics for specific iscsi target IP in system.

Syntax metrics.san.iscsi_target_ip.show ip_address=IPADDRESS [interval=Metrics Interval]


[count=Metrics Count]

Arguments count The number of times command will be executed 

interval  Metrics refresh interval. Max value is 60  

ip_address A valid IPv4 address

Example metrics.san.iscsi_initiator_ip.show ip_address=172.16.35.74

--         OPERATIONS  THROUGHPUT  LATENCY    ERRORS


READ       7,121       251 MB/sec  3663.017ms 0
WRITE      3,927       126 MB/sec  2803.351ms 0
XCOPY      0           -           0.0ms      0
WRITE_SAME 0           -           0.0ms      0

3.42.14 metrics.san.iscsi_target_ip.top 
ROLE: All Roles

Description Show top metrics for iscsi target IPs in system.

Syntax metrics.san.iscsi_target_ip.top [pool=POOL] [vol={VOL|SNAP}] [host=HOST] [sort_by=TYPE]


[results=Metrics Results]

Arguments results The number of results that will be displayed. Max value is 100

sort_by operations, latency or throughput

host Name of an existing host 

vol Name of an existing volume or snapshot

pool Name of an existing pool

Example metrics.san.iscsi_target_ip.top

PROVISIONING COMMANDS  –  190


INFINISHELL COMMANDS REFERENCE 5.5.10 

INITIATOR INITIATOR OPERATIONS  THROUGHPUT  LATENCY  ERRORS


NAME
--        –-        7,121       251 MB/sec  3.66 ms  0
--        –         3,927       126 MB/sec  2.80 ms  0

3.42.15 metrics.san.pool.show 
ROLE: All Roles

Description Show metrics for specific pool in system. 

Syntax metrics.san.pool.show pool=POOL [interval=Metrics Interval] [count=Metrics Count]

Arguments count The number of times command will be executed 

interval  Metrics refresh interval. Max value is 60  

pool  Name of an existing pool 

Example metrics.san.pool.show pool=p1

--         OPERATIONS  THROUGHPUT  LATENCY    ERRORS


READ       7,121       251 MB/sec  3663.017ms 0
WRITE      3,927       126 MB/sec  2803.351ms 0
XCOPY      0           -           0.0ms      0
WRITE_SAME 0           -           0.0ms      0

3.42.16 metrics.san.pool.top
ROLE: All Roles

Description Show top metrics for pools in system. 

Syntax metrics.san.pool.top [sort_by=TYPE] [results=Metrics Results]

Arguments results  The number of results that will be displayed. Max value is 100 

sort_by  operations, latency or throughput 

Example metrics.san.pool.top

POOL NAME OPERATIONS  THROUGHPUT  LATENCY    ERRORS


p1        5,680       106 MB/sec  7.91 ms    0
p2        4,790       313 MB/sec  8.12 ms    0

PROVISIONING COMMANDS  –  191


INFINISHELL COMMANDS REFERENCE 5.5.10 

3.42.17 metrics.san.system.show 
ROLE: All Roles

Description Show metrics for system.

Syntax metrics.san.system.show [interval=Metrics Interval] [count=Metrics Count]

Arguments count The number of times command will be executed 

interval  Metrics refresh interval. Max value is 60  

Example metrics.san.system.show 

--         OPERATIONS  THROUGHPUT  LATENCY    ERRORS


READ       7,121       251 MB/sec  3663.017ms 0
WRITE      3,927       126 MB/sec  2803.351ms 0
XCOPY      0           -           0.0ms      0
WRITE_SAME 0           -           0.0ms      0

3.42.18 metrics.san.vol.show 
ROLE: All Roles

Description Show metrics for specific volume in system. 

Syntax metrics.san.vol.show vol={VOL|SNAP} [interval=Metrics Interval] [count=Metrics Count] 

Arguments count The number of times command will be executed 

interval  Metrics refresh interval. Max value is 60  

vol Name of an existing volume or snapshot

Example metrics.san.vol.show 

--         OPERATIONS  THROUGHPUT  LATENCY    ERRORS


READ       7,121       251 MB/sec  3663.017ms 0
WRITE      3,927       126 MB/sec  2803.351ms 0
XCOPY      0           -           0.0ms      0
WRITE_SAME 0           -           0.0ms      0

PROVISIONING COMMANDS  –  192


INFINISHELL COMMANDS REFERENCE 5.5.10 

3.42.19 metrics.san.vol.top 
ROLE: All Roles

Description Show top metrics for volumes in system. 

Syntax metrics.san.vol.top [pool=POOL] [sort_by=TYPE] [results=Metrics Results]

Arguments results  The number of results that will be displayed. Max value is 100 

sort_by  operations, latency or throughput 

pool Name of an existing pool

Example metrics.san.vol.top 

POOL NAME OPERATIONS  THROUGHPUT  LATENCY    ERRORS


v1        5,680       106 MB/sec  7.91 ms    0
v2        4,790       313 MB/sec  8.12 ms    0

3.43 HTTPS/SSL Management commands

3.43.1 config.system.set_ssl_redirection 
ROLE: Admin 

Description Enables / disables the redirection from HTTP (80)to HTTPS (443). 

Syntax config.system.set_ssl_redirection redirect=YESNO 

Arguments redirect Either yes or no 

Example Redirecting all sessions to use SSL 

config.system.set_ssl_redirection redirect=yes

HTTPS redirection set to "enabled"

3.43.2 config.system.ssl_certificate.clear 
ROLE: Admin 

PROVISIONING COMMANDS  –  193


INFINISHELL COMMANDS REFERENCE 5.5.10 

Description Clears existing SSL certificate, replaces it with a self-signed certificate. 

Syntax config.system.ssl_certificate.clear

Example config.system.ssl_certificate.clear

SSL certificate cleared, generated a self-signed certificate. 

3.43.3 config.system.ssl_certificate.create_csr 
ROLE: Admin 

Description Create Certificate Sign Request (CSR) file. This file includes only the public key and is a more secure
method of generating a certificate.

Syntax config.system.ssl_certificate.create_csr [filepath=STR]

Arguments filepath  Any sequence of characters 

Example Create a certificate file and store it in the default location 

config.system.ssl_certificate.create_csr 

CSR saved to 'c:\temp\infinibox_csr.pem' 

Example Create a certificate file and store it in a user-defined location 

config.system.ssl_certificate.create_csr filepath=c:\myCSR.pem

CSR saved to 'c:\myCSR.pem' 

3.43.4 config.system.ssl_certificate.query 
ROLE: Admin 

Description Show current certificate data.

Syntax config.system.ssl_certificate.query 

Example config.system.ssl_certificate.query

PROVISIONING COMMANDS  –  194


INFINISHELL COMMANDS REFERENCE 5.5.10 

Public Key RAW       ----BEGIN PUBLIC KEY----


                     MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAjN + sR54V
                     09 LtVvEEw7iPmYwqZ9idoL / JZu2Iabd6sNr / vGGQEQeORcUjP8wB
                     qeiS3C2JiOsVapd6idXqpEsS4CUn / yv4Wo6Oe3n2ikzIacYzfSnA
                     vSwoHt896YCrqR / qr3oZjigergBFMqXu + BsXPEwT6BnPvXmLI0xd
                     wt8xQ3ghilsDx0euCdn4Oaf9dySfYYmNAPo8GEdklBLuYLQV / Tqf
                     XxxSAjBGQNC2Ye / mXhYbtvLUjAyWnxP47vpPlRt + GXOsHgh1tbcU
                     vQIDAQAB
                     -- -- - END PUBLIC KEY-- -- -
Public Key Modulus   8CDFAC479E15D465747952528C5CB2D3D2ED56F104C3B88F998C
                     5E
AA44B12E02527FF2BF85A8E8E7B79F68A4CC869C6337D29C0753195AD176D6998E2B
                     D2C2 81ED F3DE980ABA9
                     9
D9F839A7FD77249F61898D00FA3C1847649412EE60B415FD3A9FBADDD69914B8E
                     2E0905F1C5202304640D0B6
Public Key Algorithm  RSA
Certificate Issued On  2016-11-08 10:00:00
Certificate Raw     -----BEGIN CERTIFICATE-----
                    MIIDBzCCAfGgAwIBAgIGAVhEHeLHMAsGCSqGSIb3DQEBCzA7MQsw
                    UzESMBAGA1UEAwwJSW5maW5pbGFiMRgwFgYDVQQKDA9JbmZpbmlk
                    HhcNMTYxMTA4MTMyNTU5WhcNMjExMTA4MTMyNTU5WjBSMQswCQYD
                    MCcGA1UEAwwgYm94LXJleWZtYW4ubGFiLmlsLmluZmluaWRhdC5j
                    BAoMD0luZmluaWRhdCwgTHRkLjCCASIwDQYJKoZIhvcNAQEBBQAD
                    ggEBAIzfrEeeFdRldHlSUoxcstPS7VbxBMO4j5mMKmfYnaC / yWbt
                    kBEHjkXFIz / MAb + 8 rn9sEpfNH6noktwtiYjrFWqXeonV6qRLEuAl
                    9 opMyGnGM30pwHUxla0XbWmY4r0sKB7fPemAq6kf6q96GY4oHq4A
                    E + gZz715iyNMXdVewUUlL0D0VMLfMUN4IYpbA8dHrgnZ + Dmn / Xck
                    ZJQS7mC0Ff06n7rd1pkUuOLgkF8cUgIwRkDQtmHv5l4WG7by1IwM
                    fhlzrB4IdbW3FD2GKyce4uv5870CAwEAATALBgkqhkiG9w0BAQsD
                    qh9nUnkR1fPW8YykChSoQIYh63c93ON2xPhNeCd6fkEZcYf4w18t
                    99E3 y + RIpM4hNenOmCeWcWoUacEI4YIZQqhk2QVHTbyA / tTGEh9m
                    uxjm9Fu22WLmqXb8Ce / TUwtZUJWP6T95WGNYVvMdw7s0f0Uw0JOW
                    gyk54Pg477LHjjfH35ssC7cI1V6zQBiSzOLDR3BPFklp / +vREd0x
                    tIuU5FA + NIGUIS9kkOoR / 3 SVr99Nfaowjbwv0e / +S7uRfcYYLoTp
                    z5mr / 2 yGTun0wo4 =
                    -- -- - END CERTIFICATE-- -- -

Certificate Version                3
Certificate Signature Algorithm    SHA256withRSA
Certificate Serial Number          158441DE2C7
Certificate Expired                no
Certificate Expires On             2021-11-08 15:00:00
Certificate Issued By Country      US
Certificate Issued By Organization Infinidat, Ltd.
Certificate Issued By Cn           Infinilab
Certificate Issued To Country      US
Certificate Issued To Organization Infinidat, Ltd.
Certificate Issued To Cn           ibox9999.lab.il.infinidat.com

3.43.5 config.system.ssl_certificate.upload 
ROLE: Admin 

PROVISIONING COMMANDS  –  195


INFINISHELL COMMANDS REFERENCE 5.5.10 

Description Sets the SSL certificate for the system.

InfiniBox validates that:

• The certificate file is in PEM format


• The certificate digital signature matches the certificate file content (the certificate is valid)

Syntax config.system.ssl_certificate.upload filename=STR

Arguments filename  Any sequence of characters

Example config.system.ssl_certificate.set_ssl filename=c:\cert.pem

System SSL Certificate uploaded 

3.43.6 config.system.ssl_certificate.upload_signed_csr 
ROLE: Admin 

Description Sets the certificate using a signed CSR file. 

Syntax config.system.ssl_certificate.upload_signed_csr filename=STR

Arguments filename  Any sequence of characters

Example config.system.ssl_certificate.upload_signed_csr

Signed CSR uploaded successfully 

3.44 QoS commands

3.44.1 config.qos_policy.assign 
ROLE: Admin 

Description Assign entity to policy.

Each policy is effective to only one type of entity:

• Volume
• Filesystem
• Pool-volume - the policy impacts the volumes that belong to this pool
• Pool-filesystem - the policy impacts the filesystems that belong to this pool

PROVISIONING COMMANDS  –  196


INFINISHELL COMMANDS REFERENCE 5.5.10 

Syntax config.qos_policy.assign policy=QOSPOLICY [vol={VOL|SNAP}[,{VOL|SNAP},...]] [fs={FS|SNAP}[,


{FS|SNAP},...]] [pool=POOL[,POOL,...]] 

Arguments fs Name of an existing filesystem or snapshot (multiple values, separated by


commas) 

vol Name of an existing volume or snapshot (multiple values, separated by


commas)

policy QoS policy 

pool Name of an existing pool (multiple values, separated by commas)

Example Assigning a volume to a policy 

qos_policy.assign policy=q1 vol=v1

VOLUME 'v1' was assigned to policy 'q1' 

Example Assigning a filesystem to a policy 

qos_policy.assign policy=q2 fs=fs1 

FILESYSTEM 'fs1' was assigned to policy 'q2' 

3.44.2 config.qos_policy.assignment_query  
ROLE: All Roles

Description List entities that are associated with a policy. 

Syntax config.qos_policy.assignment_query [policy=QOSPOLICY] [type=QoS policy type]

Arguments type VOLUME or POOL_VOLUME 

policy QoS policy 

Example qos_policy.assignment_query 

NAME TYPE            POLICY  ENTITIES 


v1   VOLUME          q1      -
v2   FILESYSTEM      q2      -
v3   POOL_VOLUME     q4      1
v4   POOL_FILESYSTEM q3      1

PROVISIONING COMMANDS  –  197


INFINISHELL COMMANDS REFERENCE 5.5.10 

3.44.3 config.qos_policy.create 
ROLE: Admin 

Description Create a new QoS policy. 

Syntax config.qos_policy.create name=NAME type=QoS policy type [max_ops=QOSOPSORNONE]


[max_throughput=MAXMIBPSORNONE] [burst=BURST] [burst_factor=BURSTFACTOR] 

Arguments burst_factor

burst Enable or disable Burst for QoS policy 

max_throughput  NONE, or qoS policy max throughput in MiB/s

max_ops  NONE, or qoS policy max operations per second 

type VOLUME or POOL_VOLUME

name A maximum of 65 Latin characters, numbers, spaces, and the following


symbols: "^&'@()[]$=!-#{}%.+~_" (excluding quotation marks). Leading and
trailing whitespace characters are stripped.

Example Creating a policy with max IOPS and no burst 

qos_policy.create name=q5 type=volume max_ops=2000 

QoS policy "q5" created 

Example Creating a policy with max IOPS, and a burst

qos_policy.create name=q6 type=volume max_ops=2000 burst_factor=4 burst=yes

QoS policy "q6" created 

3.44.4 config.qos_policy.delete 
ROLE: Admin

Description Delete a policy.

• There is no need to unassigned entities from a policy prior to the deletion


• Entities that were assigned to this policy are no longer assigned to a policy

Syntax config.qos_policy.delete policy=QOSPOLICY 

PROVISIONING COMMANDS  –  198


INFINISHELL COMMANDS REFERENCE 5.5.10 

Arguments policy QoS policy 

Example qos_policy.delete policy=q1 

QoS policy "q1" deleted 

3.44.5 config.qos_policy.enable 
ROLE: Admin

Description Enable QoS. 

Syntax config.qos_policy.enable 

3.44.6 config.qos_policy.modify 
ROLE: Admin 

Description Modify a policy.

• Rename the policy


• Change the max operations or max throughput settings
• Add a burst
• Activate/deactivate the burst

Syntax config.qos_policy.modify policy=QOSPOLICY [new_name=NAME] [max_ops=QOSOPSORNONE]


[max_throughput=MAXMIBPSORNONE] [burst=BURST] [burst_factor=BURSTFACTOR] 

Arguments new_name  A maximum of 65 Latin characters, numbers, spaces, and the following
symbols: "^&'@()[]$=!-#{}%.+~_" (excluding quotation marks). Leading and
trailing whitespace characters are stripped.Enable or disable Burst for QoS
policy 

policy  QoS policy

max_ops NONE, or qoS policy max operations per second 

max_throughput NONE, or qoS policy max throughput in MiB/s 

burst  Enable or disable Burst for QoS policy 

burst_factor

PROVISIONING COMMANDS  –  199


INFINISHELL COMMANDS REFERENCE 5.5.10 

Example Renaming a policy 

qos_policy.modify policy=q1 new_name=q2

Policy "q1" renamed to "q2"

Example Changing the max operations and max throughput parameters

qos_policy.modify policy=q1 max_ops=3000

QoS policy "q1" updated

Example Changing the burst factor

qos_policy.modify policy=policy-1 burst_factor=4 burst=yes

QoS policy "policy-1" updated

Example Deactivating the burst

qos_policy.modify policy=policy-1 burst=no

QoS policy "policy-1" updated

3.44.7 config.qos_policy.query 
ROLE: All Roles

Description List existing policies. 

Syntax config.qos_policy.query [policy=QOSPOLICY] [type=QoS policy type] 

Arguments type VOLUME or POOL_VOLUME 

policy QoS policy 

Example qos_policy.query 

NAME TYPE            MAX OPS  MAX THROUGHPUT  BURST FACTOR  


q1   VOLUME          3000     UNLIMITED       4
q2   FILESYSTEM      3000     UNLIMITED       -
q3   POOL_VOLUME     10000    UNLIMITED       -
q4   POOL_FILESYSTEM 10000    UNLIMITED       - 

PROVISIONING COMMANDS  –  200


INFINISHELL COMMANDS REFERENCE 5.5.10 

3.44.8 config.qos_policy.query_status 
ROLE: Admin

Description Query the QoS status. 

Syntax config.qos_policy.query_status 

3.44.9 config.qos_policy.unassign 
ROLE: Admin 

Description Remove entity from policy.

Unassigning an entity from a policy is done in either of the following ways:

• Specifying the entity


• Specifying the policy and then the entity

Syntax config.qos_policy.unassign [vol={VOL|SNAP}[,{VOL|SNAP},...]] [pool=POOL[,POOL,...]]


[policy=QOSPOLICY]

Arguments vol Name of an existing volume or snapshot (multiple values, separated by


commas)

pool Name of an existing pool (multiple values, separated by commas)

policy  QoS policy

Example Specifying the entity.

qos_policy.unassign vol=v1 

Entity was unassigned from QoS policy 

Example Specifying the policy and the entity. 

qos_policy.unassign policy=q1 vol=v1 

Entity was unassigned from QoS policy 

PROVISIONING COMMANDS  –  201


INFINISHELL COMMANDS REFERENCE 5.5.10 

3.45 Filesystem TreeQ commands

3.45.1 fs.treeq.create
ROLE: Admin 

Description Create new filesystem TreeQ.

Set the following parameters:

• fs: file system name


• name: treeq name
• Path - the internal path within the filesystem, starts with a slash sign (/) and is not allowed
to have any additional slash signs
• Mode: Similar to UNIX permission bits, if not provided - inherited from the system
parameter for default "mode"
• iNode quota (optional) - the number of file iNodes (numeric value / 5k / 1m for annotating
thousands / millions)
• Capacity quota (optional) - total logical capacity allocated to this quota. value is a number+
measurement unit. (100m / 200gib / 1tb)
• Soft iNodes quota (optional)- At what iNode usage will the storage admin receive an event
that the quota is nearly full.
• Soft Capacity quota (optional)- At what capacity usage will the storage admin receive an
event that the quota is nearly full.

Syntax fs.treeq.create fs={FS|SNAP} name=TREEQNAME [path=TREEQPATH] [mode=TREEQMODE]


[inode_quota=TREEQINODEQUOTA] [soft_inode_quota=TREEQINODEQUOTA]
[capacity_quota=TREEQCAPACITYQUOTA] [soft_capacity_quota=TREEQCAPACITYQUOTA]

Arguments soft_capacity_quota A positive number (up to 2 digits beyond the decimal point),
optionally followed by a unit; e.g. 1TB, 1000000000000

capacity_quota  A positive number (up to 2 digits beyond the decimal point),


optionally followed by a unit; e.g. 1TB, 1000000000000

soft_inode_quota A positive number (up to 2 digits beyond the decimal point),


optionally followed by a unit; e.g. 1M, 1000000

inode_quota A positive number (up to 2 digits beyond the decimal point),


optionally followed by a unit; e.g. 1M, 1000000

mode TreeQ mode

path TreeQ path

name TreeQ name

fs Name of an existing filesystem or snapshot

PROVISIONING COMMANDS  –  202


INFINISHELL COMMANDS REFERENCE 5.5.10 

Example fs.treeq.create fs=fs1 name=tq1 capacity_quota=1t

TreeQ 'tq1' created in filesystem 'fs1' with path '/tq1'

3.45.2 fs.treeq.delete 
ROLE: Admin 

Description Delete filesystem TreeQ.

In order to be deleted, the TreeQ has to be empty. When running the command, and identifying the
treeq, note that the treeq name cannot be auto-completed.

Syntax fs.treeq.delete fs={FS|SNAP} treeq=TREEQNAME 

Arguments treeq TreeQ name

fs Name of an existing filesystem or snapshot

Example fs.treeq.delete fs=fs1 treeq=tq2 

Treeq "tq2" deleted 

3.45.3 fs.treeq.modify 
ROLE: Admin 

Description Modify filesystem TreeQ.

The following attributes can be modified:

• Path - this attribute cannot be modified alone.


The command has to include a modification to at least one of the following attributes:

• iNode quota
• Soft iNode quota
• Capacity quota
• Soft capacity quota
When running the command, and identifying the treeq, note that the treeq name cannot be auto-
completed.

PROVISIONING COMMANDS  –  203


INFINISHELL COMMANDS REFERENCE 5.5.10 

Syntax fs.treeq.modify fs={FS|SNAP} [treeq=TREEQNAME] [path=TREEQPATH]


[inode_quota=TREEQINODEQUOTA] [soft_inode_quota=TREEQINODEQUOTA]
[capacity_quota=TREEQCAPACITYQUOTA] [soft_capacity_quota=TREEQCAPACITYQUOTA]

Arguments soft_capacity_quota A positive number (up to 2 digits beyond the decimal point),
optionally followed by a unit; e.g. 1TB, 1000000000000

capacity_quota  A positive number (up to 2 digits beyond the decimal point),


optionally followed by a unit; e.g. 1TB, 1000000000000

soft_inode_quota A positive number (up to 2 digits beyond the decimal point),


optionally followed by a unit; e.g. 1M, 1000000

inode_quota A positive number (up to 2 digits beyond the decimal point),


optionally followed by a unit; e.g. 1M, 1000000

path TreeQ path

name TreeQ name

fs Name of an existing filesystem or snapshot

Example fs.treeq.modify fs=fs1 treeq=tq1 inode_quota=1000

Treeq "tq1" modified in filesystem 'fs1' 

  

3.45.4 fs.treeq.query  
ROLE: All Roles

Descri List existing treeqs.


ption
When running the command, and identifying the treeq, note that the treeq name cannot be auto-completed. 

Syntax fs.treeq.query fs={FS|SNAP} [treeq=TREEQNAME] [path=TREEQPATH] [inodes_state=(NONE|BELOW_SOFT|


SOFT_EXCEEDED)] [capacity_state=(NONE|BELOW_SOFT|SOFT_EXCEEDED)]

Argum capacity_state TreeQ state 


ents

inode_state TreeQ state 

path TreeQ path

treeq TreeQ name

fs Name of an existing filesystem or snapshot

PROVISIONING COMMANDS  –  204


INFINISHELL COMMANDS REFERENCE 5.5.10 

Examp fs.treeq.query fs=fs1 


le

FILESYSTEM  TREEQ  CAPACITY      USED     CAPACITY  CAPACITY  INODES  USED   INODES  INODES 
                   STATE         CAPACITY SOFT      HARD      STATE   INODES SOFT    HARD   
                                          QUOTA     QUOTA                    QUOTA   QUOTA
PATH 
fs1         treeq1 NONE          900 GB   -         1 TB       NONE    120   -       1.25 k 
/treeq1
fs2         treeq2 BELOW QUOTA   700 GB  800 GB     1 TB       NONE    1     -       1.25 k 
/treeq2
fs3         treeq3 SOFT_EXCEEDED 900 GB  800 GB     1 TB       NONE    1     -       1.25 k 
/treeq3

3.45.5 fs.treeq.rename 
ROLE: Admin 

Description Rename filesystem TreeQ.

When running the command, and identifying the treeq, note that the treeq name cannot be auto-
completed.

Syntax fs.treeq.rename fs={FS|SNAP} treeq=TREEQNAME new_name=TREEQNAME

Arguments new_name New TreeQ name

treeq TreeQ name

fs Name of an existing filesystem or snapshot

Example fs.treeq.rename fs=fs1 treeq=tq1 new_name=treeq1 

TreeQ 'tq1' name updated to 'treeq1' 

3.46 Filesystem NLM commands

3.46.1 fs.nlm.break 
ROLE: Admin

Description Break NLM locks. 

Syntax fs.nlm.break [fs={FS|SNAP}] [file_path=FILEPATH] [client=IPADDRESS] [lock_id=NLMLOCKID] 

Arguments lock_id NLM Lock ID 

PROVISIONING COMMANDS  –  205


INFINISHELL COMMANDS REFERENCE 5.5.10 

client A valid IPv4 address

file_path File path

fs Name of an existing filesystem or snapshot 

3.46.2 fs.nlm.query 
ROLE: All Roles

Description List NLM locks. 

Syntax fs.nlm.query [fs={FS|SNAP}] [file_path=FILEPATH] [client=IPADDRESS] [state=WAITING|


GRANTED] [lock_id=NLMLOCKID] 

Arguments lock_id NLM Lock ID 

state NLM Lock state

client A valid IPv4 address

file_path File path

fs Name of an existing filesystem or snapshot 

3.46.3 fs.nlm.remove_orphan 
ROLE: Admin

Description Remove locks that are no longer relevant, e.g. because the underlying filesystem was deleted. 

Syntax fs.nlm.remove_orphan 

fs.query [fs=FS[,FS,...]] [pool=STANDARDPOOL]


[unit={B|G|GB|GiB|T|TB|TiB}] [unit={B|G|GB|GiB|T|TB|TiB}]
[has_exports={YES|NO|Y|N}] [has_exports={YES|NO|Y|N}]
[write_protected={YES|NO|Y|N}] [write_protected={YES|NO|Y|N}]

PROVISIONING COMMANDS  –  206


INFINISHELL COMMANDS REFERENCE 5.5.10 

3.47 Mobility commands

3.47.1 mobility.query 
ROLE: All Roles

Description List existing Active-Active mobility replicas. 

Syntax mobility.query [local_dataset=LOCAL ENTITY[,LOCAL ENTITY,...]] [remote_system=SYSTEM]


[role=ROLE]

Arguments role SOURCE or TARGET 

remote_system  Name of an existing replication link 

local_dataset  dataset or consistency group with mobility replication (multiple values,


separated by commas) 

3.48 KMS commands

3.48.1 config.system.kms.query 
ROLE: All Roles

Description Show current KMS settings and state. 

Syntax config.system.kms.query 

PROVISIONING COMMANDS  –  207


INFINISHELL COMMANDS REFERENCE 5.5.10 

4 Special Commands

4.1 %clear 
ROLE: All Roles

Description Clear screen. 

Syntax %clear 

Example %clear

The screen is cleared and only the command prompt is displayed.

4.2 %count 
ROLE: All Roles

Descriptio Toggle count output.


n
This toggle changes the output of any query command to display the number of the queried entities (rather
than a list of these entities). This command can be used in two ways:

• Run %count and then any query command


• Run %count again to toggle-off the count option
• Run any query command with: --format=count

Syntax %count

Example Toggling-on the count output

%count 

Count output enabled Use %count again to disable count output

Example Toggling-off the count output

%count

Count output disabled Use %count again to enable count output

Example Running a query command when the count toggle in on

• In this example, there are 10 volumes on the system

SPECIAL COMMANDS  –  208


INFINISHELL COMMANDS REFERENCE 5.5.10 

vol.query

10

Example Running a query command regardless of the state of the count toggle

• In this example, there are 10 volumes on the system

vol.query --format=count

10

4.3 %csv 
ROLE: All Roles

Descripti Toggle the output to CSV mode.


on
Enter %csv and then enter a query command. The output will be displayed in CSV format. Enter %csv again to
resume to a tabular output format.

Syntax %csv

Example %csv

CSV output enabled

4.4 %debug 
ROLE: All Roles

Description Toggle debug prints.

Enter %debug to toggle to debug mode. Enter a command. The command output
will be preceded by debugging messages. Enter %debug again to exit from the
Debug mode.

Syntax %debug

Example %debug

Debug: True

SPECIAL COMMANDS  –  209


INFINISHELL COMMANDS REFERENCE 5.5.10 

4.5 %json  
ROLE: All Roles

Description Toggle JSON output

When toggled, the command output will be displayed in JSON format.

Syntax %json

Example %json

{ "command": "%json", "result": "JSON output enabled\n\nUse %json


again to disable json output" }

4.6 %logstart  
ROLE: All Roles

Description Start command logger.

Enter %logstart to start logging the session you are currently in. Providing a file name is mandatory (unless
already provided in the configuration file). You may provide values for other parameters (none of them is
mandatory). The name parameter saves the log to a file with the specified name and sets the mode to
append. The mode parameter determines the way the log is saved into a file. Append mode keeps logging
to an existing log file. Override mode overrides an existing log file. The output parameter logs the output of
each entered command. The timestamp parameter adds a time stamp to each of the logged commands.

Syntax %logstart [file=STR] [mode=LOGGINGMODE] [output=BOOL] [timestamps=BOOL] 

Arguments timestamps  A boolean: true, false, yes, no, on, off 

output  A boolean: true, false, yes, no, on, off 

mode  overwrite or append 

file  Any sequence of characters 

Example %logstart file=/Users/user-name/tmp/log.txt mode=append output=yes timestamps=yes 

Logger activated 

SPECIAL COMMANDS  –  210


INFINISHELL COMMANDS REFERENCE 5.5.10 

4.7 %logstate 
ROLE: All Roles

Description Display command logger state.

This command displays the state of the logging (either on or off).

Syntax %logstate

Example  %logstate

Logging is on

4.8 %logstop 
ROLE: All Roles

Description Stop command logger.

This command stops logging.

Syntax %logstop

Example %logstop

Logger deactivated

4.9 %raw 
ROLE: All Roles

Description Toggle raw API output.

Enables displaying the JSON query of the commands output.

Syntax %raw

Example %raw

Command prompt.

SPECIAL COMMANDS  –  211


INFINISHELL COMMANDS REFERENCE 5.5.10 

4.10 %user 
ROLE: All Roles

Description Displays the name of the active user.

Syntax %user

Example %user

Admin

4.11 %version 
ROLE: All Roles

Description Displays the version of the InfiniShell client.

Syntax %version

Example %version

1.5.0.x

SPECIAL COMMANDS  –  212

You might also like