10-15-2012 08:30 AM
Hello
As soon as I type in first line about PST migration question, a voice inside me tells "you need to use third party PST migrator along with EV rather than EV native tools !" LOL. But that's that.
We're running on Enterprise vault 9.0.1, Exchange 2010 SP2 RU3. Recently I noticed that certain user mailbox size limits changes randomly for certain users/mailboxes. And the time when they change is pretty close to when PST migrator is running.
For example, I set a mailbox limit for (IssueWarning/ProhibitSend/ProhibitSendReceive) to 3.8/4/4,5GB accordingly, with database quota default set to false. When PST migrator task runs, they change to 2/2/2GB on their own.
For certain users, I keep mailbox size limits close to database default with defaults turned off so EV can adjust exchange quotas as it migrates the PST file, but somehow they turn the database default on.
For users whom i (or something else)t decrease mailbox limits for (as explained above), it logs following entry in event log:
Log Name: Symantec Enterprise Vault
Source: Enterprise Vault
Date: 10/13/2012 6:04:45 AM
Event ID: 6742
Task Category: Migrator Server
Level: Error
Keywords: Classic
User: N/A
Computer: EVServer.contoso.com
Description:
PST Migration Report
Migration status: Incomplete
Processing aborted. The mailbox does not have enough space to complete the PST migration. Increase the indicated mailbox storage limits by at least 493890KB and run PST Migrator again to move the items in the PST to the mailbox.
Current mailbox quota used: 1967492KB
Set the Prohibit send limit to at least 2591041KB
(null)11128436402681492KB
PST file: \\ClientPC\Outlook\archive.pst (Copy: C:\Fakepath\Copy16.pst)
Archive Name: Donald Duck
Vault Id: RandomVaultID
RetentionCategory: Business
Exchange Server\Mailbox: ExchangeServer\/o=Contoso/cn=Users/cn=DDuck
Number of folders processed: y
Number of items archived: 0
Total size of items archived: 0 KB
Number of items unable to be archived: 0
Number of items not eligible for archiving: x
Number of items moved to mailbox: 0
Elapsed Migration Time: 0:2:59 (hours:minutes:seconds)
Migration Rate: 0.00 MB/Hour
Just wondering if there is somewhere EV logs how much quota it has changed and if there's a way to track this.or troubleshoot this? I checked Exchange logs which has cmdlet auditing enabled, and I don't see any script or any person changing these settings.
Solved! Go to Solution.
10-23-2012 01:22 AM
This tells me a few things:
a/ The quote which is being read is LOWER than the amount of space needed to ingest the items, otherwise the SetEx2KUserQuotaValues function wouldn't change anything.
b/ You're not seeing (nor am I) the values that come out of the GetEx2KUserQutoaValues - I would expect them to be logged. I mean logging them out is just good practice.. maybe these functions don't.. SYMC Support would be the only ones to tell you whether or not they SHOULD log something out.
c/ The values that were obtained for the limits are all flat ie equal.
In my environment they were set to 3 different (low) values. And the result in my trace is a bump up of each to three different values. Yours all show 2 Gb.
d/ One (remote?) possibility is because the quota is >2Gb. I have personally seen 1-2 issues in the past (when I worked at Symantec) where the product failed to correctly determine things like mailbox size, when the mailbox was over 2 Gb. The 'cure' for this would be for 'someone' to do a bigger repro, and set the values as you have indicated for the quota, and then ingest a PST.
That someone would really need to be SYMC support - and would take quite some effort.
10-15-2012 09:05 AM
Hmm I don't think I have seen PST Migrations changing the quota values DOWN before. It might be logged in DTRACE - if I get chance later I will give it a whirl.
10-15-2012 09:22 AM
I also forgot to add that Enterprise Vault will only adjust the quotas if you have that turned on in the PST Migration policy....
10-15-2012 10:33 AM
Ah yes ! I kept reminding myself to add that line and forgot in the end. ;)
PST Migration policy is configured to "Adjust Exchange Quotas". And we disable database quota default for users who we're migrating PST files so EV can make appropiate adjustments to mailbox size limit.
I'll try a DTrace on DirectoryService & Migrator Server & PST migrator task and see if there's any log line for same...
10-18-2012 08:56 AM
Sorry for delayed response, I ran DTRace during PST migrations but logs do not really say how much or what changes they made to mailbox size.
Directory service reads EV settings from SQL:
8398 11:20:59.019 [8164] (DirectoryService) <7844> EV:M DirectoryService: ADO: SELECT se.SiteEntryId,se.SiteName,se.DefaultFilterId,se.DefaultPublicFolderFilterId,se.DefaultRetentionCategoryId,se.DefaultWebAppURL,se.DefaultArchivingSchedule,se.DefaultIndexingLevel,se.SiteDescription,se.MessageOfTheDay,se.AutoEnableMailboxes,se.AutoEnableInitSuspend,se.SiteAdminNote,se.AdminMinVersion,se.UsersCanDeleteItems,se.DeleteExpiredItems,se.DeleteProtected,se.DefaultPublicFolderSchedule,se.DefaultExpirySchedule,se.DesktopDoubleClickView,se.ExpiryDateBasis,se.ExpiryReportMode,se.SiteAccountDistinguishedName,se.SiteAccountMailboxAlias,se.SiteDirectoryEntryId,se.SiteVaultLimitSize,se.SiteVaultLimitOperation,se.IndexMode,se.AllClientsAtSiteVersion,se.DefaultPFRetentionCategoryId,se.SPSExcludeFileTypes,se.SPSItemSize,se.SiteVaultNotifySize,se.SiteVaultNotifyOperation,se.QuotaNotificationFreq,se.CreateStructuredArchives,se.EnableCodeMonitoring,se.PSTHoldingDirectory,se.PSTHoldingLimit,se.DumpsterEnabled,se.DumpsterPeriod,se.RetainArchiveHistory FROM SiteEntry se WHERE se.SiteEntryId = ? |
8489 11:20:59.613 [8164] (DirectoryService) <7844> EV:M DirectoryService: ADO: SELECT poPolicyEntryId,poType,poIsADefaultPolicy,poName,poDescription,SiteEntryId,excFilterId,excWebAppURL,excIndexingLevel,excAutoEnableMailboxes,excAutoEnableInitSuspend,excUsersCanDeleteItems,excDesktopDoubleClickView,excShortcutDetail,excAdditionalShortcutProperties,excEnableMailboxMsgFileName,excDisableMailboxMsgFileName,excQuotaApproachingMsgFileName,excQuotaExceededMsgFileName,excShortcutTextSettingsFileName,FilterName,FilterDescription,InactivityPeriod,InactivityPeriodUnits,DeleteNoArchive,DeleteAfterArchive,LockDeleteAfterArchive,CreateShortcutAfterArchive,LockCreateShortcutAfterArchive,ProcessUnreadMail,FilterSiteEntryId,LockProcessUnreadMail,LockDeleteAfterArchive,LockCreateShortcutAfterArchive,LockUseInactivityPeriod,UseInactivityPeriod,FilterAdminNote,MaxMsgPerUserPerSchedule,PercentageOfQuota,ArchiveLock,ShortcutInactivityPeriod,ShortcutInactivityUnits,RestoredItemsInactivtyPeriod,RestoredItemsInactivtyUnits,AllowSubFolderInheritance,LockSubFolderInheritance,AMinAgeLargeItems,AMinAgeLargeItemsUnits,AMinSizeLargeItems,ASizePriority,QMinAgeThresholdPeriod,QMinAgeThresholdUnits,QMinSizeLargeItems,QSizePriority,ExpandDistLists,ExpandDistListsLock,pstRetentionCategoryId,pstLanguage,pstMailboxFolder,pstShortcutMode,pstIncludeDeletedItems,pstSetPstHidden,pstSetPstReadOnly,pstCompactPst,pstDeletePst,pstArchiveNonExpiredCalItems,pstCancelMbxAutoArchive,pstMergePstFolders,pstRemoveFromProfile,pstAdjustExchangeQuotas,pstShortcutAgePeriod,pstShortcutAgeUnit,pstIgnoreCompliance,pstClientSearchRestricted,pstExpandOfflineVault,ProcessMsgsWithAttachmentsOnly,OrphanedShortcutRun,pstDefineCustomProperties,SCMoveUpdateItemLocation,SCMoveMoveUpdateRetCatUser,SCMoveMoveUpdateRetCat,UseQuotaLimit FROM ExchangePolicyView WHERE ExchangePolicyView.poType = 3 AND ExchangePolicyView.SiteEntryId = ? ORDER BY poName |
8918 11:21:01.941 [8164] (DirectoryService) <3868> EV:M DirectoryService: ADO: SELECT poPolicyEntryId,poType,poIsADefaultPolicy,poName,poDescription,SiteEntryId,pstRetentionCategoryId,pstLanguage,pstMailboxFolder,pstShortcutMode,pstIncludeDeletedItems,pstSetPstHidden,pstSetPstReadOnly,pstCompactPst,pstDeletePst,pstArchiveNonExpiredCalItems,pstCancelMbxAutoArchive,pstMergePstFolders,pstRemoveFromProfile,pstAdjustExchangeQuotas,pstShortcutAgePeriod,pstShortcutAgeUnit FROM ExchangePolicyView WHERE ExchangePolicyView.poType = 6 AND ExchangePolicyView.SiteEntryId = ? ORDER BY poName |
8963 11:21:01.973 [8164] (DirectoryService) <3868> EV:M DirectoryService: ADO: SELECT eme.ExchangeMailboxEntryId,eme.MbxIdentity,eme.LegacyMbxDN,eme.MbxDisplayName,eme.MbxAlias,eme.MbxNTUser,eme.MbxNTDomain,eme.MbxArchivingState,eme.MbxExchangeState,eme.ExchangeMbxType,eme.MbxWarningLimit,eme.MbxSendLimit,eme.MbxReceiveLimit,eme.MbxSize,eme.MbxItemCount,eme.DefaultVaultId,eme.City,eme.Company,eme.Country,eme.Department,eme.EmployeeType,eme.FirstName,eme.LastName,eme.Office,eme.State,eme.Title,eme.UseQuota,eme.LastModified,eme.EnabledPstImport,eme.PolicyEntryId,eme.PSTPolicyEntryId,eme.PolicyTargetGroupEntryId,eme.PolicyTargetMemberEntryId,eme.ADMbxDN,eme.ExchMbxGUID,eme.MbxStoreIdentity,eme.ADMbxFlags,eme.DesktopPolicyEntryId,eme.MbxSuspended,eme.MoveArchiveShortcutSubtask,ese.ExchangeServerEntryId,ese.SiteEntryId,ese.ExchangeComputer,ese.ExchangeServerADSPath,ese.ExchangeLegacyDN,ese.ExchangeVersion,ese.ExchangeServicePack,ese.ExchangeServerIdentity,ese.ExchangeServerFQDN,ese.ExchangeServerGCOverride,ese.OranizationEntryId,ese.ManualAdminSecurityDesc,ese.OverrideFlags,ese.DefVaultStoreEntryId,ese.DefIndexingServiceEntryId,ese.ExchServerVersion,ese.ADExchSvrDN,ese.ExtendedConfigurationData,ese.MbxArchiveScannedUTC,ese.MbxArchiveSubmittedUTC,ese.AddedToEVUTC FROM ExchangeMailboxEntry AS eme JOIN ExchangeMailboxStore AS ems ON ems.MbxStoreIdentity = eme.MbxStoreIdentity JOIN ExchangeServerEntry AS ese ON ems.ExchangeServerIdentity = ese.ExchangeServerIdentity WHERE eme.DefaultVaultId = ? |
Migrator server gets exchange quotas from exchange and sets them:
358 11:20:45.394 [5412] (MigratorServer) <7476> EV:L CMailboxHandler::GetEx2KUserQuotaValues (Entry) |
5359 11:20:45.394 [5412] (MigratorServer) <7476> EV:H CMailboxHandler::GetEx2KUserQuotaValues|Active Directory DN of the users mailbox: CN=Duck\, Donald,OU=Users,DC=contoso,DC=com|active directory distinguished name of the users message store:CN=Database01,CN=Databases,CN=Exchange Administrative Group (FYDIBOHF23SPDLT),CN=Administrative Groups,CN=Contoso,CN=Microsoft Exchange,CN=Services,CN=Configuration,DC=contoso,DC=com|
5360 11:20:45.394 [5412] (MigratorServer) <7476> EV:H CMailboxHandler::GetEx2KUserQuotaValues|Binding using the following: GC://ServerDC01.contoso.com/CN=Duck\, Donald,OU=Users,DC=contoso,DC=com
5361 11:20:45.425 [328] (MigratorServer) <5932> EV:M CMailboxHandler::ProcessMessages (Exit) |Success [0] |
5362 11:20:45.425 [8436] (MigratorServer) <3516> EV:M CMailboxHandler::ProcessFolders (Exit) |
5363 11:20:45.425 [8704] (MigratorServer) <10912> EV:L CMailboxHandler::ProcessFolders (Entry) |
5364 11:20:45.441 [8704] (MigratorServer) <10912> EV:L CMailboxHandler::ProcessMessages (Entry) |
5365 11:20:45.441 [5588] (MigratorServer) <3512> EV:M CMailboxHandler::ProcessMessages (Exit) |Success [0] |
5366 11:20:45.519 [5412] (MigratorServer) <7476> EV:M CMailboxHandler::GetEx2KUserQuotaValues (Exit) |Success [0] |
5367 11:20:45.519 [5412] (MigratorServer) <7476> EV:M CMailboxHandler::OpenMailboxMsgStore (Exit) |Success [0] |
244291 11:23:25.213 [8436] (MigratorServer) <3516> EV:M CMailboxHandler::ProcessMessages (Exit) |Success [0] |
244292 11:23:25.213 [7508] (MigratorServer) <3364> EV:M CMailboxHandler::GetEx2KUserQuotaValues (Exit) |Success [0] |
244293 11:23:25.213 [7508] (MigratorServer) <3364> EV:L CMailboxHandler::SetEx2KUserQuotaValues (Entry) |
244294 11:23:25.213 [7508] (MigratorServer) <3364> EV:H CMailboxHandler::SetEx2KUserQuotaValues|Active Directory DN of the users mailbox: CN=Duck\, Donald,OU=Users,DC=contoso,DC=comactive directory distinguished name of the users message store:CN=Database01,CN=Databases,CN=Exchange Administrative Group (FYDIBOHF23SPDLT),CN=Administrative Groups,CN=Contoso,CN=Microsoft Exchange,CN=Services,CN=Configuration,DC=contoso,DC=com|
244295 11:23:25.213 [7508] (MigratorServer) <3364> EV:H CMailboxHandler::SetEx2KUserQuotaValues|Binding using the following: LDAP://ServerDC01.contoso.com/CN=Duck\, Donald,OU=Users,DC=contoso,DC=com
But no mention of what changes were made....
10-18-2012 09:24 AM
I think the changes would have occured just after that, there was no more SetEx2kUserQuotaValues after this line? because all that is doing is the lookup for the user
10-18-2012 09:32 AM
Nope, after this line SandboxConverter lines start & saveset/vault stuff, I believe GetE2kUser... is lookup and SetE2kUser is for updating quotas?
244296 11:23:25.213 [9332] (MigratorServer) <10960> EV:L CCvtSandboxPSIPC::GetConversionResult (Entry) |
244297 11:23:25.229 [9332] (MigratorServer) <10960> EV:M CCvtSandboxPSIPC::GetConversionResult (Exit) |Success [0] |
244298 11:23:25.229 [9332] (MigratorServer) <10960> EV:H CCvtSandboxProxy::WaitForConversion|Conversion completed...
244299 11:23:25.229 [9332] (MigratorServer) <10960> EV:M CCvtSandboxProxy::WaitForConversion (Exit) |Success [0] |
244300 11:23:25.229 [9332] (MigratorServer) <10960> EV:M CCvtSandboxProxy::PerformInsoConversion (Exit) |Success [0] |
244301 11:23:25.229 [9332] (MigratorServer) <10960> EV:L CConverter::SetConvertedByteStream (Entry) |
244305 11:23:25.229 [9332] (MigratorServer) <10960> EV:M CConverter::SetConvertedByteStream (Exit) |Success [0] |
244306 11:23:25.229 [9332] (MigratorServer) <10960> EV:M CConverter::InvokeINSOConversion|INSO conversion|Src Type: MMS|Src Name: C$1$SRC|Dst Type: MMS|Dst Name: C$1$DST|Converter: 0
244307 11:23:25.229 [9332] (MigratorServer) <10960> EV:M CConverter::InvokeINSOConversion (Exit) |Success [0] |
244308 11:23:25.229 [9332] (MigratorServer) <10960> EV:M CConverter::ConvertStream (Exit) |Success [0] |
244309 11:23:25.229 [9332] (MigratorServer) <10960> EV:M CConverter::Convert (Exit) |Success [0] |
244315 11:23:25.229 [9332] (MigratorServer) <10960> EV:M CContentConverter::InvokeConversion (Exit) |Success [0] |
244316 11:23:25.229 [9332] (MigratorServer) <10960> EV:L CConverter::Stat (Entry) |
244320 11:23:25.229 [9332] (MigratorServer) <10960> EV:M CConverter::Stat (Exit) |Success [0] |
10-18-2012 09:54 AM
Need really to see what the rest of this thread is doing:
<7476>
It is starting to do the Get (Mailbox Quota)
It should report, I think, what the quotas were if they were found.
The set should also report what values were set, if any. But only if any were changed.
Can you post the full trace somewhere? Is it 'huge'?
10-18-2012 10:58 AM
It's 10MB in size after zipping, but it has all internal data, it would be hard to go through each line and make sure all data is changed to test names or anonymous, so won't be feasible to post it openly.
I can email perhaps if someone is interested. OR if you know a exact sample line that should be written in logs, I can try to search for that line...
10-18-2012 11:45 AM
You could use something like TextPad to mark and copy to a new file, all the lines with that thread ID on it. Then just send/attach/post the bits from GetEx2kUserQuotaValues... for quite some time after that.
I can tell you the exact lines, if I can get things set up the same here, but unfortunately I don't really have the time to do that this evening.
10-22-2012 06:26 AM
This is what I see when using Locate / Collect / Migrate (note: Server Wizard migration won't expand the quota)
10-22-2012 03:38 PM
Thanks Rob, it definitely helped.
Now I finally see what's setting 2GB/2GB/2GB limit for one of the user, I'll need to run through different users and see what MailboxHandler is doing in each scenario: Any thoughts from below?
1546001 11:26:49.410 [2836] (MigratorServer) <4324> EV:M CMailboxHandler::GetEx2KUserQuotaValues (Exit) |Success [0] |
1546002 11:26:49.410 [2836] (MigratorServer) <4324> EV:L CMailboxHandler::SetEx2KUserQuotaValues (Entry) |
1546003 11:26:49.410 [2836] (MigratorServer) <4324> EV:H CMailboxHandler::SetEx2KUserQuotaValues|Active Directory DN of the users mailbox: CN=Duck\, Donald,OU=Users,DC=contoso,DC=com|active directory distinguished name of the users message store:CN=Database01,CN=Databases,CN=Exchange Administrative Group (FYDIBOHF23SPDLT),CN=Administrative Groups,CN=Contoso,CN=Microsoft Exchange,CN=Services,CN=Configuration,DC=contoso,DC=com|
1546004 11:26:49.410 [2836] (MigratorServer) <4324> EV:H CMailboxHandler::SetEx2KUserQuotaValues|Binding using the following: GC://ServerDC01.contoso.com/CN=Duck\, Donald,OU=Users,DC=contoso,DC=com
1546005 11:26:49.441 [2836] (MigratorServer) <4324> EV:H CMailboxHandler::SetEx2KUserQuotaValues|Setting [mDBOverHardQuotaLimit] to 2097151
1546006 11:26:49.441 [2836] (MigratorServer) <4324> EV:H CMailboxHandler::SetEx2KUserQuotaValues|Setting [mDBOverQuotaLimit] to 2097151
1546007 11:26:49.441 [2836] (MigratorServer) <4324> EV:H CMailboxHandler::SetEx2KUserQuotaValues|Setting [mDBStorageQuota] to 2097151
1546008 11:26:49.441 [2836] (MigratorServer) <4324> EV:M CMailboxHandler::SetEx2KUserQuotaValues (Exit) |Success [0] |
10-23-2012 01:22 AM
This tells me a few things:
a/ The quote which is being read is LOWER than the amount of space needed to ingest the items, otherwise the SetEx2KUserQuotaValues function wouldn't change anything.
b/ You're not seeing (nor am I) the values that come out of the GetEx2KUserQutoaValues - I would expect them to be logged. I mean logging them out is just good practice.. maybe these functions don't.. SYMC Support would be the only ones to tell you whether or not they SHOULD log something out.
c/ The values that were obtained for the limits are all flat ie equal.
In my environment they were set to 3 different (low) values. And the result in my trace is a bump up of each to three different values. Yours all show 2 Gb.
d/ One (remote?) possibility is because the quota is >2Gb. I have personally seen 1-2 issues in the past (when I worked at Symantec) where the product failed to correctly determine things like mailbox size, when the mailbox was over 2 Gb. The 'cure' for this would be for 'someone' to do a bigger repro, and set the values as you have indicated for the quota, and then ingest a PST.
That someone would really need to be SYMC support - and would take quite some effort.
10-23-2012 01:53 AM
That's the issue - Point (d) - the particular user taken in trace lines had mailbox quota above 2GB and EV brought it down to flat 2GB.
I agree, this seems to be an internal bug with platform and will need to be worked upon by SYMC. Will reach out to them accordingly.
Thanks again for pointing in right direction !