scalectl troubleshooting command

Helps to recover from error situations that you might encounter with the IBM Storage Scale native REST API.

Synopsis

scalectl troubleshooting nsds clearId [-i {VolumeID}] [-n {NodeName}]
Or
scalectl troubleshooting persistentReserve {clearKey {DeviceName} [-f] [-k {Key}] [-N {NodeName}]| readKeys {DeviceName} [-N {NodeName}] 

Availability

Available on all IBM Storage Scale editions.

Description

Use the scalectl troubleshooting command recover from error situations that you might encounter with the IBM Storage Scale native REST API. This command supports error recovery for the following areas:
  • Network-shared disks (NSD): Clears an NSD volume ID from a device.
    Attention: This operation is highly risky. A user can clear an NSD Volume ID from a disk only if no known NSDs have this NSD volume ID.
  • Persistent reserve: Reads and clears the value of the persistent reserve registration key from a device.

Parameters

nsds
Clears an NSD volume ID from a device.
clearID
Clears an NSD ID from a device. Use this command to remove the NSD ID from a device if the ID was not removed when the NSD was first deleted. To run this command, you must have the RBAC permission for the delete action on the /scalemgmt/v3/troubleshooting/nsds resource.
Note: Use this command only when instructed by another IBM command or IBM technical support.
-i or --id {VolumeID}
Specifies the NSD volume ID.
-n or --node-name {NodeName}
Specifies the node that is directly attached to the disk that holds the NSD volume ID to clear.
persistentReserve
Reads and clears the value of the persistent reserve registration key from a device.
clearKey {DeviceName}
Clears a persistent reserve registration from a device.
-f or --force
Overrides the clearing of persistent reserve keys that are not created by IBM Storage Scale.
-k or --key {Key}
Specifies a persistent reserve registration key. The value must be a hex value.
-N or --node-name {NodeName}
Specifies the node that is directly attached to the device that is used to clear the persistent reserve registration.
readKeys {DeviceName}
Reads persistent reserve registration key values from a device.
-N or --node-name {NodeName}
Specifies the node that is directly attached to the device to read.

Global flags

Use the following global flags with any scalectl command and subcommand:
--bearer
If true, reads the OIDC_TOKEN from the environment and sends it as the authorization bearer header for the request. Use this flag with the --url option.
--user-cert {Certificate}
Specifies the path to the client certificate file for authentication.
--user-cacert {CA_Certificate}
Specifies the path to the certificate authority (CA) trust chain to validate a server certificate.
--debug {Filepath[="stderr"]}
Enables the debug logging for the current request. Accepts an absolute file path to store logs by using --debug=<file>. If no file path is specified, logs are sent to stderr.
-h or --help
Lists the help for scalectl commands.
--domain {DomainName}
Sets the domain for the request. The default value is StorageScaleDomain.
--insecure-skip-tls-verify
If true, skips to verify the server certificate for validity. This option makes HTTPS connections insecure.
--json
Displays output in JSON format.
Note: When you use the --json flag with an endpoint method that is a long-running operation (LRO), the LRO is submitted to the LRO manager, which handles its lifecycle. The lifecycle includes accepting, running, and monitoring operations. Although the command request returns quickly, you must ensure that the submitted operation reaches a Done state. Review any metadata that is associated with the request to ensure that it completed successfully. This step is especially important for endpoint methods that have follow-on methods. These follow-on methods are valid only if the initial method completed successfully. For more information about LRO, see Long-running operations.
--user-key {PrivateKeyFile}
Specifies the path to the client certificate private key file for authentication.
--url {ip_address}
Sends the request over HTTPS to the specified endpoint <FQDN/IP>:<port>. For IPv6 address, use square brackets. For example, [IPv6]:<port>. If no port specified, 46443 is used by default.
--version
Specifies the scalectl build information. The --version flag is valid only with the top-level scalectl command.

Exit status

0
Successful completion.
nonzero
A failure occurred.

Security

You must have the specific role-based access control (RBAC) permission to run the command. For more information, see Role-based access control.

Examples

  1. To clear a persistent reserve registration from a device, issue the following command:
    scalectl troubleshooting persistentReserve clearKey sdb --key 0x111abc
    A sample output is as follows:
    Successfully cleared the Persistent Reserve key from the device                      
  2. To read persistent reserve registration key values from a device, issue the following command:
    scalectl troubleshooting persistentReserve readKeys sdb
    A sample output is as follows:
    Node Name  |  Key
    ==============================
    Server5x  |  00006d0000000001  
  3. To clear the NSD volume id, issue the following command:
    scalectl troubleshooting nsds clearId --id C0A801CB64E3D4D4
    A sample output is as follows:
    Successfully cleared the NSD volume id from the NSD

See also

Location

/usr/lpp/mmfs/bin