Deploying GlusterFS

You can use GlusterFS storage either by deploying GlusterFS on your IBM Cloud Private cluster nodes, or by integrating a GlusterFS storage cluster that is deployed outside the IBM Cloud Private environment.

The following information shows how to prepare dedicated nodes for a GlusterFS cluster in the Secure Service Container for IBM Cloud Private environment. Then you can configure GlusterFS during the IBM Cloud Private installation. For more information about how the GlusterFS works, see GlusterFS.

You can also configure GlusterFS on worker nodes by following the instructions on Configuring GlusterFS during IBM Cloud Private installation, or configure GlusterFS by using helm charts or as an add-on service as in Configuring GlusterFS after IBM Cloud Private installation.

Note:

This procedure is intended for users with role cloud administrator.

Before you begin

Procedure

On the x86 or Linux on Z server, update the config/ssc4icp-config.yaml file to configure the GlusterFS nodes on the Secure Service Container partition with required CPU, memory, port range, and network specifications by using a specified template.

The following ssc4icp-config.yaml example file shows template5 and template6 are defined for GlusterFS nodes in the DemoCluster with required resources. The template5 depicts the configuration of two storage quotagroups and template6 depicts the configuration of single storage quotagroup.

cluster:
    name: "DemoCluster"
    datapool: "exists"
    masterconfig:
      internal_ips: ['192.168.0.251']
      subnet: "192.168.0.0/24"
LPARS:
  -ipaddress: '10.152.151.105'
     containers:
      -template: "template2"
       count: 1
       internal_ips: ['192.168.0.254']
       proxy_external_ips: ['172.16.0.4']
  -ipaddress: '10.152.151.105'
     containers:
      -template: "template1"
       count: 2
       internal_ips: ['192.168.0.252','192.168.0.253']
  -ipaddress: '10.152.151.105'
     containers:
      -template: "template5"
       count: 1
       internal_ips: ['192.168.0.245']
  -ipaddress: '10.152.151.105'
     containers:
      -template: "template6"
       count: 2
       internal_ips: ['192.168.0.246','192.168.0.247']
template1:
     name: "worker"
     type: "WORKER"
     # CPU defined by number of threads
     cpu: "4"
     # Memory in MB
     memory: "4098"
     port_range: '15000'
     root_storage: "60G"
     icp_storage: "140G"
     internal_network:
       subnet: "192.168.0.0/24"
       gateway: "192.168.0.1"
       parent: "encf700"
template2:
     name: "proxy"
     type: "PROXY"
     # CPU defined by number of threads
     cpu: "3"
     # Memory in MB
     memory: "1024"
     port_range: '16000'
     root_storage: "60G"
     icp_storage: "140G"
     internal_network:
       subnet: "192.168.0.0/24"
       gateway: "192.168.0.1"
       parent: "encf700"
     proxy_external_network:
       subnet: "172.16.0.0/24"
       gateway: "172.16.0.1"
       parent: "encf900"
template5:
    name: "storage"
    type: "STORAGE"
    # Configure storage provisioner
    provisioner:
      - name: "glusterfs"
        size: "40G"
      - name: "glusterfs"
        size: "40G"
    # CPU defined by number of threads
    cpu: "4"
    # Memory in MB
    memory: "4098"
    port_range: '17000'
    root_storage: "60G"
    icp_storage: "140G"
    internal_network:
      subnet: "192.168.0.0/24"
      gateway: "192.168.0.1"
      parent: "encf700"
template6:
    name: "storage"
    type: "STORAGE"
    # Configure storage provisioner
    provisioner:
      - name: "glusterfs"
        size: "80G"
    # CPU defined by number of threads
    cpu: "4"
    # Memory in MB
    memory: "4098"
    port_range: '18000'
    root_storage: "60G"
    icp_storage: "140G"
    internal_network:
      subnet: "192.168.0.0/24"
      gateway: "192.168.0.1"
      parent: "encf700"

Note:

Next

You can create the GlusterFS nodes as instructed in Creating the cluster nodes.