You are on page 1of 47

Server 2013

1. Installation guide

Here we go, this is the first part of Exchange 2013 Preview/beta. It's will walk you through the installation procedure using Windows 2008 R2 SP1. Since Exchange Server 2013 beta was released a couple of days ago Im glad to announce that my first installation is done and heres a complete walk through. My setup is basic, using one server as domain controller, Windows 2008 R2. Initially for Exchange Im using 3 servers, 1 server for the CAS role and 2 servers for the Mailbox role. There are some prerequisites that need to be installed/removed before the installation of Exchange can take place. Note: Its now recommended to install the Mailbox server first. So Im starting with that server. Step 1. Install the administration pack using the commands below, make sure to restart the server before proceeding to step 2. Import-Module ServerManager Add-WindowsFeature RSAT-ADDS

Step 2. Install the Windows features that Exchange uses, for Mailbox and CAS server use the command below: Import-Module ServerManager Add-WindowsFeature Desktop-Experience, NET-Framework, NET-HTTP-Activation, RPC-overHTTP-proxy, RSAT-Clustering, RSAT-Web-Server, WAS-Process-Model, Web-Asp-Net, WebBasic-Auth, Web-Client-Auth, Web-Digest-Auth, Web-Dir-Browsing, Web-Dyn-Compression, Web-Http-Errors, Web-Http-Logging, Web-Http-Redirect, Web-Http-Tracing, Web-ISAPI-Ext, Web-ISAPI-Filter, Web-Lgcy-Mgmt-Console, Web-Metabase, Web-Mgmt-Console, Web-MgmtService, Web-Net-Ext, Web-Request-Monitor, Web-Server, Web-Stat-Compression, Web-StaticContent, Web-Windows-Auth, Web-WMI

Step 3. When the feature is completed. Continue with the installation of the required components, use the links below to download the components. .NET Framework 4.5 RC Windows Management Framework 4.0 Unified Communications Managed API 4.0, Core Runtime 64-bit Office 2010 Filterpack x64 Office 2010 Filterpack SP1 x64 KB 974405 (Windows Identity Foundation) KB 2619234 (RPC over HTTP) KB 2533623 (Remote code execution) Note: Make sure to uninstall the Visual C++ 11 Beta Redistributable (x64) before starting the Exchange 2013 installation. You can have a look at the setup.exe parameters using setup.exe /? setup.exe /help:install

Step 4. Start the installation using unattended installation for the Mailbox server role setup.exe /mode:install /roles:Mailbox, ManagementTools /IAcceptExchangeServerLicenseTerms /InstallWindowsComponents /OrganizationName:Testlabs /TargetDir:"D:\Program Files\Microsoft\Exchange Server\V15" The installation process starts up and prepare the organization for Exchange 2013, install the necessary Windows components. The schema prep can also be done manually using setup.exe /preparead, Ive chosen to go with the default behavior. When for the Mailbox server role installation is successfully finished it will tell you to restart the server.

Step 5. Start the installation of the Windows features for the CAS server role Import-Module ServerManager Add-WindowsFeature RSAT-ADDS Add-WindowsFeature Desktop-Experience, NET-Framework, NET-HTTP-Activation, RPC-overHTTP-proxy, RSAT-Clustering, RSAT-Web-Server, WAS-Process-Model, Web-Asp-Net, WebBasic-Auth, Web-Client-Auth, Web-Digest-Auth, Web-Dir-Browsing, Web-Dyn-Compression, Web-Http-Errors, Web-Http-Logging, Web-Http-Redirect, Web-Http-Tracing, Web-ISAPI-Ext, Web-ISAPI-Filter, Web-Lgcy-Mgmt-Console, Web-Metabase, Web-Mgmt-Console, Web-MgmtService, Web-Net-Ext, Web-Request-Monitor, Web-Server, Web-Stat-Compression, Web-StaticContent, Web-Windows-Auth, Web-WMI Make sure to restart the server after the Windows features got installed. Step 6. Start the installation of the CAS server role setup.exe /mode:install /roles:ClientAccess, ManagementTools /IAcceptExchangeServerLicenseTerms /InstallWindowsComponents /OrganizationName:Testlabs /TargetDir:"D:\Program Files\Microsoft\Exchange Server\V15" Since this is the second server, the schema prep is already done so the installation will skip that step. When its finished it will look like the picture below, a restart of the server is required.

