14.2. Upgrading Container-Ready Storage
- Upgrade the Red Hat Gluster Storage cluster. Refer In-Service Software Upgrade.
- Upgrade Heketi by executing the following commands on the Red Hat Gluster Storage node where Heketi is running::
- Backup the Heketi database file
# cp -a /var/lib/heketi/heketi.db /var/lib/heketi/heketi.db.`date +%s`.`heketi --version | awk '{print $2}'`
- Update Heketi by executing the following command in one of the Red Hat Gluster Storage nodes where Heketi is running:
# yum update heketi
- 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 totrue
.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 }, ..... .....
- Restart the Heketi service:
# systemctl restart heketi
- Execute the following command to install gluster block:
# yum install gluster-block
- Enable and start the gluster block service:
# systemctl enable gluster-blockd # systemctl start gluster-blockd
- 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
- 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
- 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.