Command Reference

The following section contains information about the commands usable by either GSCCADM,SPORDADM or SPORDCONF.

GSCCADM

These are the available GSCCADM commands:

help

The “help” command shows usable commands. When used with a subcommand, it shows their syntax and use.

Syntax:

help
help <subcommand>

Examples:

gscc doc01>help

Available gsccadm commands:

<COMMAND> <SUBCOMMAND> <PARAMETERS>

clear           clears and purge vars or files
disable         disable a function like operator
enable          enable a funktion like operator
get             get a value like time
gscc            cluster internal command - send commands to gsccd
monitor         monitor for members
oper            operator commands can be send here
query           queries all kind of information like status
settsmadm       configure secure TSM password for GSCC
trigger         commits a planned cluster action
update          updates admin users
version         gsccadm version

enable

The “enable” command can set the operator mode for a GSCC cluster member or put it into “force” mode.

Syntax:

enable <subcommand> <member>

Parameters:

<subcommand> (Required) - The enable command which should be executed. For available subcommands, use "help enable".
<member> (Required) - The GSCC cluster member for which the command should be executed.

Examples:

gscc doc01>enable operator TSM1
INFO: Operator-Mode enabled for TSM1 - please standby!

enable operator

Syntax:

enable operator <MEMBER>

Examples:

gscc doc01>enable operator TSM1
INFO: Operator-Mode enabled for TSM1 - please standby!

Note

Use get to look up which members are available for this command and query status to see the current state of the available members.

enable force

The “enable force” command starts enables specific gscmd commands for a given amount of time.

Caution

Do only use this if you are 100% sure what you are doing!

Syntax:

enable force <member>

Example:

gscc doc01>enable force TSM1
WARNING: Forced actions are temporarily enabled for TSM1 !

oper

The “oper” command can manage GSCC operations for a GSCC member which is in “Operator” state. It has several subcommands.

Syntax:

operator <subcommand> <member>

Parameters:

<subcommand> (Required) - The operator command which should be executed. For available subcommands, use "help oper".
<member> (Required) - The GSCC cluster member for which the command should be executed.

Examples:

gscc doc01>oper join TSM1
INFO: Command join for TSM1 listed !

Note

Use get to look up which members are available for this command and query to see the current state of the available members.

oper join

The “oper join” command sets the local member ready for joining. Prior to joining, the peer member has to be set to “join”, too.

Syntax:

oper join <member>

Parameters:

<member> (Required) - The GSCC cluster member for which the command should be executed.

Examples:

gscc doc01>oper join TSM1
INFO: Command join for TSM1 listed !

oper starttsm

The “oper starttsm” command attempts to start the Spectrum Protect Server and to add configured IP aliases.

Syntax:

oper starttsm <member>

Parameters:

<member> (Required) - The GSCC cluster member for which the command should be executed.

Examples:

gscc doc01>oper starttsm TSM1
INFO: Command starttsm for TSM1 listed !

oper stoptsm

The “oper stoptsm” command attempts to stop the Spectrum Protect Server and to remove configured IP aliases.

Syntax:

oper stoptsm <member>

Parameters:

<member> (Required) - The GSCC cluster member for which the command should be executed.

Examples:

gscc doc01>oper stoptsm TSM1
INFO: Command stoptsm for TSM1 listed !

oper switchtsm

The “oper switchtsm” command attempts to stop the Spectrum Protect Server and to remove configured IP aliases on the local cluster member and start the Spectrum Protect Server and add configured IP aliases on the remote cluster member in one step.

Note

This command has to be used on the active cluster member to work.

Syntax:

oper switchtsm <member>

Parameters:

<member> (Required) - The GSCC cluster member for which the command should be executed.

Examples:

gscc doc01>oper switchtsm TSM1
INFO: Command switchtsm for TSM1 listed !

oper restarttsm

The “oper restarttsm” command attempts to stop and then start the Spectrum Protect Server again.

Syntax:

oper restarttsm <member>

Parameters:

<member> (Required) - The GSCC cluster member for which the command should be executed.

Examples:

gscc sles-01>oper restarttsm ISP01
INFO: Command restarttsm for ISP01 listed !

oper reintegrate

The “oper reintegrate” command attempts to reintegrate the old primary member as the standby member after a takeover occured. This only works if the local member is “standard” and the peer member is “primary” and inactive.

Syntax:

oper reintegrate <member>

Parameters:

<member> (Required) - The GSCC cluster member for which the command should be executed.

Examples:

gscc sles-01>oper reintegrate ISP01
INFO: Command reintegrate for ISP01 listed !

oper addhomevg

The “oper addhomevg” adds the configured logical volume group and volumes on the local cluster member, if configured in your GSCC configuration.

Syntax:

oper addhomevg <member>

Parameters:

<member> (Required) - The GSCC cluster member for which the command should be executed.

Examples:

gscc doc01>oper addhomevg TSM1
INFO: Command addhomevg for TSM1 listed !

oper rmhomevg

The “oper rmhomevg” varies the configured logical volume group and volumes offline on the local cluster member, if configured in your GSCC configuration.

Syntax:

oper rmhomevg <member>

Parameters:

<member> (Required) - The GSCC cluster member for which the command should be executed.

Examples:

gscc doc01>oper rmhomevg TSM1
INFO: Command rmhomevg for TSM1 listed !

oper activatetsm

