вторник, 9 декабря 2014 г.

Настройка высокой доступности и балансировки нагрузки StoreFront без использования Citrix NetsCaler.

Доброго времени суток, коллеги.
С выходом новой версии XenDesktop 7.x компания Citrix представила новый продукт для централизованного доступа к приложениям – «Citrix StoreFront», взамен устаревшего «Citrix Web Interface». «Citrix StoreFront» предоставляет единую согласованно функционирующую точку доступа к рабочим столам и приложениям пользователей. Подробнее тут.
В стандартной конфигурации (2CPU, 8GbRAM) один инстанс StoreFront способен обеспечить до 25000 подключений пользователей в час в облегченном режиме (логон, нумерация приложений, доступ к существующим опубликованным ресурсам), и до 6000 подключений в час в интенсивном режиме (логон, нумерация приложения, подключение и отключение опубликованных ресурсов). Подробнее тут.
Чтобы избежать отказа в обслуживании данного сервиса при выходе из строя сервера StoreFront, а также нивелировать высокую нагрузку на сервер StoreFront в моменты пиковой активности пользователей, необходимо развернуть несколько серверов StoreFront, обеспечив высокую доступность и балансировку нагрузки между ними.
Citrix рекомендует использовать «Netscaler» в качестве балансировщика нагрузки между сервисами Storefront, а также в качестве решения отказоустойчивого кластера серверов Citrix StoreFront.
Но в сценариях до 1000 пользователей можно отказаться от использования дорогостоящего Citrix Netscaler в пользу стандартного «Windows Network Load Balancing Cluster (Windows NLB)». Сразу хочу отметить, что данный метод (Windows NLB) не позволяет определять нагрузку сервисов StoreFtont и осуществлять балансировку на основании этих данных, как это делает Citrix Netscaler. Windows NLB обеспечивает примитивную балансировку путем распределения клиентских IP-запросов среди нескольких серверов в кластере.
В данной статье рассмотрим настройку «Network Load Balancing» и «High Availability» Citrix StoreFront без использования «Citrix Netsсaler».
Рассмотрим сценарий с двумя серверами StoreFront.
Установим и настроим службу «Windows Network Load Balancing» на сервер «sf01.test.ru».
Запускаем «Server Manager», в левом меню выбираем «Features». В появившемся окне нажимаем на «Add Features»
В окне «Add Features Wizard» выделяем необходимую службу «Network Load Balancing», нажимаем «Next».
В следующем окне подтверждаем установку службы, нажимаем «Install».
Начнется установка службы.
После успешной установки нажимаем «Close».
Открываем консоль управления «Network Load Balancing Manager».
Создадим NLB-кластер. Для этого щелкаем правой кнопкой мыши по «Network Load Balancing Clusters», в появившемся контекстном меню нажимаем на «New Cluster»
В окне «New Cluster: Connect» в разделе «Host» вводим имя сервера с установленным Citrix StoreFront, нажимаем «Connect». Выбираем необходимый сетевой интерфейс, нажимаем «Next».
В окне «New Cluster: Host Parameters» оставляем значения по умолчанию, нажимаем «Next».
В окне «New Cluster: Cluster IP Addresses» добавляем адрес NLB-кластера. Нажимаем «Add…», в появившемся окне вводим IP-адрес, нажимаем «Ок». Далее нажимаем «Next».
В окне «New Cluster: Cluster Parameters» в строке «Full Internet name» вводим FQDN-имя NLB-кластера, в нашем случае «nlb.test.ru». Нажимаем «Next»
В окне «New Cluster: Port Rules» нажимаем «Edit», в появившемся окне «Add/Edit Port Rule» проставляем значения «443» в полях «From» и «To» раздела «Port range». В поле «Protocols» выбираем «TCP». Нажимаем «Ok», далее «Finish».
Кластер успешно настроен.
По аналогии установим службу «Windows Network Load Balancing» на сервере «sf02.test.ru».
После успешной установки службы, необходимо перейти на первый сервер «sf01.test.ru» и добавить сервер «sf02.test.ru» в кластер «nlb.test.ru». Для этого в консоли «Network Load Balancing Manager» нажимаем правой кнопкой мыши по кластеру и выбрать «Add Host To Cluster»
В появившемся окне в поле «Host» добавляем имя второго сервера «sf02.test.ru», нажимаем «Connect». Далее, выбрав необходимый сетевой интерфейс, нажимаем «Next».
В окне «Add Host to Cluster: Host Parameters» оставляем значения по умолчанию, нажимаем «Next».
В окне «Add Host to Cluster: Port Rules», оставляем значения по умолчанию, нажимаем «Finish».
Хост «sf02.test.ru» успешно добавлен в кластер «nlb.test.ru».
Установим Citrix StoreFront на сервер «sf01.test.ru». Скачиваем с официального сайта дистрибутив и запускаем его.
Начнется установка необходимых компонентов.
Далее в появившемся окне «License agreement» соглашаемся с лицензионным соглашением и нажимаем «Next».
В окне «Review prerequisites» убеждаемся, что роль «Internet Information Services (IIS)» будет установлена автоматически до установки «Citrix StoreFront». Нажимаем «Next».
В окне «Ready to Install» нажимаем «Install».
Начнется установка роли «IIS».
Далее установка Citrix StoreFront. После успешной установки, нажимаем «Finish».
По аналогии устанавливаем Citrix StoreFront на второй сервер «sf02.test.ru».
Теперь сформируем запрос на получение SSL-сертификата (CSR) на одном из хостов NLB-кластера, например, на «sf01.test.ru». После получения сертификата, необходимо установить его на каждый хост NLB-кластера.
Для генерации запроса на получение SSL-сертификата, необходимо установить консоль управления IIS «Internet Information Services (IIS) Manager». Для этого в консоли управления сервера «Server Manager» в разделе «Roles» щелкаем правой кнопкой мыши по роли «Web Server (IIS)». Выбираем «Add Role Services».
В появившемся окне «Select Role Services» выделяем «Management Service», нажимаем «Next».
В окне «Confirm Installation Selections» соглашаемся с установкой консоли управления IIS, нажимаем «Install».
После успешной установки консоли, нажимаем «Close»
Аналогичную процедуру необходимо проделать на втором сервере «sf02.test.ru».
Сформируем запрос на сертификат на первом сервере «sf01.test.ru».
В диалоговом окне «Run» вводим «InetMgr.exe», нажимаем «Ok».
Откроется консоль управления ролью IIS. В окне «IIS» переходим в раздел управления сертификатами, нажав на «Server Certificates».
В окне «Server Certificates» в правом контекстном меню нажимаем на «Create Certificate Request». В появившемся окне «Distinguished Name Properties» заполняем необходимые поля:
  • Common name: nlb.test.ru
  • Organization: Test
  • Organizational unit: Test_OU
  • City/locally: City
  • State/province: Test
  • Country/region: RU

