ZxPowerstore: Zimbra Stores
From ZeXtras Suite Wiki
|Language:||English • español • português|
|Available since version: 1.3.0|
|Latest Version: 2.10.2|
|Released on: November 26th, 2018|
The Basics: types of stores and their uses
Zimbra allows for two different types of stores to be used:
- Index Store: A store that contains informations about your data used by Apache Lucene to provide indexing and search functions.
- Data Store: A store that contains all your Zimbra data organized in a MySql database
You can have multiple stores of each kind, but only one Index Store, one Primary Data Store and one Secondary Data Store can be set as "Current" (meaning that is currently used by Zimbra).
Primary and Secondary Data Stores
A Data Store in Zimbra can be either a Primary Data Store or a Secondary Data Store - the meaning of "primary" and "secondary" is explained here. The Primary/Secondary paradigm doesn't apply to Index Stores.
Data is moved between the "current" Primary Data Store and the "current" Secondary Data Store accordingly to a policy defined by the administrator.
ZxPowerstore: Moving Items between Stores
The main feature of the ZeXtras Powerstore module is the ability of applying the defined policy and move items between the Primary and Secondary datastore.
The move can be triggered in three different ways:
- Click the "Apply Policy" button in the ZeXtras Administration Zimlet
- Start the doMoveBlobs operation through the ZeXtras CLI
- Enable the Policy Application Scheduling in the ZeXtras Administration Zimlet and wait for it to start automatically
Once the move is started the following operations are performed:
- ZxPowerstore scans through the Primary Store to see which items comply to the defined policy
- All the Blobs of the tems found in the first step is copied to the Secondary Store
- The database entries related to the copied items are updated to reflect the move
- If the second and the third steps are completed successfully (and only in this case), the old Blobs are deleted from the Primary Store
The Move operation is "stateful" - each step is executed only if the previous ones have been completed successfully - so the risk of data loss during a Move operation is virtually nonexistent.