Zimbra Next Generation Modules/DR/Broken or corrupted Volume (Missing BLOBs): Difference between revisions

No edit summary
No edit summary
Line 1: Line 1:
Missing BLOBs in ZCS 8.8
{{ZCS 8.8}}
{{ZCS 8.8}}
{{WIP}}
{{WIP}}
Line 5: Line 4:
To check for missing blobs on an account, you can do the following<br>
To check for missing blobs on an account, you can do the following<br>


==1.Get the user's mailboxID==
==Get the user's mailboxID==


<code><pre>
<code><pre>
Line 17: Line 16:
</pre></code>
</pre></code>


==2.Now we will check if there are missing blobs for the account==
==Now we will check if there are missing blobs for the account==


<code><pre>
<code><pre>
Line 30: Line 29:
</pre></code>
</pre></code>


==3.Now search for the word WARN in the CheckBlobs log==
==Now search for the word WARN in the CheckBlobs log==
<code><pre>
<code><pre>
grep WARN  /opt/zimbra/log/op_CheckBlobs_bdbd8112-8c2f-4f8f-bc7b-a82ef5388378.log
grep WARN  /opt/zimbra/log/op_CheckBlobs_bdbd8112-8c2f-4f8f-bc7b-a82ef5388378.log
Line 40: Line 39:
</pre></code>  
</pre></code>  


==4.Now, lets restore the missing blob, but first we need the ID of the message volume==
==Now, lets restore the missing blob, but first we need the ID of the message volume==
<code><pre>
<code><pre>
zxsuite hsm getAllVolumes
zxsuite hsm getAllVolumes
Line 71: Line 70:
The output for /opt/zimbra/store is 1<br>
The output for /opt/zimbra/store is 1<br>


==5.Now lets see what will restored==
==Now lets see what will restored==
<code><pre>
<code><pre>
zxsuite --progress backup dorestoreblobs 1
zxsuite --progress backup dorestoreblobs 1
Line 88: Line 87:
<strong>Keep in mind, this is a dry run. Nothing is restored yet. When you are ready to restore, use the ''dryrun false'' option in the command.</strong>
<strong>Keep in mind, this is a dry run. Nothing is restored yet. When you are ready to restore, use the ''dryrun false'' option in the command.</strong>


==6.When you are ready to restore the blob==
==When you are ready to restore the blob==


Run the same dorestoreblobs command again, but this time add the <strong>dryrun false</strong> option
Run the same dorestoreblobs command again, but this time add the <strong>dryrun false</strong> option

Revision as of 20:13, 22 August 2017

ZCS 8.8 Article ZCS 8.8


To check for missing blobs on an account, you can do the following

Get the user's mailboxID

zmprov gmi user001@example.com

You will see output something like this

mailboxId: 5
quotaUsed: 64498843

Now we will check if there are missing blobs for the account

zxsuite hsm docheckblobs start mailbox_ids 5

You will see output something like this

operationId                               bdbd8112-8c2f-4f8f-bc7b-a82ef5388378
server                                    mailstore3.example.com
log path                                  /opt/zimbra/log/op_CheckBlobs_bdbd8112-8c2f-4f8f-bc7b-a82ef5388378.log

Now search for the word WARN in the CheckBlobs log

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

if there was a missing BLOB, you would see similar output like this

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

Now, lets restore the missing blob, but first we need the ID of the message volume

zxsuite hsm getAllVolumes

Typically, you should see

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

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

The output for /opt/zimbra/store is 1

Now lets see what will restored

zxsuite --progress backup dorestoreblobs 1

You will see a lot of verbose output, and at the bottom, you will see results similar to this

Total blobs volume fixed: 0
Total blobs checked: 8156
Total broken blobs: 1
Total restorable blobs: 1
Total unrestorable blobs: 0
Total failed blob restores: 0
Total restored blob: 0

Keep in mind, this is a dry run. Nothing is restored yet. When you are ready to restore, use the dryrun false option in the command.

When you are ready to restore the blob

Run the same dorestoreblobs command again, but this time add the dryrun false option

zxsuite --progress backup dorestoreblobs 1 dryrun false

You will see a lot of verbose output, and now you will see the number of restored blobs

Total blobs volume fixed: 0
Total blobs checked: 8156
Total broken blobs: 1
Total restorable blobs: 1
Total unrestorable blobs: 0
Total failed blob restores: 0
Total restored blob: 1
Jump to: navigation, search