14.2. Upgrading Container-Ready Storage

  1. Upgrade the Red Hat Gluster Storage cluster. Refer In-Service Software Upgrade.
  2. Upgrade Heketi by executing the following commands on the Red Hat Gluster Storage node where Heketi is running::
    1. Backup the Heketi database file
      # cp -a /var/lib/heketi/heketi.db /var/lib/heketi/heketi.db.`date +%s`.`heketi --version | awk '{print $2}'`
    2. Update Heketi by executing the following command in one of the Red Hat Gluster Storage nodes where Heketi is running:
      # yum update heketi
    3. To use gluster block, add the following two parameters to the glusterfs section in the heketi configuration file at /etc/heketi/heketi.JSON:
      auto_create_block_hosting_volume
      block_hosting_volume_size
      Where:
      auto_create_block_hosting_volume: Creates Block Hosting volumes automatically if not found or if the existing volume is exhausted. To enable this, set the value to true.
      block_hosting_volume_size: New block hosting volume will be created in the size mentioned. This is considered only if auto_create_block_hosting_volume is set to true. Recommended size is 500G.
      For example:
      .....
      .....
      "glusterfs" : {
      
      
                      "executor" : "ssh",
      
                      "db" : "/var/lib/heketi/heketi.db",
      
                      "sshexec" : {
                      "rebalance_on_expansion": true,
                      "keyfile" : "/etc/heketi/private_key"
                      },
      
                      "auto_create_block_hosting_volume": true,
      
                      "block_hosting_volume_size": 500G
              },
      .....
      .....
      
      
    4. Restart the Heketi service:
      # systemctl restart heketi
  3. Execute the following command to install gluster block:
    # yum install gluster-block
  4. Enable and start the gluster block service:
    # systemctl enable gluster-blockd
    # systemctl start gluster-blockd
  5. Execute the following command to update the heketi client and cns-deploy packages
    # yum install cns-deploy -y
    # yum update cns-deploy -y 
    # yum update heketi-client -y
  6. Execute the following commands to deploy the gluster-block provisioner:
    # sed -e 's/\\\${NAMESPACE}/<NAMESPACE>/' /usr/share/heketi/templates/glusterblock-provisioner.yaml | oc create -f -
    # oadm policy add-cluster-role-to-user glusterblock-provisioner-runner system:serviceaccount:<NAMESPACE>:glusterblock-provisioner
    For example:
    # sed -e 's/\\\${NAMESPACE}/storage-project/' /usr/share/heketi/templates/glusterblock-provisioner.yaml | oc create -f -
    # oadm policy add-cluster-role-to-user glusterblock-provisioner-runner system:serviceaccount:storage-project:glusterblock-provisioner
  7. Support for S3 compatible Object Store is under technology preview. To enable S3 compatible object store, refer Chapter 18, S3 Compatible Object Store in a Container-Native Storage Environment.