I am following this guide on backing up cryosparc, and it works fine. I have an output .archive file that is 36GB, however the total size of our cryosparc projects is 9.6TB. So clearly this archive isn’t the data compressed, so what is this backup?
I am migrating cryosparc to a new server and upgrading to the latest version. In my simple mind I reasoned I could simply detach each project, keep them somewhere safe, install the new cryosparc at the new location, then import each project one-by-one. Is this not the best way to migrate? In the past to backup a project I have also simply copied the project folder and removed the lock file then reimported without issue, but I guess I should be archiving instead. Should I be using detach or archive?
Why are there then options for “migrating” and why does that not involve any detach/attach? It’s all very confusing.
The database backup contains information that is stored in the CryoSPARC database, which is implemented using mongodb. The database contains:
CryoSPARC login user records
the job scheduler configuration
absolute paths to CryoSPARC project directories
job-related information: inter-job relationships, job input connections, job parameters, job status, event log text and images, etc.
The database does not store actual micrograph or volume files.
The database is used as an information source for the CryoSPARC app (“GUI”) and a destination for information created by active CryoSPARC jobs.
Job-related database records are continuously exported to CryoSPARC project directories.
Briefly, archive/unarchive assumes that neither the project’s database records nor project directory changes between archiving and unarchiving. Attach recreates database records based on information previously exported (on any CryoSPARC instance) from the database to the project directory.
There are, broadly speaking, two alternatives for the migration of a CryoSPARC instance that contains active projects.
Alternative A involves transfer of the database, either via “file-level” transfer (OS-level copy or filesystem snapshot, details), or creation, transfer and restoration of a database “dump” (cryosparcm backup, cryosparcm restore). In either case, success of migration depends on the correspondence/compatibility of the states of database and project directories, respectively. CryoSPARC malfunction and corruption of database and/or project directories will likely occur when
project directories were modified after the database backup or copy was created
an attached project directory is, via restoration of an outdated backup, rolled back to an older state
If one follows migration alternative A with a compatible database copy or backup, the CryoSPARC archive project action needs to be applied on the “source” CryoSPARC instance for project directories whose absolute path will change during the migration before copying or backing up the database. Archived projects need to be unarchived at the destination CryoSPARC instance.
Alternative B does not involve a copy of the old database, but involves detaching projects from the source instance and attaching projects to the destination instance. In addition, CryoSPARC logins and scheduler lane configurations need to be created.
[updated 2024-11-05 to specify when the archive project action should be applied.