Clustering: Upgrading
1. Steps to Upgrade
Upgrading your CompleteFTP cluster is a straightforward process, but it must be done carefully to avoid any disruption in service. All servers in the cluster must be upgraded to the same version of CompleteFTP for compatibility and proper synchronization. Below are the steps to perform an upgrade in your cluster.
1.1 Preparation
Before starting the upgrade, follow these preparation steps:
- Backup Configurations and Data: Before proceeding with the upgrade, it is critical to back up your server configurations and data on all servers. This ensures that if anything goes wrong during the upgrade process, you can restore the previous configuration and data. While CompleteFTP automatically backs up configurations daily, it's advisable to perform a manual backup before upgrades.
- Verify Licensing and Downloads: Ensure that you have valid licenses for the new version. Download the installer from your official EnterpriseDT account to ensure access to the correct version and proper licensing.
- Notify Users: Inform users of potential downtime or service interruptions during the upgrade process. Though the process is generally quick, users should be made aware in case of short interruptions.
- Test in a Non-Production Environment: If possible, perform the upgrade on a test or staging environment before applying it to your production cluster. This helps identify and resolve potential issues without impacting users.
- Plan for Rollback: Prepare a rollback plan in case severe issues arise after the upgrade. This includes understanding the downgrade process and having backups readily available.
1.2 Upgrade Process
Follow these steps to upgrade the CompleteFTP cluster:
- Avoid Configuration Changes: Do not make any configuration changes on any server during the entire upgrade process. This prevents synchronization issues and potential data loss.
- Stop Primary Server: Close CompleteFTP Manager and stop the CompleteFTP Service on the primary server to prevent failures when upgraded secondaries contact the primary post-upgrade. Note that such failures should not actually cause any issues, but may as well be avoided.
- Upgrade Secondary Servers First:
- On each secondary server:
- Close CompleteFTP Manager if it is open.
- Stop the CompleteFTP service.
- Run the new installer directly over the existing installation. There's no need to uninstall the old version, though no harm in doing so, as configuration data is not deleted.
- During installation, ensure you use the same administrator password as on the primary server.
- The CompleteFTP service will automatically start after installation. Each secondary server will attempt to reconnect with the primary server. If the primary is still running the old version, synchronization will not occur until the primary is upgraded.
- Upgrade the Primary Server:
- Run the new installer directly over the existing installation. Do not uninstall the old version.
- Ensure you use the same administrator password during installation.
- Restart the Cluster:
- Start the CompleteFTP service on the primary server.
- The primary server will now synchronize configurations with the secondary servers.
1.3 Post-Upgrade Verification
Once the upgrade is complete:
- Check Synchronization: Verify that all secondary servers are synchronized with the primary server. You can check the Servers panel in CompleteFTP Manager for synchronization status.
- Test Server Functionality: Perform comprehensive tests to ensure that the servers are functioning correctly after the upgrade. This includes testing all protocols (e.g., FTP, SFTP), verifying user authentication, and conducting file transfers.
- Monitor Logs: Review CompleteFTP logs for any errors or warnings that may have occurred during or after the upgrade to identify and address potential issues promptly.
2. In-Place Upgrades
An in-place upgrade allows you to upgrade individual servers in the cluster without taking the entire cluster offline. This can help minimize downtime, especially in production environments where constant availability is critical.
2.1 Steps for In-Place Upgrades
To perform an in-place upgrade, keeping in mind that the primary server should be stopped while the secondary servers are upgraded and upgraded last, follow these steps:
- Avoid Configuration Changes: Do not make any configuration changes on any server during the entire upgrade process. This prevents synchronization issues and potential data loss.
- Redirect Traffic Away from the Primary Server: Configure your load balancer to redirect all client traffic away from the primary server to the secondary servers. This ensures continuous service availability while the primary server is offline.
- Stop the Primary Server:
- Close CompleteFTP Manager on the primary server.
- Stop the CompleteFTP service on the primary server to prevent failures when upgraded secondary servers attempt to contact the primary server post-upgrade.
- Upgrade Secondary Servers First:
- On each secondary server, one at a time:
- Close CompleteFTP Manager if it is open.
- Stop the CompleteFTP service.
- Run the new installer directly over the existing installation. There's no need to uninstall the old version, though there's no harm in doing so, as configuration data is not deleted.
- During installation, ensure you use the same administrator password as on the primary server.
- The CompleteFTP service will automatically start after installation.
- Each secondary server will attempt to reconnect with the primary server. Since the primary server is stopped, synchronization will not occur until the primary is upgraded and restarted.
- Reintroduce the upgraded secondary server into the load balancer to handle client traffic.
- Upgrade the Primary Server:
- Run the new installer directly over the existing installation on the primary server. There's no need to uninstall the old version.
- Ensure you use the same administrator password during installation.
- Restart the Cluster:
- Start the CompleteFTP service on the primary server.
- The primary server will now synchronize configurations with the secondary servers.
- Reintroduce the primary server into the load balancer to resume normal operation.
2.2 Considerations During In-Place Upgrades
- Avoid Configuration Changes: Do not make any configuration changes during the in-place upgrade process to prevent conflicts or synchronization issues between servers running different versions.
- Expect Temporary Communication Disruptions: Since the primary server is stopped during the upgrade, secondary servers will be unable to synchronize configurations until the primary server is upgraded and restarted. This is expected and will be resolved once the primary server is back online.
- Capacity Planning: Ensure your cluster has sufficient capacity to handle the client load with the primary server offline during the upgrade.
2.3 Post-Upgrade Verification
Once the in-place upgrade is complete:
- Check Synchronization: Verify that all secondary servers are synchronized with the primary server by checking the Servers panel in CompleteFTP Manager.
- Test Server Functionality: Perform comprehensive tests to ensure that all servers are functioning correctly after the upgrade, including testing all protocols and conducting file transfers.
- Monitor Logs: Review CompleteFTP logs for any errors or warnings that may have occurred during or after the upgrade to identify and address potential issues promptly.
3. Common Upgrade Issues and Troubleshooting
3.1 Version Mismatch
One of the most common issues during an upgrade is a version mismatch between the primary and secondary servers. All servers in the cluster must run the same version of CompleteFTP to maintain proper synchronization.
Solution: Ensure that each server is upgraded in the correct order (secondary servers before the primary server), and verify that all servers are running the same version after the upgrade process. If a version mismatch occurs, upgrade the out-of-sync servers immediately.
3.2 Synchronization Failures After Upgrade
If secondary servers fail to synchronize with the primary server after an upgrade, the issue may be related to network configuration or firewall rules.
Solution: Check that firewalls and network settings are configured correctly to allow communication on the necessary ports between the primary and secondary servers. Ensure that IP filtering rules on the secondary servers allow connections from the upgraded primary server.
3.3 Failed Installation
In rare cases, an installation might fail due to a corrupted installer file or permission issues.
Solution: Re-download the installer from your official EnterpriseDT account to ensure file integrity. Run the installation as an administrator to avoid permission-related issues.
4 Best Practices for Cluster Upgrades
To ensure a smooth and trouble-free upgrade of your CompleteFTP cluster, consider the following best practices:
- Perform Upgrades During Maintenance Windows: Schedule upgrades during planned maintenance windows to minimize the impact on users.
- Test in a Staging Environment: Perform the upgrade process in a staging or test environment before applying it to your production cluster to identify potential issues.
- Backup Configurations and Data: Always back up your configurations and data before starting the upgrade process.
- Avoid Configuration Changes During Upgrade: Do not make any changes to configurations during the upgrade to prevent synchronization conflicts.
- Monitor Servers Post-Upgrade: After completing the upgrade, monitor the servers closely for any issues such as synchronization problems or performance degradation. Address any problems promptly to ensure stability.
- Verify Firewall and Network Settings: Ensure that firewall rules and network configurations allow for proper communication between cluster nodes after the upgrade.
- Plan for Rollback: Have a rollback plan in case severe issues arise after the upgrade, including backups and knowledge of the downgrade process.
By following these steps and best practices, you can upgrade your CompleteFTP cluster smoothly and with minimal downtime, ensuring that your servers remain up to date and fully synchronized.