The “oper activatetsm” command attempts to add the configured logical volume group and volumes on the local cluster member, if configured in your GSCC configuration, and then to start the Spectrum Protect Server and to add configured IP aliases.

Syntax:

oper activatetsm <member>

Parameters:

<member> (Required) - The GSCC cluster member for which the command should be executed.

Examples:

gscc doc01>oper activatetsm TSM1
INFO: Command activatetsm for TSM1 listed !

oper deactivatetsm

The “oper deactivatetsm” command attempts to stop the Spectrum Protect Server and to remove configured IP aliases and then varies the configured logical volume group and volumes offline on the local cluster member, if configured in your GSCC configuration.

Syntax:

oper deactivatetsm <member>

Parameters:

<member> (Required) - The GSCC cluster member for which the command should be executed.

Examples:

gscc doc01>oper deactivatetsm TSM1
INFO: Command deactivatetsm for TSM1 listed !

oper startstby

The “oper startstby” command starts the local db2 database and activates it.

Syntax:

oper startstby <member>

Parameters:

<member> (Required) - The GSCC cluster member for which the command should be executed.

Examples:

gscc doc01>oper startstby TSM1
INFO: Command startstby for TSM1 listed !

oper stopstby

The “oper stopstby” command deactivates the local db2 database and stops it.

Syntax:

oper stopstby <member>

Parameters:

<member> (Required) - The GSCC cluster member for which the command should be executed.

Examples:

gscc doc01>oper stopstby TSM1
INFO: Command stopstby for TSM1 listed !

get

The “get” command shows either the time set on the system or the configured GSCC members.

Syntax:

get time
get member

Parameters:

<member> (Required) - The GSCC cluster member for which the command should be executed.

Examples:

gscc doc01>get member
TSM1

query

The “query” command can show various information about the cluster status, depending on the used subcommand

Syntax:

query <subcommand> <parameter>

Parameters:

<subcommand> (Required) - The query command which should be executed. For available subcommands, use "help query".
<member> (Required) - The GSCC cluster member for which the command should be executed.

Examples:

gscc doc01>query status TSM1
210510101911 TSM1 Operator

query status

The “query status” command shows the status of one or all cluster members.

Syntax:

query status
query status <member>

Parameters:

<member> (Optional) - The GSCC cluster member for which the command should be executed. If none is given, query status lists all available members.

Examples:

gscc doc01>query status TSM1
210510101911 TSM1 Operator

query hadr

The “query hadr” command shows the hadr status and additional information of one or all cluster members.

Syntax:

query hadr
query hadr <member>

Parameters:

<member> (Optional) - The GSCC cluster member for which the command should be executed. If none is given, query status lists all available members.

Examples:

gscc doc01>q hadr
TSM1: doc01 - STANDBY DB - 2021-11-16-15.55 - Role: STANDBY - State: PEER - Gap: 0 - Con: CONNECTED - P-Log S0001074.LOG

update admin

The “update admin” command lets you add, remove or change GSCC users.

Syntax:

update admin <subcommand> <parameter(s)>

Parameters:

<subcommand> (Required) - The update admin command which should be executed. For available subcommands, use "help update".
<parameter(s)> (Required) - Depends on the used subcommand.

Examples:

gscc sles-02>update admin add test S@f3P4ssword
INFO: User test added !

update admin add

The “update admin add” command adds a new user to use with GSCC.

Syntax:

update admin add <user> <pw>

Parameters:

<user> (Required) - The username for the new user.
<pw> (Required) - The password for the new user.

Examples:

gscc sles-02>update admin add test S@f3P4ssword
INFO: User test added

update admin del

The “update admin del” command deletes a GSCC user.

Syntax:

update admin del <user>

Parameters:

<user> (Required) - The username for the user you want  to delete.

Examples:

gscc sles-02>update admin del test
INFO: User test deleted !

update admin pw

The “update admin pw” command udpates a password for an existing GSCC user.

Syntax:

update admin pw <user> <oldpw> <newpw>

Parameters:

<user> (Required) - The username for the new user.
<oldpw> (Required) - The existing password for the new user.
<newpw> (Required) - The new password for the new user.

Examples:

gscc sles-02>update admin pw test S@f3P4ssword test
INFO: User test updated !

Forced actions

Usually, when starting ISP services in a GSCC environment, the cluster members are in a state in which the DB2 HADR is working as intended, so taking over an ISP instance is possible without the risk of data loss.

In specific cases however, GSCC will not perform an HADR takeover, because one or more of the members are not in a clean role state. Usually this means that some actions during a cluster outage led to a DB2 configuration which is not suitable for clustering anymore and that the members should be brought up in the correct role before taking further action.

However, with the enable force command you can circumvent the rules for taking over the DB2 database if the GSCC member have on of these role combinations:
  • The local member is in a “standby” role, but the peer member is unavailable.

  • The local and the peer member are both in a “standby” role

  • The local and the peer member are both in a “standard” role

  • The local member is in a “standard” role, but the peer member is unavailable.

  • The local member is in a “primary” role, but the peer member is in the “primary” state.

Danger

Do only use this if you are 100% sure what you are doing! If used incorrectly, you can end up with an old ISP DB2 state, resulting in the loss of backed up data!

Performing a takeover with “enable force” could then look like this:

../_images/forcedtakeover_1.png

Trying to Start an ISP instance while being in an unclean state

../_images/forcedtakeover_2.png

Enabling “force” on the member where the forced takeover will happen

