Database Availablilty Group
A database availability group allows you to have replica’s of a database on other servers to bring online. You can have upto 16 members in a DAG. Database and Log file paths must be the same on all servers that host a copy. Eg \\EXC1\E$\DB1\ and \\EXC2\E$\DB1.
C:\Progam Files\Microsoft\Exchange Server\V15\Mailbox\DB1
- .jrs – These files are reserve transaction log files. They are written to if the disk runs out of space, therefore always making sure Exchange can cleanly complete.
- .edb – This is the Exchange mailbox database file
- .chk – This is a checkpoint file which shows the placeholder in the .log files
- .log – These files are the transaction logs for the Exchange database. Changes are written to both RAM and the .log file before being commited to the .edb to make sure that if the server fails no emails are lost.
Database and Log file location
For optimal performance seperate the .edb and .log files onto seperate disks.
Public Folders are now mailboxes which are placed into a Mailbox Database like any user account. You can have a seperate database to make administration easier. This allows Public Folders to be part of a DAG. Exchange 2013 CU 1 added the ability to add Public Folders to OWA – they don’t show up by default. You no longer need to specify the default Public Folder server for a user. There is a 100GB limit on these mailboxes, after which you need to seperate them into other databases using the script SplitPublicFolderDatabase.ps1. If you create mulitple mailboxes users still only see one Public Folder tree in Outlook. A useful PowerShell command is Get-MailPublicFolder.
Linked Mailboxes are mailboxes which are for a user account in another domain. This is usually done during a migration from one domain to another. There must be a 2-way trust between the domains.
There is a default Global Address List but you can also create new ones. The clients connect to the OAB virtual directory to access the Global Address List. The Address Book can be made available offline. To add a new GAL you must use PowerShell (New-GlobalAddressList and New-AddressBookPolicy). One thing to note is that the Department attribute (which is usually used in the LDAP filter) is not automatically replicated to the Global Catalogue and initial replication needs to be configured manually (MS Link).
Client Access Server
You should have 1 Client Access Server for every 4 Mailbox servers for high availability.
In Exchange 2010, clients (eg Outlook) connected using RPC to the CAS which then passed it onto the mailbox server. In Exchange 2013 the clients connect using RPC over HTTP and the CAS just acts as a proxy for client connections and smtp transactions. This means that you can put a hardware load balancer (Link) in front of the CAS servers without using a CAS Array. The hardware load balancer would just need a VIP and the server names. The CAS now uses the GUID of the mailbox, Domain name and mailbox database name to find the mailbox.
Outlook Web App (OWA)
This is hosted on the CAS server and is an IIS virtual directory.
If you set OWA to privite it signs out after 15 minutes of inactivity, where as public signs out after 12 hours of inactivity. There is a PowerShell cmdlet to enable the choice.
This allows Outlook to auto populate the information required to create a profile. It is also used to determine the Public Folder database.
Shows the Free/Busy information and the Calendar assistant.
This shows information such as Out of office, number of recipients (if over a threshold) and if a mailbox is full. In Exchange 2013 you can also set it for all emails. The maximum number of characters is 250.
Exchange Web Services (EWS)
This is used for third party applications to communicate with Exchange.
This uses RPC over HTTP to access Exchange.
CheckDatabaseRedundancy.ps1. This script checks the redundancy of replicated databases, and it generates events if database resiliency is in a compromised state.
Get-MailboxDatabaseCopyStatus. Use this cmdlet to view status information about a specific mailbox database copy, all copies of a database, or all mailbox database copies on a server or in the organization.
Test-ReplicationHealth. Use this cmdlet to perform a variety of tests, and to report back status for various replication components.
CollectOverMetrics.ps1. This script collects statistics and information about switchovers and failovers. The data reported is based on past events. This script includes metrics for continuous replication – block mode, and more details from the replication and replay pipeline. It also features enhanced reporting.
CollectReplicationMetrics.ps1. This script collects statistics about replication in real time while the script is running.
Event logs. In addition to events in Windows logs, there are also Exchange Server specific event logs located in the Applications and Services node. The two specific logs that are of interest for high availability are the High Availability and MailboxDatabaseFailureItems logs.