Planning for IBM Cloud

Learn about prerequisites, configurations, and other important planning information that you must consider before the deployment of an IBM Storage Scale cluster on IBM® Cloud.

Consider the following steps when you are planning for an IBM Storage Scale cluster on the public cloud of IBM Cloud:
  1. Checking the limitations.
  2. Preparing the IBM Cloud environment to deploy the IBM Storage Scale cluster.
  3. Planning the virtual network cloud (VPC) architecture.
  4. Planning for DNS.
  5. Planning for bastion.
  6. Creating an IBM Storage Scale custom image in advance.
  7. Planning for the IBM Storage Scale deployment architecture on IBM Cloud.
  8. Determining the deployment purpose.
  9. Selecting the deployment profiles of the IBM Storage Scale cluster.
  10. Determining your performance, scalability, data availability, and data protection.

Checking the limitations

These are the applicable limitations for the deployment of IBM Storage Scale on IBM Cloud:
  • If the key that is used to encrypt IBM Storage Scale is deleted, data cannot be retrieved.
  • Only the general purpose type of disk is supported with IBM Cloud.

Preparing the IBM Cloud environment to deploy the IBM Storage Scale cluster

Complete the following steps to prepare the IBM Cloud environment.

  1. If you do not already have one, create an IBM Cloud account.
  2. Create the necessary IAM API keys that are required for cloudkit to make programmatic requests to IBM Cloud. For more information, see Managing user API keys in the IBM Cloud documentation.
  3. Configure the required permission to the IAM API key by following the procedure from Configuring permissions to use cloudkit on public clouds.
  4. In the preferred region, create a key pair.
  5. Prepare the installer node where cloudkit is meant to run. For more information, see Preparing the installer node

Planning the virtual network cloud (VPC) architecture

When resources are being deployed in the cloud, cloudkit can either create a new virtual private cloud (VPC) and provision the resources into it, or use a previously created VPC. When cloudkit creates a new VPC, cloudkit designs your network infrastructure from scratch; it chooses the subnets, network address ranges, and security groups that best suit the IBM Storage Scale deployment.

Cloudkit offers the next commands to create a VPC:
  • Cloudkit create network command, which creates only the VPC.
  • Cloudkit create cluster command, which creates the cluster and its VPC.
The following deployment options are available to users:
? VPC Mode:   [Use arrows to move, type to filter, ? for more help]
> New
  Existing

If the IBM Storage Scale cluster is to be deployed in an existing VPC, the following requirements must be met:

  • Dynamic Host Configuration Protocol (DHCP) options set or DNS configured.
  • In the availability zone, subnets with allocatable IP address; the minimum is one private subnet per availability zone.
Optionally, meet the next requirements for the deployment of an IBM Storage Scale cluster in an existing VPC:
  • A public subnet (a subnet with internet gateway attached) is only required if either the following cases are met:
  • A network address translation (NAT) gateway that is attached to the private subnet is only required when the IBM Storage Scale instances need access to the internet (for operating system updates and security patches, for example).

Planning for DNS

Use cloudkit create dns command to create a DNS domain. During the DNS creation process, you must create a service instance.

To create a new DNS zone or use an existing DNS zone, issue the next command:
? Do you wish to use an existing DNS zone:  (y/N)
Remember: Creation of a cloud DNS is mandatory and must be created before you run cloudkit create cluster command.
To consult the available deployment options, issue cloudkit create cluster command:
E:
          No existing DNS zones found. In order to configure, use 'cloudkit create
        dns'

If no existing zones are found, this command fails and displays an error message.

Planning for bastion or jump host

Use cloudkit create jumphost command to create a jump host or bastion in the public subnet.

To consult the available deployment options, issue cloudkit create cluster command:
? Bastion OS:  ibm-redhat-9-6-minimal-amd64-6 | r006-2bc93792-b76e-45ca-aa8a-d7f44029aae4 | x86_64 | vpcuser
? Bastion instance type:  bx2-2x8  | 2 vCPU | 8  GB RAM  | Up to 10 Gbps bandwidth
? Bastion/Jumphost SSH private key file path (will be used only for configuration):  <private_key_path>
? JumpHost CIDR allow list: xxx.xxx.xxx.xxx/0
For a jump host or bastion, cloudkit provides the following options for VM instances types:
? Bastion instance type: [Use arrows to move, type to filter]
> bx2-2x8  | 2 vCPU | 8  GB RAM  | Up to 10 Gbps bandwidth
  bx2-4x16 | 4 vCPU | 16 GB RAM  | Up to 10 Gbps bandwidth  
  bx2-8x32 | 8 vCPU | 32 GB RAM  | Up to 16 Gbps bandwidth

Creating an IBM Storage Scale custom image in advance

With cloudkit, you can either automatically create a stock image or provide a custom image.

Automatically created image by using cloudkit create cluster command

Red Hat Enterprise Linux® (RHEL) 8.10 or 9.6 is required for cloudkit to automatically create a stock image. When you select this option, cloudkit automatically performs all required actions to create an IBM Storage Scale VM image and create the IBM Storage Scale cluster.

New or existing custom image by using cloudkit create image command

A custom image can be created by using cloudkit create image command. This command supports two options to create a custom image: it accepts inputs in the form of an existing image and it provides the ability to create an image from a RHEL image.

An existing custom image consists of the following components:
  1. A RHEL version that is supported by IBM Storage Scale.
  2. Optionally, for any customer applications that are already preinstalled, cloudkit create image command also installs all required IBM Storage Scale packages on top of the existing image.

Planning for the IBM Storage Scale deployment architecture on IBM Cloud

Before the IBM Storage Scale cluster can be created on the cloud, plan the deployment architecture.

