Планирование лабораторной среды
При подготовке к широкому применению Lab Management в лаборатории тестирования могут возникнуть следующие вопросы.
Сколько потребуется физических серверов?
Какие именно серверы приобрести?
Какая необходима емкость хранения данных?
Можно ли использовать сеть SAN?
Можно ли установить все на один мощный компьютер?
Как настроить изолированную лабораторию?
В этом разделе представлены общие рекомендации для оценки количества и типа физических серверов, виртуальных машин и контроллеров, которые потребуются для использования Visual Studio Lab Management. Как правило, количество серверов менее важно, чем мощность каждого сервера. Например, сервер с двух- или четырехъядерным процессором способен поддерживать больше виртуальных машин, чем сервер с одноядерным процессором. Аналогичным образом, на сервере с 32 Гбайт ОЗУ можно одновременно разместить больше виртуальных машин, чем на сервере с 8 Гбайт ОЗУ.
Планирование мощности
Следующий раздел содержит рекомендации о том, как обеспечить мощность, достаточную для виртуальной лаборатории тестирования. Они представлены в виде списка рекомендуемых и нерекомендуемых действий при приобретении и настройке оборудования, а также установке и настройке необходимого программного обеспечения.
Планирование для Team Foundation Server
Не рекомендуется
Устанавливать все на один компьютер. Рекомендуется только в том случае, если планируется использовать этот компьютер исключительно для демонстраций или экспериментов.
Использовать учетную запись NetworkService в качестве учетной записи службы для Team Foundation Server, если ваш экземпляр Team Foundation Server использует более одного сервера для выполнения логического уровня приложений и планируется использовать компонент Lab Management системы Visual Studio . При использовании учетной записи NetworkService в дальнейшем потребуется вручную выполнять действия по поддержке физических компьютеров для размещения виртуальных сред. Дополнительная работа потребуется потому, что учетную запись NetworkService для каждой новой машины уровня приложений необходимо добавить в локальную группу "Администраторы" на каждом физическом компьютере. Например, если виртуальная лаборатория размещается на 20 физических компьютерах, то при добавлении или удалении машины уровня приложений потребуется обновить каждый из этих 20 компьютеров, указав имя новой машины уровня приложений и назначив разрешения. Вместо учетной записи NetworkService в качестве учетной записи TFSservice используйте стандартную учетную запись пользователя домена и пароль. В этом случае учетная запись пользователя домена добавляется один раз при исходной настройке физического компьютера, и каждая последующая машина уровня приложений использует ту же учетную запись. Дополнительные сведения об ограничениях учетной записи NetworkService см. в разделе NetworkService Account.
Планирование для диспетчера виртуальных машин System Center (SCVMM)
Не рекомендуется
Устанавливать SCVMM на виртуальную машину. Установка SCVMM на виртуальной машине затруднит администрирование физического компьютера, на котором она выполняется, и замедлит работу библиотеки, если установить библиотеку на той же виртуальной машине.
Использовать кластеризацию с серверами библиотеки SCVMM 2008 R2. Lab Management поддерживает кластеризацию в средах SCVMM только при использовании SCVMM 2012, а не SCVMM 2008 R2.
Задавать идентификаторы виртуальных локальных сетей для сетевых адаптеров. Lab Management не поддерживает задание и использование идентификатора виртуальной локальной сети в диспетчере виртуальных машин System Center. Если идентификатор виртуальной локальной сети задается вручную на сетевом адаптере для виртуальной машины и затем эта виртуальная машина сохраняется в библиотеке SCVMM, при развертывании виртуальной машины идентификатор виртуальной локальной сети удаляется. Дополнительные сведения об использовании ИД VLAN см. в разделе Настройка виртуальных сетей в VMM.
Рекомендуется
Обеспечить достаточно ресурсов для компьютера, на котором будет выполняться SCVMM. Если лаборатория будет содержать менее 50 виртуальных машин, этот компьютер должен соответствовать как минимум следующим требованиям:
64-разрядный процессор;
4 Гбайт памяти;
жесткий диск 300 Гбайт;
операционная система Windows Server 2008 R2;
Если предполагается использовать более 50 виртуальных машин, эти ресурсы необходимо увеличить. Если планируется установить какое-либо дополнительное ПО на компьютер, где выполняется SCVMM, обеспечьте, чтобы его ресурсы отвечали требованиям, указанным выше в данном разделе. При этом убедитесь, что ресурсов будет достаточно, если вычесть мощности, потребляемые дополнительным ПО. Например, если требуется установить SCVMM на компьютер, где выполняется Team Foundation Server, добавьте требования SCVMM к требованиям Team Foundation Server и убедитесь, что мощность компьютера достаточна.
Обеспечить не менее 200 Гбайт свободного места на жестком диске сервера, на котором выполняется библиотека. В случае установки по умолчанию убедитесь, что на диске, используемом для общей папки библиотеки, свободно более 200 Гбайт.
Создать общую папку библиотеки по умолчанию на диске D:, а не C:. По умолчанию диспетчер SCVMM создает общую папку библиотеки на том же компьютере, где он установлен, и создает библиотеку на диске C:. Если изменить общую папку библиотеки по умолчанию на диск D:, это упростит обновление компьютера в дальнейшем.
Использовать для размещения библиотеки жесткий диск с достаточной скоростью. Если предполагаемая интенсивность использования библиотеки невелика, жесткого диска с надлежащей скоростью будет достаточно. Если планируется использовать библиотеку с умеренной интенсивностью, рекомендуется конфигурация RAID 5 из 6–12 дисков для повышенной производительности. Если планируется высокая интенсивность использования библиотеки, используйте несколько серверов библиотеки. Можно использовать подключаемый напрямую носитель или сеть SAN. Если используется сеть SAN, создайте идентификатор LUN, который будет использоваться исключительно для компьютера библиотеки.
Запускать Team Foundation Server под стандартной учетной записью пользователя домена, а не под учетной записью сетевой службы. Это необходимо, если Team Foundation Server и SCVMM установлены на одном и том же компьютере.
При установке SCVMM на узел Hyper-V хранить виртуальные машины, размещенные на узле Hyper-V, на жестком диске без библиотеки SCVMM. Например, используйте раздел C: на одном диске для библиотеки, а раздел D: на другом диске для виртуальных машин Hyper-V. Сервер SCVMM в данном случае будет выполняться в основной операционной системе в узле Hyper-V. Таким образом, при загрузке основной ОС будут затронуты все гостевые ОС (виртуальные машины, развернутые в узле Hyper-V). Чтобы уменьшить это влияние, настройте резервы узла для этой машины, добавив резервы узла Hyper-V (как показано ниже) к вышеупомянутым требованиям для машины SCVMM. Резервы узла можно настроить с помощью консоли администратора SCVMM.
Обеспечить сетевую маршрутизацию прямой видимости между SCVMM и Team Foundation Server, узлами и другими серверами библиотек.
Установить все последние обновления Windows на машину SCVMM и обеспечить автоматическое применение этих обновлений. Если это нецелесообразно, необходимо следить за обновлениями Windows и SCVMM и применять их вручную по мере их выхода.
Планирование для узлов Hyper-V
Не рекомендуется
Устанавливать какое-либо дополнительное ПО, например Team Foundation Server, на физический компьютер-узел. При наличии достаточно мощных узлов (производительность которых превышает суммарные потребности низкоуровневой оболочки и виртуальных машин) можно дополнительно разместить SCVMM или сервер библиотек в узле, если учесть ресурсы, потребляемые этими серверами. Например, если требуется установить SCVMM на компьютер, являющийся узлом Hyper-V, просуммируйте требования узла, виртуальных машин и SCVMM и убедитесь, что мощность компьютера достаточна.
Использовать кластеризацию с серверами узлов Hyper-V. Lab Management поддерживает кластеризацию в средах SCVMM.
Планировать одновременное развертывание десятков виртуальных машин. Ограничьте количество одновременных развертываний в узлах.
Использовать физические узлы, географически удаленные от серверов библиотек. Если требуется использовать узлы, находящиеся в разных географических расположениях с серверами библиотек SCVMM, необходимо, чтобы скорость сетевого подключения между SCVMM и узлами составляла не менее 100 Мбит/с и не была подвержена высоким задержкам.
Создавать несколько сетевых адаптеров в виртуальной машине, которая подключается к конкретной сети. Lab Management переопределяет эту конфигурацию и создает два адаптера. Один адаптер подключается к лабораторной сети, а другой обслуживает внутреннюю связь между виртуальными машинами.
Устанавливать MAC-адрес на сетевом адаптере, используемом в среде, изолированной от сети. Lab Management удаляет MAC-адрес при создании среды, изолированной от сети.
Рекомендуется
Обеспечить достаточные ресурсы компьютеров-узлов и правильно их настроить. Количество узлов Hyper-V и мощность каждого узла зависит от количества виртуальных машин, размещаемых в лаборатории. Если требуется настроить сравнительно небольшую лабораторию, установите роль Hyper-V на компьютерах следующей конфигурации:
два двухъядерных 64-разрядных процессора, поддерживающих Hyper-V;
16 Гбайт памяти;
300 Гбайт места на жестком диске;
операционная система Windows Server 2008 R2;
последние обновления операционной системы Windows.
Если количество виртуальных машин сравнительно велико и предполагается использовать несколько мощных компьютеров-узлов, для каждого из них рекомендуется следующая конфигурация:
два четырехъядерных 64-разрядных процессора, поддерживающих Hyper-V;
64 Гбайт памяти;
1 Тбайт места на жестком диске;
операционная система Windows Server 2008 R2;
последние обновления операционной системы Windows.
Резервировать на узле достаточно памяти ОЗУ. Из перечисленных выше ресурсов, указанных в требованиях к мощности компьютера-узла, необходимо зарезервировать следующие ресурсы для надлежащей работы низкоуровневой оболочки. На узле с ОЗУ 16 Гбайт выделите 20% ЦП и 2 Гбайт памяти. На узле с ОЗУ 64 Гбайт выделите 30% ЦП и 4 Гбайт памяти. Этот резерв ресурсов необходимо настроить на панели свойств узла в консоли администратора SCVMM. Для виртуальных машин могут использоваться только ресурсы, оставшиеся после вычета зарезервированных.
Обеспечить достаточную емкость хранения для виртуальных машин. Для хранилища виртуальных машин следует использовать раздел диска, отличный от основного раздела сервера Hyper-V. Например, используйте диск D: для хранения виртуальных машин, а диск C: в качестве основного раздела низкоуровневой оболочки. Выбрав расположение для хранения виртуальных машин, настройте его в диспетчере Hyper-V или в консоли администратора SCVMM. В диспетчере Hyper-V измените папки "Виртуальные жесткие диски" и "Виртуальные машины". В консоли администратора SCVMM измените параметр "Местоположение" в свойствах узла.
Обеспечить для компьютеров-узлов жесткие диски с высокой скоростью доступа и правильно их настроить. Для узлов необходим диск с высокой скоростью. Настоятельно рекомендуется использовать сконфигурированные массивы дисков RAID 5. В качестве хранилища данных компьютера-узла можно использовать подключаемый напрямую носитель или сеть SAN. Впрочем, если в качестве хранилища узла используется диск в сети SAN (из соображений емкости и надежности), необходимо назначить каждому узлу отдельный идентификатор LUN. Даже если идентификаторы LUN управляются одним и тем же контроллером, поскольку средства Visual Studio Lab Management не используют какие-либо функциональные возможности SAN, при развертывании виртуальной машины низкоуровневое копирование с использованием BITS выполняется на всех участках пути передачи данных от библиотеки до узла через локальную сеть.
Если SCVMM устанавливается на узел Hyper-V, настоятельно рекомендуется хранить виртуальные машины, размещаемые в Hyper-V, на диске, отличном от используемого для библиотеки. Сервер SCVMM в данном случае будет выполняться в основной операционной системе в узле Hyper-V. Таким образом, при загрузке основной ОС будет затронута производительность всех гостевых ОС (виртуальных машин, развернутых в узле Hyper-V). Чтобы уменьшить это влияние, настройте резервы узла для этой машины, добавив резервы компьютера-узла Hyper-V к вышеупомянутым требованиям для машины SCVMM. Резервы узла можно настроить с помощью консоли администратора SCVMM.
В случае, если узел Hyper-V также используется в качестве сервера библиотеки, необходимо, чтобы на компьютере имелось несколько дисков. На компьютере-узле необходимо использовать отдельные жесткие диски для размещения виртуальных машин и хранилища библиотек.
Обеспечить сетевую маршрутизацию прямой видимости между узлом Hyper-V и Team Foundation Server, SCVMM и другими серверами библиотек.
Если узлы Hyper-V находятся в разных географических расположениях, в каждом из этих расположений должен быть локальный сервер библиотеки.
Регулярно обновлять компьютеры-узлы. Узлы Hyper-V должны быть подключены к сети с возможностью автоматического применения обновлений операционной системы. Если это нецелесообразно, необходимо следить за обновлениями Windows и SCVMM и применять их вручную по мере их выхода.
Планирование для контроллеров и агентов
Не рекомендуется
- Устанавливать контроллер тестирования внутри среды. На виртуальных машинах внутри среды допускается устанавливать только агенты построения, тестирования и лабораторий.
Рекомендуется
Использовать несколько контроллеров построения при построении и развертывании тестируемого приложения. Первый контроллер задействуется процессом построения и используется не очень интенсивно. Второй контроллер используется для развертывания построения на виртуальных машинах и выполнения тестов, поэтому он может использоваться достаточно интенсивно при большом количестве виртуальных машин в лаборатории. Второй контроллер также используется для создания снимков среды.
Использовать контроллеры тестирования, расположенные в том же домене, что и Team Foundation Server. Если Team Foundation Server и контроллер теста находятся в рабочей группе или недоверенном домене, необходимо создать локальную учетную запись пользователя с одним и тем же именем пользователя и паролем на обеих машинах, добавить этого пользователя в Team Foundation Server в группу безопасности "[Project Collection]\Project Collection Test Service Accounts", затем зарегистрировать контроллер теста в коллекции командного проекта, используя эту локальную учетную запись.
Планирование топологии
Рекомендуется
Использовать гигабитную сеть для подключения сервера, на котором установлен SCVMM, к серверам библиотек и узлам Hyper-V.
Установить полное двустороннее отношение доверия между доменами, в которых работают Team Foundation Server, контроллер тестирования, контроллер построения, SCVMM и физический узел виртуальных машин.
Есть несколько топологий, которые можно использовать при настройке Lab Management для тестирования приложения. Простейшая топология для использования Lab Management требует всего два сервера: установите все компоненты Team Foundation Server на один сервер, а все компоненты SCVMM 2008 — на дополнительный сервер. Впрочем, возможна ситуация, когда сложные требования к топологии сети ограничивают потенциально возможные сети, в которых могут находиться Team Foundation Server, SCVMM, узлы Hyper-V и виртуальные машины, на которых выполняется тестируемое приложение. Также возможна ситуация, когда требуется настроить балансировку сетевой нагрузки для Team Foundation Server. В следующем списке предлагается несколько возможных измерений топологии и вариации для каждого измерения.
Сетевое взаимодействие
DNS.
Брандмауэр.
Система Threat Management Gateway.
Домен
Одностороннее отношение доверия.
Двустороннее отношение доверия.
Отсутствие доверия.
Логический уровень приложений Team Foundation Server
Один сервер.
Несколько серверов без балансировки сетевой нагрузки.
Несколько серверов с балансировкой сетевой нагрузки.
Логический уровень данных Team Foundation Server
Один сервер.
Несколько серверов без кластеризации.
Несколько серверов с кластеризацией.
Тесты
В среде.
Вне среды.
Следующие четыре образца топологии являются примерами того, как можно сконфигурировать сеть, используя сочетания вышеперечисленных измерений в соответствии с потребностями тестирования.
Пример топологии 1
Логический уровень приложений Team Foundation Server выполняется на нескольких серверах, и эти серверы управляются балансировщиком сетевой нагрузки. Также имеется отдельная сеть для тестирования, в которой параметры брандмауэра позволяют управлять входящим и исходящим тестовым трафиком доменной сети. Следующая схема иллюстрирует топологию 1.
Инструкции по конфигурированию этой топологии см. в статье Setting up various topologies to test with Visual Studio Lab Management – Part 1.
Пример топологии 2
Логический уровень приложений Team Foundation Server и уровни данных выполняются на нескольких серверах, но эти серверы не управляются балансировщиком нагрузки. Также имеется отдельная сеть для тестирования с библиотекой на базе SAN и узлом. Следующая схема иллюстрирует топологию 2.
Инструкции по конфигурированию этой топологии см. в статье Setting up various topologies to test with Visual Studio Lab Management – Part 2.
Пример топологии 3
Логический уровень приложений Team Foundation Server выполняется на нескольких серверах, и эти серверы управляются балансировщиком сетевой нагрузки. Также имеется отдельная сеть для тестирования. Тестируемые приложения выполняют вызовы базы дынных вне виртуальной среды. Следующая схема иллюстрирует топологию 3.
Инструкции по конфигурированию этой топологии см. в статье Setting up various topologies to test with Visual Studio Lab Management – Part 3.
Пример топологии 4
Логический уровень приложений Team Foundation Server и уровни данных выполняются на нескольких серверах, и эти серверы управляются балансировщиком сетевой нагрузки. Сеть и среды для тестирования находятся в отдельном домене. Следующая схема иллюстрирует топологию 4.
Инструкции по конфигурированию этой топологии см. в статье Setting up various topologies to test with Visual Studio Lab Management – Part 4.
См. также
Основные понятия
Архитектура Team Foundation Server
Настройка и администрирование Lab Management