essrun command
Creates and deploys a working IBM Storage Scale System cluster.
Synopsis
essrun [-h] { -N NODE-LIST | NODE-GROUP } [--offline] [-v]
[--rcl] [--no-prompts] [--deploy-from-gui]
{
config
| healthcheck | update |timeset | firewall
|
security
| selinux | sudo | fips | audit | admincentral | network | cluster
| filesystem | vdisk | gui | cesvm | dat |protocol }
Availability
Available with IBM Storage Scale System. (Only available in the management container)
Description
The essrun command runs the IBM Storage Scale
System deployment to create and deploy a working
IBM Storage Scale
System cluster. It can be used to run the
following Ansible® roles in IBM Storage Scale
System.

config: Configure requirements for IBM Storage Scale System.
healthcheck: Check health status of the node or nodes.update: Update a node to the latest IBM Storage Scale System packages.
timeset: Time check option for IBM Storage Scale System 5000.
firewall: Firewall security option for IBM Storage Scale System.security: Security option for IBM Storage Scale System.selinux: SELinux security option for IBM Storage Scale System.fips: FIPS security option for IBM Storage Scale System.audit: Audit for security option for IBM Storage Scale System.sudo: Sudo security option for IBM Storage Scale System.admincentral: AdminCentral security option for IBM Storage Scale System.network: Create a high-speed network in IBM Storage Scale Systemcluster: Create an IBM Storage Scale System cluster.filesystem: Create a file system on IBM Storage Scale System.vdisk: Create a vdiskset on IBM Storage Scale System.gui: Configure or modify GUI setup for IBM Storage Scale System.cesvm: Manage CES VM in IBM Storage Scale System.dat: Configure and create a data acceleration tier for IBM Storage Scale System 6000.protocol: Configure
and upgrade
protocol
component (NFS, SMB, S3) on CES VM for IBM Storage Scale
System.
Parameters
- -h | --help
- Displays usage information about this script and exits.
To display usage information for the roles available with essrun, use
-hor--helpwith the role name. For example, to display usage information for thefirewallrole, use essrun firewall --help. - -N NODE-LIST | NODE-GROUP
- Specifies hosts with host names that are separated by comma or the name of the node group.
- --offline
- Runs program on all nodes that are specified with the -N option.
- -v | -V
- Shows verbose output.
- --rcl
- Allows the essrun command to load code through a Remote Code Load API server instead of locally on a node.
- --no-prompts
- Runs the essrun command without questions or user inputs.
- --deploy-from-gui
- Runs the essrun command without questions or user inputs when the deployment is started from the GUI.
Subcommand help
- config
- Shows general health check status of one or more nodes
.Usage:

essrun config [-h] [-p] { load | repos}
- -p
- Prompts for password used for root login to a node or nodes.
- load
- Detects the node type of specified nodes, and configures passwordless SSH, creates node definitions, and creates VPD files.
- repos
- Configures repositories.
- -h | --help
- Displays usage information about this subcommand and exits.
- healthcheck
- Shows general health check status of the
node(s).Usage:
essrun healthcheck [-h]- -h | --help
- Displays usage information about this subcommand and exits.
- update
- Updates nodes to the latest IBM Storage Scale
System
packages.Usage:

essrun update [-h] [--precheck | --serial { n | all }] [--offline] [--ofed-only] [--jbof-deps] [--silent] [--quorum-check]
- --precheck
- Dry-run of an update. It runs primary checks for the nodes defined in -N and has to be run before actual update.
- --serial { n | all }
- Provides number for defining how many hosts Ansible should manage at a single time during online update. The default value is 1.
- --offline
- Run the update on all nodes specified with the -N option in the offline mode. If --offline is not specified, the command is run in the online mode (default behavior).
- --ofed-only
- Updates the OFED only. These updates are only done offline. This command option forces the reinstall of OFED.
--jbof-deps
Includes installation of JBOF dependencies for MES scenario (gRPC).
- -s | --silent
- Run the update silently.
- --quorum-checks
- Performs a dry-run to check the quorum. Runs the basic node checks for the nodes specified by using the -N option.
- -h | --help
- Displays usage information about this subcommand and exits.
timeset
Time check option for IBM Storage Scale
System
5000.Usage:essrun timeset [-h] [--server-ip 192.168.1.1] [--server-network 192.168.1.0/24] {client,server}- --server-ip 192.168.1.1
- Provides NTP Server IP address. It is needed for client option.
- --server-network 192.168.1.0/24
- Provides NTP Server network. It is needed for server option.
- -h | --help
- Displays usage information about this subcommand and exits.

