Restore HSM volumes

Revision as of 07:14, 10 August 2017 by Nbhagwat (talk | contribs) (Created page with "=== <h1>Restore HSM volumes</h1> === <hr> <br> <h2>Problem</h2> How to restore lost HSM volume <h2>Solution:</h2> '''1)''' Restore an account backup to a new account <br...")
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)

Restore HSM volumes




Problem

How to restore lost HSM volume


Solution:

1) Restore an account backup to a new account
2) Recreate the filesystem HSM path for the existing account
3) Move the restored HSM blobs to the correct filesystem path
4) Delete the restored account

Preliminary: you need to have the replacement HSM volume mounted at the same path as the old one. For example:

% zmvolume -l 
Volume id: 1 
name: message1 
type: primaryMessage 
path: /opt/zimbra/store 
compressed: false 
current: true 

Volume id: 2 
name: index1 
type: index 
path: /opt/zimbra/index 
compressed: false 
current: true 

Volume id: 3 
name: hsm1 
type: secondaryMessage 
path: /opt/zimbra/hsm 
compressed: false 
current: true 

In the above example, /opt/zimbra/hsm was the HSM store. Mount the replacement at /opt/zimbra/hsm, and make sure to

"chown zimbra:zimbra /opt/zimbra/hsm". 
 

1) Restore from a full account backup to a new account:

% zmrestore -rf -a account@example.com -ca -pre "hsm_" 

Depending on the HSM policy (30 days default), you need to be sure the latest full backup is newer than that (?).

2) Gather account data:

2.1) Mailbox ID: 
% zmprov gmi account@example.com | grep mailboxId 
Mailbox ID: 4 

2.2) Account Hash (substitute actual Mailbox ID): 
% perl -e "print (mailboxId>>12)" 
Account Hash: 0  

2.3) Restored Mailbox ID: 
% zmprov gmi hsm_account@example.com | grep mailboxId 
Restored MailboxID: 37 

2.4) Restored Account Hash (substitute actual Mailbox ID): 
% perl -e "print (mailboxId>>12)"
Restored Account Hash: 0 


3) Recreate the filesystem HSM path for the existing account (/opt/zimbra/hsm/Account Hash/MailboxID):

% mkdir -p /opt/zimbra/hsm/0/4 

4) Move the HSM blobs from the restored account to the real account:

% mv /opt/zimbra/hsm/Restored Account Hash/Restored MailboxID/msg /opt/zimbra/hsm/Account Hash/MailboxID/ 

Actual: 
% mv /opt/zimbra/hsm/0/37/msg /opt/zimbra/hsm/0/4/ 

5) Delete the restored account:

% zmprov da hsm_account@example.com  

'''6)''' Restart mailboxd for account to see HSM blobs: 

% zmmailboxdctl restart 

7) Log in to account (account@example.com) and verify HSM messages are there


Raunaq Malik

Jump to: navigation, search