The installation of both servers are now completed. Next blog post will be around how to configure Exchange 2013. Thanks for reading, looking forward to your comments about the post and also about Exchange 2013 in general.

2. Basic configuration, Configure Mail Flow and Certificates


If you havent read it already, I did post a complete guide for installing Exchange 2013, it can be found here. That was part 1, now its time for part 2. Which of course is the configuration of the server setup. We have lots of changes between how you configured Exchange 2007/2010 and 2013. First thing is that Exchange Management Console is gone and replaced by a refreshed ECP called Exchange Admin Center (EAC), built on Silverlight (I suppose). The old Exchange Management Shell (EMS) is still there, so I suppose lots of us geeks will use more PowerShell in the near future. The fact that EMC is replaced will make the administration easier and more portable, but I still like the EMC better. I will like the EAC better after used it for a while. This portable administration together with Remote PowerShell will be awesome. I will use both methods for the configuration steps, both EAC and PowerShell. The easiest way to find the URL path to the EAC is to start the Exchange Management Shell and run the command below: Get-EcpVirtualDirectory | fl *url* The picture below is my output from my lab environment

So lets get things started.. Start up an Internet browser and go to the URL output from the command above

Mail Flow Lets get the mail flow configured first so we can receive mails from external senders. In EAC: on the left side (menu) press Mail Flow.

Accepted Domains Ensure sure that your domains that should be used for SMTP is listed in here for making Exchange able to receive mails for these domains. More info about Accepted Domains can be found here. In EAC: After selecting Mail Flow to the left, press Accepted Domains at the top menu in the middle.

If your domain is not listed and you need to add it, press the plus mark and fill in the information, like my example below.

Using PowerShell: Since Im a geek I like to use PowerShell because it gives you the advantage of see what happens, have the full control and easily build scripts. For listing and adding a domain like above in PowerShell you should write: Get-AcceptedDomain New-AcceptedDomain Name testlabs.com DomainName testlabs.com DomainType Authoritative

Email Address Policies These policies are used to stamp each user mailbox object with an email address/SMTP address. These policies does not remove any addresses used previously, it just adds new addresses to mail objects. In EAC: By default after the installation we only have one policy, called Default Policy. I want to edit this one, by selecting the Default Policy and pressing the pen icon.

The Default Policy is showing up, in the left menu, press Email Address Format.

Since I live in Sweden and we have some special characters that I want to get rid of, Im using the custom policy, Address type: SMTP and the Email address parameters: %ra%ra%ro%g.%ra%ra%ro%s@testlabs.se %r means it replaces the character after, in this case . Which it replaces with aao. When you have done the change press the Save button at the bottom of the page.

Check so that the change is correct, then press the Save button.

After the changes have been saved, it needs to be applied. This is done by pressing the Apply text/button down in the right menu.

Using PowerShell: Lets start with listing the Policy and the settings in it. As a final step lets do the same configuration to the Default Policy that we did using EAC. If you want to create more than just alias@domain.com to your policies, then this is done by comma separation. For setting the PrimarySMTP address, use capital letters for SMTP, and for additional addresses use small letters for smtp. See the example below: Get-EmailAddressPolicy Get-EmailAddressPolicy | fl Get-EmailAddressPolicy | Set-EmailAddressPolicy EnabledEmailAddressTemplates SMTP: %ra%ra%ro%g.%ra%ra%ro%s@testlabs.se,smtp: %m@testlabs.se Set-EmailAddressPolicy identity Default Policy EnabledEmailAddressTemplates SMTP: %ra%ra%ro%g.%ra%ra%ro%s@testlabs.se,smtp: %m@testlabs.se Get-EmailAddressPolicy | Update-EmailAddressPolicy It can easily be checked if the policy has been applied, it will show a True or False value. For checking the value run the command below: Get-EmailAddressPolicy | fl *appl*