- firewall
- Configures firewall security options for IBM Storage Scale
System.Usage:
essrun firewall [-h] { enable | disable }- enable
- Enables the firewall.
- disable
- Disables the firewall.
- -h | --help
- Displays usage information about this subcommand and exits.
- security
- Configures security options for IBM Storage Scale
System.Usage:
essrun -N NODE-LIST security [-h] { enable | disable | verify }- enable
- Enables security.
- disable
- Disables security.
- verify
- Verifies the security status.
- -h | --help
- Displays usage information about this subcommand and exits.
- selinux
- Configures SELinux security options for IBM Storage Scale
System.Usage:
essrun -N NODE-LIST security [-h] { permissive | enable | disable }- permissive
- Enables SELinux security in the permissive mode.
- enable
- Enables SELinux security in the enforcing mode.
- disable
- Disables SELinux security.
- -h | --help
- Displays usage information about this subcommand and exits.
sudo
Configures SUDO security options for IBM Storage Scale
System.Usage:essrun sudo [-h] [--user SUDO_USER] [--group SUDO_GROUP] [--sudo-password ] { enable | disable | disable_root | enable_root}- --user SUDO_USER
- Specifies the SUDO user name.
- --group SUDO_GROUP
- Specifies the SUDO group name.
- --sudo-password
- Provides the sudo password for the node (s).
- enable
- Enables SUDO.
- disable
- Disables SUDO.
- disable_root
- This option is required for SUDO disable_root.
- enable_root
- This option is required for SUDO enable_root.
- -h | --help
- Displays usage information about this subcommand and exits.

- fips
- Enables or disables FIPS on IBM Storage Scale System nodes.
audit
Enables or disables audit on IBM Storage Scale
System
nodes.
- admincentral
- Configures Admin Central related security options for IBM Storage Scale
System.Usage:
essrun admincentral [-h] { enable | disable }- enable
- Enables Admin Central mode.
- disable
- Disables Admin Central mode.
- -h | --help
- Displays usage information about this subcommand and exits.
- network
- Creates a high-speed network for IBM Storage Scale
System.Usage:
essrun network [-h] --suffix=SUFFIX- --suffix=SUFFIX
- Specifies the suffix of the high-speed network. Add it separated by "=" and with no blank spaces.
- -h | --help
- Displays usage information about this subcommand and exits.
- cluster
- Creates an IBM Storage Scale
System
cluster.Usage:
essrun cluster [-h] [--name CLUSTER-NAME] [--suffix=SUFFIX] [--add-ems EMS-NODE | --add-nodes NODE-LIST | --add-cesvm-nodes NODE_LIST | --add-afmgateway-nodes NODE_LIST]- --name CLUSTER-NAME
- Specifies the cluster name. The default cluster name is
test01. - --suffix=SUFFIX
- Specifies the suffix of the high-speed network. You must add it separated by "=" and no blank
spaces. For example,
--suffix=-hs. - --add-ems EMS-NODE
- Specifies the name of the IBM Storage Scale System management server node to be added.
--add-nodes NODE-LIST
Specifies the names of the IBM Storage Scale
System I/O
nodes in a comma-separated list.
- --add-cesvm-nodes NODE_LIST
- Provide comma-separated list of CES VM nodes to add into an exiting IBM Storage Scale System cluster.
- --add-afmgateway-nodes NODE_LIST
- Provide comma-separated list of CES VM nodes to add as AFM gateway an exiting IBM Storage Scale System cluster.
- -h | --help
- Displays usage information about this subcommand and exits.
- filesystem
- Creates a file system on IBM Storage Scale
System.Usage:

essrun filesystem [-h] [--name FS_NAME] [--code RaidCode] [--bs BlockSize] [--size {n% | n | nK | nM | nG | nT}] --suffix=SUFFIX [--rg-only | --ces | --dat]
--name FS-NAME
Specifies the file system name. The default file system name is fs5k. The default file system name for CES iscesSharedRoot.
--code RaidCode
Specifies the RAID code. The default RAID code is 8+2p.
--bs BlockSize
Specifies the block size. The default block size is 16M.
--size {n% | n | nK | nM | nG | nT}
Specifies the vdiskset size. The default vdiskset size is 100%.
- --suffix=SUFFIX
- Specifies the suffix of the high-speed network. Add it separated by "=" and with no blank
spaces. For example,
--suffix=-hs.
--rg-only
Use this flag if you want to create recovery groups only.
--ces
Use this flag if you want to create a CES file system.
- --dat
- Use this flag if you want to create a data acceleration tier file system.
- -h | --help
- Displays usage information about this subcommand and exits.
- vdisk
- Creates a vdiskset on IBM Storage Scale
System.Usage:
essrun vdisk [-h] [--name VS_NAME] [--code RaidCode] [--bs BlockSize] [--size {n% | n | nK | nM | nG | nT}] --suffix=SUFFIX [--extra-vars "mmvdisk vdisk define options"]- --name VS-NAME
- Specifies the vdiskset name. The default vdiskset name is
5k.
--code RaidCode
Specifies the RAID code. The default RAID code is 8+2p.
--bs BlockSize
Specifies the block size. The default block size is 16M.
--size {n% | n | nK | nM | nG | nT}
Specifies the vdiskset size. The default vdiskset size is 100%.
- --suffix=SUFFIX
- Specifies the suffix of the high-speed network. Add it separated by "=" and with no blank
spaces. For example,
--suffix=-hs.
--extra-vars "mmvdisk vdisk define options"
Provide "mmvdisk vdisk define" options in quotation marks. For
example,--extra-vars "--DA DA1 --nsd-usage dataAndMetadata --storage-pool system"
- -h | --help
- Displays usage information about this subcommand and exits.
gui
Configure the GUI for IBM Storage Scale
System.Usage:essrun gui [-h] {--configure | --add-to-host}- -h | --help
- Displays usage information about this subcommand and exits.
- --configure
- Performs all initial configuration for GUI setup.
- --add-to-hosts
- Adds node or nodes to the hosts.yml file for GUI setup in EMS.

