Zimbra Storage Volumes
Zimbra storage volumes are mapped to real locations on a file system for blob storage. Zimbra stores this volume information in the the database. Each mailbox item having a blob is assigned a current volume when that item is created or moved by HSM.
- Primary Message Volume A store volume holding mailbox item blobs before they are moved by an HSM run. The primary message volume is where new item blobs are written and typically consists of fast, highly available storage.
- Secondary Message Volume A store volume holding mailbox item blobs after they have been moved by an HSM run. The secondary message volume usually consists of cheaper, slower storage since items are read less frequently.
A policy is stored in the global and server attribute zimbraHSMPolicy. HSM polices are search based to take advantage of Zimbra's advanced search capabilities. See /opt/zimbra/docs/query.txt. The zimbraHSMPolicy attribute is multi-valued which is used in the creation of multiple policies. All polices are evaluated during a single HSM run.
The default HSM policy will move document and message types older than 30 days from the active primary message volume to the active secondary storage volume.
zmprov gs `zmhostname` zimbraHSMPolicy zimbraHSMPolicy: message,document:before:-30days
Search based HSM permits the creation of custom policies. Here are some examples.
zmprov mcf zimbraHSMPolicy 'message:before:-129600minutes' zimbraHSMPolicy 'document,wiki:before:-10080minutes' zmprov mcf +zimbraHSMPolicy 'message:before:-1day in:Trash' zmprov mcf +zimbraHSMPolicy 'message,document:before:-5day is:anywhere has:attachment larger:5m is:read'
A "+" prefixes the zimbraHSMPolicy attribute name when working with multiple values of the attribute. The attribute can also be specified multiple times in a single provisioning command when multiple values are desired. Specifying a single attribute value in a single provisioning command will wipe out other instances of the value if there were any prior to running the command. Always retrieve the current configuration before setting values to see what values exist.
zmprov gcf zimbraHSMPolicy