Спонсор: Microsoft
Опубликован: 25.03.2010 | Доступ: свободный | Студентов: 806 / 25 | Оценка: 4.43 / 3.71 | Длительность: 10:46:00
Лекция 16:

Развертывание Team Foundation Server

< Лекция 15 || Лекция 16: 123 || Лекция 17 >

Стратегия масштабирования и архивации TFS

Планируя установку и развертывание Team Foundation Server, вы должны среди прочего решить, как будете управлять архивацией серверов и их восстановлением после сбоев. Выбор соответствующих стратегий определяется размером системы и доступными ресурсами. Поскольку уровень данных опирается на SQL Server 2005, подбор стратегии зависит от того, какой подход к архивации SQL Server вы в данный момент используете.

Если вы используете зеркалирование или кластеризацию SQL Server 2005, тот же самый подход можно применить и к уровню данных TFS. Вам также предстоит решить, как поступать в случае сбоя на сервере уровня приложений. Чтобы добиться отказоустойчивости, подготовьте резервный сервер уровня приложений и обеспечьте возможность быстрого переключения на него.

Выбор стратегии для компании

Выбирая стратегию установки архивации и восстановления TFS, учитывайте следующие соображения:

  • размер команд;
  • количество проектов;
  • размер проектов;
  • расположение команд;
  • потребность в отказоустойчивости;
  • потребность в архивации.
Рекомендуемое оборудование Team Foundation Server

Как правило, небольшие команды с незначительным числом проектов могут работать в односерверной среде, тогда как большим командам необходима раздельная установка и более быстрое оборудование. Выбор между односерверной и раздельной установкой влияет также на механизмы архивации и восстановления после сбоев.

Таб.16.1 поможет вам решить, какой вариант установки стоит выбрать и какое оборудование использовать.

Таблица 16.1. Подбор оборудования для TFS
Конфигурация Уровень ЦП Жесткий диск Память
Один сервер, менее 20 пользователей Сервер уровня приложений и данных Одиночный процессор, 2,2 ГГц 8 Гб 1 Гб
Один сервер; от 20 до 100 пользователей Сервер уровня приложений и данных Двойной процессор, 2,2 ГГц 30 Гб 2 Гб
Несколько серверов; от 100 до 250 пользователей Сервер уровня приложений Одиночный процессор, 2,2 ГГц 20 Гб 1 Гб
Сервер уровня данных Двойной процессор, 2,2 ГГц 80 Гб 2 Гб
Несколько серверов; от 250 до 2000 пользователей Сервер уровня приложений Двойной процессор, 2,8 ГГц 40 Гб 4 Гб
Сервер уровня данных Счетверенный процессор, 2,7 ГГц Накопитель прямого подключения, 14 000-15 000 RPM RAID 0 16 Гб
Стратегия архивации и восстановления

Выбирая стратегию архивации и восстановления, необходимо, конечно, учитывать, какой ущерб вашей команде будет нанесен в результате выхода из строя конкретного сервера.

Архивация

Планирование стратегии архивации является частью плана развертывания TFS. Учитывайте следующие соображения:

  • частоту архивации;
  • частоту полной и добавочной архивации;
  • требования к хранению архивов, например, внутри организации или вне ее.

Вы вольны использовать ту же методику архивации, что используете для любой БД SQL Server 2005. Восстановление TFS из архивов проводится по одному из трех сценариев:

  • восстановление только данных;
  • полное восстановление односерверной установки;
  • полное восстановление раздельной установки.

Восстановление только данных применяется в случае сбоя на уровне данных. С помощью архивных данных и журналов вы полностью восстановите БД. Восстановление серверов требуется при их выходе строя. В этом случае вы можете восстановить полную БД на втором компьютере.

Резервный сервер уровня приложения

На серверах уровня приложений нет никаких данных, которые нуждались бы в архивации, но это не делает их неуязвимыми. Чтобы минимизировать последствия сбоя, подумайте о подготовке "теплого" резервного сервера, на который можно было бы оперативно переключиться.

Восстановление после сбоя

Оценивая необходимость отказоустойчивого решения для TFS, принимайте во внимание стоимость оборудования для резервных серверов и сопоставляйте ее с возможными потерями от временной недоступности TFS. Обеспечение отказоустойчивости повышает сложность установки и накладные расходы на ее обслуживание. Не забудьте включить обслуживание в свои расчеты.

Особенно велики затраты на создание и обслуживание кластеров, поэтому кластеризацию рекомендуется использовать лишь в тех случаях, когда ресурсы для создания кластера в вашей организации уже имеются.

С зеркалированием также связаны расходы, но они несравнимы с расходами на кластеризацию. Причем в этом случае у вас появляется возможность временно отключить основной сервер, скажем, для мелких ремонтных работ. Подумайте о зеркалировании, если ваша организация может позволить себе установку и обслуживание второго сервера уровня данных.

Уровень данных
Кластеризация серверов уровня данных

Если у вашей организации есть необходимые ресурсы, создайте кластер с выделенными серверами. Кластер обеспечит непрерывный доступ к уровню данных. Правда, за это придется заплатить высокую цену с точки зрения как создания, так и обслуживания кластера.

Работая в кластере, TFS поддерживает конфигурацию с пассивным узлом, активным узлом и одним сервером кворума. Когда уровень данных после сбоя передается на пассивный узел, этот узел принимает на себя владение кворумом и уровнем данных.

Устанавливать TFS в кластере можно лишь после предварительной подготовки. Подробную информацию о кластеризации SQL Server 2005 вы найдете в статье "SQL Server 2005 Failover Clustering White Paper" по адресу http://www.microsoft.com/downloads/details.aspx?familyid=818234dc-a17b-4f09-b282-c6830fead499&displaylang=en.

