Zimbra Suite Plus/Zimbra HSM Plus/Checking the message BLOBs health

Revision as of 00:55, 8 September 2016 by Jorge de la Cruz (talk | contribs) (1 revision imported: Zimbra Suite Plus)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
The printable version is no longer supported and may have rendering errors. Please update your browser bookmarks and please use the default browser print function instead.



Zimbra HSM Plus - Checking the message BLOBs health

Zimbra HSM Plus - Checking the message BLOBs health

Volumes and BLOBs

In Zimbra, all message data is stored into the so-called "Message Volumes" in the form of .msg files archived in a strict directory tree.

Every item in Zimbra is composed by 2 parts: the "Data", which is the actual content of the item, and the "Metadata" which is a set of additional informations regarding the item. A BLOB file is a file containing the "Data" part of an item, stored in a Message Volume. The exact path of the file depends on different factors.

BLOB path example

The /opt/zimbra/store/0/128/msg/2/12124-23531.msg file's location and name are calculated as follows

/opt/zimbra/store/ is the volume's path. 0/ is a number calculated by applying a right bitshift on the mailbox_id of the owner of the item of a number of bits set in the "mailbox_bits" property of the volume. 128/ is the mailbox_id of the owner of this item. msg/ is a default subfolder for message BLOBs. 2/ is a number calculated by applying a right bitshift on the itemID of the item of a number of bits set in the "file_bits" property of the volume. 12124-23531.msg is the name of the file in the [itemID]-[revision].msg form.

What can go wrong

Different issues can affect the health of a volume. The most common are:

  • Missing BLOB: Metadata for an item are stored in Zimbra's database but the corresponding BLOB file cannot be found.
  • Unexpected BLOB: A BLOB file exists but the corresponding metadata cannot be found in Zimbra's database.
  • Size Mismatch: Item size informations stored in the metadata are different than the corresponding BLOB file's size.
  • Digest Mismatch: Item digest informations stored in the metadata are different than the corresponding BLOB file's digest.

"Unexpected BLOB" errors are commonly caused by a problem in the deletion process of an item.

"Missing BLOB" errors are particularily pesky, as since the item's metadata exists in Zimbra's database this very item is usually visible in the Zimbra Web Client. An error will be shown to the user when trying to access an item which BLOB file is missing.

Checking the BLOB status with Zimbra HSM Plus

Zimbra HSM Plus includes a CLI command that analyzes all BLOBs in a volume or mailbox to find out any possible issue: "doCheckBlobs"

Syntax:
  zxsuite powerstore doCheckBlobs {start} [attr1 value1 [attr2 value2]]


PARAMETER LIST

NAME                TYPE                  EXPECTED VALUES
action(M)           String                "start"
volumeID(O)         String
mailboxID(O)        String

(M) == mandatory parameter, (O) == optional parameter

Usage examples:
zxsuite powerstore doCheckBlobs start
Perform a BLOB coherency check on all message volumes

zxsuite powerstore doCheckBlobs start volumeID 1,3
Perform a BLOB coherency check on volumes 1 and 3

zxsuite powerstore doCheckBlobs start mailboxID 2,9,27
Perform a BLOB coherency check on mailboxes 2,9 and 27

Fixing BLOB errors

Zimbra offers a CLI command to fix some BLOB issues: `zmblobchk`.

Also, one of the most common causes of BLOB/volume issues is bound to filesystem permissions, which can be fixed using the `zmfixperms` Zimbra CLI command.

A great article about "Missing BLOB" errors and all related informations can be found on the Zimbra Wiki at http://wiki.zimbra.com/wiki/Ajcody-Notes-No-Such-Blob.

Extreme caution is advised when dealing with this kind of issues, as dealing with volumes and BLOB files level means dealing with Zimbra's "raw data". Before taking any action make sure that you find out the cause of the issue and that you have a backup of your system in order to easily revert any possible data loss.


Zimbra Suite Plus Resources

Here you can find useful resources for your Zimbra Suite Plus environment



Try Zimbra

Try Zimbra Collaboration with a 60-day free trial.
Get it now »

Want to get involved?

You can contribute in the Community, Wiki, Code, or development of Zimlets.
Find out more. »

Looking for a Video?

Visit our YouTube channel to get the latest webinars, technology news, product overviews, and so much more.
Go to the YouTube channel »

Jump to: navigation, search