I want to run something on my Mac server running the JSS (I hope Carbon Copy Cloner works) that maintains a live backup of the JSS. I want to be able to switch to a secondary drive/server if the primary JSS fails.
What are the best practices for this? Will CCC work? (I have read there might be an issue using CCC to backup the MySQL databases)
CCC will work ok for the OS and general setup. You're right, the MySQL DB probably wouldn't survive the backup process that way.
You could use something like Chronosync to clone the MySQL backup folder to the other partition though. If you switch to the other partition, the only extra step would be to restore the last backup of the database.
As you see form the above comments, it depends on what you mean by 'live' backup and what you want to do to get there. A true live backup will NEVER fail and usually requires replication and load balancing. Otherwise, you will have a gap in service when swapping to whatever back drive or system you are using.
From my side of things I DO NOT maintain a load balancer or a MySQL replica. Rather, I have an identical machine (My NetBoot master) getting a synced copy of each nights jamf software database. It also has my primary DP. When the primary JSS dies... I will only have to import the .db backup that already exists on it and swap IP and DNS. Less that 15 min to be on a completely different box in my case. This is also reversible as the primary web server and MySQL server for the JSS is also a secondary DP and secodnary NetBoot server. If my secondary box dies (Which is primary DP and NetBoot), nothing stops at all.
I use a Dropbox Business account with all of the proper security paperwork completed. Our nightly JSS db backups go directly to the dropbox folder which are also installed on each of our DPs (not just the one mentioned above). These are then backed up through other methods (CrashPlan, rsync, etc) on seperate drives. One should put plenty of thought into this. Having backups go to a synchronized folder can be rather dangerous!