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:
- GlusterFS as persistent volume is a technology preview feature on the Secure Service Container for IBM Cloud Private environment.
- You cannot dynamically add or remove glusterFS nodes from the cluster after the GlusterFS cluster is deployed.
- You cannot enable GlusterFS storage on a Secure Service Container for IBM Cloud Private environment that is upgraded from a previous version.
This procedure is intended for users with role cloud administrator.
Before you begin
- Check with the system administrator that at least 80 GB disk space for each GlusterFS node is assigned on the Secure Service Container partition.
- Refer to the GlusterFS nodes checklist that you prepared on this topic Planning for Secure Service Container for IBM Cloud Private.
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:
internal_ipsdefines the IP addresses of GlusterFS node.provisionerindicates the template is used for the glusterfs node. The value ofnameunder theprovisionersection must beglusterfs.sizedefines the disk size of glusterfs quotagroup.- For the rest of configuration in the
ssc4icp-config.yamlfile, see Configuring the cluster resources.
Next
You can create the GlusterFS nodes as instructed in Creating the cluster nodes.