scalectl nsd command

Creates and manages one or more network-shared disks (NSD) that are used with IBM Storage Scale.

Synopsis

scalectl nsd batchCreate [-F {Filepath}]
       
Or
scalectl nsd batchDelete [-F {Filepath}] [-n {NSD[,NSD...]}]
       
Or
scalectl nsd create [-d {DeviceName}] [-g {FailureGroup}] [-n {nsd_name}] [-p {StoragePool}] [-s {ServerName[,ServerName,..]}] [-t {no | nvme | scsi | auto}] [-U  {metadataOnly | dataOnly | descOnly | localCache | dataAndMetadata}] 
       
Or
scalectl nsd delete {nsd_name}
       
Or
scalectl nsd get {nsd_Name} [-v {all-nsds | long | extended | local-node | all-nodes}]
       
Or
scalectl nsd list [--all-domains] [-f] [-F] [-n {MaxItemNumber}] [-x] [-p {PageSize}] [-t {PageToken}] [-view {all-nsds | long | extended | local-node | all-nodes}]
       
Or
scalectl nsd update {nsd_name} [-s {ServerName[,ServerName,..]}]
       

Availability

Available on all IBM Storage Scale editions.

Description

Use the scalectl nsd command to add and manage one or more NSDs.

Parameters

batchCreate
Creates one or more NSDs used by IBM Storage Scale. The operation attribute for this command is long-running operation (LRO). To run this command, you must have the RBAC permission for the create action on the /scalemgmt/v3/nsds resource.
-F or --file {Filepath}
Specifies the JSON-formatted or GPFS stanza-formatted file path.
batchDelete
Deletes one or more NSDs in an IBM Storage Scale cluster. The operation attribute for this command is LRO. To run this command, you must have the RBAC permission for the delete action on the /scalemgmt/v3/nsds resource.
-F or --file {FilePath}
Specifies the JSON-formatted or GPFS stanza-formatted file path.
-n or --nsd-names {NSD[,NSD...]}
Specifies the name of the NSDs to delete.
create
Creates a NSD in an IBM Storage Scale cluster. To run this command, you must have the RBAC permission for the create action on the /scalemgmt/v3/nsds resource.
-d or --device {DeviceName}
Specifies the physical device name to be assigned to the NSD.
-g or --failure-group {FailureGroup}
Specifies the failure group NSD assignment.
-n or --nsd-name {NSDName}
Specifies the NSD name.
-p or --pool {StoragePool}
Specifies the GPFS pool to which NSD belongs.
-s or --servers {ServerName[,ServerName,..]}
Specifies the servers that are assigned to NSD.
-t or --thin-disk-type {no | nvme | scsi | auto}
Specify the thin disk type to be assigned to the NSD. The possible values are no, nvme, scsi, and auto. The default value is no.
-U or --usage {metadataOnly | dataOnly | descOnly | localCache | dataAndMetadata}
Specify the disk usage type. The possible values are metadataOnly, dataOnly, descOnly, localCache, and dataAndMetadata. The default value is dataAndMetadata.
delete {nsd_name}
Deletes an existing NSD. To run this command, you must have the RBAC permission for the delete action on the /scalemgmt/v3/nsds resource.
get {nsd_name}
Retrieves information about an existing NSD. The operation attribute for this command is view. To run this command, you must have the RBAC permission for the get action on the /scalemgmt/v3/nsds resource.
-v or --view {all-nsds | long | extended | local-node | all-nodes}
Specifies the view for NSD content. The possible values are all-nsds, long, extended, local-node, and all-nodes. The default value is all-nsds.
list
List all NSDs. The operation attribute for this command is view and pagination. To run this command, you must have the RBAC permission for the get action on the /scalemgmt/v3/nsds resource.
--all-domains
Specifies to run the list request against all possible domains that the user has access.
-f or --filesystem-device
Specifies to list all disks that belong to the specified file system device.
-n or --max-items {MaxItemNumber}
Specifies the maximum number of items to list at a time.
-x or --no-pagination
Specifies to disable subsequent pagination tokens on the client side.
-F or --not-assigned
Specifies to list all disks that do not belong to any file system.
-p or --page-size {PageSize}
Specifies the number of items to list per request to the API.
-t or --page-token {PageToken}
Specifies the page token that is received from previous file system list command. You can provide this page token to retrieve the next page.
-v or --view {all-nsds | long | extended | local-node | all-nodes}
Specifies the view for NSD content. The possible values are all-nsds, long, extended, local-node, and all-nodes. The default value is all-nsds.
update {nsd_name}
Updates an existing NSD. To run this command, you must have the RBAC permission for the patch action on the /scalemgmt/v3/nsds resource.
-s or --servers {ServerName[,ServerName,..]}
Specifies servers that are assigned to NSD.

Global flags

The following global flags can be used 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.
--cert {Certificate}
Specifies the path to the client certificate file for authentication.
--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.
--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.

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 create one or more NSDs, issue the following command:
    scalectl nsd batchCreate --file nsds.stanza  
           
    A sample output is as follows:
    Job Id            MToxMDFhNjRiNy0zMDExLTRjYjktODcwNS02ZDUzYmVmMDE0MjA=
    Operation         BatchCreateNSDsRequest
    Status            Done
    Request Time      2024-10-24T21:23:57Z
    Last Update Time  2024-10-24T21:24:00Z
    Completion Time   2024-10-24T21:24:00Z
    
     NSD Name | Status
    =====================
    nsd_2    | created
    nsd_3    | created
    nsd_4    | created
    nsd_5    | created
    nsd_6    | created
    nsd_7    | created
    nsd_8    | created
  2. To update the NSD, issue the following command:
    scalectl nsd update nsd_1 --servers shelob-51
           
    A sample output is as follows:
    Filesystem name | NSD name | NSD Servers
    =======================================================
    (free disk)     | nsd_1    | shelob-51.openstacklocal
  3. To delete one or more NSDs, issue the following command:
    scalectl nsd batchDelete --file standard.stanza 
           
    A sample output is as follows:
    Job Id            MTpiOWIzZjdhYS05MDJiLTQ5NWUtOWIxMC1iNGUzZjIzMTNiMTI=
    Operation         BatchDeleteNSDsRequest
    Status            Done
    Request Time      2024-10-24T21:27:16Z
    Last Update Time  2024-10-24T21:27:19Z
    Completion Time   2024-10-24T21:27:19Z
    
    NSD Name | Status
    =====================
    nsd_4    | deleted
    nsd_5    | deleted
    nsd_6    | deleted
    nsd_7    | deleted
    nsd_8    | deleted
    nsd_2    | deleted
    nsd_3    | deleted
  4. To list all NSDs, issue the following command:
     scalectl nsd list
           
    A sample output is as follows:
    Filesystem name | NSD name | NSD Servers
    =======================================================
    (free disk)     | nsd_1    | (directly attached)
    (free disk)     | nsd_2    | testnode-1.openstacklocal
    (free disk)     | nsd_3    | testnode-1.openstacklocal
    (free disk)     | nsd_4    | testnode-1.openstacklocal
    (free disk)     | nsd_5    | testnode-2.openstacklocal
    (free disk)     | nsd_6    | testnode-2.openstacklocal
    (free disk)     | nsd_7    | testnode-2.openstacklocal
    (free disk)     | nsd_8    | testnode-2.openstacklocal

See also

Location

/usr/lpp/mmfs/bin