Note: Dont forget to update the Policy, or else the new addresses wont be pushed out to the recipients.

Receive Connectors Since the HUB Transport server role now is gone and the HUB role is placed together with the CAS role, this is the server you should be looking at. After the SMTP domains have been added into the Accepted Domain tab, some settings could be of value to have a look at before starting to use the servers. A change has been made to the new version, the default connector now named Default Frontend servername. It now allows traffic from Anonymous users by default. I suppose this is due to that the Edge Transport Role also is removed. In EAC: Go to the Receive Connectors, found under Mail Flow. Make sure to select your CAS server(s) and the Default Frontend servername. Then press the pen icon for Edit the selected connector.

The only thing I did change was the Maximum receive message size to 30 MB. When you have done your changes for the connector, press the Save button.

Using PowerShell: Start the Exchange Management Shell, lets view the receive connectors and then make the changes like above. Get-ReceiveConnector

Get-ReceiveConnector | fl Set-ReceiveConnector Identity TLCAS01\Default Frontend TLCAS01 MaxMessageSize 30MB Note: The size can be configured between 64KB up to 2GB. Verify that the settings was correctly set, using the command below Get-ReceiveConnector | fl ide*,maxmes*

Send Connectors When the HUB server role now is gone and after the default installation of Exchange we dont have any send connectors. So for being able to send out mails to external recipients, lets create a Send Connector on the CAS server. In EAC: Go to the Send Connectors, found under Mail Flow. Press the plus icon for Creating a new send connector.

Give the send connector a friendly name and select what type it should be. Since this one Im creating now is for sending to external recipients Im selecting Internet. (Seems like we have a typo, see picture below). Press Next.

Select how to route those mails, either by using MX records or through a smart host(s). If you have a mail gateway then you should select smart host and type in its IP address. My server is

10

just sending them directly to Internet so Im using the MX method. Then press Next.

Press the plus icon for adding the address space this connector should use. In my case it will be *. Then it takes care of all domains. Press Save.

Then Press Next for accepting the settings youve just made. Next screen will show you which source servers that should be used. Lets add these into the connector by pressing the plus icon and selecting the Mailbox servers.

Press Finish button so the connector gets created. Note: By default the connector has a maximum message size of 10MB. You cant configure the maximum send message size when creating the connector, but this can be done by editing the

11

created connector. Using PowerShell: Start the Exchange Management Shell, lets view the send connectors and then make the changes like above. Get-SendConnector Get-SendConnector| fl This creates a new send connector using the DNS/MX method New-SendConnector Name Outbound AddressSpaces * SourceTransportServers TLMB01 MaxMessageSize 30MB This creates a new send connector using the smarthost method New-SendConnector Name Outbound AddressSpaces * SourceTransportServers TLMB01 MaxMessageSize 30MB DNSRoutingEnabled:$false SmartHosts 10.10.10.10 This creates a new send connector using the smarthost method together with using the CAS server as a proxy server for sending the mails New-SendConnector Name Outbound AddressSpaces * SourceTransportServers TLMB01 MaxMessageSize 30MB DNSRoutingEnabled:$false SmartHosts 10.10.10.10 FrontEndProxyEnabled:$True Note: The size can be configured between 0 Bytes up to 2TB. Verify that the settings was correctly set, using the command below Get-SendConnector| fl ide*,maxmes*

Certificates As most of you already know we need to request and import a certificate for Exchange. This for having a fully working OWA, ActiveSync etc. certificates needs to be configured so lets get started. In EAC: Go to the Certificates, found under Servers. Select the server and press the plus icon for Creating a new certificate request.

12

Im using an Internal PKI solution, so in this case I want to Create a request for a certificate from a certificate authority. Press Next.

Type in a friendly name for the certificate. Press Next.