Cloudkit offers the following deployment models for IBM Storage Scale.

Combined-compute-storage

A unified IBM Storage Scale cluster with both storage and compute nodes. It is recommended that any customer workload runs only on the compute nodes.

Compute-only

An IBM Storage Scale cluster that only consists of compute nodes. This cluster does not have any local file system and therefore must remotely mount the file system from an IBM Storage Scale storage cluster.

Storage-only

This IBM Storage Scale cluster consists of only storage nodes, which have access to storage where the file system is created. This file system is remotely mounted to any number of compute-only IBM Storage Scale clusters.

When you run cloudkit create cluster command, the following prompt asks you to select from among the different deployment models that are offered:
? IBM Storage Scale deployment model:   [Use arrows to move, type to filter, ? for more help]
> Storage-only
  Compute-only
  Combined-compute-storage

Determining the deployment purpose

The deployment purpose is applicable only to storage clusters.

Non-Production

This profile lists instance types that are experimental, which are best suited for proof of concepts. A non-production deployment may require tuning to run scale-suited workloads.

Production

This profile lists instance types that are well suited for scale workloads. Optimal tuning parameters are calculated and set during the deployment.

When the next prompt appears, select one of the supported deployment purposes.
? Deployment purpose:   [Use arrows to move, type to filter]
  Non-Production
> Production

Selecting the deployment profiles for an IBM Storage Scale cluster

Cloudkit offers the following deployment profiles.

Throughput-Performance-Persistent-Storage
This profile uses a single availability zone with persistent storage, which means that the file system device retains data after the instance is stopped. In this mode, cloudkit calculates the number of storage nodes based on the provided file system capacity. This mode uses general-purpose as disk type.
Important: When you choose this profile, the file system is configured in such manner that the data is not replicated, only the metadata gets replicated across the instances.
Throughput-Performance-Scratch-Storage

This profile uses a single availability zone and a placement group with cluster policy, which means that it packs instances close together inside an availability zone. This strategy enables workloads to achieve the low-latency network performance that is necessary for tightly coupled node-to-node communication that is typical of high-performance computing (HPC) applications, with instance or temporary storage; meaning that the file system device loses data after the instance is stopped.

In this mode, the number of storage instances is limited to 10, compute instances are limited to 65.

Important: This profile uses local NVMe SSD or instance storage, which offers high performance and low latency for data-intensive workloads. However, the data that is stored in this mode is volatile and can be lost if the instance is stopped or terminated. Therefore, it is recommended to take frequent backups.

This profile must not be used for long-term storage or if the data is not backed up elsewhere.

Throughput-Advance-Persistent-Storage

This profile uses a single availability zone with persistent storage, which means that the file system device retains data after the instance is stopped. This mode is meant for storage capacity rather performance; the number of storage instances is limited to 64, compute instances is limited to 65.

Important: When you choose this profile, the file system is configured in such manner that the data is not replicated, only the metadata gets replicated across the instances.
Balanced

This profile uses multiple (3) availability zones to deploy the IBM Storage Scale cluster into. In this mode, the number of storage instances is limited to 64.

Important: The IBM Storage Scale file system is configured in such a way that data and metadata get replicated across availability zones.
? Tuning profile:   [Use arrows to move, type to filter, ? for more help]
> Throughput-Performance-Persistent-Storage
  Throughput-Advance-Persistent-Storage
  Balanced
  Throughput-Performance-Scratch-Storage

Determining performance, scalability, data availability, and data protection

Before you deploy the IBM Storage Scale cluster, it is important to understand your requirements in terms of performance, scalability, data availability, and data protection. These criteria determine what IBM Cloud instance types to use for the storage nodes and compute nodes, also what elastic block store types should be used.

Cloudkit provides the following choices for VM instances types.

  • For IBM Storage Scale compute nodes, all the VM instance types are supported, according to their availability per region.
  • For IBM Storage Scale storage nodes, the support depends on the profile, as described in the following list.
    • For the Throughput-Performance-Persistent-Storage, Throughput-Advance-Persistent-Storage, and Balanced profiles, the next VM instance types are supported.

      - cx2-16x32   | 16 vCPU   | 32 GiB RAM   | Max network bandwidth 32 Gbps
      - cx2-32x64   | 32 vCPU   | 64 GiB RAM   | Max network bandwidth 64 Gbps
      - cx2-48x96   | 48 vCPU   | 96 GiB RAM   | Max network bandwidth 80 Gbps
      - cx2-64x128  | 64 vCPU   | 128 GiB RAM  | Max network bandwidth 80 Gbps
      - cx2-96x192  | 96 vCPU   | 192 GiB RAM  | Max network bandwidth 80 Gbps
    • For the Throughput-Performance-Scratch-Storage profile, the next VM instance types are supported.

      - ox2-8x64    | 8  vCPU  | 64  GiB RAM  | Instance Storage 2 x 1200 GB  local SSD | Network Bandwidth Up to 16 Gbps
      - ox2-16x128  | 16 vCPU  | 128 GiB RAM  | Instance Storage 2 x 2400 GB  local SSD | Network Bandwidth Up to 32 Gbps
      - ox2-32x256  | 32 vCPU  | 256 GiB RAM  | Instance Storage 3 x 3200 GB  local SSD | Network Bandwidth Up to 64 Gbps
      - ox2-64x512  | 64 vCPU  | 512 GiB RAM  | Instance Storage 6 x 3200 GB  local SSD | Network Bandwidth Up to 80 Gbps
      - ox2-96x768  | 96 vCPU  | 768 GiB RAM  | Instance Storage 9 x 3200 GB  local SSD | Network Bandwidth Up to 80 Gbps