Difference between revisions of "ZCS88-zxbackup-Loss-of-HSM-Volume"

(Created page with "{{ZCS 8.8}} {{WIP}} ==<font size="6">Loss of HSM Volume</font>== ===Display List of Volumes=== <code><pre> zxsuite hsm getallvolumes </pre></code>")
 
(If the /opt/zimbra/hsm volume went missing, you can create the volume with this command)
 
(9 intermediate revisions by the same user not shown)
Line 8: Line 8:
 
zxsuite hsm getallvolumes
 
zxsuite hsm getallvolumes
 
</pre></code>
 
</pre></code>
 +
 +
If there is an HSM volume at /opt/zimbra/hsm, the listing would look something like this...
 +
<code><pre>
 +
        primaries                             
 +
 +
                id                                                          1
 +
                name                                                        message1
 +
                path                                                        /opt/zimbra/store
 +
                compressed                                                  false
 +
                threshold                                                  4096
 +
                storeType                                                  LOCAL
 +
                isCurrent                                                  true
 +
                volumeType                                                  primary
 +
        secondaries                           
 +
 +
                id                                                          3          <<== Note the ID of the Volume we will use as an example in this article
 +
                name                                                        hsm
 +
                path                                                        /opt/zimbra/hsm
 +
                compressed                                                  false
 +
                threshold                                                  4096
 +
                storeType                                                  LOCAL
 +
                isCurrent                                                  true
 +
                volumeType                                                  secondary
 +
        indexes                               
 +
 +
                id                                                          2
 +
                name                                                        index1
 +
                path                                                        /opt/zimbra/index
 +
                compressed                                                  false
 +
                threshold                                                  4096
 +
                storeType                                                  LOCAL
 +
                isCurrent                                                  true
 +
                volumeType                                                  index
 +
</pre></code>
 +
 +
===If the /opt/zimbra/hsm volume went missing, you can create the volume with this command===
 +
Make sure you have done your due diligence repairing the device attached to your HSM volume (or replacing it).<br>
 +
 +
Once the hardware is fixed or replaced, recreate the directory, and mount the hardware device.<br>
 +
Example...<br>
 +
<code><pre>
 +
mkdir /opt/zimbra/hsm
 +
chown -R zimbra:zimbra /opt/zimbra/hsm
 +
mount /dev/dddddd    /opt/zimbra/hsm
 +
</pre></code>
 +
 +
Now, recreate the missing volume.<br>
 +
<code><pre>
 +
zxsuite hsm docreatevolume secondary "hsm" "/opt/zimbra/hsm/" false 4096
 +
 +
zxsuite hsm doupdatevolume hsm current_volume true
 +
</pre></code>
 +
 +
====If you see this error...====
 +
<code><pre>
 +
Error creating volume: com.zimbra.cs.volume.VolumeServiceException: volume with the same id, name, or path already exists
 +
</pre></code>
 +
 +
You will need to remove the old volume ID from mysql first.
 +
<code><pre>
 +
mysql zimbra -e "delete from current_volumes where secondary_message_volume_id='3';"
 +
 +
mysql zimbra -e "delete from volume where id='3';"
 +
</pre></code>
 +
 +
===Check for Missing BLOBS===
 +
<code><pre>
 +
zxsuite hsm doCheckBlobs start
 +
</pre></code>
 +
 +
Now search for the word WARN in the CheckBlobs log
 +
<code><pre>
 +
grep WARN  /opt/zimbra/log/op_CheckBlobs_bdbd8112-8c2f-4f8f-bc7b-a82ef5388378.log
 +
</pre></code>
 +
 +
If any BLOB is missing, you would see lines like the following in the output
 +
<code><pre>
 +
2017-08-22 15:16:53,877 WARN Missing Blob file: Mailbox id: 5 - Item id: 4610 - Revision: 8720 - Blob path: /opt/zimbra/hsm/0/5/msg/1/4610-8720.msg - Size: 1859 - Digest: dYV2+dXtH9AUAHH4au1jWquWgCeBCz7XpsYtHza0ofw=
 +
</pre></code>
 +
 +
===Restore the Missing BLOBS===
 +
<code><pre>
 +
zxsuite --progress backup dorestoreblobs 3 backup_path /opt/zimbra/backup dryrun false
 +
</pre></code>
 +
<strong>Note the number 3 to indicate the volume ID.</strong>

Latest revision as of 20:42, 5 September 2017

ZCS 8.8 Article ZCS 8.8


Loss of HSM Volume

Display List of Volumes

zxsuite hsm getallvolumes

If there is an HSM volume at /opt/zimbra/hsm, the listing would look something like this...

        primaries                               

                id                                                          1
                name                                                        message1
                path                                                        /opt/zimbra/store
                compressed                                                  false
                threshold                                                   4096
                storeType                                                   LOCAL
                isCurrent                                                   true
                volumeType                                                  primary
        secondaries                             

                id                                                          3          <<== Note the ID of the Volume we will use as an example in this article
                name                                                        hsm
                path                                                        /opt/zimbra/hsm
                compressed                                                  false
                threshold                                                   4096
                storeType                                                   LOCAL
                isCurrent                                                   true
                volumeType                                                  secondary
        indexes                                 

                id                                                          2
                name                                                        index1
                path                                                        /opt/zimbra/index
                compressed                                                  false
                threshold                                                   4096
                storeType                                                   LOCAL
                isCurrent                                                   true
                volumeType                                                  index

If the /opt/zimbra/hsm volume went missing, you can create the volume with this command

Make sure you have done your due diligence repairing the device attached to your HSM volume (or replacing it).

Once the hardware is fixed or replaced, recreate the directory, and mount the hardware device.
Example...

mkdir /opt/zimbra/hsm
chown -R zimbra:zimbra /opt/zimbra/hsm
mount /dev/dddddd     /opt/zimbra/hsm

Now, recreate the missing volume.

zxsuite hsm docreatevolume secondary "hsm" "/opt/zimbra/hsm/" false 4096

zxsuite hsm doupdatevolume hsm current_volume true

If you see this error...

Error creating volume: com.zimbra.cs.volume.VolumeServiceException: volume with the same id, name, or path already exists

You will need to remove the old volume ID from mysql first.

mysql zimbra -e "delete from current_volumes where secondary_message_volume_id='3';"

mysql zimbra -e "delete from volume where id='3';"

Check for Missing BLOBS

zxsuite hsm doCheckBlobs start

Now search for the word WARN in the CheckBlobs log

grep WARN  /opt/zimbra/log/op_CheckBlobs_bdbd8112-8c2f-4f8f-bc7b-a82ef5388378.log

If any BLOB is missing, you would see lines like the following in the output

2017-08-22 15:16:53,877 WARN Missing Blob file: Mailbox id: 5 - Item id: 4610 - Revision: 8720 - Blob path: /opt/zimbra/hsm/0/5/msg/1/4610-8720.msg - Size: 1859 - Digest: dYV2+dXtH9AUAHH4au1jWquWgCeBCz7XpsYtHza0ofw=

Restore the Missing BLOBS

zxsuite --progress backup dorestoreblobs 3 backup_path /opt/zimbra/backup dryrun false

Note the number 3 to indicate the volume ID.

Jump to: navigation, search