If you want to create the request for a wildcard certificate, this is the checkbox you should use. I dont want a wildcard certificate, so I just let it be unchecked. Press Next.

Press Browse and select which server you want to store it on. Press Next.

13

For each service you can here type in the address, and the request will generate the names in the end. When youre done press Next.

Go through the names in the list and make sure that all names thats needed are included. Press Next.

Fill in Organization name, Department, Country, City and State. Press Next.

14

In my example I did type in the path to a share on my domain controller, which also is my Internal CA. Press Finish. Example: \\tldc01\certificates\certreq.req

When the request is completed, it shows up with the friendly name, together with the status Pending request. When the certificate is issued, press the Complete button below the status.

Type in the URL path to the .cer file, my file is saved on my DC. Press OK. Example: \\tldc01\certificates\certnew.cer

Its now time for assigning the services to the certificates. This is done by selecting the certificate and press the Edit button.

15

Go to Services and add the ones that should be used. Press Save.

Press OK.

Check so that the services is assigned to the certificate.

16

Using PowerShell: Start the Exchange Management Shell, lets view the existing certificates and then make a new cert request like above. Finally import the issued certificate. Get-ExchangeCertificate Get-ExchangeCertificate | fl This creates a new certificate request and saves it to a share New-ExchangeCertificate Server TLCAS01 GenerateRequest FriendlyName Exchange2013PS PrivateKeyExportable $true SubjectName c=SE, s=Skane, l=Malmo, o=Testlabs, ou=Testlabs, cn=mail.testlabs.se DomainName mail.testlabs.se,autodiscover.testlabs.se RequestFile \\tldc01\certificates\test.req

Import-ExchangeCertificate Server TLCAS01 FileName \\tldc01\certificates\certnew-ps.cer PrivateKeyExportable $true FriendlyName Exchange2013-PS Enable-ExchangeCertificate Thumbprint A2E6649A22A99BEAB2654BEB403C92BB9D34B404 Services IIS, SMTP, POP, IMAP Server TLCAS01 Get-ExchangeCertificate

Note: Make sure to specify Server, or else you can have difficulties finding our created request. Mine landed at my Mailbox server even if I did it on the CAS server.

17

3. Configure site URL's, Databases and Outlook Anywhere

This part will include details on how the configuration could be made for Site URLs/Virtual Directories, Databases, Outlook Anywhere and MAPI vs RPC over HTTPs together with connecting using Outlook 2013. In the previous part we did install the certificate which included the following names, so we can use these names in the site configuration. (If using HTTPS, the configured name needs to be included into the certificate.)

mail.testlabs.se autodiscover.testlabs.se tlcas01

tlcas01.testlabs.se Sites / URLs

Lets go through the steps for configuring the sites with the ExternalURL and other settings. Ill go through both the EAC and the PowerShell, so you have the opportunity to select which method you prefer. Lets start.. In EAC: Go to Servers, select Virtual Directories.

Select the server in the menu and which type you want to show. Then press Edit.

Lets start with Autodiscover.

18

By default, Integrated Windows Authentication and Basic authentication is enabled. Press Save.

Next, select Exchange ActiveSync (EAS). Press Edit.

General settings shows the URLs, I did type in the ExternalURL like the pic below. Press Authentication.

Make sure that Basic authentication is enabled. Press Save.

19

Next, select ECP. Press Edit.

General settings shows the URLs, I did type in the ExternalURL like the pic below. Press Authentication.

Authentication default settings is Use forms-based authentication enabled. Press Save.

20

A warning, make sure to change all virtual directions. Press OK.

Next, select EWS. Press Edit.

General settings shows the URLs, I did type in the ExternalURL like the pic below. Press Authentication.

Authentication settings, Integrated Windows authentication is enabled by default. Press Save.

21

Next, select OAB. Press Edit.

I did type in the ExternalURL in this setting, the InternalURL was already configured. I did also change the Polling interval from 480 minutes to 60. For having a faster update of the OAB. Press Save.

