Post on 23-Dec-2015
Nathan MuggliESE Program ManagerMicrosoft Corporation
Exchange Storage for Insiders
Todd LuttinenStore Program ManagerMicrosoft Corporation
ARC306
Agenda• Storage Trends• Larger, but not Faster• Data-At-Rest Protection• Power Consumption
• ESE• Exchange 2013 SP1 ESE Enhancements• Update on Windows Server 2012 R2 and Exchange 2013 Sp1
• Future Exchange Storage Enhancements
• Store• Architecture overview• Exchange 2013 SP1 Store Enhancements• Future Exchange Store Enhancements
• Exchange 2013 recap
Storage Trends
LARGER, BUT NOT FASTER
2012 2013 2014 2015 2016 2017
620 700 820 920 1,050 1,200
4,000 5,000
6,000
10,000
12,000
16,000
1,429 2,000
2,286
HDD Capacity and Areal Density Forecast 2012-2017
Larger, but not Faster Drives3.5 HDD Capacity in GB
Areal Density required @ 7 plattersAreal Density GB sq” (PMR)
SMR & HAMR intended to close the Areal Density gap
Perpendicular Magnetic Recording (PMR)
• Perpendicular magnetic recording (PMR) technology is the current HDD technology
• PMR has reached the upper plateau (1.2TB /platter). PMR assist technologies will be necessary to sustain a 15–20% year-over-year production areal density growth rate
Shingle Magnetic Recording (SMR )
• Shingled Magnetic Recording is an Areal Density “assist” technology which extends capacity (30%) of existing PMR head
• Breaks performance characteristics of traditional Databases (ESE/SQL). -80% IOPS based on Jetstress Test .
Heat Assisted Magnetic Recording (HAMR)
• Manufacturing complexities mean HAMR is still a ways out
Shingled Write Overview
head motion
cornerhead
scans
cross
head motion
cornerheadwritehead
progressivewrites
down track
track
In a shingled write, the data tracks are written in a particular direction radially, and are only written once with a write head wider than the track pitch
Conventional Recording uses a track pitch that keeps data separate.
Track Pitch
Shingle Write Recording overlaps tracks, allowing for a narrower track pitch. Each track is only written once until any remaining valid data is moved.
Track Pitch
Storage Trends
DATA-AT-REST PROTECTION
POWER CONSUMPTION
Storage Trends
ESE on Phone
DEVICE POWER CONSUMPTION
http://research.microsoft.com/~ranveer/docs/email-energy.pdf
Storage Trends - Takeaway Larger but not Faster Drives
Exchange 2013 reduces IOPS by +50% compared with Exchange 2010. Supports multiple databases per volume to maximize available IOPS
JBOD still best for COGS (capacity + performance + cost) Continue riding IOPS/Capacity curve up to 10TB (PMR) Drives
Continue riding IOPS/Capacity curve up to 10TB (PMR) Drives SMR Drives not supported with Exchange 2013
Data-at-rest Protection Utilize Bitlocker for Data-at-rest protection with Exchange 2013 Office365 is already utilizing Bitlocker. From http://trustoffice365.com
“All email content is encrypted on disk using BitLocker Advanced Encryption Standard (AES) encryption. Protection covers all disks on mailbox servers and includes mailbox database files, mailbox transaction log files, search content index files, transport database files, transport transaction log files”
Self-Encrypting-Drives (SED) promising but not viable in Enterprise scenarios due to the requirement of Drives being directly attached to ATA channel.
Power Consumption Don’t ignore benefit of power efficient Storage technologies. Helium technology very promising for both Areal Density increase and Power
consumption decrease (-2 watts compared to conventional drive)
What’s newExchange 2013 SP1 ESE Enhancements
Exchange 2013 SP1 ESE EnhancementsTracing improvements• ESE ETW Tracing
New Keywords and Tasks for every component from transactions to i/o xperf -start JetStressTrace -on Microsoft-Exchange-ESE -f Microsoft-Exchange-ESE-Trace.etlxperf -stop JetStressTracexperf Microsoft-Exchange-ESE-Trace.etl
• ESE IO Debug Channel
Exchange 2013 JetStressPerformance• Database extension +30% improvement
Tool Enhancements• ESEUTIL verbose output options• Log Dump, Space Report, Table/Page/Node Dump
KeywordsError PerformanceTrace TransactionSpaceBFIOLOGTaskBFRESMGRJETTraceTag
TasksESE_TraceESE_BF_TraceESE_Block_TraceESE_NewPage_TraceESE_ReadPage_TraceESE_PrereadPage_TraceESE_WritePage_TraceESE_EvictPage_TraceESE_TouchPage_TraceESE_LatchPage_TraceESE_DirtyPage_TraceESE_TransactionBegin_TraceESE_TransactionCommit_TraceESE_TransactionRollback_TraceESE_AllocExt_TraceESE_FreeExt_TraceESE_AllocPage_TraceESE_FreePage_TraceESE_IOREQHeapEnqueue_TraceESE_IOREQHeapDequeue_TraceESE_IOCompletion_TraceESE_LogStall_TraceESE_LogFlush_TraceESE_EventLogInfo_TraceESE_EventLogWarn_TraceESE_EventLogError_TraceESE_TimerQueueSchedule_TraceESE_TimerQueueRun_TraceESE_TimerQueueCancel_TraceESE_TimerTaskSchedule_TraceESE_TimerTaskRun_TraceESE_TimerTaskCancel_TraceESE_TaskManagerPost_TraceESE_TaskManagerRun_TraceESE_GPTaskManagerPost_TraceESE_GPTaskManagerRun_TraceESE_ThreadCreate_TraceESE_ThreadStart_TraceESE_VersionPage_TraceESE_VersionCopyPage_TraceESE_CacheResize_TraceESE_CacheLimitResize_TraceESE_CacheScavengeProgress_TraceESE_ApiCall_TraceESE_ResMgrInit_TraceESE_ResMgrTerm_TraceESE_CachePage_TraceESE_MarkPageAsSuperCold_Trace
ESE ETW Tracing in Sp1
Exchange Server Jetstress 2013 Tool• Simulate Exchange disk I/O load on a server• Verify performance and stability of your disk subsystem before putting your Exchange
server into a production environment• Jetstress simulates the Exchange database and log file loads produced by a specific
number of users• Use Performance Monitor, Event Viewer, and ESEUTIL in conjunction with Jetstress to
verify that your disk subsystem meets or exceeds the performance criteria you establish
• Download from http://aka.ms/Jetstress2013• Latest Version 15.0.775.8 Published Sep 11, 2013 • Requirements• .NET Framework 4.5• Exchange 2013 binaries: ESE.DLL, ESEPerf.dll, ESEPerf.ini, ESEPerf.hxx• VC11 runtime
Exchange Server 2013 JetStress Tool NEW UI OPTION TO ALLOW JETSTRESS TO CONTINUE RUNNING EVEN IF A
DISK FAILS
Exchange Server 2013 JetStress Tool TEST SUMMARY (FAILURE) DUE TO LOST FLUSHES AND TEST
LOGS
Windows Server 2012 R2 &Exchange 2013 Sp1Storage Technologies and impact on Exchange
Windows Server 2012 R2 and Exchange 2013 SP1Storage Technologies• Storage Spaces
Tested with Exchange 2013 Sp1
• Storage Tiering Tested with Exchange 2013 Sp1
• ReFS for Data Volumes Tested with Exchange 2013 Sp1 Best Practice: Disable Integrity on ESE
DB and Log Files
• Data Dedupe× Not Supported with live Exchange
2013 Sp1 databases
RoadmapFuture Exchange ESE Enhancements
Database ResiliencyDatabase Divergence Detection
Performance / IOPS reduction
Optics
ESE Developer experience
Future Exchange ESE Enhancements
Performance / IOPS reduction• Search Indexing from Passive Copies• Saves network bandwidth and reduces IOPs
• Log compression improvements• Reduces WAN costs through IOPs reduction
• Long Value contiguity improvements
Future Exchange ESE Enhancements
Future Exchange ESE Enhancements
Optics• Tracing and
Eventing improvements
Future Exchange ESE EnhancementsESE Developer
experience ISAM PowerShell Example: Export DB Schema• Persistent Dictionary• ISAM Layer• A managed layer with object model which
simplifies writing DB code• Exposed via an assembly
(Microsoft.Exchange.Isam.dll)• Target Customers are Developers and
sophisticated PowerShell IT Pros
• ESE MSDN Bloghttp://blogs.msdn.com/b/jet/
Exchange 2013Information Store
What is “Store” (aka MSExchangeIS)• Process that manages ESE mailbox
database(s)• Responsible for the following functionality:• Logical schema of data in database (tables, rows, columns)• All read/write access to items in mailbox database via RPC operations• Access control to items within mailbox • Management of indices supporting client views over items• Reliable events supporting event-based assistant infrastructure• Maintenance tasks to disconnect and drop mailboxes (SyncWithDS)
Exchange Storage History (1996-1999)
• Exchange 4.0, Exchange 5.0, Exchange 5.5• Supports i386, Alpha, and MIPS architectures• Bundled directory service (ExDS)• Single native store process directly supporting MAPI clients• (1) mailbox EDB and (1) public folder EDB per server• Local RAID storage (18GB drives, volume sizes less than 200GB )• ~10MB mailbox on server (client PST storage)
Exchange Storage History (2000-2006)
• Exchange 2000, Exchange 2003• Supports i386 architecture (virtual address space up to 3GB)• Integration with Windows Active Directory • Single native store process directly supporting MAPI clients• Store support for 3rd party code in-process (events, VSAPI)• Native protocol processes (POP, IMAP, OWA, SMTP) with front-end
proxy• Inter-process communication via shared memory access • Support for up to 20 databases per server (database = EDB + STM)• Integrated full-text search (1st generation)• Shared storage clusters with Storage Array Networks (RAID LUN)• ~100MB mailbox on server (client OST and PST storage)
• Exchange 2007, Exchange 2010• Supports x64 architecture• Integration with Windows Active Directory • Single native store process directly supporting MAPI clients*• Store support for 3rd party code in-process (events, VSAPI)• Managed Event and Time-Based Assistant Infrastructure • Managed protocol processes (POP, IMAP, OWA, EWS, EAS, MOMT*) • Inter-process communication via XSO/MAPI/RPC over TCP/IP• Support for up to 100 ESE databases per server • Integrated full-text search (2nd generation)• Database replication, SAN and local JBOD (1-2 TB drives)• ~10GB mailbox + ~10GB archive (client OST storage for primary)
* MOMT (RPC Client Access) introduced in Exchange 2010 (no MAPI client access direct to store)
Exchange Storage History (2007-2012)
Exchange Storage History (2013+)
• Exchange 2013 and Beyond• Supports x64 architecture• Integration with Windows Active Directory • Managed store worker process per database• Managed Event and Time-Based Assistant Infrastructure • Managed protocol processes (POP, IMAP, OWA, EWS, EAS, MOMT) via Café• Inter-process communication via XSO/MAPI/RPC over LRPC• Support for up to 100* ESE databases per server • Integrated full-text search (3rd generation)• Database replication, local JBOD (4-8TB drives)• ~200GB mailbox + ~200GB archive (OST client storage with sync slider)
* Exchange 2013 CU2 introduced support for up to 100 databases
Exchange 2013 Storage High Level Architecture
RPC Clientprocesses
Store workerRPC Server Processes with MAPI
and AdminRPC endpoints
Local Inter-Process Communication is RPC-based
Databaseand Process
management
Client-Specific Protocols (POP, IMAP, SMTP, HTTP, EAS, etc)
RopParser/RopHandler
Mapi (context/session/mailbox/folder/message)
LogicalDataModel
PhysicalAccess
Managed ESE
ESE.DLL
StoreCommonServices(Mailbox
State, Mailbox Tasks,
Replid Guid Map,
Extended Property
Map)
DirectoryServices
MAPI.Net/ExRPC
XSO
POP
AD
Dri
ver
MAPI.Net/ExRPC
XSO
EWS
AD
Dri
ver
MAPI.Net/ExRPC
XSO
OWA
AD
Dri
ver
MAPI.Net/ExRPC
XSO
IMAP
AD
Dri
ver
MAPI.Net/ExRPC
XSO
MOMT
AD
Dri
ver
MAPI.Net/ExRPC
XSO
ActiveSync
AD
Dri
ver
Store Worker Process (1 per database)
StoreServiceProcess
MAPI.Net/ExRPC
XSO
MailboxTransport
AD
Dri
ver
MAPI.Net/ExRPC
XSO
Search
AD
Dri
ver
MAPI.Net/ExRPC
XSO
Event and Time-BasedAssistants
AD
Dri
ver
Repl(Active
Manager)
IOPS Reductions: Store Schema Elements
Element E2007 E2010 E2013
Physical Contiguity (ESE)
Poor physical contiguity of leaf pages. Hence many, small size, IOs (1 for each page)
Excellent physical contiguity of leaf pages. So fewer, large size IOs, spanning N pages
Logical Contiguity (Store)
Headers for each folder kept in separate table. So many, small
size, IOs spread over many tables
Folder, Message & Attachment table per mailbox. Message table consists of physical columns and property blobs. High message per page density means fewer large lOs to retrieve many messages for views
Temporal Contiguity (Views)
All views and indexes updated each time a mail is delivered. So many, small size, IOs spread over time
Views and indexes updated only when they are accessed by user. So fewer, large sized, IOs done together.
Replacing Random IO with Sequential IO to squeeze more IOPS from storage
Database Schema ElementsTables optimized for sequential I/O
• Global Tables• Globals – database version, etc • Mailbox – MailboxNumber, Owner Info, Locale, LastLogonTime, etc• DeliveredTo – duplicate delivery information• Events – reliable events for assistants
• Tables partitioned by MailboxNumber• Folder - FolderId, Item Count, Size, PropertyBlob• Message – DocumentId, MessageId, FolderId, PropertyBlob,
OffPagePropertyBlob, MessageClass ordered by DateReceived• Attachment – AttachmentId, Name, Size, CreationTime, etc• PhysicalIndexes (partitioned by LogicalIndex)
Database Schema ElementsIOPS reduction through Message Table Property Storage and Compression
• Blobs used to store collection of MAPI properties• Referred to as On-page and Off-page property blobs• ESE compression optimizes physical storage of blob data• Compression more efficient when input contains more properties
• PropertyBlob• Properties previously stored in Header table in single message table column• Property promotion OffPagePropertyBlob PropertyBlob possible• Blob size limited to eliminate LV tree access for core message properties
• OffPagePropertyBlob• ESE LV Hints push storage of this blob into separate LV tree• Reading LV tree involves large sequential I/O (some fragmentation)
Database ESE cache management• Algorithm will allocate total ESE cache available for all store worker processes based on physical RAM• ~20% of total memory allocated to ESE cache (when running with MaximumActiveDatabases)
• ESE cache allocated to each database (store worker process) based on number of local database copies and MaximumActiveDatabases configuration• Static amount of ESE cache allocated to passive and active database copies
• Passive database allocates 20% of max ESE cache target used for active database• Store worker process will only use max cache target when operating as active
• Max cache target computed at service process startup• Restart service process when adding/removing copies or changing maximum active database
configuration
Exchange IOPS Trend
Exchange 2003
Exchange 2007
Exchange 2010
Exchange 2013
0
0.2
0.4
0.6
0.8
1
DB IOPS/Mailbox
IOPS/Mailbox
+99% * Reduction!
* Similar usage profile (93% reduction with increased usage profile)
Multiple Database Copies/ JBOD DiskActive User Distribution
• Number of copies/disk less than or equal to number of copies per database
• Use DB copy activation preference to distribute active users across available disks hosting database copies
• Budget for server/disk failures and passive IOPS requirements
• If lag copy used, don’t have to capacity plan for all DB copies active
Server2
DAG
DB1 Active
DB2 Passive
DB3 Passive
DB4 Passive
Server1
Server3
Server4
DB1 Passive
DB2 Active
DB3 Passive
DB4 Passive
DB1 Passive
DB2 Passive
DB3 Active
DB4 Passive
DB1 Passive
DB2 Passive
DB3 Passive
DB4 Active
Database Process Isolation & Management
• Microsoft Exchange Replication service process (msexchangerepl.exe)• Responsible for issuing mount/dismount operations to store• Initiates failovers on failures reported by ESE, Store, Search and Responders
• Store service process/controller (Microsoft.Exchange.Store.Service.exe)• Manages worker process lifetime based on mount/dismount operations received• Logs failure item when store worker process problems detected (exit, hung)• Terminates store worker process in response to “dirty” dismount during failover
• Store worker process (Microsoft.Exchange.Store.Worker.exe)• One process per database, RPC endpoint instance is database GUID• Database started in passive state, responsible for block-mode replication • Fast transition to active when mounted, responsible for processing RPC operations• Transition from passive active increases worker ESE cache size 5X
Elimination of scheduled maintenance
• Recurring maintenance implemented within time-based assistant (TBA) infrastructure as multiple assistants:• StoreMaintenance: lazy index maintenance, isinteg, discretionary Subobject cleanup• StoreUrgentMaintenance: SubObject cleanup (threshold exceeded)• StoreDirectoryServiceMaintenance: disconnected mailbox expiration
• Workload Management monitors CPU and replication health • Task execution throttled/deferred when resource pressure exists• RPC latency monitor disabled (to be replaced by disk health resource monitor in future release )
• Background ESE database scanning rate further throttled• Based on datacenter disk failure analysis, target to complete background database scan within 4
weeks (based on multiple databases on 8 TB disks)
• Periodic tasks to generate mailbox quota notification removed• Quota notifications generated at mailbox logon time no more than once daily
Mailbox Quota Management & Notifications
• Over-quota notification overhead reduced• Storage utilization computed in real-time as CRUD operations performed• At logon time, system evaluates mailbox quota against policy and sends over-quota
notification message once per notification interval (daily)• Quota notifications are NOT sent to inactive mailboxes
• Mailbox size calculation is more accurate measurement of mailbox database storage used• Includes both internal and end-user items/properties• Represents 100% of logical storage used by mailbox in database
• Reported mailbox size will likely increase when moved to Exchange 2013• No increase in database footprint, just the attribution of logical space to each
mailbox• Should plan to increase quota per mailbox by ~30% to accommodate change in
space accounting
Exchange 2013 SP1 Store EnhancementsManagement
Database schema updatesNew mailbox shape limitsEnhancements for space investigationsRetrieve status of mailbox repair tasks
ScalabilitySupports more databases per serverConvert additional RPC operations frequently holding exclusive locks to shared locks Limit concurrent waiters on mailbox lock (MailboxLockMaximumWaitCount = 10)
MonitoringAlerting by HealthSet to consolidate number of alerts per serverDatabaseRepeatedMountsMonitor to detect repeated database failoversDatabaseAvailabilityMonitor DatabaseAvailabilityEscalationProcessingMonitor
MiscelleneousLastLogonTime property moved from source server to target serverMore cases support mailbox signature preserving move (no need to restart Outlook)Performance fix for EmptyFolder (schema change)
Database Schema Upgrades (Exchange Team Blog)• Infrastructure to safely upgrade schema of each database in an
Exchange 2013 DAG deployment
• Requests database schema upgrade for each of the local database copies during CU or Service Pack installation• RequestedDatabaseSchemaVersion set to MaximumSupportedDatabaseSchemaVersion for each database
• Current database schema info can be retrieved for each database using Get-MailboxDatabase (using -Status parameter)• CurrentSchemaVersion: current database schema version• RequestedDatabaseSchemaVersion: equal CurrentSchemaVersion after next database mount
• Supported versions of each database copy can be retrieved using Get-MailboxDatabaseCopyStatus• MinimumSupportedDatabaseSchemaVersion: minimum schema version supported by database copy• MaximumSupportedDatabaseSchemaVersion: maximum schema version supported by database copy
• Update-DatabaseSchema can be used to manually request upgrade• Schema upgrade at mount time when RequestedDatabaseSchemaVersion > CurrentSchemaVersion• Mailbox schema upgrade at first logon after database schema upgrade
Example: Database Schema Upgrade
Server2
DAG
DB3 Passive
Server1
Server3
Server4
DB3 Passive
DB4 Passive
DB1 Passive
DB1 Passive
DB2 Passive
1. Remove active databases from S1
2. Upgrade S1, max supported version increased from 0.121 to 0.126 (schema upgrade request for each local DB copy fails because other servers only support 0.121)3. Remove active databases from S2
4. Upgrade S2 , max supported version increased from 0.121 to 0.126 (schema upgrade request for each local DB copy fails because other servers only support 0.121)5. Remove active databases from S3
6. Upgrade S3 , max supported version increased from 0.121 to 0.126 (schema upgrade request for each local DB copy fails because other servers only support 0.121)7. Remove active databases from S4
8. Upgrade S4 , max supported version increased from 0.121 to 0.126 (schema upgrade request for each local DB copy succeeds because all servers support 0.126)
DB1 Active
DB1 Passive
DB1 Passive
0.121 capable0.126
capable0.121
capable0.126
capable0.121
capable0.126
capable0.121
capable0.126
capable
DB2 Passive
DB2 Passive
DB2 Active
DB1 Passive
DB2 Passive
DB3 Passive
DB3 Active
DB3 Passive
DB4 Active
DB4 Passive
DB4 Passive
DB4 Passive
9. Move DB4 to S4 (DB4 schema upgrade succeeds during mount operation)
DB4 Active
DB1, DB2, DB3 schema upgrade on next mount
Mailbox Shape Limits• Enforce practical limits that prevent runaway
usage• Preserve QoS for well behaved mailboxes
• Limits in Exchange Online (online documentation)• MailboxMessagesPerFolderCountWarningQuota : 900000• MailboxMessagesPerFolderCountReceiveQuota : 1000000• DumpsterMessagesPerFolderCountWarningQuota : 2750000• DumpsterMessagesPerFolderCountReceiveQuota : 3000000• FolderHierarchyChildrenCountWarningQuota : 9000• FolderHierarchyChildrenCountReceiveQuota : 10000• FolderHierarchyDepthWarningQuota : 250• FolderHierarchyDepthReceiveQuota : 300
• Limits in on-premises product default to Unlimited• Explicitly set using set-Mailbox cmdlet• Displayed using get-MailboxStatistics cmdlet
# of msgs per
folder# of msgs per dumpster
folder# of folder children
anywhere in hierarchyDepth of folder hierarchy
MailboxStatistics: Physical vs. Logical Space• Previously required ESEUTIL /MS on offline
DB copy• Get-MailboxStatistics extended to display
physical table sizes of each mailbox• Get-MailboxStatistics with identity parameter will provide current stats• Get-MailboxStatistics with database parameter will provide cached
stats
[PS] D:\>Get-MailboxStatistics <MailboxId>| FL *size
TotalDeletedItemSize : 3.545 GB (3,805,959,899 bytes)TotalItemSize : 45.73 GB (49,100,346,075 bytes)
MessageTableTotalSize : 18.02 GB (19,344,031,744 bytes)MessageTableAvailableSize : 31.69 MB (33,226,752 bytes)AttachmentTableTotalSize : 8.071 GB (8,665,759,744 bytes)AttachmentTableAvailableSize : 2.906 MB (3,047,424 bytes)OtherTablesTotalSize : 73.47 MB (77,037,568 bytes)OtherTablesAvailableSize : 736 KB (753,664 bytes)
Logical Mailbox Size (TotalItemSize + TotalDeletedItemSize)
Physical Mailbox Size (MessageTableTotalSize + AttachmentTableTotalSize + OtherTablesTotalSize)
49.273 GB
26.158 GB
Ratio of Logical to
Physical size will vary by
mailbox based on content
Mailbox Repair Task Status• New-MailboxRepairRequest used to create repair tasks, new CorruptionTypes added for more
cases• Can scope all mailboxes on database or a specific mailbox• Some CorruptionType values cause resource expensive tasks that can impact end-user experience
• Get-MailboxRepairRequest will retrieve repair task status from store (not persisted between mounts)• Can scope database, mailbox or specific task ID (returned by New-MailboxRepairRequest)• Summary of progress (% completion) of all tasks (corruption types) and sum of corruptions detected/fixed
[PS] D:\data\scripts>Get-MailboxRepairRequest 425a70a1-7b24-47ef-98f9-3131b7f309b4\da6ef632-e5ed-4193-bbfa-3fa4f70afa11
Identity : 425a70a1-7b24-47ef-98f9-3131b7f309b4\da6ef632-e5ed-4193-bbfa-3fa4f70afa11
Mailbox : ac2dcfd6-555b-460e-85bf-1c656367dc2c
Source : OnDemand
Priority : High
DetectOnly : False
JobState : Succeeded
Progress : 100
Tasks : {SearchFolder, FolderView, AggregateCounts}
CreationTime : 3/18/2014 7:08:49 PM
FinishTime : 3/18/2014 7:10:53 PM
LastExecutionTime : 3/18/2014 7:10:53 PM
CorruptionsDetected : 0
ErrorCode :
CorruptionsFixed : 0
TimeInServer : 00:01:53.1760000
Corruptions : {}
Store-Specific Managed Availability Scenarios
Name Trigger/Recovery sequence
Database Availability 16 logon failures in 22 minutes Escalate
Store service not running 2 failures in 12 minutes Restart service Bugcheck Escalate
Database Free space Free disk space drops below 10% Escalate
Store service process repeatedly crashing 3 crashes for store service in 1 hour Escalate
Store worker process repeatedly crashing 3 crashes for store work (across all workers) in 1 hour Escalate
Percent RPC requests 90% of available threads per database for 10 min Database Failover Escalate
70ms RPC latency 70ms RPC Avg latency for 10 min Determine impact scope Escalate
150ms RPC latency 150ms RPC Avg latency for 10 min Determine impact scope Escalate
Mailbox quarantined More than 1 mailbox quarantined on database for 10 minutes Escalate
Assistants service not running 2 failures in 12 minutes Restart service Escalate
Event assistants behind watermarks Assistant watermark age exceeds 1 hour threshold for 4 hours Escalate
Number of active background tasks Count of active background tasks exceeds threshold for 15 min Escalate
Database Repeatedly Mounting 3 database mount attempts in 1 hour Escalate
Future Exchange Store Enhancements• Pulsing Index Creation• Index operations require exclusive mailbox lock• Divide single long operation into multiple shorter operations• Allows other RPC operations to be processed during index creation• Potential to increase latency of RPC operation that caused index
creation
• Automated Mailbox Repair Tasks• Proactively detect and repair mailbox corruptions• Discretionary workload that occurs during non-peak hours• Tasks interrupted when resource monitors show unhealthy state• Only targets mailboxes with logon activity• Mailbox repair task can occur no more than once per interval (month)
• Management support for passive databases
Summary• Exchange mailbox storage has…• Compared with Exchange 2010, reduced DB IOPS by 40-78%*...again!• Optimized for large disks (up to 8TB) and mailboxes (+100GB) • Optimized for large/slow/low-cost disks (SATA/Tier2)• JBOD/RAID'less storage a viable option for the masses• Better isolation leading to higher reliability• Built-in monitoring and recovery to drive higher availability• Improved with every CU based on experiences from Exchange Online!
* Outlook online vs. cache mode scenarios
Please complete session evaluations
1. Go to the Pre-Release Programs Booth
2. Tell us about your Office 365 environment/or on premises plans
3. Get selected to be in a program
4. Try new features first and give us feedback!
Start now at:http://prereleaseprograms-public.sharepoint.com/
Pre-Release Programs TeamBe first in line!
© 2014 Microsoft Corporation. All rights reserved. Microsoft, Windows and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries.The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.