../_images/forcedtakeover_3.png

Trying to Start again…

../_images/forcedtakeover_4.png

A warning window will pop up which has to be acknowleged by clicking “CONTINUE WITH FORCE”

../_images/forcedtakeover_5.png

GSCC takes necessary measures and starts the ISP instance.

GSCMD

The “gscmd” commands are a special command group in gsccadm to manage the DB2 database manager and the database including HADR. The command is only executed locally, but there are commands, which point to the remote instance.

The command is used like this:

gscmd <member> <gscmd-subcommand>

list

The “list” subcommand shows a list of available commands.

Syntax:

gscmd <member> list

Example:

gscc lax11>gscmd TSM143 list
Usage: gscmd <membername> <action>...
Available actions:
   addhadrip removehadrip stopdb2
   hadrprimary hadrstandby hadrpeerstandby hadrmercystandby
   activatedb activatepeerdb deactivatedb deactivatepeerdb
   takeoverdb takeoverpeerdb
   takeoverdbpeerwindowonly takeoverdbbyforce
   dbstatus peerdbstatus
   role peerrole
   state peerstate
   rolestate peerrolestate
   startdbm startpeerdbm
   stophadr
   transfersendmailowner
   qowner

Warning

Not all of these commands are intended to be used manually. If you are unsure about a command and if it is not explained in this documentation, do not execute it by yourself. You can corrupt your cluster by misuse!

startdbm

The “startdbm” command starts the DB2 database manager and activates the database.

Syntax:

gscmd <member> startdbm

Example:

gscc lax11>gscmd TSM143 startdbm
Starting database manager for tsm143.
DB2START processing was successful.

role

The “role” command checks the HADR role (database manager must be running)

Syntax:

gscmd <member> role

Example:

gscc lax11>gscmd TSM143 role
STANDBY

activatedb

The “activatedb” command activates a DB2 database (database manager must be running).

Syntax:

gscmd <member> activatedb

Example:

gscc lax11>gscmd TSM143 activatedb
Activating database for tsm143.
DB20000I  The ACTIVATE DATABASE command completed successfully.

state

The “state” command checks the HADR state of the given member (database must be activated). For more details use query hadr instead.

Syntax:

gscmd <member> state

Example:

gscc lax11>gscmd TSM143 state
REMOTE_CATCHUP_PENDING

deactivatedb

The “deactivatedb” command deactivates an HADR Standby database.

Syntax:

gscmd <member> deactivatedb

Example:

gscc lax11>gscmd TSM143 deactivatedb
Deactivating database for tsm143.
Stopping database manager for tsm143.
Stopping DB2 backend process for tsm143.
The TERMINATE command completed successfully.
Stopping DB2 license daemon for tsm143.

stophadr

The “stophadr” command stops HADR on a database.

Syntax:

gscmd <member> stophadr

Example:

gscc lax11>gscmd TSM143 role
STANDBY

gscc lax11>gscmd TSM143 stophadr
Stopping HADR.
The STOP HADR ON DATABASE command completed successfully.

gscc lax11>gscmd TSM143 role
STANDARD

hadrstandby

The “hadrstandby” command starts HADR as Standby on a database.

Syntax:

gscmd <member> hadrstandby

Example:

gscc lax11>gscmd TSM143 role
STANDARD

gscc lax11>gscmd TSM143 hadrstandby
Starting DB2 as Standby.
The START HADR ON DATABASE command completed successfully.

gscc lax11>gscmd TSM143 role
STANDBY

Note

This is only possible on a previously restored database or a previous standby database, which was not activated a Standard database. In a reintegration situation, this command is used to reintegrate a previously primary database into a HADR relationship with an activated Standby database (STANDARD role after takeover).

hadrprimary

The “hadrprimary” command starts HADR as Primary on a database.

Syntax:

gscmd <member> hadrprimary

Example:

gscc lax10>gscmd TSM143 hadrprimary
Starting database manager for tsm143.
DB2START processing was successful.
Starting primary database for tsm143.
The START HADR ON DATABASE command completed successfully.

Note

This is only possible, if a Standby database is activated and this database is in the STANDARD role.

DB2 Reintegration after forced Takeover:

gscc lax11>q tsm
TSM143 running_nohadr

gscc lax11>gscmd TSM143 role
STANDARD

When a system with a primary database crashes, the standby database needs to be activated by force, because the communication with the previous primary database is no longer possible. The standby database switches the role to “STANDARD” and TSM is started on that database. When the previous primary database is coming up again, it still has the role “PRIMARY”, but will not be activated by GSCC. When the server only crashed and the database is in a good state, it can be reintegrated as new standby database (roles are switched). This avoids a resync activity, which would be necessary, if the original primary database is damaged! The following steps perform the reintegration: TSM is running on the previuos standby, now in role “STANDARD”.

Start database manager on the other host, database still Primary:

gscc lax10>gscmd TSM143 startdbm
Starting database manager for tsm143.
DB2START processing was successful.

gscc lax11>gscmd TSM143 role
PRIMARY

Start HADR on that host with role standby instead of primary to reintegrate database:

gscc lax10>gscmd TSM143 hadrstandby
Starting DB2 as Standby.
The START HADR ON DATABASE command completed successfully.

gscc lax10>gscmd TSM143 role
STANDBY

SPORDADM

The command is used like this:

spordadm <instancename> <subcommand>

Note

