Difference between revisions of "Retain Exchange"
(→Exchange Module On-Premise) |
(→Exchange Module Office365) |
||
Line 5: | Line 5: | ||
==[[Exchange Module Office365]]== | ==[[Exchange Module Office365]]== | ||
+ | |||
+ | Your organization had decided to host your email system with Microsoft on Microsoft's servers and you have little control over them. | ||
==How It Works== | ==How It Works== |
Revision as of 19:01, 1 April 2015
Contents |
Exchange Module On-Premise
This Exchange servers are on your organization's property somewhere. You have full control over them.
Exchange Module Office365
Your organization had decided to host your email system with Microsoft on Microsoft's servers and you have little control over them.
How It Works
Overview of Exchange
Exchange is a cluster of roles on one or more servers that transfers messages.
The major roles are:
- DNS (Domain Name Server)
- AD DS (Active Directory Directory Services)
- CAS (Client Access Server)
- Exchange Mailbox Server
The Name Server resolves which server is doing what role. It is very important that Retain and the Exchange servers all point to the same one so the domains are all resolved correctly.
Active Directory organizes the domains, users and computers of the network so they have the proper rights. Mainly that the Retain user has ApplicationImpersonation rights.
The CAS is the front door of the network, it sends requests from the users to the proper place in the network, in the case of Retain it is access to the mailbox database.
The Exchange Mailbox Server hosts the database(s) that stores the users messages.
Overview of Retain's Access to Exchange
When Retain archives from Exchange it uses the Impersonation User aka Global Catalog User to enter Active Directory (AD) to find a user.
We enter Exchange in one of four ways:
- LDAP (Lightweight Directory Access Protocol)
- SCP (Service Connection Point)
- EWS (Exchange Web Services)
- Autodiscover
In that user it searches for the user's homeMDB (homeMailboxDataBase) and uses that to link to the homeMDBBL object in AD. From there it gets the current list of mailboxes in the mail server's database.
Retain will go to the first user in that list and using ApplicationImpersonation rights. It will get the list of folders for the first user and then will process the messages.
Exchange Limitations
Exchange has certain stated limitations [1], but even in cases where there are no stated limits, there are practical limitations you are going to reach.
“I usually recommend no more than about 2500 - 5000 messages in any of the critical path folders. The critical path folders are the Calendar, Contacts, Inbox, and Sent Item folder. Ideally, keep the Inbox, Contacts and Calendar to 1000 or less. Other folders, particularly custom folders created by the user, can handle having larger numbers of items without having a broad impact on the user experience (20,000 items in my "Cookie Recipes" folder? No problem - except when I need to find that recipe from last Christmas!).” [2]
Like many computer systems it works best when it is lightly loaded which in the case of Exchange means keeping as few messages the mailbox database as is practical and since the vast majority of messages are never viewed again after they are initially received it makes sense to get them out of the system.
The average user receives 120 emails a day, 260 days of the year or 31,200 messages a year.
Throttling policy
Retain and Exchange Server 2013 Throttling Policies http://support.gwava.com/kb/?View=entry&EntryID=2343
Large Attachments and/or Messages Cannot Be Archived http://support.gwava.com/kb/?View=entry&EntryID=2089
http://technet.microsoft.com/en-us/library/dd351264%28v=exchg.150%29.aspx
Exchange Archive Strategies
Now it is certainly possible to have Exchange do its own archiving. You can set up a journaling mailbox or hold to hang on to everything as certain laws demand. If you have to keep messages for 10 years and average user may end up have 312,000 messages consuming tens of gigabytes of storage. And that is just the average user, a power user could consume far more. Can you imagine the drag on your Exchange server trying to handle all of that for thousands of users?
You could create a policy to move messages into an archive database, but since it is still connected directly to Exchange it will still be a load on the system. However there are going to be "interactions" between the holds and policies moving things to the archive database that may not allow them to be successful.
Exchange Archiving With Retain
This is where Retain comes in. Retain offloads all the messages so that Exchange can concentrate on delivering messages rather then storing them.
The typical Retain setup does not do a true archive. The customer sets up a Retain server points it at the email server and has it do a dredge every night.
For example, a message can come to a user, the user can read it, move it to the trash, and delete the trash. Has the message been removed from disk yet? No, it has not. It is moved to the Recoverable Items area of the database, where it resides for 14 days by default before being deleted. A user can undelete the message from Recoverable Items. However, they can also purge their Recoverable Items, which would remove them from the disk, not allowing Retain to dredge the message before it is deleted forever.
Unlike GroupWise, Exchange does not have message level retention abilities. So to make sure our customers are able to make proper archives there are some additional steps that need to be taken.
Journaling Mailbox
Microsoft recommends setting up a Journaling Mailbox if all messages are to be saved. There is a very large downside with this technique. If the Journaling Mailbox becomes too large, ~100GB (with various settings maximized) though it will be smaller in default systems, Exchange becomes unable to serve the messages so Retain can archive and delete them. This may work in small systems or in limited circumstances, but for the most part it is not the recommended technique for Retain.
- Exchange Journaling Mailbox Recommendations [3]
In-Place and Litigation Holds
A more effective means of archiving messages in a large environment is to set up In-Place and Litigation Holds. These holds keep items from being removed from the Recoverable Items folder for a limited time.
- Exchange Archiving with In-Place Hold [4]
A hold will keep the message in the Recoverable Items folder until the hold is released.
A good strategy for archiving is to create a rolling in-place hold so Retain has a day or two to successfully archive the messages, since Exchange doesn't have a message level flag to specify if a message has been archived or not you want to leave a little extra time to make sure Retain has a fair chance to archive.
A better strategy is to maintain the hold for 14-90 days, which will provide plenty of time to discover archiving errors and resolving them before data is potentially lost.
If users are going into Retain for past messages it is a good idea to have Retain wait to archive say 7-14 days so the messages are in their proper folders.
Installation
Retain Outlook Web Access 2013 Plugin
Troubleshooting
Bug Watch
These are the important bugs/enhancements I'm watching:
Exchange
- Bug 7128 - Excel files throw error when opened from Retain in IE
- Bug 6612 - Forwarding to Exchange causes mojibake if characters are from beyond the ASCII set
Office 365
- Bug 6679 - Add additional duplicate user checks to avoid mailbox duplication when Exchange user GUID changes FIXED in 4.0 beta
- Bug 7671 - Add additional duplicate user checks to avoid mailbox duplication when Exchange user GUID changes Need fix in 3.5.1
- Bug 5924 - Backing up the exchangeuser and exchangegroup.csv
Field Test Files