Deploying protocols

Use this procedure to deploy protocols in an IBM Storage Scale cluster by using the installation toolkit.

Before you deploy protocols, the following requirements are met:
  • An IBM Storage Scale cluster exists.
  • IBM Storage Scale is started.
  • Minimum one file system is available for the CES shared root file system.
  • The installation toolkit must be running on Python 3.8 or later.

Protocol services are deployed on a subset of the cluster nodes that are designated as protocol nodes by using the ./spectrumscale node add node_name -p command. Protocol nodes have an extra set of packages installed that allow them to run the NFS, SMB, and S3 protocol services.

Data is served through these protocols from a pool of addresses that are designated as Export IP addresses or CES public IP addresses. You can configure these addresses by using the ./spectrumscale config protocols -e IP1,IP2,IP3... command or add these addresses manually by using the mmces address add command. The cluster manages the allocation of addresses in this pool, and IP addresses are automatically migrated to other available protocol nodes if any node fails.

Notes: Considerations for deploying protocols are as follows:
  • All the protocol nodes must be running the supported operating systems, and the protocol nodes must have the same CPU architecture. Although the other nodes in the cluster might be on other platforms and operating systems.

    For information about supported operating systems for protocol nodes and their required minimum kernel levels, see IBM Storage Scale FAQ in IBM® Documentation.

  • The packages for all protocols are installed on every node that is designated as a protocol node. This installation is done even if a service is not enabled in your configuration.
  • Services are enabled and disabled cluster wide; this means that every protocol node serves all enabled protocols.
  • If SMB is enabled, the number of protocol nodes is limited to 16 nodes.
  • If your protocol node has Red Hat Enterprise Linux® 7.x installed, the NFS service might be already running on the node that can cause issues with the installation of IBM Storage Scale NFS packages. To avoid these issues, before you start the deployment, you must do the following steps:
    1. Stop the NFS service by using the systemctl stop nfs.service command.
    2. Disable the NFS service by using the systemctl disable nfs.service command.

      This command ensures that this change is persistent after system reboot.

  • The installation toolkit does not support adding protocol nodes to an existing ESS cluster earlier than ESS version 3.5.
  1. To use protocol services, define a shared file system for protocols.

    If IBM Storage Scale is already configured, specify the shared file system manually or rerun spectrumscale install to assign an existing NSD. Make sure that the NSD servers are compatible with the installation toolkit and listed in the cluster definition file.

    1. Define a shared file system and the shared file system mount point or path.
      ./spectrumscale config protocols -f cesshared -m /gpfs/cesshared
    2. View the current settings by issuing this command:
      ./spectrumscale config protocols --list
      [ INFO  ] No changes made. Current settings are as follows:
      [ INFO  ] Shared File System Name is cesshared
      [ INFO  ] Shared File System Mountpoint or Path is /gpfs/cesshared
      
  2. Add protocol nodes to the cluster definition file.
    To deploy protocols on nodes in your cluster, add the protocol nodes to the cluster definition file as protocol nodes. Issue the following command to designate a node as a protocol node:
    ./spectrumscale node add NODE_IP -p
  3. Enable NFS, SMB, and S3 protocol.

    To enable or disable a set of protocols, use the ./spectrumscale enable and ./spectrumscale disable commands.

    Note: The S3 protocol is available on IBM Storage Scale 5.2.1.0 and later.
    1. Enable the protocols.
      ./spectrumscale enable smb nfs s3

      A sample output is as follows:

      [ INFO  ] Enabling SMB on all protocol nodes.
      [ INFO  ] Enabling NFS on all protocol nodes.
      [ INFO ] Enabling S3 on all protocol nodes.
    2. View the current list of enabled protocols.
      ./spectrumscale node list

      A sample output is as follows:

      [ INFO  ] List of nodes in current configuration:
      [ INFO  ] [Installer Node]
      [ INFO  ] 192.0.2.1
      [ INFO  ]
      [ INFO  ] [Cluster Name]
      [ INFO  ] ESDev1
      [ INFO  ]
      [ INFO  ] [Protocols]
      [ INFO  ] S3  : Enabled
      [ INFO  ] SMB : Enabled
      [ INFO  ] NFS : Enabled
      [ INFO  ]
      [ INFO  ] GPFS Node              Admin  Quorum  Manager  NSD Server  Protocol  GUI Server  OS     Arch
      [ INFO  ] ESDev1-GPFS1             X       X       X                    X                  rhel7  x86_64
      [ INFO  ] ESDev1-GPFS2                             X                    X                  rhel7  x86_64
      [ INFO  ] ESDev1-GPFS3                             X                    X                  rhel7  x86_64
      [ INFO  ] ESDev1-GPFS4             X       X       X          X                            rhel7  x86_64
      [ INFO  ] ESDev1-GPFS5             X       X       X          X                            rhel7  x86_64
      
  4. Add CES IP addresses.

    CES public IP addresses, also known as export IP addresses, provide data access through NFS, SMB, and S3 protocols. File and object clients use these IP addresses to access data in GPFS file systems. All protocols share export IP addresses, which are organized into a public IP address pool. The number of export IP addresses can be less than the number of protocol nodes. Assign a hostname to each export IP address, and configure reverse DNS lookup for every address.

    1. Add export IP addresses to your cluster by using this command:
      ./spectrumscale config protocols -e EXPORT_IP_POOL

      Where EXPORT_IP_POOL is a comma-separated list of IP addresses.

      In the CES interface mode, you must specify the CES IP addresses with the installation toolkit in the Classless Inter-Domain Routing (CIDR) notation. In the CIDR notation, the IP address is followed by a forward slash and the prefix length.
      IPAddress/PrefixLength
      For example,
      IPv6
      2001:0DB8::/32
      IPv4
      192.0.2.0/20
      Specify the prefix length for every CES IP address. Else, you cannot add the IP address by using the installation toolkit.
      • When you are using IPv6 addresses, the prefix length must be in the range 1 - 124.
      • When you are using IPv4 addresses, the prefix length must be in the range 1 - 30.
    2. If you are using the CES interface mode, specify the interfaces.
      ./spectrumscale config protocols -i INTERFACES

      Where INTERFACES is the comma-separated list of network interfaces, for example, eth0,eth1.

    3. View the current configuration.
      ./spectrumscale node list
      View the CES shared root and the IP address pool.
      ./spectrumscale config protocols -l
      View the object configuration.
      ./spectrumscale config object -l
  5. After the protocol-related definitions and configuration details are added to the cluster definition file, deploy the specified protocols.
    ./spectrumscale deploy

    You can also use the mmnetverify command to identify any network problems before the deployment. For more information, see mmnetverify command.

    1. Use the following command to deploy protocols:
      ./spectrumscale deploy
      Note:

      The system prompts for the Secret Encryption Key that you provided during object configuration or authentication. You can disable prompting to skip this step.

      This command does the following tasks:
      • Completes pre-deploy checks.
      • Deploys protocols as specified in the cluster definition file.
      • Completes post-deploy checks.

      You can explicitly specify the --precheck (-pr) option to do a dry run of pre-deploy checks without starting the deployment. This check is not required because ./spectrumscale deploy with no argument also runs these checks. Alternatively, you can specify the --postcheck (-po) option to do a dry run of post-deploy checks without starting the deployment. These options are mutually exclusive.

    2. After a successful deployment, verify the cluster and CES configuration.
      /usr/lpp/mmfs/bin/mmlscluster --ces
      
You can rerun the ./spectrumscale deploy command to do the following tasks:
  • Add protocol nodes
  • Enable other protocols