<instancename> is based on the spord configuration file (/etc/spord/spord.conf). If only instancename is specified, spordadm will connect to the corresponding container.

Usable subcommands are these:

start - starts the container with corresponding name together with GSCC daemons
startsrv - Starts the container and dsmserv - interactive way. No GSCC daemons started
startoc - Starts the Operations Center container, together with the webserver
startmon - starts a GSCC monitoring container
create - preview/execute a command to create a new container (includes dsmserv format)
removedb - preview/execute a command to remove the ISP DB
stop - stops the container. "spordadm all stop" will stop all running containers
stopforce - Stops a container even if it has an ISP instances running (dsmserv process)
gsccadm - connects to GSCC CLI trasparently, through the container
stopgscc - stops GSCC daemons (gscomd, gsccd and gsemd) from the container
startgscc - starts GSCC daemons
startgsccmon - starts gscomd daemon, the only needed for a Monitoring container
stopgsccmon - stops gscomd daemon from a Monitoring container
startgsuid - starts gsuid (the webserver needed for GSCC GUI) inside the container
stopgsuid - stops gsuid
setoper - runs setoper command, which forces GSCC to start in Operator mode. This command is started before GSCC daemons
showlogs - Displays the container logs

listimages - lists all container images already loaded on the system
loadimage - loads a new container image. This command requires a second parameter which is the path to the new image
removeimage - Deletes a container image. This command requires a second parameter "IMAGE ID" which is shown in the "listimages" output.
listlabels - Shows all the Labels of a container image. This command requires a second parameter "IMAGE ID" which is shown in the "listimages" output.

Note

Not all subcommands will be explained in this documentation, since some should only be executed when instructed to do so.

start

The “start” command starts a container and its’ GSCC daemons.

Syntax:

spordadm <instancename> start

Parameters:

<instancename> (Required) - The instance for which the command should be executed.

Examples:

spordadm ISP01 start
Starting "ISP01" container ...

"docker ps" output:
CONTAINER ID   IMAGE                                     COMMAND                  CREATED         STATUS        PORTS     NAMES
8dffe732dcf4   dockercentos74:SP8.1.12.100-GSCC-DSMISI   "/opt/generalstorage…"   2 seconds ago   Up 1 second             gscc-ISP01

startsrv

The “startsrv” command starts the container and the dsmserv process in an interactive way. No GSCC daemons are started.

Syntax:

spordadm <instancename> startsrv

Parameters:

<instancename> (Required) - The instance for which the command should be executed.

Examples:

[root@rhelgscc-1 ~]# spordadm 1 startsrv
Starting "ISP01" container and dsmserv...
##################################################################
# General Storage SPORD - (c) 2022 General Storage Software GmbH #
##################################################################

INFO: Reading configuration file /etc/spord/spord.conf.
INFO: Receiving configuration for ISP01!
------------------------------
SPORDNAME:      ISP01
...

startoc

The “startoc” command starts a dedicated Operations Center container and its webserver.

Syntax:

spordadm <instancename> startoc

Parameters:

<instancename> (Required) - The instance for which the command should be executed.

Examples:

[root@rhelgscc-1 ~]# spordadm ispoc startoc
Starting "ISPOC" Operations Center container...

"podman ps" output:
CONTAINER ID  IMAGE                                          COMMAND               CREATED       STATUS           PORTS       NAMES
76e0d4a43885  localhost/dockercentos79:SP8.1.17-OC  /opt/generalstora...  1 second ago  Up 1 second ago              OC-ISPOC

stop

The “stop” command stops a running container if it is safe to do so.

Syntax:

spordadm <instancename> stop

Parameters:

<instancename> (Required) - The instance for which the command should be executed.

Examples:

sles-01:~ # spordadm 1 stop
Command received to stop "gscc-ISP01" container
WARNING! There is a dsmserv process present inside "gscc-ISP01" container, won't be clean to stop it this way. Please check

...after stopping ISP Services...

sles-01:~ # spordadm 1 stop
Command received to stop "gscc-ISP01" container
Shuting down the container "gscc-ISP01" (it might take up to 10s to stop the container, check with "docker ps")

create

The “create” command either shows the command to create a new container based on information in spord.conf or creates it.

Syntax:

spordadm <instancename> create <-execute>

Parameters:

<instancename> (Required) - The instance for which the command should be executed.
<-execute> (optional) - If this parameter is specified, the creation will be executed instead of showing the command to do so.

Examples:

sles-01:~ # spordadm ISP1 create
Command PREVIEW for "ISP1" SPORD ISP creation.

SPORD: /opt/generalstorage/spord/bin/spord create -sp=ISP1 -int=no

##################################################################
# General Storage SPORD - (c) 2022 General Storage Software GmbH #
##################################################################

