Context
Restoring from a snapshot allows you to revert your application to a previous state, recovering from data loss, configuration errors, or unwanted changes. This process replaces your current application data with the data from the selected snapshot.
Since application data sizes can be quite huge (and therefore exhausting the restoration routines) and container orchestration is a complex task, there is always a risk that snapshot restoration could fail or bail out during the process to keep the main system running.
Therefore, consider restoration as a careful surgical procedure rather than a quick fix, and always ensure you understand what data will be replaced before proceeding.
What you'll learn
- Understand when and why to restore from snapshots.
- Learn how to safely restore applications from snapshots.
- Know the risks and precautions of the restoration process.
- Develop strategies for safe restoration workflows.
Prerequisites
- At least one existing snapshot of your application.
- Familiarity with the Dashboard.
- Understanding of your applications and their current data.
- Knowledge of what data the snapshot contains.
What Happens During Restoration?
When you restore from a snapshot, the system:
- Validates the snapshot - Verifies checksums and integrity.
- Stops the application - Temporarily halts the running application.
- Replaces current data - Overwrites existing data with snapshot data.
- Restarts the application - Brings the application back online with restored data.
- Verifies functionality - Ensures the application is working correctly.
Restoration Types by Application
Database Restorations
- SQL Databases - Complete database restoration from dumps, replacing all tables and data.
- Triplestores - RDF data restoration from N-Quads format, replacing all repositories.
File System Restorations
- Shared Folders - Not (yet) implemented.
- WissKI Data - Drupal files, uploaded content, and configurations restoration.
Environment Restorations
- WissKI Environments - Complete restoration of all components (Drupal root directory + database + triplestore).
- Nextcloud - Not possible.
- JupyterHub - Not possible.
- Webprotégé - Not possible.
When to Restore from Snapshots
Data Recovery Scenarios
Restore from a snapshot when:
- Accidental data deletion or corruption.
- Failed software updates or configuration changes.
- Malicious or unwanted modifications.
- System errors that corrupted your data.
- Need to revert experimental changes.
Research Workflow Scenarios
Restore from snapshots for:
- Returning to a stable project state.
- Comparing different data processing approaches.
- Rolling back to a known good configuration.
- Recovering from failed data imports.
Restoring from Snapshots
From Your Dashboard
- Navigate to your Dashboard.
- Find the application you want to restore.
- Click on the application to open its detail page.
- Look for the "Snapshots" section or "Restore" option.
- Select the snapshot you want to restore from.
- Review the snapshot details and creation date.
- Click "Restore from Snapshot" to begin the process.
- Confirm that you understand current data will be replaced.
- Wait for the restoration process to complete (only one restoration at a time is allowed).
Choosing the Right Snapshot
- Check the creation date - Ensure it contains the data you need.
- Review snapshot notes - Understand what the snapshot contains.
- Verify snapshot size - Ensure it matches expected data volume.
- Confirm application state - Make sure it was created from a stable state.
Critical Warnings and Precautions
â ïž Data Loss Warning
IMPORTANT: Restoration will permanently replace all current application data with the snapshot data. Any changes made after the snapshot was created will be lost forever.
Before You Restore
- Create a current snapshot - Back up your current state before restoring.
- Document current state - Note what data or configurations you might lose.
- Inform collaborators - Let team members know about the planned restoration.
- Check application status - Ensure the application is in a stable state.
- Verify snapshot integrity - Confirm the snapshot is not corrupted.
During Restoration
- Do not interrupt the process - Let the restoration complete fully.
- Avoid using the application - The application will be temporarily unavailable.
- Monitor for errors - Watch for any error messages or failures.
- Be patient - Large applications may take significant time to restore.
After Restoration
Verification Steps
- Check application functionality - Ensure the application starts correctly.
- Verify data integrity - Confirm your data is as expected.
- Test key features - Make sure important functions work properly.
- Review configurations - Check that settings are correct.
- Inform collaborators - Let team members know the restoration is complete.
If Something Goes Wrong
- Don't panic - Document any errors you observe.
- Check system logs - Look for detailed error information.
- Contact administrators - Get help from system administrators.
- Consider alternative snapshots - Try restoring from a different snapshot.
Managing Your Snapshots
Viewing Available Snapshots
Access your snapshots through:
- Individual application detail pages.
- The Administration area under "SODa SCS Snapshots".
- Your Dashboard's snapshot management section.
Snapshot Information
Each snapshot displays:
- Creation date and time
- Application type and name
- File size and checksum
- Description and notes
- Creator information
Troubleshooting
Restoration Fails
- Check available storage space.
- Verify snapshot file integrity.
- Ensure the application is in a stable state.
- Contact administrators if the issue persists.
Application Won't Start After Restoration
- Check system logs for error messages.
- Verify that the snapshot is compatible with current system.
- Try restoring from a different snapshot.
- Contact system administrators for assistance.
Data Appears Incomplete
- Verify you selected the correct snapshot.
- Check if the snapshot was created during a stable state.
- Review snapshot creation logs for any warnings.
- Consider restoring from an alternative snapshot.
Best Practices for Safe Restoration
- Always create a current snapshot first - Protect your current state.
- Communicate with your team - Keep collaborators informed.
- Document the process - Keep notes about what you're restoring and why.
- Verify results thoroughly - Don't assume the restoration worked perfectly.