How to Upgrade Swarm

Get Products and Docs

  1. Navigate to the Downloads section on the DataCore Support Portal.

  2. Scroll down and open the Swarm toggle

    • These bundles are updated and the ZIP file name changes to reflect the release date for the bundle when an updated component version is available such as an updated release of Content Gateway.

  3. Download the corresponding PDF from the https://perifery.atlassian.net/wiki/spaces/public/pages/2443804747 page. 

  4. Expand the software bundle. In the top-level directory of the bundle, locate and read the README.txt for version guidance on using the bundle.

  5. Open the PDF for the bundle and see the https://perifery.atlassian.net/wiki/spaces/public/pages/2443804942 for each component, which include upgrade instructions as well as changes and watch items.

Upgrade Planning

  1. Plan Upgrade Impacts - Review and plan for this release's upgrade impacts and the impacts for each of the releases since the currently running version. For Swarm 9 impacts, see https://perifery.atlassian.net/wiki/spaces/public/pages/2443828889.

  2. No Volume Retires - Do not start any elective volume retirements during the upgrade. Wait until the upgrade is complete before initiating any retires, or verify they are complete before upgrading.

  3. Select the Reboot Type - Swarm supports rolling upgrades (a single cluster running mixed versions during the upgrade process) and requires no data conversion unless noted for a release. Upgrades are performed without scheduling an outage or bringing down the cluster. Restart the swarm nodes one at a time with the new version and the cluster continues serving applications during the upgrade process. 

    • Rolling upgrade: Reboot one node at a time and wait for its status to show as "OK" in the UI before rebooting the next node. 

    • Alternative: Reboot the entire cluster at once after the software on all USB flash drives or the centralized configuration location has been updated.

  4. Follow the Upgrade Path, below.

  5. Review the https://perifery.atlassian.net/wiki/spaces/public/pages/2443808433.

Upgrade Paths

Swarm upgrade paths depend on the implementation environment. See https://perifery.atlassian.net/wiki/spaces/public/pages/2443809290 for first-time Swarm installations.

Component-Only Upgrades

Not all components update in every release; some upgrades contain a single RPM. The currently running Swarm version determines which components require an upgrade. Follow the release tables on the https://perifery.atlassian.net/wiki/spaces/public/pages/2443804747 to track component versions.

Upgrade Path options:

  1. Running Elasticsearch 2.3.3 or 5.6.12, see https://perifery.atlassian.net/wiki/spaces/public/pages/2443804878/How+to+Upgrade+Swarm#Upgrading-from-Unsupported-Elasticsearch, below.

  2. Not using a Search feed or running Elasticsearch 6.8.6, continue with the upgrade path.

CSN

No CSN

CSN

No CSN

  1. Run settings checker and review upgrade impacts

  2. Review and address report with Support

  3. Download the CSN Swarm bundle from the Downloads section on the DataCore Support Portal

  4. Upgrade the Storage RPM or run the script (see flowchart)

  5. Select the new Storage version and reboot the cluster to activate it

  6. Standalone Gateway: 

    1. Upgrade Gateway (with Swarm UI, Content UI)

  7. Standalone Elasticsearch: 

    1. Verify Swarm 15 is working (no downgrading after ES goes to 7)

    2. On ES 6, first install the Search and Metrics RPMs.

    3. Run the config script provided, which installs and configures ES 7:

      configure_elasticsearch_with_swarm_search.py
  1. Run settings checker and review upgrade impacts

  2. Review and address report with Support

  3. Download the Swarm bundle from the Downloads section on the DataCore Support Portal

  4. Upgrade Storage (fsimage/kernel files via USB key or PXE server)

  5. Complete required cluster reboot

  6. Standalone Gateway: 

    1. Upgrade Gateway (with Swarm UI, Content UI)

  7. Standalone Elasticsearch: 

    1. Verify Swarm 15 is working (no downgrading after ES goes to 7)

    2. On ES 6, first install the Search and Metrics RPMs.

    3. Run the config script provided, which installs and configures ES 7:

      configure_elasticsearch_with_swarm_search.py

Upgrading from Unsupported Elasticsearch

Contact DataCore Support to guarantee a smooth migration process with no downtime if running unsupported Elasticsearch versions 2.3.3, 5.6.12, or 6.8.6.

Swarm 9.6

Gateway 5.4

Elasticsearch 2.3.3

Migration to ES 6.8.6 required
(new cluster and new Search feed)

Swarm 11.3

 

Gateway 5.4.1