INFO: Reading configuration file /etc/spord/spord.conf.
INFO: Receiving configuration for ISP1!
------------------------------
SPORDNAME:      ISP1
SPORDBIN:
SPCONTBIN:
SPORDCONF:      /etc/spord/spord.conf
SPORDHOME:      /SPORD/HOME/ISP1
GSCCVERSION:
CUSTOMFILE:
DOCKIMG:                dockercentos74:SP8.1.14.100-GSCC-DSMISI
ADDMAPPING:     /SPORD/ISP/ISP1,/SPORD/GSCC/ISP1/etcgscc:/etc/gscc,/SPORD/GSCC/ISP1/vargscc:/var/gscc,/isi9300/isi9300/0001/dbbackups:/isi9300/isi9300/0001/dbbackups
ADDOPTION:
MAINCOMMAND:    create
ARGUMENTS:
------------------------------
INFO: Using docker image dockercentos74:SP8.1.14.100-GSCC-DSMISI!
CREATE dockercentos74:SP8.1.14.100-GSCC-DSMISI
DOCKER COMMAND(NEW): docker run -it --rm --privileged --net=host --ipc=host --name=ISP1  -v /etc/localtime:/etc/localtime -v /dev:/dev -v /SPORD/HOME/ISP1:/SPORD/HOME/ISP1 -v /opt/generalstorage/spord/bin:/opt/generalstorage/spord/bin -v /SPORD/ISP/ISP1:/SPORD/ISP/ISP1 -v /SPORD/GSCC/ISP1/etcgscc:/etc/gscc -v /SPORD/GSCC/ISP1/vargscc:/var/gscc -v /isi9300/isi9300/0001/dbbackups:/isi9300/isi9300/0001/dbbackups  dockercentos74:SP8.1.14.100-GSCC-DSMISI /opt/generalstorage/spord/bin/SPserver create /SPORD/HOME/ISP1/ISP1.dkd

INFO: Preview Mode. Command not executed.

gsccadm

The “gsccadm” command connects to the specified container and connects to the gscc CLI inside it.

Syntax:

spordadm <instancename> gsccadm

Parameters:

<instancename> (Required) - The instance for which the command should be executed.

Examples:

sles-01:~ # spordadm 1 gsccadm

General Storage Cluster Controller for ISP - Version 3.8.7.0
Command Line Administrative Interface
(C) Copyright General Storage 2021

Please enter user id: isp
Please enter password:
GSCC Version(CLI Revision): 3.8.7.0(2856)

gscc sles-01>

startgscc

The “startgscc” command starts the gscc services inside the specified container.

Syntax:

spordadm <instancename> startgscc

Parameters:

<instancename> (Required) - The instance for which the command should be executed.

Examples:

sles-01:~ # spordadm 1 startgscc
Starting GSCC daemons (gscomd, gsccd, gsemd) inside "gscc-ISP01" container...

stopgscc

The “stopgscc” command stops the gscc services inside the specified container.

Syntax:

spordadm <instancename> stopgscc

Parameters:

<instancename> (Required) - The instance for which the command should be executed.

Examples:

sles-01:~ # spordadm 1 stopgscc
Stopping GSCC daemons (gscomd, gsccd, gsemd) inside "gscc-ISP01" container...

setoper

The “setoper” command forces GSCC to start in Operator mode.

Note

This command has to be started before GSCC services are started.

Syntax:

spordadm <instancename> setoper

Parameters:

<instancename> (Required) - The instance for which the command should be executed.

Examples:

sles-01:~ # spordadm 1 setoper
Executing "setoper" command inside "gscc-ISP01" container...
ERROR: gsccd is still active (PID:18871)
...
sles-01:~ # spordadm 1 stopgscc
Stopping GSCC daemons (gscomd, gsccd, gsemd) inside "gscc-ISP01" container...
sles-01:~ # spordadm 1 setoper
Executing "setoper" command inside "gscc-ISP01" container...
INFO: Member ISP01 set to Operator at GSCC startup
sles-01:~ # spordadm 1 startgscc
Starting GSCC daemons (gscomd, gsccd, gsemd) inside "gscc-ISP01" container...

showlogs

The “showlogs” command shows the container application logs for a starting or running container.

Syntax:

spordadm <instancename> showlogs

Parameters:

<instancename> (Required) - The instance for which the command should be executed.

Examples:

[root@rhelgscc-1 ~]# spordadm ISP01 showlogs
SYSTEM PREPARATION

SPORDHOME (/SPORD/HOME/ISP01) available. Starting...
CLIENT FILE PREPARATION.................
ERROR: File dsmcert.sth missing in /SPORD/HOME/ISP01. Please create file by connecting with a sessionsec=trans ISP user.
INFO: Copy file from /opt/tivoli/tsm/client/ba/bin to /SPORD/HOME/ISP01!
ERROR: File dsmcert.kdb missing in /SPORD/HOME/ISP01. Please create file by connecting with a sessionsec=trans ISP user.
INFO: Copy file from /opt/tivoli/tsm/client/ba/bin to /SPORD/HOME/ISP01!
ERROR: File dsmcert.idx missing in /SPORD/HOME/ISP01. Please create file by connecting with a sessionsec=trans ISP user.
INFO: Copy file from /opt/tivoli/tsm/client/ba/bin to /SPORD/HOME/ISP01!
INFO: Client files preparation completed!


DETECTING ENVIRONMENT
PROCESSING DKDFILE /SPORD/HOME/ISP01/ISP01.dkd..............
ISP User: isp01
ISP UserID: 1600
ISP Group: isp01
ISP GroupID: 1600
ISP User Home Directory: /SPORD/ISP/ISP01/config
DB Directory Location(s): /SPORD/ISP/ISP01/db1,/SPORD/ISP/ISP01/db2,/SPORD/ISP/ISP01/db3,/SPORD/ISP/ISP01/db4
Active Log Directory: /SPORD/ISP/ISP01/actlog
Archive Log Directory: /SPORD/ISP/ISP01/arclog
Active Log Size: activelogsize=4092

...

