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

Upgrading Faspex

Faspex 4.2.0 and later uses a new version of MySQL included in the IBM Aspera Common Components. Upgrading to the new version requires the MySQL database to be empty, and you cannot upgrade until you have backed up and emptied your database: /opt/aspera/common/mysql/data.
Note: Perform the following steps on both nodes, first on the active node, and then on the passive node.
  1. Since the data folder points to the shared storage, remove the connection to the shared storage.
    # cd /opt/aspera/common/mysql
    # mv data data.old
    # mkdir data
    # chown mysql. data
    # chmod 750 data
  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
    When prompted to enter the location of the database, provide the path to the database backup you made earlier:
    Please provide the location of the Faspex database backup (e.g. backup/20XX-XX-XX_XXXXXX-Faspex.4.1.1.XXXXXX):
  4. Test the upgrade by logging in through the Faspex web UI.
  5. Disable stop all Faspex services by running the commands below on both nodes:

    ACM takes charge of starting the Faspex services. You must disable those services from the system boot-up process.

    First, stop all Faspex services on both nodes:

    # asctl all:stop
    Then disable the services by running these commands on both nodes:
    # 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
    Aspera HTTP Gateway is a new service included with Faspex 4.2.0+. Disable it on both nodes by running:
    # chkconfig aspera_httpgateway off
  6. Copy the keystore.jks (/opt/aspera/faspex/lib/daemons/np/etc/keystore.jks) on one node to the other to make sure they are identical.

Restarting the HA Environment

After upgrading, point the /opt/aspera/common/mysql/data back to the shared storage.

  1. Run the following commands on both nodes to point the database to the shared storage:
    # cd /opt/aspera/common/mysql
    # mv ./data ./data.new
    # ln -s /mysql_data ./data
    # chown -h mysql.mysql ./data
    # rm data.old
    Verify the data folder points to the mysql_data folder on the shared storage.
    # ls -lah /opt/aspera/common/mysql/data
    lrwxrwxrwx 1 mysql mysql 11 Sep 19 19:00 /opt/aspera/common/mysql/data -> /mysql_data
  2. Replace the data on the shared storage with the upgraded data of one of the nodes:
    # rm -rf /opt/aspera/common/mysql/data/*
    # mv /opt/aspera/common/mysql/data.new/* /opt/aspera/common/mysql/data/
  3. On one node, grant remote access to MySQL for both nodes:
    Note: You must use the same password as the password set in the acm configuration file (/opt/aspera/acm/bin/acm). You can view the contents of the configuration file for the configured password or set a new password and change the configured password to the new password.
    # asctl mysql:start
    # asctl mysql:grant_remote_access "local_server_ip_address"
    New password: password
    Confirm new password: password
    # asctl mysql:grant_remote_access "other_server_ip_address"
    New password: password
    Confirm new password: password
    # asctl mysql:stop
  4. Once you have completed all the steps above on both nodes, 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