AnsweredAssumed Answered

[RESOLVED] Alfresco Hot Backup and data synchronization pb

Question asked by nmaupu on Oct 3, 2008
Latest reply on Oct 7, 2008 by nmaupu

We currently have 2 machines. A master one which handle all requests to our alfresco repository and a "slave" one which should be synchronized every night with master's data.
My work is based on this article : I spent a lot of time in experiencing to succeed to "migrate data" from master to slave.

I can't stop alfresco instance on master so I need to proceed a hot backup.
Here is how I proceed :

On master machine :
1- I create a MySQL hot backup with Innodb Hot Backup (very expensive but efficient tool).
2- Right after, I make a LVM snapshot of alfresco repository.
3- I mount LVM snapshot in a temporary directory.

On slave machine :
4- I stop alfresco instance
5- I stop mysql
6- I restore MySQL backup created in 1
7- I rsync alfresco snapshot LVM (directories contentstore, contentstore.deleted, audit.contentstore and backup_lucene_indexes)
8- I delete lucene_indexes and move backup_lucene_indexes to lucene_indexes.
9- I restart MySQL
10- I Restart Alfresco

But 90% of the time I get the following exception when starting alfresco :

10:57:34,740 ERROR [ConfigurationChecker] CONTENT INTEGRITY ERROR: Indexes not found for 2 stores.
10:57:34,740 ERROR [ConfigurationChecker] Ensure that the 'dir.root' property is pointing to the correct data location.
10:57:34,742 ERROR [ContextLoader] Context initialization failed
org.alfresco.error.AlfrescoRuntimeException: Ensure that the 'dir.root' property is pointing to the correct data location.
        at org.alfresco.repo.admin.ConfigurationChecker.check(
        at org.alfresco.repo.admin.ConfigurationChecker.access$000(
        at org.alfresco.repo.admin.ConfigurationChecker$1.doWork(
        at org.alfresco.repo.transaction.TransactionUtil.executeInTransaction(
        at org.alfresco.repo.transaction.TransactionUtil.executeInUserTransaction(
        at org.alfresco.repo.admin.ConfigurationChecker.onBootstrap(
        at org.alfresco.util.AbstractLifecycleBean.onApplicationEvent(

Is there anything wrong in my way of hot backuping ?
Is there another way ?

What if I keep both slave's MySQL and slave's alfresco lucene indexes and I just rsync  contentstore, contentstore.deleted and audit.contentstore ?

Thank you by advance for all advice I can get.