Starting GSCC processes:
INFO: Writing Semaphore /SPORD/HOME/ISP01/SPgscc.lock
GSCC Container initialization completed!

listimages

The “listimages” command lists all loaded images for the container application.

Syntax:

spordadm listimages

Examples:

[root@rhelgscc-1 ~]# spordadm listimages
REPOSITORY                TAG                   IMAGE ID      CREATED        SIZE
localhost/dockercentos79  SP8.1.17-GSCC-DSMISI  af2098d76c89  7 months ago   4.75 GB
localhost/dockercentos79  SP8.1.15-GSCC-DSMISI  bff0ddc43aac  11 months ago  4.7 GB

listlabels

The “listlabels” command lists all labels for a specified loaded image. The labels show additional information like Application Versions and date of creation.

Syntax:

spordadm listlabels <IMAGE ID>

Parameters:

<IMAGE ID> (Required) - The ID of the image file for which labels should be shown.

Examples:

[root@rhelgscc-1 ~]# spordadm listimages
REPOSITORY                TAG                   IMAGE ID      CREATED        SIZE
localhost/dockercentos79  SP8.1.17-GSCC-DSMISI  af2098d76c89  11 months ago  4.75 GB
[root@rhelgscc-1 ~]# spordadm listlabels af2098d76c89
{"GSCC":"3.8.8.2","GeneralStorageSoftwareGmbH":"SPORD","ISP":"8.1.17.000","ImageVersion":"20221215","build-date":"20170911","dsmisi":"3.2.2.0","license":"GPLv2","name":"CentOS Base Image","vendor":"CentOS"}

loadimage

The “loadimage” command loads a new image to the container applications’ library.

Syntax:

spordadm loadimage <imagepath>

Parameters:

<imagepath> (Required) - The full path to the image file which should be loaded.

Examples:

[root@rhelgscc-1 provisioning]# spordadm loadimage /NFS/SPORDDEPLOY/provisioning/SP8.1.17-GSCC-DSMISI
Loading container image /NFS/SPORDDEPLOY/provisioning/SP8.1.17-GSCC-DSMISI...
Getting image source signatures
Copying blob 606d67d8e1b8 skipped: already exists
Copying blob 606d67d8e1b8 skipped: already exists
Copying blob e81a4cf0662b done
Copying config af2098d76c done
Writing manifest to image destination
Storing signatures
Loaded image: localhost/dockercentos79:SP8.1.17-GSCC-DSMISI

removeimage

The “removeimage” command remove a previously loaded container image from the container applications’ library.

Syntax:

spordadm removeimage <IMAGE ID>

Parameters:

<IMAGE ID> (Required) - The ID of the image file which should be removed.

Examples:

[root@rhelgscc-1 ~]# spordadm listimages
REPOSITORY                TAG                   IMAGE ID      CREATED        SIZE
localhost/dockercentos79  SP8.1.17-GSCC-DSMISI  af2098d76c89  11 months ago  4.75 GB
localhost/dockercentos79  SP8.1.15-GSCC-DSMISI  bff0ddc43aac  15 months ago  4.7 GB

[root@rhelgscc-1 ~]# spordadm removeimage bff0ddc43aac
Deleting Container image with ID bff0ddc43aac...
Untagged: localhost/dockercentos79:SP8.1.15-GSCC-DSMISI
Deleted: bff0ddc43aac97e3a18cc7f6f47581654377e7240f6b285d87ea503695d09306

SPORDCONF

The command is used like this:

spordconf -c - checks prerequisites as configured.
spordconf -p - prepare all necessary files for deployment from input files and templates.
spordconf -d - deploy instance (optionally with "dsmisi" or "dsmisionly") or all relevant instances for this system, or monitoring container with "MON".
spordconf -i - initialize instance. When 'HADR' is specified, also get Containers in HADR state. Or initialize a "MON"itoring container.

spordconf -c

The check command “-c” checks prerequisites as configured.

Syntax:

spordconf -c

Examples:

[root@rhelgscc-1 provisioning]# spordconf -c
[DEBUG] spordconf starting...
[DEBUG] Container application is podman
[DEBUG] Sourcing default input file for this host.
[DEBUG] Sourcing custom input file for this host.
[DEBUG] Starting check for prerequisites.
[INFO] Starting check for the operating system...
[INFO] rhel detected. Continuing.
[INFO] Starting check for specified directories...
[DEBUG] Checking for directory /NFS/SPORDDEPLOY...
[INFO] Directory /NFS/SPORDDEPLOY exists.
[DEBUG] Checking for directory /var/spord/logs...
[INFO] Directory /var/spord/logs exists.
[DEBUG] Checking for directory /etc/spord/conf/templates...
[INFO] Directory /etc/spord/conf/templates exists.
[DEBUG] Checking for directory /NFS/SPORDDEPLOY/backups...
[INFO] Directory /NFS/SPORDDEPLOY/backups exists.
[DEBUG] Checking for directory /NFS/SPORDDEPLOY/input...
[INFO] Directory /NFS/SPORDDEPLOY/input exists.
[DEBUG] Checking for directory /NFS/SPORDDEPLOY/staging...
[INFO] Directory /NFS/SPORDDEPLOY/staging exists.
[DEBUG] Checking for directory /NFS/SPORDDEPLOY/provisioning...
[INFO] Directory /NFS/SPORDDEPLOY/provisioning exists.
[DEBUG] Checking for directory /NFS/SPORDDEPLOY/output...
[INFO] Directory /NFS/SPORDDEPLOY/output exists.
[DEBUG] Checking for directory /SPORD...
[INFO] Directory /SPORD exists.
[INFO] Starting check for installed packages...
[DEBUG] Checking prerequisistes...
[INFO] Package: dsmisi installed.
[WARNING] Package 'blablub' not installed!
[INFO] Starting check for the container image...
[INFO] Specified container image localhost/dockercentos79:SP8.1.17-GSCC-DSMISI was found.