- cesvm
- Create a virtual machine (VM) on IBM Storage Scale
System.Usage:
essrun cesvm [-h] (--create | --delete) [--vm-name VNAME] --number-of-mellanox-device-passthru {1,2}- -h | --help
- Displays usage information about this subcommand and exits.
- --create
- Creates CES VM on I/O node.
- --delete
- Deletes CES VM on I/O node.
- -vm-name VNAME
- Shows a user-defined VM name. Default name is
<Node Name>-essvm. - --number-of-mellanox-device-passthru {1,2}
- Specifies the number of Mellanox cards that want to pass inside VM with a minimum of one and maximum of two cards. Second and third cards are passed to the VM with respective number of card value.
- protocol configure, upgrade
- Configures protocol component (NFS, SMB, S3) on CES VM.
- configure
- Completes all initial configuration for protocol component
setup.
essrun protocol {configure} [-h] --enable {s3,smb,nfs} [{s3,smb,nfs} ...] [--filesystem FILESYSTEM] [--export-ip-pool EXPORT_IP_POOL ...] [--interface INTERFACE ...]
upgrade
Upgrades protocol
components.essrun protocol upgrade [-h] {nodelist,configpopulate,precheck,run}
Exit status
- 0
- Successful completion.
- nonzero
- A failure has occurred.
Security
You must have root authority to run this command.
Examples
- essrun config
-
- Fix SSH keys between essio1 and essio2 nodes (Every node that you define with the
-N flag). It also creates or fixes the inventory to run an online
update.
essrun -N essio1,essio2 config load -pThe following example shows config load prompt for password input.
essrun -N essio3 config load -p [INFO] 2023-02-21T04:35:31.613625 Going to ask for the node password. All the nodes must have the same password [INFO] 2023-02-21T04:35:31.613655 Be aware that the password will not be prompted into the screen and you will not see it on it Password:
- Fix SSH keys between essio1 and essio2 nodes (Every node that you define with the
-N flag). It also creates or fixes the inventory to run an online
update.
- essrun update
-
- Run the update subcommand with the --offline option on the
nodes
ess3kaandess3kb.essrun -N ess3ka,ess3kb update --offline - Run an update (top nodes first, one by one, then bottom nodes, one by one). If
only one building block is in the cluster, the result is same as doing an online
update.
essrun -N essio1,essio2,essio3,essio4 update --serial 1 - Run an online update and stop between the top group (first node) and the bottom group (second
node).
A sample output is as follows:essrun -N essio1,essio2 update[INFO] '2021-05-05T22:08:41.664490' Will stop for manual health check. [INFO] '2021-05-05T22:08:41.664490' If you want to continue with next group type 'y'. If you want to cancel update type 'n'. Update finished in group ess5k_group_A, do you want to continue? (y/n): y [INFO] '2021-05-05T22:08:41.664490' Continuing with next group... - Run an update on all nodes specified with
-N.
essrun -N essio1,essio2 update --offline
Run an update on all nodes specified with -N one by
one.essrun -N essio1,essio2 update --serial 1 --offline
- Run the update subcommand with the --offline option on the
nodes
- essrun timeset
-
- Enable timeset from the
container.
essrun -N NodeList timeset enable - Check the status of the Chrony
timeset.
essrun -N NodeList timeset verify - Disable timeset from the
container.
essrun -N NodeList timeset disable
- Enable timeset from the
container.
- essrun selinux
-
- Enable SELinux on the ems1 node in the permissive
mode.
essrun -N ems1 selinux permissiveNote: Restart the node after this command completes for the changes to take effect. - Enable SELinux on the ems1 node in the enforcing
mode.
essrun -N ems1 selinux enableNote: Restart the node after this command completes for the changes to take effect. - Disable SELinux on the ems1
node.
essrun -N ems1 selinux enableNote: Restart the node after this command completes for the changes to take effect.
- Enable SELinux on the ems1 node in the permissive
mode.
- essrun network
-
- Create network bonds with name
bond0. InfiniBand or Ethernet, whichever is available is used. If both are available, you are promoted forethorib.essrun -N essio1,essio2 network --suffix=HighSpeedSuffix - Create network bonds with name
bond0with the specified netmask.essrun -N essio1,essio2 network --suffix=HighSpeedSuffix --netmask {/24 | /25 | ...}
- Create network bonds with name
- essrun filesystem
-
- Create a file system with the
managementnetwork. Your cluster must belong to that same net block for using this command.essrun -N essio1,essio2 filesystem - Create a file system with the
high-speednetwork. Your cluster must belong to that same net block for using this command.essrun -N essio1,essio2 filesystem --suffix=HighSpeedSuffix - Create a file system with custom RAID code, block size, and
size.
essrun -N essio1,essio2 filesystem --suffix=HighSpeedSuffix --code { 8+2p | 8+3p | ... } --bs { 8M | 16M | ... } --size { n% | n | nK | nM | nG | nT } - Create recovery groups only in the cluster. You need to create vdisk and add it manually to your
desired file
system.
essrun -N essio1,essio2 filesystem --suffix=HighSpeedSuffix --rg-onl
- Create a file system with the
- essrun vdisk
-
- Create a vdisk of the specified name with the
managementnetwork. Your cluster must belong to that same net block for using this command.essrun -N essio1,essio2 vdisk --name VdiskName - Create a vdisk with the
high-speednetwork. Your cluster must belong to that same net block for using this command.essrun -N essio1,essio2 vdisk --suffix=HighSpeedSuffix - Create a vdisk with custom RAID code, block size, name, and
size.
essrun -N essio1,essio2 vdisk --nameVdiskName --suffix=HighSpeedSuffix --code { 8+2p | 8+3p | ... } --bs { 8M | 16M | ... } --size { n% | n | nK | nM | nG | nT } - Create a vdisk with default RAID code, block size, and size. This command creates vdisk with the
defined NSD
usage.
essrun -N essio1,essio2 vdisk --nameVdiskName --suffix=HighSpeedSuffix --extra-vars “{--declustered-array / --nsd-usage / --storage-pool}”
- Create a vdisk of the specified name with the
- essrun gui
-
- Configure the GUI for the first time in a Power9 EMS and two I/O nodes. The nodes can be
IBM Storage Scale
System 5000, IBM Storage Scale
System 3000, or IBM Storage Scale
System 3200
nodes.
essrun -N ems1,essio1,essio2 gui --configure - Configure or add the new nodes into the GUI in a Power9 EMS. The nodes can be IBM Storage Scale
System 5000, IBM Storage Scale
System 3000, or IBM Storage Scale
System 3200
nodes.
essrun -N ess32001a,ess32001b gui --add-to-hosts
- Configure the GUI for the first time in a Power9 EMS and two I/O nodes. The nodes can be
IBM Storage Scale
System 5000, IBM Storage Scale
System 3000, or IBM Storage Scale
System 3200
nodes.
- essrun cesvm
-
- Create a virtual
machine.
essrun -N essio3,essio4 cesvm --create --number-of-mellanox-device-passthru 1 - Delete a virtual
machine.
essrun -N essio3,essio4 cesvm –delete --number-of-mellanox-device-passthru 1 - Configure protocols on CES
VM.

