IBM Support

Online upgrade of GPFS level with a security-related efix

Product Documentation


While the best practice for upgrading GPFS software level is through the DB2 fixpack, update leveraging existing online or offline software update procedures, applying a GPFS security efix, which may be released in between DB2 fixpacks, requires a manual installation procedure. The instructions outlined in this topic provides the steps to update a DB2 pureScale cluster with GPFS security fixes in an online rolling fashion on AIX and Linux.


Before you begin

Before you install GPFS security fix

  • Your instance must be a DB2 pureScale instance.
  • You must have root user authority.

  • Restrictions
  • The base level of target GPFS security efix must be the same as the current committed GPFS level in the pureScale cluster. For example, if the current GPFS level in the pureScale cluster is at efix5, and GPFS releases a new security efix9 a month later, the efix to be applied must be from the same GPFS base level The procedures documented in this topic cannot be used to move up the GPFS base level.
  • The procedure described below is restricted to be used for security fixes not included in any DB2 fixpacks but has been validated and supported by DB2 as documented in Regular GPFS upgrade must follow existing online or offline DB2 upgrade methods.

  1. Download the target efix files locally on each host in the cluster.
  2. Log on to a host in the cluster and perform the following steps as DB2 instance owner.
    1. Stop all DB2 processes on the host. Use one of the following depending on whether the host is a member or CF:
      db2stop member <member_id>  quiesce <quiesce_timeout>
      db2stop CF <cf_id>
    2. Stop the instance on the host:
      db2stop instance on <hostname>
  3. Switch to the root ID on the same host and perform the following:
    1. Enter the maintenance mode on the host:
      <DB2_install_dir>/bin/db2cluster -cm -enter -maintenance
      <DB2_install_dir>/bin/db2cluster -cfs -enter -maintenance
      where <DB2_install_dir> is DB2 installation path.

      Proceed to subsequent steps only if the above command returns successfully.
    2. Verify that GPFS trace is not running:
      ps -ef | grep -i trace

      If the command above shows processes such as "trace" or "mmtrace", stop the GPFS trace with the following:
      /usr/lpp/mmfs/bin/mmtrace stop

      Rerun "ps" command above to ensure the trace has been stopped successfully before proceeding.
    3. Unload GPFS kernel and verify the result:
      /usr/lpp/mmfs/bin/mmfsenv -u
      echo $?

      A zero return value from the "echo $?" command indicates a successful unload. A non-zero value means the unload has failed. In that case, a reboot of the host must be performed before proceeding.
    4. (On AIX) Install the target GPFS efix
      1. Any existing GPFS efixes must be uninstalled first. Run the following command to get the label of any GPFS efix currently installed:
        /usr/sbin/emgr -P

        Sample output:
        $ /usr/sbin/emgr -P
        PACKAGE                                                  INSTALLER   LABEL      
        ==================================================== === =========== ==========
        gpfs.base                                               installp    g350p24e5
      2. Use the LABEL to remove the efix(es) that correspond with the gpfs.base package:
        /usr/sbin/emgr -r -L <GPFS_efix_label>
      3. Install the target GPFS efix:
        /usr/sbin/emgr -e <full local path to the efix file>
      4. Verify the new efix has been applied. The new efix shown by the command below should match with one the of efixes in this link:
        /usr/sbin/emgr -l
    5. (On Linux) Install the target GPFS efix
      1. Proceed to the directory with the new GPFS efix. For each package (starting with the gpfs.base-packages) run the following to install it:
        rpm -Uvh --force <rpm package>
      2. Verify the installation by:
        rpm -qa | grep -i gpfs
      3. Run the following command to compile the GPFS Portability Layer (GPL) module:
        cd /usr/lpp/mmfs/src
        export SHARKCLONEROOT=/usr/lpp/mmfs/src
        make Autoconfig
        make World
        make InstallImages
        echo $?      

        A zero return value from "echo $?" indicates a successful compilation. Do not proceed unless the compilation is successful.
    6. Exit the maintenance mode:
      <DB2_install_dir>/bin/db2cluster -cm -exit -maintenance
      <DB2_install_dir>/bin/db2cluster -cfs -exit -maintenance
  4. Switch back to the DB2 instance owner for the following steps:
      1. Start the instance on the host:
        db2start instance on <hostname>
      2. Start the member or CF on the host:
        db2start member <member_id>
        db2start CF <cf_id>
  5. Repeat steps 2 to 4 above on the rest of the hosts in the same cluster.
  6. Before committing to the new GPFS level, allow applications to run for a short period of time to ensure the update does not introduce unexpected behaviour. When ready, switch to the root ID on any online host in the cluster to commit the new GPFS level with the following command:
    <DB2_install_dir>/bin/db2cluster -cfs -commit

Original Publication Date

26 July 2016

[{"Product":{"code":"SSEPGG","label":"Db2 for Linux, UNIX and Windows"},"Business Unit":{"code":"BU058","label":"IBM Infrastructure w\/TPS"},"Component":"High Availability - PureScale","Platform":[{"code":"PF002","label":"AIX"},{"code":"PF016","label":"Linux"}],"Version":"10.1;10.5;11.1","Edition":"","Line of Business":{"code":"LOB10","label":"Data and AI"}}]

Document Information

Modified date:
17 June 2018