spordconf -p

The prepare command “-p” prepares all necessary files for deployment from given input files and templates.

Syntax:

spordconf -p

Examples:

[root@rhelgscc-1 provisioning]# spordconf -p
[DEBUG] spordconf starting...
[DEBUG] Container application is podman
[DEBUG] Sourcing default input file for this host.
[DEBUG] Sourcing custom input file for this host.
[DEBUG] Starting preparation.
[DEBUG] Trying to source cluster input file(s) for this host.
[DEBUG] Instance defined in /NFS/SPORDDEPLOY/input/rhelgscccluster/isp01.instance.input is relevant for this host. Sourcing
[DEBUG] Trying to source node input file for instance ISP01.
[DEBUG] Looking for a node input file for our Cluster rhelgscccluster.
[DEBUG] Node input file /NFS/SPORDDEPLOY/input/rhelgscccluster/rhelgscc-1.node.input sourced.
[DEBUG] /NFS/SPORDDEPLOY/output/rhelgscccluster already existent.
[DEBUG] /NFS/SPORDDEPLOY/output/rhelgscccluster/ISP01 already existent.
[DEBUG] Deleting everything in existing Outputdir /NFS/SPORDDEPLOY/output/rhelgscccluster/ISP01 prior to repopulating...
[DEBUG] Creating template list file /etc/spord/conf/templates/ALL.templates from /etc/spord/conf/templates
[INFO] Processing template files from /NFS/SPORDDEPLOY/staging/ALL.templates
[DEBUG] Backing up: output input scripts templates in /NFS/SPORDDEPLOY/backups.
[INFO] Backup successful: /NFS/SPORDDEPLOY/backups/rhelgscc-1.230719113949.tar
[DEBUG] No password for the GSCC administrative deployment user specified. Will generate a random password.
[DEBUG] Password for ISP deployment user admin is ODE5MTdhM2MwNTM4NjEwNzIwNDNkOWVj
[DEBUG] Our primary Instance IP is: 192.168.178.60
[DEBUG] Processing template file /etc/spord/conf/templates/cl.def.template
[DEBUG] Processing template file /etc/spord/conf/templates/gscc.conf.template
[DEBUG] Processing template file /etc/spord/conf/templates/gsccmon.conf.template
[DEBUG] Processing template file /etc/spord/conf/templates/gsuidcustom.conf.template
[DEBUG] Processing template file /etc/spord/conf/templates/instance.dkd.template
[DEBUG] Processing template file /etc/spord/conf/templates/instance.dsm.opt.template
[DEBUG] Processing template file /etc/spord/conf/templates/instance.dsmserv.opt.template
[DEBUG] Processing template file /etc/spord/conf/templates/instance.gsalert.template
[DEBUG] Processing template file /etc/spord/conf/templates/instance.ips.template
[DEBUG] Processing template file /etc/spord/conf/templates/instance.ispdirs.template
[DEBUG] Processing template file /etc/spord/conf/templates/instance.runfile.template
[DEBUG] Processing template file /etc/spord/conf/templates/instance.spord.conf.PART.template
[DEBUG] Processing template file /etc/spord/conf/templates/instance.tsm.conf.template
[DEBUG] Processing template file /etc/spord/conf/templates/instance.tsmlocalfs.template
[DEBUG] Processing template file /etc/spord/conf/templates/outside.dsmisi.conf.template
[DEBUG] Processing template file /etc/spord/conf/templates/outside.dsm.opt.template
[DEBUG] Processing template file /etc/spord/conf/templates/outside.dsm.sys.template
[DEBUG] Processing template file /etc/spord/conf/templates/outside.instance.dsmisi.conf.PART.template
[DEBUG] Processing template file /etc/spord/conf/templates/outside.isicluster.dsmisi.conf.PART.template
[DEBUG] Processing template file /etc/spord/conf/templates/outside.spord.conf.template
[DEBUG] Processing template file /etc/spord/conf/templates/primary_node.db2backup.cmd.template
[DEBUG] Processing template file /etc/spord/conf/templates/primary_node.db2hadr.cmd.template
[DEBUG] Processing template file /etc/spord/conf/templates/primary_node.db2restore.cmd.template
[DEBUG] Processing template file /etc/spord/conf/templates/primary_node.dsmcert.cmd.template
[DEBUG] Processing template file /etc/spord/conf/templates/primary_node.hadrinit.cmd.template
[DEBUG] Processing template file /etc/spord/conf/templates/primary_node.instance.clipup.template
[DEBUG] Processing template file /etc/spord/conf/templates/primary_node.instance.def.template
[DEBUG] Processing template file /etc/spord/conf/templates/primary_node.instance.dsm.sys.template
[DEBUG] Processing template file /etc/spord/conf/templates/primary_node.instance.heartbeat.template
[DEBUG] Processing template file /etc/spord/conf/templates/primary_node.outside.dsm.sys.PART.template
[DEBUG] Processing template file /etc/spord/conf/templates/spordmon.conf.PART.template
[DEBUG] Processing template file /etc/spord/conf/templates/standby_node.db2backup.cmd.template
[DEBUG] Processing template file /etc/spord/conf/templates/standby_node.db2hadr.cmd.template
[DEBUG] Processing template file /etc/spord/conf/templates/standby_node.db2restore.cmd.template
[DEBUG] Processing template file /etc/spord/conf/templates/standby_node.dsmcert.cmd.template
[DEBUG] Processing template file /etc/spord/conf/templates/standby_node.hadrinit.cmd.template
[DEBUG] Processing template file /etc/spord/conf/templates/standby_node.instance.clipup.template
[DEBUG] Processing template file /etc/spord/conf/templates/standby_node.instance.def.template
[DEBUG] Processing template file /etc/spord/conf/templates/standby_node.instance.dsm.sys.template
[DEBUG] Processing template file /etc/spord/conf/templates/standby_node.instance.heartbeat.template
[DEBUG] Processing template file /etc/spord/conf/templates/standby_node.outside.dsm.sys.PART.template
[DEBUG] Processing template file /etc/spord/conf/templates/tsm_emergency.cmd.template