essrun protocol configure --enable s3 nfs --filesystem cesSharedRoot --export-ip-pool 172.16.45.66 --interface interface
Note: You can run the virsh command to do any administration upon VM after you created or deleted the VM. - Create a virtual
machine.
- protocol
-
- Configure protocol
nodes.

essrun -N cesvm01,cesvm02 protocol configure --enable s3 nfs --filesystem cesSharedRoot --export-ip-pool 172.16.45.66 --interface interface
Note: You can run the virsh command to do any administration upon VM after you created or deleted the VM. - Upgrade protocol nodes.
- Populate the protocol node
inventory.
For example:essrun -N <ems_node> protocol upgrade configpopulateessrun -N utility1-vm1-hs protocol upgrade configpopulate - Check the configuration of populated
nodes.
For example:essrun -N <ems_node> protocol upgrade nodelistessrun -N utility1-vm1-hs protocol upgrade nodelist - Check all protocol nodes before the
upgrade.
For example:essrun -N <ems_node> protocol upgrade precheckessrun -N utility1-vm1-hs protocol upgrade precheck - Upgrade the protocol
nodes.
For example:essrun -N <ems_node> protocol upgrade runessrun -N utility1-vm1-hs protocol upgrade run
- Populate the protocol node
inventory.
- Configure protocol
nodes.
Location
Available only in the container at: /opt/ibm/ess/deploy/bin