Zarafa Server is considered a deserving application for the replacement of Microsoft Exchange Server. Like Exchange, Zarafa also integrates with MS Outlook to offer a flexible email platform in addition to its own application ‘WebAccess’. Users have been finding it quite easy to use both the clients using Zarafa. In fact, Outlook offers a very similar look and feel. Moreover, a nice thing about Zarafa is it uses the open source database MySQL, where data like emails, contacts, and schedules are stored as records within tables. For your information, Zarafa uses InnoDB as storage engine that uses the two files: .ibdata and .frm.
The common tables created in Zarafa database are listed as follows:
- Properties table
- Users table
- Acl table
- Usergroup_acl table
- Lob (large objects) table
- Outgoingqueue table
The database structure is easy to understand; however, the problem occurs when you fail to access the stored data and experience an abnormal behavior of the application. It generally happens due to corruption of Zarafa database. As a result, you may face various error messages, one of which is as follows:
“one row in innodb corrupt”
The causes for such situation may include any of the following:
- Power surges
- Virus and other malware infections
- Damaged file system
- Application malfunctioning
- Termination of application
- Faulty hardware devices on network
- Bad sectors on hard disk
- File header corruption
In order to deal with corruption, you need to use a commercial Zarafa server recovery software application.
Well, corruption is one problem; other issues occur when a database is not tuned. If you have not installed Zarafa, you first need to optimize the MySQL configuration. Change or add the following settings to the configuration file to tune MySQL:
innodb_buffer_pool_size =
innodb_log_file_size =
innodb_log_buffer_size = 32M
max_allowed_packet = 16M
max_connections = 500
innodb_file_per_table
On the other hand, if you have an existing Zarafa system, tune it as follows:
- Back up your database.
- Stop the process of Zarafa server.
- Wait for the process to complete and verify if MySQL transaction logs are not available.
- Stop MySQL server.
- Make sure that a clean shutdown has been performed by MySQL through the logs.
- In /etc/my.cnf, change innodb settings.
- Transfer the old ib_logfiles from mysql datadir to /tmp.
- Start MySQL.
- If the changes were made to innodb_log_file_size, check it.
- Perform a check for errors in MySQL logs.
- Initiate Zarafa server process.
The process will simply tune your existing Zarafa environment. However, it is necessary to perform the steps with enough care to avoid unwanted issues.