spordconf -d

The deploy command “-d” deploys all instance components to its destination (optionally with “dsmisi” or “dsmisionly”) or all relevant instances for this system, or monitoring container with “MON”.

Syntax:

spordconf -d <instance>|ALL|MON [dsmisi|dsmisionly]

Parameters:

<instance> (Required, if not "ALL" or "MON") - The instance for which the command should be executed.
ALL (Required, if no <instance> or "MON" specified) - All prepared instances will be deployed.
MON (Required, if no <instance> or "ALL" specified) - The monitoring container configuration will be deployed.
[dsmisi|dsmisionly] (Optional) - If specified, spordconf will try configuring dsmisi according to the configuration. If "dsmisionly", just the dsmisi config will be deployed, nothing else.

Examples:

[root@rhelgscc-1 provisioning]# spordconf -d ISP01
[DEBUG] spordconf starting...
[DEBUG] Container application is podman
[DEBUG] Sourcing default input file for this host.
[DEBUG] Sourcing custom input file for this host.
[DEBUG] Starting deployment.
[DEBUG] outputDir is /NFS/SPORDDEPLOY/output
[DEBUG] find /NFS/SPORDDEPLOY/output/*/ISP01 -type d -print 2>/dev/null
[DEBUG] Found specified Instance ISP01, in /NFS/SPORDDEPLOY/output/rhelgscccluster/ISP01
[DEBUG] clusterOutputDir is /NFS/SPORDDEPLOY/output/rhelgscccluster
[DEBUG] found instanceNodes /NFS/SPORDDEPLOY/output/rhelgscccluster/ISP01/nodes.
[INFO] Deployment running on PRIMARY site for instance ISP01 !
[DEBUG] Found a pre-deployment script. Executing now: /NFS/SPORDDEPLOY/provisioning/pre.deploy.sh with ISP01 as parameter
[DEBUG] Checking Instance status!
[DEBUG] instance.status file /SPORD/ISP01.status exists, checking Status.
[WARNING] Status is INITIALIZED.
[DEBUG] Prompting user to overwrite existing deployment.
Do you want to overwrite files for instance ISP01 with status INITIALIZED ? (y/n):y
Overwriting existing deployment.
[DEBUG] User chose to overwrite current deployment.
[DEBUG] Creating Instance directories
[DEBUG] Creating instance owner user and group, changing ownership
[DEBUG] Instance owner already exists. Justing changing ownership.
[INFO] spord.conf already exists, we will just edit our spordconf stanzas

[INFO] ISP Client seems to NOT be installed on host system! Not deploying dsm.sys and dsm.opt on host system.
[DEBUG] Copying output files to target directories
[INFO] Instance ISP01 already was initialized. Not changing instance Status.
[INFO] Deployment finished.
[DEBUG] Found a post-deployment script. Executing now: /NFS/SPORDDEPLOY/provisioning/post.deploy.sh with ISP01 as parameter
[root@rhelgscc-1 provisioning]#

spordconf -i

The init command “-i” initializes a container instance. When ‘HADR’ is specified, it also gets containers in HADR state.

Syntax:

spordconf -i <instance>|MON [HADR]

Parameters:

<instance> (Required, if not "MON") - The instance for which the command should be executed.
MON (Required, if no <instance> specified) - The monitoring container will be initialized.
[HADR] (Optional) - If specified, spordconf will try to configure and activate HADR. This needs to be run on both cluster systems in parallel to work.

Examples:

[root@rhelgscc-1 provisioning]# spordconf -i MON
[DEBUG] spordconf starting...
[DEBUG] Container application is podman
[DEBUG] Sourcing default input file for this host.
[DEBUG] Sourcing custom input file for this host.
[INFO] Starting initialization.
[DEBUG] Editing crontab to add MON entry...
[DEBUG] Crontab already configured. No changes neccessary.
Starting "GSCCMON" GSCC monitoring container ...

"podman ps" output:
CONTAINER ID  IMAGE                                          COMMAND               CREATED       STATUS            PORTS       NAMES
f876ab7608b5  localhost/dockercentos79:SP8.1.17-GSCC-DSMISI  /opt/generalstora...  1 second ago  Up 2 seconds ago              mon-GSCCMON