Elasticsearch 2.3.3

Gateway 7.0

Elasticsearch 5.6.12

Elasticsearch 6.8.6

 

Swarm 15.2

Gateway 7.7.1-2 with
Storage UI 3.4.1

Elasticsearch 6.8.6

Upgrade in-place to ES 7.5.2

Elasticsearch 7.5.2

Upgrade in-place to future ES version

Swarm 15.3

Gateway 7.10

Elasticsearch 7.5.2, 7.17.9

Upgrade in-place to future ES version

Note

Downgrading is not supported with Elasticsearch 7.17.9. But the earlier versions of Swarm storage will work with Elasticsearch 7.17.9.

The high-level upgrade sequence when upgrading from Swarm 11 or earlier is as follows:

  1. Swarm 11 bundle:

    1. Upgrade Swarm to 11.3, as guided by DataCore Support and the Settings Checker report.

    2. Upgrade to Gateway 5.4.1 if currently running Elasticsearch 2.3.3. Upgrade to Gateway 7.0 if currently running Elasticsearch 5.6.12. Refer to Upgrading from Gateway 5.x.

    3. Add an Elasticsearch 6 cluster and start a search feed, leaving the old feed as primary (See https://perifery.atlassian.net/wiki/spaces/public/pages/2443809821).

      1. Verify the [storage cluster] managementPassword is set properly in the gateway.cfg file if errors are encountered during feed creation. Correct the value and restart the gateway service if a change is needed.

    4. When the feed completes, make it primary.

    5. Upgrade to Gateway 7.0 if currently running Gateway 5.4.1.

    6. Configure gateway.cfg indexerHosts to point to the new Elasticsearch 6 cluster and restart CloudGateway:

      sudo systemctl restart cloudgateway
  2. Swarm 15 bundle:
    Follow the appropriate column in Upgrade Paths above. The general sequence is:

    1. Upgrade to SCS 1.5.

    2. Upgrade to Swarm Storage 15.

    3. Gateway 7.7 is required if upgrading from Elasticsearch 6. Ask support for the RPM. Upgrade to Elasticsearch 7.5.2 temporarily (configure_elasticsearch_with_swarm_search.py --esversion 7.5.2) and then upgrade to the latest Gateway 7.10 as Gateway 7.7 is not compatible with Elasticsearch 7.17.

    4. Verify Swarm operations (this is the time to downgrade).

    5. Run the latest ES configuration script for an in-place upgrade to the latest Elasticsearch 7.

    6. Upgrade to the latest Gateway 7.10. See https://perifery.atlassian.net/wiki/spaces/public/pages/2443817319 for upgrading the gateway.

Upgrading to the Latest SCS Version

Directly upgrading from SCS 1.2 to SCS 1.3 is not supported, but this limitation is removed starting with SCS 1.4. Swarm supports upgrading from SCS 1.1, 1.2, or 1.3 to SCS 1.4 and booting from Storage bundle v15.0 with multicast disabled.

Upgrade Notes

  • Any version before SCS 1.4 cannot boot versions of Swarm storage that include the optional multicast feature (version 15.0 and later). This is due to changes required in SCS to properly support this feature.

  • Complete the SCS upgrade first if upgrading both SCS and Swarm Storage simultaneously. Then add the new Swarm Storage component to the SCS repo (using scsctl repo component add ...). During this process, scsctl will prompt as to whether or not to enable multicast for the storage cluster by asking to set a value for cip.multicastEnabled. Select True to enable the use of multicast (this matches the behavior of prior versions of Swarm), or False to disable it. If you are unsure which to choose, contact DataCore Support.

  • Installing a new Swarm Storage component version does not automatically activate the version for PXE booting; the new version must be explicitly activated. Run the below command and choose the new version to activate:

    scsctl storage software activate

Refer to the following steps to upgrade SCS:

  1. Install the new RPM.

    yum install -y [scs rpm]
  2. Run the below command:

    scsctl diagnostics upgrade_check
  3. Run the diagnostics check

    scsctl diagnostics config scan_missing
  4. Re-initialize DHCP:

scsctl init dhcp --dhcp-reserve-lower [integer]

Troubleshooting Notes

Refer to the following steps if an error occurs during the upgrade_check command:

  1. systemctl restart swarm-platform && sleep 90
  2. scsctl platform software activate

    Choose the version that matches the recently installed RPM.

  3. Proceed with re-initializing DHCP as listed above.

Example error:

© DataCore Software Corporation. · https://www.datacore.com · All rights reserved.