Next, select OWA. Press Edit.

General settings shows the URLs, I did type in the ExternalURL like the pic below. Press Authentication.

22

Forms-based authentication is selected, I did select the Logon format: User name only and did select my domain by the browsing button. Press Features.

Showing the default settings. Press File Access.

Showing the default settings. Press Save.

23

Next, select PowerShell. Press Edit.

General settings shows the URLs, I did type in the ExternalURL like the pic below. Press Authentication.

Both Integrated Windows authentication and Basic authentication was selected by default. Press Save.

24

Using PowerShell Start the Exchange Management Shell (EMS) and the following commands will do the same work thats done in EAC. Autodiscover: Get-ClientAccessServer | fl *uri* Set-ClientAccessServer Identity TLCAS01 AutoDiscoverServiceInternalUri https://autodiscover...utodiscover.xml

Exchange ActiveSync (EAS): Get-ActiveSyncVirtualDirectory | fl *url*, ide* Set-ActiveSyncVirtualDirectory Identity TLCAS01\Microsoft-Server-ActiveSync (Default Web Site) ExternalUrl https://mail.testlab...rver-ActiveSync

Exchange Control Panel (ECP): Get-EcpVirtualDirectory | fl *url*, ide* Set-EcpVirtualDirectory Identity TLCAS01\ecp (Default Web Site) ExternalUrl https://mail.testlabs.se/ecp

Exchange Web Services (EWS): Get-WebServicesVirtualDirectory | fl *url*, ide* Set-WebServicesVirtualDirectory Identity TLCAS01\EWS (Default Web Site) ExternalUrl https://mail.testlab...S/Exchange.asmx

25

Offline Address Book (OAB): Get-OabVirtualDirectory | fl *url*, ide*,pol* Set-OabVirtualDirectory Identity TLCAS01\OAB (Default Web Site) ExternalUrl https://mail.testlabs.se/OAB PollInterval 60

Outlook Web App (OWA): Get-OwaVirtualDirectory | fl *url*, ide* Set-OwaVirtualDirectory Identity TLCAS01\OWA (Default Web Site) ExternalUrl https://mail.testlabs.se/OWA

PowerShell: Get-PowerShellVirtualDirectory | fl *url*, ide* Set-PowerShellVirtualDirectory Identity TLCAS01\PowerShell (Default Web Site) ExternalUrl https://mail.testlabs.se/powershell

Databases

26

Lets go through the steps thats required for renaming the default database, dismount and mount. Also creating new databases. Lets start with the EAC and then do it in PowerShell. Lets start.. In EAC: Go to Servers, select Databases. Select the default database, named Mailbox Database 0883045... Press Edit.

General settings is shown. Press Cancel.

Select the database, Dismount it by pressing the icon and press Dismount database.

It does show a warning, that mailboxes being on this database now will be unavailable. Press Yes.

Select the database. Press Edit.

Give the database a friendly name, example: DB01. Press Maintenance.

27

Maintenance settings is shown. Press Limits.

Mailbox limits are shown, these are the default values. Press Client Settings.

By default, no Offline address book was selected. Press Browse and make sure to select the address book. Press Save.

28

What about if you want to create a new database? Lets start in EAC Press the Add button (+).

Give the database a friendly name, example: DB02. Browse for a mailbox server. And also put in the database path and log path. Press Save.

During the creating of the database, there is not option for associate the database with the offline address book. When the database is created, press Edit. Then go to Client Settings and select the Offline address book.

Using PowerShell Start the Exchange Management Shell (EMS) and the following commands will do the same work

29

thats done in EAC. Retrieve database information Get-MailboxDatabase Get-MailboxDatabase | fl name,*path* Dismount Database Dismount-Database Identity DB01 After the default database is renamed to DB01, I want to move the database file and the logs to another drive. Its done by the commands below: Move-DatbasePath identity DB01 EdbFilePath E:\Database\DB01\DB01.edb LogFolderPath F:\Logs\DB01 Mount-Database DB01

