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

 
(13 intermediate revisions by 3 users not shown)
Line 1: Line 1:
{{ZCS 8.8}}
#REDIRECT [[Zimbra_NG_Modules/DR/Broken_or_corrupted_Volume_(Missing_BLOBs)]]
{{WIP}}
 
<font size="6">To check (and repair) for missing blobs on an account, you can do the following</font>
 
==<font size="5">Get the user's mailboxID</font>==
 
<code><pre>
zmprov gmi user001@example.com
</pre></code>
 
You will see output something like this<br>
<code><pre>
mailboxId: 5
quotaUsed: 64498843
</pre></code>
 
==<font size="5">Now we will check if there are missing blobs for the account</font>==
 
<code><pre>
zxsuite hsm docheckblobs start mailbox_ids 5
</pre></code>
 
You will see output something like this<br>
<code><pre>
operationId                              bdbd8112-8c2f-4f8f-bc7b-a82ef5388378
server                                    mailstore3.example.com
log path                                  /opt/zimbra/log/op_CheckBlobs_bdbd8112-8c2f-4f8f-bc7b-a82ef5388378.log
</pre></code>
<font size="3"> Use the --progress option if you want verbose output, ''zxsuite --progress hsm docheckblobs start mailbox_ids 5''</font>
 
==<font size="5">Now search for the word WARN in the CheckBlobs log</font>==
<code><pre>
grep WARN  /opt/zimbra/log/op_CheckBlobs_bdbd8112-8c2f-4f8f-bc7b-a82ef5388378.log
</pre></code>
 
if there was a missing BLOB, you would see similar output like this<br>
<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/store/0/5/msg/1/4610-8720.msg - Size: 1859 - Digest: dYV2+dXtH9AUAHH4au1jWquWgCeBCz7XpsYtHza0ofw=
</pre></code>
 
==<font size="5">Now, lets restore the missing blob, but first we need the ID of the message volume</font>==
<code><pre>
zxsuite hsm getAllVolumes
</pre></code>
 
Typically, you should see<br>
<code><pre>
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
</pre></code>
 
The output for /opt/zimbra/store is 1<br>
 
==<font size="5">Now lets see what will restored</font>==
<code><pre>
zxsuite --progress backup dorestoreblobs 1
</pre></code>
 
You will see a lot of verbose output, and at the bottom, you will see results similar to this<br>
<code><pre>
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
</pre></code>
<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>
 
==<font size="5">When you are ready to restore the blob</font>==
 
Run the same dorestoreblobs command again, but this time add the <strong>dryrun false</strong> option
 
<code><pre>
zxsuite --progress backup dorestoreblobs 1 dryrun false
</pre></code>
 
You will see a lot of verbose output, and now you will see the number of restored blobs<br>
 
<code><pre>
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
</pre></code>
 
==<font size="5">Last run the dodeduplicate command</font>==
<code><pre>
zxsuite --progress hsm dodeduplicate message1
</pre></code>
 
===<font size="5">Check one more time</font>===
<code><pre>
zxsuite hsm docheckblobs start mailbox_ids 5
</pre></code>
<font size="3"> Use the --progress option if you want verbose output, ''zxsuite --progress hsm docheckblobs start mailbox_ids 5''</font>

Latest revision as of 12:16, 29 November 2017

Jump to: navigation, search