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]
        { Start of changeconfigEnd of change | healthcheck | update |timeset | firewall 
       | Start of changesecurityEnd of change | 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.
  • Start of changeconfig: Configure requirements for IBM Storage Scale System.End of change
  • healthcheck: Check health status of the node or nodes.
  • update: Update a node to the latest IBM Storage Scale System packages.
  • Start of changetimeset: Time check option for IBM Storage Scale System 5000.End of change
  • 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 System
  • cluster: 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 Start of changeand upgradeEnd of change 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 -h or --help with the role name. For example, to display usage information for the firewall role, 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:Start of change
essrun config [-h] [-p]  { load | repos}
End of change
-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:Start of change
essrun update [-h] [--precheck | --serial { n | all }] [--offline] [--ofed-only] [--jbof-deps] [--silent] [--quorum-check]
End of change
--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.
Start of change--jbof-depsEnd of change
Start of changeIncludes installation of JBOF dependencies for MES scenario (gRPC).End of change
-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.
Start of changetimesetEnd of change
Start of changeTime 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.
End of change
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.
Start of changesudoEnd of change
Start of changeConfigures 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.
End of change
fips
Enables or disables FIPS on IBM Storage Scale System nodes.
Usages:
essrun fips [-h] {enable | disable}
enable
Enables FIPS on nodes.
disable
Disables FIPS on nodes.
-h | --help
Displays usage information about this subcommand and exits.
Start of changeauditEnd of change
Start of changeEnables or disables audit on IBM Storage Scale System nodes.End of change
Start of changeUsages:
essrun audit [-h] {enable | disable}
enable
Enables audit on nodes.
disable
Disables audit on nodes.
verify
Verifies the STIG compliance.
rollback
Rollbacks the audit configuration.
End of change
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.
Start of change--add-nodes NODE-LISTEnd of change
Start of changeSpecifies the names of the IBM Storage Scale System I/O nodes in a comma-separated list.End of change
--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:Start of change
essrun filesystem [-h] [--name FS_NAME] [--code RaidCode]
                       [--bs BlockSize]
                       [--size {n% | n | nK | nM | nG | nT}] 
                       --suffix=SUFFIX [--rg-only | --ces | --dat]
End of change
Start of change--name FS-NAMEEnd of change
Start of changeSpecifies the file system name. The default file system name is fs5k. The default file system name for CES is cesSharedRoot.End of change
Start of change--code RaidCodeEnd of change
Start of changeSpecifies the RAID code. The default RAID code is 8+2p.End of change
Start of change--bs BlockSizeEnd of change
Start of changeSpecifies the block size. The default block size is 16M.End of change
Start of change--size {n% | n | nK | nM | nG | nT}End of change
Start of changeSpecifies the vdiskset size. The default vdiskset size is 100%.End of change
--suffix=SUFFIX
Specifies the suffix of the high-speed network. Add it separated by "=" and with no blank spaces. For example, --suffix=-hs.
Start of change--rg-onlyEnd of change
Start of changeUse this flag if you want to create recovery groups only.End of change
Start of change--cesEnd of change
Start of changeUse this flag if you want to create a CES file system.End of change
--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.
Start of change--code RaidCodeEnd of change
Start of changeSpecifies the RAID code. The default RAID code is 8+2p.End of change
Start of change--bs BlockSizeEnd of change
Start of changeSpecifies the block size. The default block size is 16M.End of change
Start of change--size {n% | n | nK | nM | nG | nT}End of change
Start of changeSpecifies the vdiskset size. The default vdiskset size is 100%.End of change
--suffix=SUFFIX
Specifies the suffix of the high-speed network. Add it separated by "=" and with no blank spaces. For example, --suffix=-hs.
Start of change --extra-vars "mmvdisk vdisk define options"End of change
Start of changeProvide "mmvdisk vdisk define" options in quotation marks. For example,
--extra-vars  "--DA DA1 --nsd-usage dataAndMetadata --storage-pool system"
End of change
-h | --help
Displays usage information about this subcommand and exits.
Start of changeguiEnd of change
Start of changeConfigure 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.
End of change
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 ...]
-h, --help
Shows this help message and exit.
--enable {s3,smb,nfs} [{s3,smb,nfs} ...]
Specifies the protocols (NFS, SMB, S3) to be enabled or disabled or enabled multiple protocols separated by space.
--filesystem FILESYSTEM
Specifies the name of a shared file system.
--export-ip-pool EXPORT_IP_POOL [EXPORT_IP_POOL ...]
Specifies a comma-separated list of any additional CES export IP to configure on the cluster.
--interface INTERFACE [INTERFACE ...]
Specifies the comma-separated Interface. For example, eth0,eth1.
Start of changeupgradeEnd of change
Start of changeUpgrades protocol components.
essrun protocol upgrade [-h] {nodelist,configpopulate,precheck,run}
End of change
Start of change
-h, --help
Shows this help message and exit.
nodelist
Specifies nodes for upgrade.
configpopulate
Populate configuration.
precheck
Checks all nodes before upgrade
run
Upgrades the specified nodes.
End of change

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 -p 

    The 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: 
