Upgrading the HA Environment

To upgrade an IBM Aspera Faspex HA deployment, you must upgrade each Faspex node individually and then reconfigure them to run in an HA environment.

Stopping All Services for Upgrade

You need to stop Faspex and MySQL services before performing the upgrade.
  1. Stop the cronjob on both the nodes by commenting out the job.
    # crontab -e
    # * * * * * /opt/aspera/acm/bin/acm 10.0.71.21 20 > /dev/null 2>&1
    # 30 3 * * * /opt/aspera/acm/bin/acmtl -b > /dev/null 2>&1
    # 45 3 * * 7 echo -n "" > /opt/aspera/common/asctl/log/asctl.log > /dev/null 2>&1
  2. On the active node, back up the database:
    # asctl faspex:backup_database
  3. Stop all Faspex services on the active node.
    # asctl all:stop
  4. Start MySQL service on the passive node and back up the database.
    # asctl mysql:start
    # asctl faspex:backup_database
  5. Stop MySQL and ensure all Faspex services are stopped on the passive node.
    # asctl mysql:stop
    # asctl all:stop
  6. Download and run through the backup and upgrade process on your local or remote HSTS nodes. See the IBM Aspera High-Speed Transfer Server Admin Guide.

Upgrade Faspex on the Active Node

  1. Download and install the Common Components and Faspex packages.
    # rpm -Uvh ibm-aspera-common-version.rpm
    # rpm -Uvh ibm-aspera-faspex-version.rpm
  2. Run the Faspex upgrade.
    # asctl faspex:upgrade
  3. If you are running HSTS and Faspex on the same server, verify that the default shell of the faspex user is bin/aspshell. If it is not, change the default shell to bin/aspshell.
    Note: As a security feature, asctl disables the faspex user by setting the default shell to /bin/false to prevent logins when HSTS is running on a different server. Depending on your HA configuration, in some cases you may need to change the default shell back to bin/aspshell.
  4. Test the upgrade by logging in through the Faspex web UI.
  5. Disable all Faspex services:

    First, stop all Faspex services on both nodes:

    # asctl all:stop

    Then disable the services on both nodes.

    On an OS running systemctl, instead of using chkconfig, disable services by running:
    # for svc in $(systemctl -a | grep faspex | awk '{print $1}'); do systemctl is-enabled $svc && systemctl disable $svc; done
    Otherwise, run:
    # chkconfig aspera_mysqld off; chkconfig aspera_httpd off; chkconfig aspera_faspex_np_background off; chkconfig aspera_faspex_mongrel off; chkconfig aspera_faspex_ds_background off; chkconfig aspera_faspex_db_background off; chkconfig aspera_faspex_background off; chkconfig aspera_faspex_email_background off

Upgrade Faspex on the Passive Node

  1. Edit the database.yml configuration file (/opt/aspera/faspex/config/database.yml) and make sure the server IP addressis 127.0.0.1.
  2. Download and install the Common Components and Faspex packages.
    # rpm -Uvh ibm-aspera-common-version.rpm
    # rpm -Uvh ibm-aspera-faspex-version.rpm
  3. Run the Faspex upgrade.
    # asctl faspex:upgrade
  4. Test the upgrade by logging in through the Faspex web UI.
  5. If you are running HSTS and Faspex on the same server, verify that the default shell of the faspex user is bin/aspshell. If it is not, change the default shell to bin/aspshell.
    Note: As a security feature, asctl disables the faspex user by setting the default shell to /bin/false to prevent logins when HSTS is running on a different server. Depending on your HA configuration, in some cases you may need to change the default shell back to bin/aspshell.
  6. Disable all Faspex services:

    First, stop all Faspex services on both nodes:

    # asctl all:stop

    Then disable the services on both nodes.

    On an OS running systemctl, instead of using chkconfig, disable services by running:
    # for svc in $(systemctl -a | grep faspex | awk '{print $1}'); do systemctl is-enabled $svc && systemctl disable $svc; done
    Otherwise, run:
    # chkconfig aspera_mysqld off; chkconfig aspera_httpd off; chkconfig aspera_faspex_np_background off; chkconfig aspera_faspex_mongrel off; chkconfig aspera_faspex_ds_background off; chkconfig aspera_faspex_db_background off; chkconfig aspera_faspex_background off; chkconfig aspera_faspex_email_background off

Restart the HA Environment

  1. Copy the keystore.jks (/opt/aspera/faspex/lib/daemons/np/etc/keystore.jks) on one node to the other to make sure that they are identical.
  2. Restart the cronjobs on both the nodes by uncommenting the jobs.
    # crontab -e
    * * * * * /opt/aspera/acm/bin/acm 10.0.71.21 20 > /dev/null 2>&1
    30 3 * * * /opt/aspera/acm/bin/acmtl -b > /dev/null 2>&1
    45 3 * * 7 echo -n "" > /opt/aspera/common/asctl/log/asctl.log > /dev/null 2>&1