Get-OfflineAddressBook For creating a new database (DB02), we have the opportunity in PowerShell to specify all parameters thats needed for having all options configured. New-MailboxDatabase -Name DB02 -EdbFilePath E:\Database\DB02\DB02.edb LogFolderPath F:\Logs \DB02 -OfflineAddressBook \Default Offline Address Book -Server TLMB01 Mount-Database DB02

Note that the OfflineAddressBook is specified during the creation of the database. Outlook Anywhere Configuration of the feature Outlook Anywhere can also be done from both the EAC and EMS, in various ways. Lets start with the EAC: Go to the servers menu, and select Servers. Press Edit.

30

Then go to the Outlook Anywhere option, type in the external name, example: mail.testlabs.se. Im using Basic authentication for Outlook Anywhere. Press Save.

And the Configuration is completed. Using PowerShell Start the Exchange Management Shell (EMS) and the following commands will do the same work thats done in EAC. Enable Outlook Anywhere: Enable-OutlookAnywhere Server TLCAS01 ExternalHostname mail.testlabs.se InternalHostname tlcas01.testlabs.se ExternalClientAuthenticationMethod Basic InternalClientAuthenticationMethod Ntlm IISAuthentication Ntlm SSLOffloading:$false Get-OutlookAnywhere Server TLCAS01

MAPI and RPC The MAPI/RPC (RPC over TCP) traffic is now gone and replaced with RPC over HTTP/s instead. With that said no more load balancing of static RPC ports, as far as I know this will make both the Firewall team and the Load Balancer teams work easier, less ports is used together with the requirement of load balancing affinity/sticky session settings is also gone now. This because of there is no need anymore to have the affinity settings, it can now be load balanced based on IP addresses. Just make sure that the load balancer verifies the Exchange services before sending traffic to it. Outlook instead will use port 443 (HTTPS) or port 80 (HTTP). I think (and hope) most of you will

31

use RPC over HTTPS, with this said Ill show you the new Outlook 2013 Preview/beta and how it connects and also the traffic its using. Outlook 2013 Preview, connects to my mailbox in Exchange 2013. Its using HTTPS to initiate the connection, using port 6001 by default for its connection, using RPC over HTTPS.

A small picture from Network Monitor when the connection initiated by Outlook 2013.

More information around Whats new in Exchange 2013 can be found here.

32

4. Configure DAG, CAS Array and Public Folders

At the end of the post, I will link to some interesting TechNet articles around High Availability, Disaster Recovery, Site resilience and Public Folder migration. Note: My posts around Exchange 2013 Preview/beta are based on Beta information and it could be changed before it will be released (RTM). Database Availability Group (DAG) If this expression is new to you, here are some background information. The DAG is the new cluster technology from Exchange 2010 and also included in 2013. It give us the opportunity to have a mailbox database replicated between two or more servers, the DAG can have utilize up to 16 copies of each database (16 different servers). The advantage of this is that if one server fails, its easy and very fast for doing switchover/failover to another server. Some interesting changes around databases are that each database runs under its own process in Windows. Store (ESE) is totally rewritten, again.. which means you cant use databases from older versions of Exchange directly on Exchange 2013. I have also read that IOPS requirements for databases have been reduced with another 50% from Exchange 2010, but I havent read it officially so maybe its just a rumor. Well see what happens when its being release and probably Microsoft will release an update mailbox calculator. DAG is available for both Standard and Enterprise version of Exchange, and supported to run on both Windows 2008 R2 and Windows Server 8. Though all DAG members needs to run the same OS version. Lets get ready to create the DAG and add the Databases as copies on each DAG member/node. Using EAC: Its time to like the new EAC console. Running ipconfig on both mailbox servers, for checking the IP addresses. Both for the MAPI network and the Replication network.

33

Go into Control Panel and check the network interfaces,

Login to the EAC, go to Servers and select Database Availability Group. Press Add button (+).

Type in DAG name, Witness Server, Witness directory and DAG IP. Press Save.

34

