Zimbra offers Open Source email server software and shared calendar for Linux and the Mac
Go Back   Zimbra :: Forums > Zimbra Collaboration Suite > Administrators

Welcome to the Zimbra :: Forums!
Welcome, if you would like to post a comment please register. We also encourage you to explore all things Zimbra with our team and members of the community.

Reply
 
LinkBack Thread Tools Search this Thread Display Modes
  #1 (permalink)  
Old 05-31-2010, 11:03 AM
Active Member
 
Posts: 28
Unhappy changing a index volume of a user

Hi,

I have a major problem that the size of index volumes become very large in our customer's production envrironment.
Now the size is 500GB, whichi is 38% of the size of message store
although we estimated it as 25%.

Our customer wants to reduce the percentage, but reluctant to add/merge an
additional disks to the index volume because it takes a long time to do that and to restart mailboxd. I know Irfan-Notes describes how to change it
for user but it still require restart.

Could you tell me how to change the index volume of a user without
restarting?

I am thinking of changing the index volume per a user by the following steps.

1. set a taget user's mailbox to maintenance mode.
2. copy the index directory of the user.
3. update metadata.
4. clear the cache of the mailbox so that the newly created index for the user can be stored in the new volume.
5. revert the maintenance mode to active
6. delete the older index directory.

I think we can reduce the down time for an user if we implements these
steps.

Actually I couldn't implement the step4(clearing mailbox cache) and it seemed
the cache of the index directory was put when initializing the Mailbox object.
I think if I could refresh the cache when reverting the status of the mailbox.

Any ideas would be appreciated.

Thanks,
Soichiro Miki
Reply With Quote
  #2 (permalink)  
Old 05-31-2010, 11:16 AM
Outstanding Member
 
Posts: 594
Default

Refer Irfan-Notes - Zimbra :: Wiki
Reply With Quote
  #3 (permalink)  
Old 05-31-2010, 11:42 AM
Active Member
 
Posts: 28
Default

veronica,

As I mentioned above, I don't think the way of this wiki article
can solve our problem because it will take long down time
of moving data of 500GB and restarting mailboxd.
Reply With Quote
  #4 (permalink)  
Old 05-31-2010, 09:35 PM
Outstanding Member
 
Posts: 717
Default

If you're willing to be without Index for a while, you can stop Zimbra, delete all of the files in the index path (and/or change the index to use via MySQL), start Zimbra, and then loop through the accounts and reindex the mailboxes.
Reply With Quote
  #5 (permalink)  
Old 06-04-2010, 02:54 AM
Active Member
 
Posts: 28
Default

Thanks Krishopper,

Finally I found that I can delete the cache of the mailbox by
calling MailboxMap#clear() method from my Zimbra extension so far.

I'm not sure it is acceptable, and am concerned these change cause any adverse effect to the account because the method clear caches of all accounts... Any ideas?
Reply With Quote
  #6 (permalink)  
Old 06-13-2010, 05:39 PM
Active Member
 
Posts: 28
Default

I sent the following message to dkarp, but he can't reply so far.
Does anyone have any ideas?

----
I'm writing this message to you because my post to Zimbra Forum won't be unanswered and I found you added "MailboxMap" class according to bug:23927.

Mailbox cache should be LRU instead of soft reference
Bug 23927 – Mailbox cache should be LRU instead of soft reference

We have a big problem that the size of index volumes become very large in our customer's production envrironment, which is integrated with ZCS5.0.16.
Now the size is 500GB, whichi is 38% of the size of message store
although we estimated it as 25%.

Our customer wants to reduce the percentage,and to move index data evenly to separate index volumes without restarting.
They don't want to restart mailboxd to keep their service level high.

Finally I found that I can do that by
calling MailboxMap#clear() method from my Zimbra extension so far, but I'm not sure whether it is acceptable or not, and I am concerned these change cause any adverse effect to the account.
I think clearing soft and hard cache by each user would be
the best, but I'm investigating it so far.

Do you have any ideas?
I look forward to your reply as this seems a engineering issue.


FYI, I am thinking of changing the index volume per a user by the following steps:

1. Set a taget user's mailbox to maintenance mode.
2. Copy the index directory of the user.
3. Update metadata.
4. Clear the cache of the mailbox so that the newly created index for the user can be stored in the new volume.
5. Revert the maintenance mode to active
6. Delete the older index directory.
Reply With Quote
  #7 (permalink)  
Old 06-15-2010, 07:04 PM
Active Member
 
Posts: 28
Default

I guess I can remove both MailboxMap's hard reference(mHardMap) and
soft reference(mSoftMap)
by each user without any side effect because hard ref can be
dropped when transcending
the number of hard_ref_size and soft ref by GC.

Thus, after changing mode of the account to maintenance and
deleting these references,
I assume ZimbraStore will newly create mailbox of the user when
the user access the mailbox.

Am I right about that?
Reply With Quote
Reply


Thread Tools Search this Thread
Search this Thread:

Advanced Search
Display Modes


Similar Threads

Why Join?

Registering let's you ask questions, makes it easier to search, displays any files attached to posts, and notifies you about replies.

blog.zimbra.com




 

SEO by vBSEO ©2011, Crawlability, Inc.