Впервые роль Client Access Server (CAS) появилась в Exchange Server 2007. Основная цель сервера с этой ролью – обработка клиентских подключений к почтовым ящикам, которые создаются клиентами Outlook Web Access, Outlook Anywhere или ActiveSync.
Однако сервера с почтовыми ящиками (роль Mailbox) все еще отвечали за непосредственные MAPI подключения, которые создаются, например, клиентом Microsoft Outlook.
В Exchange Server 2010 данная архитектура несколько изменилась, теперь в роль Client Access Server добавлена служба RPC Client Access. Данная служба обрабатывает все MAPI подключения, которые генерируют клиенты Outlook при работе с почтовым ящиком (подключение к общим папкам, Public Folder, все еще осуществляется напрямую к серверу-хранилищу почтовых ящиков).
Новая служба RPC Client Access обеспечивает ряд преимуществ:
- Подключения к ящикам осуществляются единообразно
- Возможность регулировать клиентские подключения (Connection throttling) и применять к ним другие правила
- Уменьшение неудобств пользователей, вызванных отказом их почтового сервера
Для организаций, которые хотят добиться высокой доступности (high availability) службы RPC Client Access, несколько серверов CAS можно объединить в массив, балансировку нагрузки в котором можно организовать с помощью Windows Network Load Balancing (NLB) или же аппаратного балансировка.
В данной статье мы пошагово опишем процесс построения массива серверов CAS Exchange Server 2010 (Client Access Server array) c балансировкой нагрузки между ними посредством Windows NLB.
Требования к Client Access Server Array
Два и более серверов Exchange 2010 с ролью Client Access можно объединить в массив CAS с NLB только тогда, когда на них не установлена роль сервера почтовых ящиков (Mailbox), являющегося членом Database Availability Group (DAG). Причина в том, что члены DAG используют кластеризацию на базе Windows Failover Clustering, которую нельзя использоваться совместно с NLB.
Пусть у нас имеется два сервера, на которых мы хотим построить массив CAS.
Сервер 1
- ОС: Windows Server 2008 64-bit R2
- Имя сервера: EX3.exchangeserverpro.local
- Первичный сетевой интерфейс: 192.168.0.34/24
- Первичный сетевой интерфейс: 192.168.0.36/24
Сервер 2
- ОС: Windows Server 2008 64-bit R2
- Имя сервера: EX4.exchangeserverpro.local
- Первичный сетевой интерфейс: 192.168.0.35/24
- Первичный сетевой интерфейс: 192.168.0.37/24
NLB кластеру назначим IP адрес 192.168.0.38.
Установка компонентов Client Access Server
На каждом из серверов в командной строке PowerShell с правами администратора нужно выполнить следующие команды:
PS C:> Import-Module ServerManager
Затем:
PS C:> Add-WindowsFeature NET-Framework,RSAT-ADDS,Web-Server,Web-Basic-Auth,Web-Windows-Auth,Web-Metabase,Web-Net-Ext,Web-Lgcy-Mgmt-Console,WAS-Process-Model,RSAT-Web-Server,Web-ISAPI-Ext,Web-Digest-Auth,Web-Dyn-Compression,NET-HTTP-Activation,RPC-Over-HTTP-Proxy -Restart
(опция –Restart означает необходимость перезагрузить сервер после установки компонентов). После перезагрузки сервера, выполняем:
Set-Service NetTcpPortSharing -StartupType Automatic
Установка роли Client Access Server в Exchange Server 2010
Для установки роль CAS, а также набора Management Tools, в командной строке с правами администратора выполните команду:
C:adminExchange Server 2010> setup /m:install /r:ca,mt
Установка службы Windows Network Load Balancing
На каждом из серверов выполните следующие команды PowerShell:
PS C:> Import-Module servermanager
PS C:> Add-WindowsFeature NLB
Создаем NLB кластер
После подготовки обоих серверов, перейдем к созданию и настройке NLB кластера. На первом сервер откройте консоль управления Network Load
Balancing Manager (находится в Administrative Tools).
В меню Cluster выберите New .
Подключитесь к первому серверу кластера NLB.
Выберите интерфейс, который будет использоваться кластером, затем нажмите Next .
Оставьте все параметры первого узла по-умолчанию и нажмите Next .
Нажмите Add
и введите IP (v4) адрес NLB кластера и затем OK .
Нажмите Next .
Введите имя кластера, например casarray. exchangeserverpro. local . Нажмите Next .
Затем можно настроить различные правила для портов, но в данном случае мы оставляем стандартные правила. Чтобы создать NLB кластер, нажмите Finish.
На данный момент наш NLB кластер состоит из одного сервера, необходимо добавить второй сервер CAS.
Щелкните правой кнопкой мыши по недавно созданному кластеру и выберите Add Host to Cluster .
Укажите имя второго сервера и нажмите Connect . И опять выберем сетевой интерфейс, который будет использоваться кластером, нажмите Next .
Оставьте стандартные настройки и нажмите Next .
В результате в NLB кластер был добавлен второй узел.
Создаем массив серверов Client Access
После создания NLB кластера, перейдём к созданию массива серверов CAS Exchange Server 2010.
Во-первых, зарегистрируем в DNS запись для имени NLB кластера.
Во-вторых, на любом из серверов откройте консоль Exchange Management Shell и выполните:
[PS] C:>New-ClientAccessArray -Name CASArray -Site "Default-First-Site-Name" -Fqdn casarray.exchangeserverpro.local
Обновляем базу данных почтовых ящиков
После создания массива CAS, для любой новой почтовой базы, создаваемой в этом же сайте Active Directory, в качестве сервера, обрабатывающего RPC запросы (RpcClientAccessServer) к ящикам в этой базе будет указан созданный нами массив CAS.
Однако все существующие почтовые базы придется обновить вручную, так, чтобы пользователи ящиков в этих базах подключались к созданному нами массиву серверов.
[PS] C:>Get-MailboxDatabase -Server EX2 | fl name, rpc*
Name : Mailbox Database 02
RpcClientAccessServer : EX3.exchangeserverpro.local
Как вы видите, текущая почтовая база на сервере EX2 настроена на использование в качестве RpcClientAccessServer одиночного CAS сервера.
Чтобы обновить все базы на сервере, необходимо выполнить команду:
[PS] C:>Get-MailboxDatabase -Server EX2 | Set-MailboxDatabase -RpcClientAccessServer casarray.exchangeserverpro.local
Проверить текущий статус можно с помощью той же самой команды:
[PS] C:>Get-MailboxDatabase -Server EX2 | fl name, rpc*
Name : Mailbox Database 02
RpcClientAccessServer : casarray.exchangeserverpro.local
Примечание : стоит отметить, что все существующие профили Outlook так и останутся настроенными на отдельный Client Access сервер, а не на массив CAS. И, естественно, при падении этого сервера, не будут перенаправлены на другой сервер NLB кластера. Данные профили будет необходимо перенастроить вручную на использование массива CAS серверов. Вот почему предпочтительно настроить массив CAS до миграции пользовательских ящиков в Exchange Server 2010.