When the DAG is created, select it and Press Edit. Check the option Configure database availability group network manually. Press Save.

Its now time for adding the mailbox servers into the DAG, this by pressing Manage membership button.

Press the Add button (+) and add the mailbox servers.

Add the mailbox servers that should reside in the DAG. Press OK.

35

Press Save.

The configuration now gets saved, failover clustering was installed on mailbox servers. Press Close.

Next thing to do it the DAG Networks, as you can see in the right bottom corner, a network called MapiDagNetwork has been created. I want to have the control over these networks so I will

36

create my own. Start by pressing New DAG Network. Im about to create two new networks.

I will give the first network a name like MAPI Network, and assign the Subnet to it where the clients are supposed to connect. Press Save.

My second network will be called Replication Network, since that its purpose and also assign it to the correct Subnet. Press Save.

Since we now have created those two network, lets remove the automatic created one by pressing Remove button.

37

Press OK.

The MAPI Network is not supposed to be used as replication network, so lets disable that function by pressing Disable Replication on the MAPI network. Press OK.

The DAG should now show two networks called MAPI and Replication. The MAPI Network should not be enabled for replication.

Final DAG configuration The last step (just a recommendation) is to enable the DAC mode, this for preventing split brain syndrome. Which means that you end up with having same database mounted on two (or more) different servers. More info about DAC mode can be found on the link in the end of the post. This cant be done through EAC (maybe that will change to RTM). So lets start up Exchange Management Shell (EMC). Set-DatabaseAvailabilityGroup Identity DAG01 DatacenterActivationMode DagOnly

Database copies On each mailbox database we now need to add a copy to another server for having the redundancy. In the menu, go to Databases and select one database, then press the Add database copy button.

38

Specify mailbox server that at the moments doesnt hold a copy of the database and add it by pressing the browse button. Press Save. Note: In this menu you also have the option to configure lag time (if using lagging node).

The database now gets copied (Seeding).

Then do the same procedure on all of your databases.

39

Press Close, when the operation is done.

Do the same procedure on all of your databases.

The seeding operation is running.

40

Press Close.

It might take a while (some minutes..) until it gets Healthy and everything has been checked and verified. In my test environment it took around 15min to be fine. It should look like the picture below when everything is completed.

Using PowerShell: The Web interface is nice to work with. But I prefer the PowerShell, because I have the full control over whats going on. Lets start with creating the DAG by using the command below: New-DatabaseAvailabilityGroup Name DAG01 WitnessServer TLCAS01 WitnessDirectory C:\FSW_DAG01 DatabaseAvailabilityGroupIpAddresses 172.16.1.15 Configure the DAG so that the networks can be manually configured: Set-DatabaseAvailabilityGroup Identity DAG01 ManualDagNetworkConfiguration $True Add the mailbox servers into the DAG: Add-DatabaseAvailabilityGroupServer Identity DAG01 MailboxServer TLMB01

41

Add-DatabaseAvailabilityGroupServer Identity DAG01 MailboxServer TLMB02 Enable DAC mode for the DAG: Set-DatabaseAvailabilityGroup Identity DAG01 DatacenterActivationMode DagOnly List the DAG Networks: Get-DatabaseAvailabilityGroupNetwork Create two new DAG Networks, one for Mapi and one for Replication: New-DatabaseAvailabilityGroupNetwork DatabaseAvailabilityGroup DAG01 Name Mapi Description Mapi Network ReplicationEnabled $False Subnets 172.16.1.0/24 New-DatabaseAvailabilityGroupNetwork DatabaseAvailabilityGroup DAG01 Name Replication Description Replication Network ReplicationEnabled $True Subnets 10.0.0.0/8 Remove the automated created network, it will not be used: Remove-DatabaseAvailabilityGroupNetwork Identity DAG01\MapiDagNetwork

Database copies On each mailbox database we now need to add a copy to another server for having the redundancy. Specify a mailbox server that at the moments doesnt hold a copy of the database and add it by

42

