Part 3 of the expansion of the small Exchange organization deals with the installation and configuration of the second Exchange server.
Installation of a second Exchange Server
The installation of the second Exchange server can almost be copied from this article, the configuration of the VM and the installation is completely identical:
Setting up a small Exchange 2016 organization (part 2)
The only difference is the IP address and the server name. I have assigned the name EXCHANGE2 for the second Exchange server. In my case, the IP address is 172.16.100.16
Configuration of second Exchange Server
As you know, the configuration takes place after the installation. The virtual directories for the second Exchange Server are also configured in the same way as for the first Exchange Server. The URLs are identical:
Get-OwaVirtualDirectory -Server Exchange2 | Set-OwaVirtualDirectory -internalurl "https://outlook.frankysweb.org/owa" -externalurl "https://outlook.frankysweb.org/owa" Get-EcpVirtualDirectory -server Exchange2 | Set-EcpVirtualDirectory -internalurl "https://outlook.frankysweb.org/ecp" -externalurl "https://outlook.frankysweb.org/ecp" Get-WebServicesVirtualDirectory -server Exchange2 | Set-WebServicesVirtualDirectory -internalurl "https://outlook.frankysweb.org/EWS/Exchange.asmx" -externalurl "https://outlook.frankysweb.org/EWS/Exchange.asmx" Get-ActiveSyncVirtualDirectory -Server Exchange2 | Set-ActiveSyncVirtualDirectory -internalurl "https://outlook.frankysweb.org/Microsoft-Server-ActiveSync" -externalurl "https://outlook.frankysweb.org/Microsoft-Server-ActiveSync" Get-OabVirtualDirectory -Server Exchange2 | Set-OabVirtualDirectory -internalurl "https://outlook.frankysweb.org/OAB" -externalurl "https://outlook.frankysweb.org/OAB" Get-MapiVirtualDirectory -Server Exchange2 | Set-MapiVirtualDirectory -externalurl "https://outlook.frankysweb.org/mapi" -internalurl "https://outlook.frankysweb.org/mapi" Get-OutlookAnywhere -Server Exchange2 | Set-OutlookAnywhere -externalhostname outlook.frankysweb.org -internalhostname outlook.frankysweb.org -ExternalClientsRequireSsl:$true -InternalClientsRequireSsl:$true -ExternalClientAuthenticationMethod 'Negotiate' Get-ClientAccessService Exchange2 | Set-ClientAccessService -AutoDiscoverServiceInternalUri "https://autodiscover.frankysweb.org/Autodiscover/Autodiscover.xml"
After the URLs have been configured, the certificate of the first Exchange server is exported and can be saved directly on Exchange2:
After the export, the certificate is imported to Exchange2:
Finally, assign the services to the certificate and restart the IIS (iisreset):
Exchange2 is now added to the send connector:
And renamed and moved the database:
Get-MailboxDatabase -Server Exchange2 | Set-MailboxDatabase -Name MailboxDB2 Move-DatabasePath MailboxDB2 -EdbFilePath "E:\MailboxDB2\MailboxDB2.edb" -LogFolderPath "E:\MailboxDB2"
The basic configuration of the second Exchange server is ready, on to the UTM.
UTM configuration
The UTM configuration must be adjusted so that Exchange2 can send mail:
This also applies to reception:
Note: Der erste Exchange Server ruft die Mails der „kleinen Exchange Organisation“ via POP3 Connector ab. Es wäre an dieser Stelle also ratsam, dieses Konstrukt abzulösen und die Mails direkt mit der UTM zu empfangen. Dazu ist dann allerdings eine statische IP nötig. Die Umstellung von POP3 auf MX-Eintrag kommt noch in einem separaten Artikel.
DNS configuration
Normally you would use a load balancer that distributes the load between the two Exchange servers and also recognizes when one of the Exchange servers fails and then only routes clients to the remaining server:
However, a load balancer also costs money or you can use open source software (in which case it costs time...). The economy variant (no money, no time, no recommendation, one of both should be available) is DNS-RoundRobin. Both Exchange servers are simply published in the DNS and the client should choose an Exchange server:
In this case, clients receive the IP addresses of both Exchange servers:
Round Robin must be activated (default) so that a little load distribution takes place:
The next article will deal with the configuration of the DAG and tests.
Conclusion
At this point, Exchange is not yet redundant. The DAG is missing for this, but it is slowly...