Eyeglass Appliance Warm Standby (Direct Sync)
Introduction
This procedure protects the production Eyeglass appliance itself — distinct from ECA cluster high availability — by syncing its backup file to a second Eyeglass appliance on a schedule. That second appliance can take over Eyeglass operations if needed for:
- Controlled failover — deliberately switching the active appliance from one data center to another.
- Uncontrolled failover protection — the standby appliance already has a near real-time synced copy of all policies and configuration data (shares, exports, and quotas) needed to complete a failover to the surviving cluster.
If you need to declare an uncontrolled failover, make sure the active appliance ends up at the site where data will become active. Use the Warm Standby procedure only if the active appliance was at the site that experienced the disaster — the appliance should be co-located with the data that will be writable.
Definitions
- Active Appliance — the appliance currently responsible for syncing configuration data; the primary appliance for all failover operations.
- Warm Standby Appliance — the second appliance that receives a synced backup from the active appliance.
Operating Considerations
- After a planned, controlled failover, generate a fresh backup from the active appliance once the failover completes — this reflects the current DR state. The daily scheduled sync captures a backup automatically, but you should also capture a current view of DR status right after any planned event.
- Best practice: enable phone home and request Superna Support to enable daily appliance backups for an off-site copy of your DR state (retained 14 days). After a planned failover, push a fresh off-site backup directly to support, or — if phone home is disabled or a firewall/proxy blocks the direct upload — download the newly created support backup and upload it manually. Also keep a copy of the backup file stored at the site opposite the active appliance, with its location documented internally.
- The daily sync backup used by Direct Sync is up to 24 hours old and is typically the backup you'll use in most recovery scenarios.
Deploy the Second Appliance
Follow the standard Eyeglass installation guide to deploy a second Eyeglass appliance to serve as the Warm Standby.
Configure Keyless SSH on the Active Appliance
-
On the Warm Standby appliance, set a password for the
rootuser:sudo -s
passwd -
On the Active appliance, log in via SSH as
admin, then generate and copy an SSH key to the Warm Standby appliance:sudo -s
cd /root
ssh-keygen
ssh-copy-id -i /root/.ssh/id_rsa.pub root@<warm-standby-ip>Accept the SSH fingerprint prompt and enter the Warm Standby appliance's
rootpassword when asked. -
Test that keyless SSH works from the active appliance's root shell:
whoami
ssh root@<warm-standby-ip>If you are not prompted for a password, the configuration succeeded.
Configure Scheduled Cron Sync from Active to Warm Standby
-
On the Warm Standby appliance, log in as
adminand set permissions on the backup directory:sudo mkdir -p /opt/superna/var/backup/
sudo setfacl -m u:admin:rwx /opt/superna/var/backup/ -
On the Active appliance, test the backup copy manually:
sudo -s
rsync -auv -e "ssh -i ~/.ssh/id_rsa" --delete -og --chown=sca:users /opt/superna/var/backup/ root@<warm-standby-ip>:/opt/superna/var/backup/ -
Once the test succeeds, create the sync script on the Active appliance:
sudo -s
nano /root/warmstandby.shPaste the same
rsynccommand from step 2 (with your Warm Standby IP), save (Ctrl+X, then confirm), and make it executable:chmod 777 /root/warmstandby.sh -
(Optional but recommended) Build a version of this script with failure detection and email alerting — see below — before scheduling it.
-
Schedule the script to run daily at noon via cron on the Active appliance:
sudo -s
cd /etc/cron.d
echo "0 8 * * * root /usr/bin/timeout 6h /root/warmstandby.sh" > iglsstandby
systemctl restart cron -
After the next scheduled run, verify the copy on the Warm Standby appliance:
ls -ls /opt/superna/var/backup/
Sync Script With Failure Detection and Email Alerting
This variant of the script emails an alert if the sync fails, or on success. It requires Postfix email already configured on the Eyeglass appliance — see the syslog/email routing configuration guide before continuing.
-
On the Active appliance, log in as
adminand create the script:nano /home/admin/warmstandby.sh -
Paste the following, replacing the IP address and the alert email address with your own values:
if ! rsync -auv -e "ssh -i ~/.ssh/id_rsa" --delete -og --chown=sca:users /opt/superna/var/backup/ root@<warm-standby-ip>:/opt/superna/var/backup/
then
echo Sync failed
echo sending error email
mail -s "Sync Failed to standby Eyeglass Appliance" -r email@example.com < /dev/null
exit
fi
echo sync was successful
mail -s "Sync was successful to standby Eyeglass Appliance" -r email@example.com < /dev/null
exit -
Save (
Ctrl+X, confirm) and make it executable:chmod 777 /home/admin/warmstandby.sh -
Continue with the cron scheduling step above, pointing the scheduled job at this script instead.
Restore the Warm Standby Appliance to Become Active
Requires release 2.5.6 or later.
-
SSH to the Warm Standby appliance as
admin. -
Run the restore command:
-
Auto-detect the most recent backup:
igls app restore /opt/superna/var/backup/This auto-detects the most recent backup file by timestamp and displays it for confirmation before proceeding. You will be prompted for the
adminpassword again to elevate to root. -
Or use a specific backup file:
igls app restore /opt/superna/var/backup/<name_of_backup.zip>
-
-
Confirm with Yes or No when prompted:
- Answer No to test the restore procedure without actually running it — this does not restore the database and does not make the standby active.
- Answer Yes to actually promote this appliance to active for production use.
cautionBefore switching to the Warm Standby appliance in production, the original Eyeglass appliance should be powered off. Never run two appliances against the same clusters at the same time — this is not supported and can cause conflicts.
-
Monitor the command until it completes — do not attempt to log in to the GUI until it finishes; it can take 15–20 seconds after completion before the web UI is reachable.
-
Once the restore completes, log in to the GUI and proceed to execute a failover using the standard Failover Wizard failover procedure.
Appliance Switch Test Procedure
Use this procedure to validate the Warm Standby setup without an actual disaster event:
- Deploy both appliances following the steps above.
- Power off the active appliance's VM.
- Follow the restore steps above to switch to the Warm Standby appliance.
- Log in to the GUI, open the Jobs icon and the running jobs tab to confirm normal configuration sync jobs are running. Wait at least 15 minutes, then check the DR Dashboard for a current DR readiness view.
- To revert back to the original active appliance after the test:
-
Log in to the Warm Standby appliance.
-
Factory reset it:
sudo /opt/superna/sbin/reset.shcautionThis deletes the database and removes all managed clusters, returning the appliance to a default state. If prompted about which databases to reset, select All.
-
Power the original active appliance's VM back on.
-
Log in and verify jobs and the DR dashboard are healthy again.
-
See Also
- Backup and Restore — the underlying backup file format and manual restore procedure used by this Warm Standby workflow.
- ECA High Availability and Resilience — the equivalent HA model for the ECA cluster, which uses node-level quorum rather than a synced second appliance.