running the following commands. Add-MailboxDatabaseCopy Identity DB01 MailboxServer TLMB02 Add-MailboxDatabaseCopy Identity DB02 MailboxServer TLMB02 Add-MailboxDatabaseCopy Identity DB03 MailboxServer TLMB02

Verify the replication status on each mailbox server: Get-MailboxDatabaseCopyStatus Server TLMB01 Get-MailboxDatabaseCopyStatus Server TLMB02

Public Folders The Public Folder databases are now gone, and transferred to normal mailboxes instead. The advantage of this is that the mailbox itself can now be replicated using DAG technology. This doesnt mean that the public folder contents is replicated, its still required that you configure the public folder replication for the contents. With normal mailbox I mean that they reside in the mailbox databases, just like user mailboxes does. However they can in someway be compared to shared and room, those are also special mailboxes. If you decide to use the Public Folders in Exchange 2013, the first step will be to create a mailbox that holds the public folder hierarchy. This will be the writeable copy, you can have copies of the hierarchy. But you can only have one that is allowed to make changes/writeable. How can the hierarchy mailbox be created? Using EAC: Go to Public Folders section, this is the first warning/error message you will receive. It means that you dont have any public folder hierarchy (mailbox) created yet.

43

Go to the second public folder selection called Public Folders Mailboxes. Add (+), create the first mailbox for the public folders, so its hierarchy can be saved.

Give the mailbox a friendly name, example: PF_Hierarchy, place it into an organizational unit and select a mailbox database where it should be saved into. Press Save.

Now when the hierarchy is created, lets create some test folders too. Go back to Public Folders, press the Add (+) button. Give the public folder a name. Press Save.

If you want to configure any storage quota on the public folder content, press Edit and configure it. Statistics can also be found under Edit selection, which sometimes is valuable.

44

Just for testing purposes I did mail-enable the folder. By pressing the Enable button.

Press Yes.

Lets check the properties for the folder again, now we see that we have lots of new settings. Heres a small example how the Mail Flow settings looks like.

45

Using PowerShell: Start up Exchange Management Shell, the following commands will be used for creating the public folder hierarchy and contents folder. Create the hierarchy by running the following command New-Mailbox Name PF_Hierarchy Alias PF_Hierarchy Database DB01 OrganizationalUnit Users This mailbox, like shared/room mailboxes is also disabled by default. This for not having the possibility to logon as this user. Lets create the folder named Testlabs New-PublicFolder Name Testlabs Finally, mail enable the public folder Enable-MailPublicFolder Identity \Testlabs

We have public folders located in Exchange 2007/2010, what about them? In the end of this post, you can find a link to a TechNet article, it provides you with a great stepby-step guide. I havent tried to migrate public folder contents from earlier versions of Exchange since SP3 for Exchange 2010 is required for having coexistence between Exchange 2010 and Exchange 2013. SP3 is right now under development/testing and no official information can be found. When I get my hands on SP3, this will be one of the first things to try out. Client Access Server Array In my previous blog post I did write about some news regarding MAPI and RPC, where I did mention what changes been made. It can be found here. The new Client Access Server role can now been seen as more of a traditional Front-End server. It utilize as a front-end connection point and redirects/proxies (depending on method) the clients to its correct mailbox server. After the architectural change around the CAS role, its now stateless which means theres no need for the load balancer to configure affinity/sticky session. For example, it means that the clients is not required to have the connection established to the same CAS server for having the OWA to work. This means that all CAS servers now will serve all clients with connections to its mailbox endpoint server. How to create a client access array? Right now, I dont see any specific reason for creating the CAS Array, since the traffic will be proxied from the CAS servers to the correct active Mailbox servers. In an upcoming blog post I will cover how to configure the load balancing for Exchange 2013.

46

Upcoming topics: load balancing Exchange 2013 using different load balancers, database failover, move mailbox reports, disaster recovery etc. But first its time for 3 weeks of vacation, until then. Keep on reading the posts and youre more than welcome to comment on them. Thanks for reading, I hope it did gave you some valuable information.

47

You might also like