Cloud Data Manager

Upgrading the Model9 management server

  1. Ensure that there are no policies scheduled to run during the upgrade operation.

  2. The supported upgrade path is from release 1.7.x to 1.8.1. If the installed release is older than that, please refer to previous installation guides or to Model9 support for upgrade instructions.

Step 1: Upload the zip files

Set the default MODEL9_HOME environment variable using the following command:

export MODEL9_HOME=<model9 home>

Upload the zip installation file model9-v1.8.1_build_48c2c57f-server.zip to the designated server in binary mode.

Note

If installing the s390x version for Linux on z, use the file: model9-v1.8.1_build_48c2c57f-server-s390x.zip

Step 2: Backup the server before the upgrade

  1. Stop the server and remove the Model9 docker containers that are running using the following commands:

    sudo su -
    docker stop model9-v1.7.0
    docker rm model9-v1.7.0
  2. Verify that the docker container is not running using the following command:

    docker ps -a
  3. Backup the local configuration and database:

    cd $MODEL9_HOME
    
    fileStamp=$(date +%Y-%m-%d)
    tar -czf conf-$fileStamp.tar.gz conf
    docker exec -it model9db pg_dump -p 5432 -U postgres -d model9 --compress=9 -f /tmp/model9db-$fileStamp.dump.gz
    docker cp model9db:/tmp/model9db-$fileStamp.dump.gz $MODEL9_HOME/model9db-$fileStamp.dump.gz
    docker exec -ti model9db rm /tmp/model9db-$fileStamp.dump.gz
  4. Backup the HTTPS connector settings:

    cd $MODEL9_HOME/conf
    cp connectorHttpsModel9.xml connectorHttpsModel9.xml.backup

Step 3: Unzip the installation files

The configuration file structure has been changed in this release and should be backed up before upgrading the server, as shown in the following example. Unzip the installation file to $MODEL9_HOME:

# The path to model9 installation zip uploaded
export M9INSTALL=/<path>
cd $MODEL9_HOME
# Backup current configuration file
cp conf/model9-local.yml conf/model9-local.yml.backup
# On Linux on z issue:
unzip -o $M9INSTALL/model9-v1.8.1_build_48c2c57f-server-s390x.zip 'model9*'
# On Linux issue:
unzip -o $M9INSTALL/model9-v1.8.1_build_48c2c57f-server.zip 'model9*'

Step 4: Deploy the Model9 container

Deploy the new Model9 release container using the following command:

#on Linux on z issue:
docker load -i $MODEL9_HOME/model9-v1.8.1_build_48c2c57f-s390x.docker

#on Linux issue:
docker load -i $MODEL9_HOME/model9-v1.8.1_build_48c2c57f.docker

Step 5: Update the Model9 management server log configuration file

Reapply the logback.groovy logging configuration file to: $MODEL9_HOME/conf/logback.groovy

Step 6: Start the Model9 management server

Note

The first Model9 management server startup following an upgrade may take longer than usual due to internal migration processes. Subsequent startups will not be affected.

The previous release agent(s) are not compatible with the new release of the server, complete the agent(s) upgrade before starting to use the UI.

Once the object storage provider is available and PostgreSQL is running, start the Model9 management server using the following commands:

#on Linux on z issue:
docker run -d -p 0.0.0.0:443:443 -p 0.0.0.0:80:80 \
-v $MODEL9_HOME:/model9:z -h $(hostname) --restart unless-stopped \
-e "TZ=America/New_York" \
-e "CATALINA_OPTS=-Xmx2048m -Djdk.nativeCBC=false -Xjit:maxOnsiteCacheSlotForInstanceOf=0" \
--link minio:minio --link model9db:model9db \
--name model9-v1.8.1 model9:v1.8.1.48c2c57f

#on Linux issue:
docker run -d -p 0.0.0.0:443:443 -p 0.0.0.0:80:80 \
-v $MODEL9_HOME:/model9:z -h $(hostname) --restart unless-stopped \
-e "TZ=America/New_York" -e "CATALINA_OPTS=-Xmx2048m -Djdk.nativeCBC=false" \
--link minio:minio --link model9db:model9db \
--name model9-v1.8.1 model9:v1.8.1.48c2c57f
  1. If running backup and archive policies containing over 100k objects per night, update the Model9 server heap size to Xmx4096.

  2. Edit the time zone (TZ) setting to ensure proper scheduling.

  3. When using an external object storage provider other than MinIO, remove the “--link minio:minio” definition from the command

  4. For a full description of all Docker run parameters, see the following URL: https://docs.docker.com/engine/reference/commandline/run/.