Нажимаем «Next»
В окне «Cryptographic Service Provider Properties» в разделе «Cryptographic service provider» выбираем «Microsoft RSA SChanel Cryptographic Provider», в разделе «Bit length» выбираем «2048»
В окне «File Name» выбираем место хранения запроса на сертификат, например, «C:\Req_Cert.txt», нажимаем «Finish».
После получения сертификата, необходимо его установить на каждый IIS-сервер кластера NLB. В консоли управления IIS сервера «fs01.test.ru» переходим в раздел «Server Certificates». В правом контекстном меню нажимаем на «Complete Certificate Request». В появившемся окне «Specify Certificate Authority Response» выбираем место расположения сертификата, например, «C:\nlb.test.ru.cer», в поле «Friendly name» вводим любое имя, например, «nlb.test.ru». Нажимаем «Ok». Установка SSL-сертификата на вебсервер IIS закончена.
После успешной установки сертификата на вебсервер, необходимо установить его на соответствующий сайт, который будет использовать «Citrix StoreFront». Для этого в консоли управления IIS в разделе «Sites» выбираем необходимый сайт, в нашем случае «Default Web Site». В правом контекстном меню нажимаем на «Bildings».
В окне «Site Bildings» нажимаем на «Add».
В появившемся окне «Add Site Bilding» выбираем:
  • В поле «Type» - «https»
  • В поле «IP address» - «All Unassigned»
  • В поле «Port» - «443»
  • В поле «SSL certificate» - «nlb.test.ru»

Нажимаем «Ok»
Нажимаем «Close». Установка сертификата на сайт сервера «fs01.test.ru» закончена.
Для установки сертификата на сайт второго сервера «sf02.test.ru», необходимо произвести его импорт с первого сервера «fs01.test.ru».
В консоли управления IIS сервера «fs01.test.ru» переходим в раздел «Server Certificates», выделяем сертификат «nlb.test.ru», в правом контекстном меню нажимаем на «Export».
В появившемся окне указываем место экспорта сертификата и пароль, нажимаем «Ok». Экспорт сертификата успешно завершен.
В консоли управления IIS сервера «fs02.test.ru» переходим в раздел «Server Certificates», в правом контекстном меню нажимаем на «Import». В появившемся окне указываем расположение сертификата и вводим пароль. Нажимаем «Ok».
Импорт сертификата завершен. Сертификат «nlb.test.ru» успешно установлен на сервер IIS.
Далее по аналогии необходимо установить SSL-сертификат на сайт, который будет использовать «Citrix StoreFront» сервера «fs02.test.ru».
Теперь необходимо настроить Citrix StoreFront на сервере «fs01.test.ru».
Для этого запускаем консоль «Citrix StoreFront», нажимаем на «Create a new deployment»
В разделе «Base URL» вводим «nlb.test.ru», нажимаем «Next».
В разделе «Store Name» необходимо указать имя хранилища, например, «Remote». Нажимаем «Next».
В разделе «Delivery Controllers» добавим необходимые контроллеры доставки, нажав «Add».
В появившемся окне в строке «Display name» вводим отображаемое имя, например, «Controller». В поле «Type» выбираем «XenApp 7.5 (or later), or XenDesktop». В поле «Server (load balanced)» нажимаем «Add» и вводим имя соответствующего контроллера доставки, например, «ddc.test.ru». Нажимаем «Ok».
Далее нажимаем «Next».
В разделе «Remote Access» выбираем «None», нажимаем «Create».
StoreFront успешно сконфигурирован, нажимаем «Finish».
Для того, чтобы добавить второй сервер StoreFront необходимо получить авторизационную информацию с первого сервера «sf01.test.ru». Открываем консоль «Citrix StoreFront».
Переходим в раздел «Server Group» и в правом контекстном меню нажимаем на «Add Server». В появившемся окне можно увидеть всю необходимую информацию для авторизации второго сервера.
Запускаем консоль «Citrix StoreFront» на сервере «sf02.test.ru», нажимаем на «Join existing server group».
В появившемся окне «Join Server Group» в поля «Authorizing server» и «Authorization code» вводим имя сервера «sf01.test.ru» и код «54671210» соответственно. Нажимаем «Join».
Начнется процесс добавления сервера «sf02.test.ru» в группу серверов «nlb.test.ru».
После успешного добавления сервера, нажимаем «Ok».
Готово!
Теперь можно вносить необходимые пользовательские настройки для вашего окружения на одном сервере и распространять их на второй.
На этом предлагаю закончить.
Вопросы, замечания и предложения пишите в комментариях или на почту.
Удачного тестирования!