9.4. Upgrading to Red Hat Gluster Storage 3.4

  1. Disable all repositories

    # subscription-manager repos --disable=’*’
  2. Subscribe to RHEL 7 channel

    # subscription-manager repos --enable=rhel-7-server-rpms
  3. Check for stale RHEL 6 packages

    Make a note of any stale RHEL 6 packages post upgrade:
    # rpm -qa | grep el6
  4. Update and reboot

    Update the RHEL 7 packages and reboot once the update is complete.
    # yum update
    # reboot
  5. Verify the version number

    Check the current version number of the updated RHEL 7 system:
    # cat /etc/redhat-release

    Important

    The version number should be 7.5.
  6. Subscribe to required channels

    1. Subscibe to the Gluster channel:
      # subscription-manager repos --enable=rh-gluster-3-for-rhel-7-server-rpms
    2. If you require Samba, enable its repository:
      # subscription-manager repos --enable=rh-gluster-3-samba-for-rhel-7-server-rpms
    3. If you require NFS-Ganesha, enable its repository:
      # subscription-manager repos --enable=rh-gluster-3-nfs-for-rhel-7-server-rpms --enable=rhel-ha-for-rhel-7-server-rpms
    4. If you require gdeploy, enable the Ansible repository:
      # subscription-manager repos --enable=rhel-7-server-ansible-2-rpms
    5. If you require Nagios, enable its repository:
      # subscription-manager repos --enable=rh-gluster-3-nagios-for-rhel-7-server-rpms
  7. Install and update Gluster

    1. Install Red Hat Gluster Storage 3.4 using the following command:
      # yum install redhat-storage-server
    2. Update Red Hat Gluster Storage to the latest packages using the following command:
      # yum update
  8. Verify the installation and update

    1. Check the current version number of the updated Red Hat Gluster Storage system:
      # cat /etc/redhat-storage-release

      Important

      The version number should be 3.4.
    2. Check if any RHEL 6 packages are present:
      # rpm -qa | grep el6

      Important

      The output of the command should not list any packages of RHEL 6 variant. If the output lists packages of RHEL 6 variant, contact Red Hat Support for further course of action on these packages.
  9. Firewalld installation and configuration

    1. Install and start the firewall deamon using the following commands:
      # yum install firewalld
      # systemctl start firewalld
    2. Add the Gluster process to firewall:
      # firewall-cmd --zone=public --add-service=glusterfs --permanent
    3. Add the required services and ports to firewalld, see Considerations for Red Hat Gluster Storage
    4. Reload the firewall using the following commands:
      # firewall-cmd --reload
  10. Start Gluster processes

    1. Start the glusterd process:
      # systemctl start glusterd
    2. For a system with Nagios, start and enable the following process:
      # systemctl start glusterpmd
    3. Start and enable the Nagios process:
      # systemctl start nrpe
    4. If the Nagios process fails to start, execute the following commands:
      # restorecon -Rv /etc/nagios/nrpe.cfg
      # systemctl start nrpe
  11. Update Gluster op-version

    Update the Gluster op-version to the required maximum version using the following commands:
    # gluster volume get all cluster.max-op-version
    # gluster volume set all cluster.op-version op_version

    Note

    31305 is the cluster.op-version value for Red Hat Gluster Storage 3.4 Batch 3 Update. Refer to Section 1.5, “Supported Versions of Red Hat Gluster Storage” for the correct cluster.op-version value for other versions.
  12. Setup Samba and CTDB

    If the Gluster setup on RHEL 6 had Samba and CTDB configured, you should have the following available on the updated RHEL 7 system:
    • CTDB volume
    • /etc/ctdb/nodes file
    • /etc/ctdb/public_addresses file
    Perform the following steps to reconfigure Samba and CTDB:
    1. Configure the firewall for Samba:
      # firewall-cmd --zone=public  --add-service=samba --permanent
      # firewall-cmd --zone=public  --add-port=4379/tcp --permanent
    2. Subscribe to the Samba channel:
      # subscription-manager repos --enable=rh-gluster-3-samba-for-rhel-7-server-rpms
    3. Update Samba to the latest packages:
      # yum update
    4. Setup CTDB for Samba, see Configuring CTDB on Red Hat Gluster Storage Server in Setting up CTDB for Samba. You must skip creating the volume as the volumes present before the upgrade would be persistent after the upgrade.
    5. In the following files, replace all in the statement META="all" with the volume name:
      /var/lib/glusterd/hooks/1/start/post/S29CTDBsetup.sh
      /var/lib/glusterd/hooks/1/stop/pre/S29CTDB-teardown.sh
      For example, the volume name is ctdb_volname, the META="all" in the files should be changed to META="ctdb_volname".
    6. Restart the CTDB volume using the following commands:
      # gluster volume stop volume_name
      # gluster volume start volume_name
    7. Start the CTDB process:
      # systemctl start ctdb
    8. Share the volume over Samba as required, see Sharing Volumes over SMB.
  13. Start volumes and geo-replication

    1. Start the required volumes using the following command:
      # gluster volume start volume_name
    2. Mount the meta-volume:
      # mount /var/run/gluster/shared_storage/
      If this command does not work, review the content of /etc/fstab and ensure that the entry for the shared storage is configured correctly and re-run the mount command. The line for the meta volume in the /etc/fstab file should look like the following:
      hostname:/gluster_shared_storage   /var/run/gluster/shared_storage/   glusterfs   defaults   0 0
    3. Restore the geo-replication session:
      # gluster volume geo-replication MASTER_VOL SLAVE_HOST::SLAVE_VOL start
      For more information on geo-replication, see Preparing to Deploy Geo-replication.