essrun update
  • Run the update subcommand with the --offline option on the nodes ess3ka and ess3kb.
    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).
    essrun -N essio1,essio2 update
    A sample output is as follows:
    [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
  • Start of changeRun an update on all nodes specified with -N one by one.
    essrun -N essio1,essio2 update --serial 1 --offline
    End of change
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
essrun selinux
  • Enable SELinux on the ems1 node in the permissive mode.
    essrun -N ems1 selinux permissive
    Note: 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 enable
    Note: Restart the node after this command completes for the changes to take effect.
  • Disable SELinux on the ems1 node.
    essrun -N ems1 selinux enable
    Note: Restart the node after this command completes for the changes to take effect.
essrun network
  • Create network bonds with name bond0. InfiniBand or Ethernet, whichever is available is used. If both are available, you are promoted for eth or ib.
    essrun -N essio1,essio2 network --suffix=HighSpeedSuffix
  • Create network bonds with name bond0 with the specified netmask.
    essrun -N essio1,essio2 network --suffix=HighSpeedSuffix --netmask {/24 | /25 | ...}
essrun filesystem
  • Create a file system with the management network. 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-speed network. 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
essrun vdisk
  • Create a vdisk of the specified name with the management network. 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-speed network. 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}”
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
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.Start of change
    essrun protocol configure  --enable s3 nfs --filesystem cesSharedRoot --export-ip-pool 172.16.45.66 --interface interface
    End of change
Note: You can run the virsh command to do any administration upon VM after you created or deleted the VM.
protocol
  • Configure protocol nodes.Start of change
    essrun -N cesvm01,cesvm02 protocol configure --enable s3 nfs --filesystem cesSharedRoot --export-ip-pool 172.16.45.66 --interface interface
    End of change
    Note: You can run the virsh command to do any administration upon VM after you created or deleted the VM.
  • Upgrade protocol nodes.
    1. Populate the protocol node inventory.
      essrun -N <ems_node> protocol upgrade configpopulate
      For example:
      essrun -N utility1-vm1-hs protocol upgrade configpopulate
    2. Check the configuration of populated nodes.
      essrun -N <ems_node> protocol upgrade nodelist
      For example:
      essrun -N utility1-vm1-hs protocol upgrade nodelist
    3. Check all protocol nodes before the upgrade.
      essrun -N <ems_node> protocol upgrade precheck
      For example:
      essrun -N utility1-vm1-hs protocol upgrade precheck
    4. Upgrade the protocol nodes.
      essrun -N <ems_node> protocol upgrade run
      For example:
      essrun -N utility1-vm1-hs protocol upgrade run

Location

Available only in the container at: /opt/ibm/ess/deploy/bin