Зеркалирование серверов уровня данных

Зеркалирование сервера состоит в синхронизации данных на этом сервере с их копией на другом сервере. Сервер уровня данных является главным, а сервер с зеркалированными данными - резервным или зеркальным сервером. Если сервер уровня данных выходит из строя, переключиться на зеркальный сервер можно вручную.

Наличие зеркального сервера позволяет отключать главный сервер для обслуживания или ремонта, а также обеспечивает возможность быстрого восстановления в случае выхода из строя главного сервера уровня данных.

Зеркалирование может быть синхронным или асинхронным. Можно также менять главный и зеркальный серверы ролями. Когда производится смена ролей (role switching), зеркальный сервер становится главным, а бывший главный - зеркальным. В принципе, смену ролей можно производить неоднократно.

Автоматическое переключение TFS с главного на зеркальный сервер не поддерживается, это нужно делать вручную.

Чтобы настроить зеркалирование SQL для уровня данных, выполните следующие действия:

  1. Выполните полную архивацию всех БД и журнала транзакций.
  2. Создайте резервную копию ключа шифрования Reporting Services.
  3. Установите на зеркальном сервере SQL Server 2005.
  4. Восстановите данные с уровня данных на зеркальном сервере.
  5. Для каждой БД на главном сервере уровня данных запустите мастер настройки зеркального сервера Configure Database Mirroring Security Wizard.
  6. Начните зеркалирование.

Чтобы вручную переключиться на зеркальный сервер, выполните следующие действия:

  1. На уровне приложений TFS:
    • Перенастройте Report Service на использование нового сервера.
    • Остановите веб-узел по умолчанию.
    • Остановите веб-узел SharePoint Web.
    • Остановите службу SharePoint Timer.
    • Остановите службу TfsServerScheduler.
    • Основите пул приложений ReportServer.
    • Остановите пул приложений TFS App Pool.
  2. Убедитесь, что на зеркальном сервере уровня данных созданы все необходимые учетные записи служб.
  3. Переключите все БД главного сервера на зеркальный сервер.
  4. Создайте на новом сервере хранилище данных.
  5. Настройте сервер уровня приложений на использование зеркального сервера уровня данных:
    • Введите в командной строке TFSAdminUtil RenameDT MirrorDataTierServer.
    • Перезапустите IIS.
    • Измените строку подключения Reporting Services, включив в нее ссылку на зеркальный сервер уровня данных.
    • Задайте на сервере SharePoint использование зеркального сервера уровня данных.
    • Запустите службу SharePoint Timer.
    • Запустите службу TfsServerScheduler.
    • Запустите пул приложений ReportServer.
    • Запустите пул приложений TFS App Pool. и. Запустите Reporting Services.
    • Вызовите веб-службу StampWorkItemCache.
Уровень приложений
Отказоустойчивость уровня приложений

Настроив главный сервер уровня приложений, подготовьте также резервный компьютер для "теплой замены" на случай выхода главного сервера из строя.

Резервное оборудование и ПО

Резервный сервер необязательно должен быть идентичен главному серверу, но он должен удовлетворять аппаратным требованиям к серверу уровня приложений. На него необходимо установить ПО уровня приложений TFS. Убедитесь, что у обоих серверов одинаковая конфигурация, включая одинаковые учетные записи пользователей, одинаковые разрешения и обновления ПО. Применяя на главном компьютере очередное обновление, не забудьте применить его и на резервном сервере.

Чтобы свести проблемы с обеспечением отказоустойчивости к минимуму, настройте сетевые адаптеры главного и резервного компьютеров на использование одного и того же имени хоста. Сделать это можно многими способами.

Переключение сервера уровня приложений

Переключение на резервный сервер уровня приложений производится вручную. Если главный сервер вышел из строя, выполните следующие действия:

  1. Отключите главный сервер.
  2. На резервном сервере:
    • Зарегистрируйтесь как администратор.
    • Запустите TFSAdminUtil с параметром ActivateAT.
    • Запустите на резервном сервере веб-службы. Эта команда выполняет следующие действия:
      • Регистрирует имя резервного сервера в интеграционной БД TFS.
      • Подключает резервный сервер уровня приложений к активному серверу уровня данных.
      • Проверяет, что в результате подключения корректный сервер уровня приложений соединен с корректным сервером уровня данных. Подробнее об активации резервного сервера уровня приложений читайте в статье "How to: Activate a Fail-Over Application-Tier Server" по адресу http://msdn2.microsoft.com/en-us/library/ms252501(VS.80).aspx.

Резюме

Архитектура TFS состоит из трех уровней: уровня приложений, уровня данных и клиентского уровня. Устанавливая сервер, вы выбираете между установкой уровней данных и приложений на одном и том же или на разных серверах. Выбор конкретного варианта развертывания TFS определяется, главным образом, количеством пользователей, которых вам предстоит поддерживать. Выбрав топологию, отвечающую потребностям команды, решите также, какой способ архивации и восстановления вам подходит.

На уровне данных удобно использовать тот же механизм архивации, который принят в вашей организации для других архивов SQL Server 2005. Отказоустойчивость можно обеспечить при помощи зеркалирования или кластеризации.

Автоматическое восстановление уровня данных после сбоя не производится. Если вам нужно быстро вернуть систему в рабочее состояние, подготовьте резервный сервер для быстрого "теплого" переключения.

Дополнительные ресурсы

< Лекция 15 || Лекция 16: 123 || Лекция 17 >
Александр Будник
Александр Будник
Израиль, Иерусалим
Pavel Pelevin
Pavel Pelevin
Украина, Одесса