Одним из способов автоматизации развертывания виртуальных машин в System Center 2012 R2 Virtual Machine Manager является использование профилей. В VMM есть несколько типов профилей, и сегодня речь пойдет о профилях оборудования (Hardware profiles).
Профиль оборудования содержит в себе готовую конфигурацию оборудования и используется при развертывании виртуальных машин, а так же при создании шаблонов ВМ и сервисов.
Создание профиля оборудования
Для создания нового профиля оборудования переходим в раздел «Library» и жмем Create -> Hardware profile.
В окне «General» вводим имя и описание профиля, а также выбираем поколение ВМ, для которого этот профиль будет предназначен. Подробнее про поколения ВМ в Hyper-V можно узнать из этой статьи, сейчас же напомню наиболее важные моменты:
1) В качестве гостевой ОС в машинах второго поколения можно использовать только операционные системы Microsoft начиная с Windows 8\Windows Server 2012;
2) Размещать ВМ второго поколения можно только на хостах Windows Server 2012 R2;
3) В System Center 2012 R2 виртуальные машины 2 поколения нельзя использовать для создания шаблонов сервиса (Service templates).
Переходим в окно «Hardware Profile» и приступаем к редактированию профиля. Все свойства разделены на несколько разделов, пройдемся по ним по порядку.
В том случае, если вы развертываете ВМ в облаке, в разделе Compatibility можно указать один или несколько профилей совместимости (Capability Profile).
Здесь стоит сделать небольшое отступление и объяснить, для чего нужен Capability profile. По сути, Capability profile представляет из себя шаблон, который накладывается на создаваемый профиль. В нем прописаны определенные ограничения на оборудование, которым должен соответствовать этот профиль. Для примера откроем один из предустановленных профилей XenServer, и посмотрим эти ограничения. Как видите, в нем прописаны стандартные ограничения XenServer — 8 логических процессоров, 32Гб ОЗУ и т.д.
Если при создании профиля оборудования указаны профили совместимости, то VMM производит валидацию профиля оборудования на соответствие ограничениям, налагаемым указанными профилями совместимости. При несоответствии в свойствах профиля будут указаны ошибки валидации, соответственно до устранения этих ошибок использовать такой профиль для создания ВМ будет невозможно.
В VMM есть 3 заранее предопределенных профиля совместимости, по одному на каждый поддерживаемый гипервизор. Но вы не ограничены ими и при желании можете создавать свои профили совместимости и указывать в них параметры, специфичные для вашей инфраструктуры.
Возвращаемся к созданию профиля.
На следующем шаге мы выбираем количество виртуальных процессоров, доступных ВМ. Чекбокс внизу позволяет улучшить совместимость ВМ с различными версиями процессоров, путем отключения некоторых инструкций процессора.
Дальше идут основные настройки оперативной памяти. Во первых, выбираем, в каком режиме будет использоваться память. Напомню, что при статическом выделении памяти (Static) виртуальной машине сразу выделяется весь указанный объем ОЗУ, тогда как в динамическом режиме (Dynamic) память для ВМ выделяется и забирается по мере необходимости. Для динамического режима необходимо указать следующие параметры:
• Startup memory — объем памяти, выделяемый ВМ при старте;
• Minimum memory — минимальный объем памяти, необходимый для работы ВМ;
• Maximum memory — максимальный объем памяти, доступный для ВМ;
• Memory buffer — объем памяти в процентах от текущего использования, который должен быть зарезервирован для ВМ (на всякий случай).
Примечание. Если интересно, то вот здесь подробно описаны все настройки и механизм работы динамической памяти.
В настройках SCSI-контроллера мы можем выбрать тип контроллера. В списке есть как полностью виртуальные устройства, так и эмулирующие реальную железку. Выбор контроллера зависит от того, что из предложенного списка поддерживается в гостевой ОС.
В этом же разделе можно добавить ISO-образ, например дистрибутив операционной системы. Обратите внимание, что нельзя просто указать на произвольный ISO-файл, образ обязательно должен находиться на библиотечной шаре.
Для ВМ первого поколения в этом разделе присутствует IDE-контроллер, и загрузочный образ DVD может быть подключен только к нему.
Переходим к настройкам сети. Сначала указываем, нужно ли подключать вновь созданную ВМ к сети. Если нужно, то выбираем сеть (VM network), к которой должна быть подключена ВМ.
Выбираем способ назначения IP-адреса:
• Dynamic IP — виртуальная машина автоматически получит IP-адрес от сервера DHCP;
• Static IP — виртуальная машина автоматически получит IP-адрес, выбранный из статического пула адресов, созданного в VMM в разделе Networking.
Затем выбираем способ назначения MAC-адреса. Здесь также можно выбрать либо динамическое, либо статическое назначение адреса. При динамическом назначении MAC будет назначен гипервизором, а при статическом — выбран из статического пула адресов в VMM. Имейте в виду, что при выборе статического назначение IP для MAC-адреса тоже придется выбрать статику, поскольку динамическое назначение адреса будет недоступно.
Также в разделе «Port profile» можно включить некоторые дополнительные возможности:
• Enable virtual switch optimizations — включает технологии оптимизации трафика, такие VMQ или IPSec offload;
• Enable spoofing of MAC addresses — разрешает подмену MAC-адреса в заголовке исходящих сетевых пакетов. По умолчанию Hyper-V запрещает спуфинг MAC-адреса, и если ВМ пытается в исходящих пакетах подменить MAC отправителя (т.е свой) на другой MAC-адрес, то такие пакеты блокируются. Разрешение спуфинга может потребоваться для балансировки сетевой нагрузки (NLB);
• Enable guest specified IP addresses — эта опция доступна только в VMM 2012 R2 и только для гостевых ОС Windows Server 2012 R2. Используя эту опцию, виртуальная машина может самостоятельно (из гостевой ОС) добавлять и удалять IP-адреса на данный виртуальный адаптер. Подобная возможность может использоваться для гостевой кластеризации с использованием виртуализации сети.
Можно не задавать параметры порта параметры вручную, а выбрать из списка готовый профиль порта (Port profile), содержащий необходимые настройки. В VMM есть некоторое количество уже готовых профилей под наиболее распространенные задачи, а при необходимости можно создать свой профиль. Посмотреть содержимое, а также создать и отредактировать профиль порта можно на вкладке «Fabric» в разделе «Port profiles».
Дальше идут расширенные настройки оборудования.
Если вы планируете разворачивать виртуальные машины в отказоустойчивом кластере, то в разделе Availability отмечаем соответствующий чекпойнт. Дополнительно можно указать приоритет ВМ, в зависимости от которого будет определяться порядок запуска ВМ при старте сервера или при переезде на другой узел кластера.
В разделе «Firmware» включаем для ВМ режим безопасной загрузки (Secure Boot). Этот режим доступен только для Generation 2 виртуальных машин.
Примечание. Для машин первого поколения в разделе «Firmware» можно определить порядок загрузки. Для второго поколения эта опция почему то недоступна из GUI, и переопределить дефолтные значения можно только для готового профиля, и только с помощью PowerShell. Например, для нашего профиля команда для установки загрузки по сети будет выглядеть так:
$profile = Get-SCHardwareProfile | where {$_.name -eq ″Web-Server″}
Set-SCHardwareProfile -HardwareProfile $profile -FirstBootDevice ″Nic,0″
Здесь ″Nic,0″ это номер сетевого адаптера, соответственно для загрузки со SCSI адаптера указываем номер контроллера и номер устройства, примерно так ″SCSI,0,1″.
В разделе CPU Priority задаем приоритет, согласно которому для ВМ будут выделяться процессорные мощности. Можно выбрать один из трех уровней (High, Normal, Low) либо указать приоритет в виде числа (чем больше число, тем выше приоритет).
Параметр «Reserve CPU» позволяет жестко зарезервировать за ВМ определенный процент вычислительной мощности , а параметр «Limit CPU» наоборот — ограничивает максимальную мощность, доступную ВМ.
В разделе Virtual NUMA можно включить проекцию физической топологии NUMA (Non-Uniform Memory Architecture) на виртуальную машину, а также настроить топологию NUMA вручную.
Ну и в разделе Memory weight определяем вес ВМ при распределении оперативной памяти (в случае ее нехватки). Здесь так же как и с процессором, либо выбираем одно из трех стандартных значений (High, Normal, Low), либо задаем значение в виде числа — чем больше число, тем выше вес и тем больше памяти сможет получить машина.
Редактирование профиля оборудования
Все созданные профили отображаются в библиотеке, на вкладке Hardware Profiles. Для просмотра\редактирования достаточно выбрать нужный профиль и дважды кликнуть по нему.
Открыв профиль, мы можем изменить настройки оборудования, а также добавить (или удалить) дополнительные сетевые, Fibre Channel или SCSI адаптеры.
На вкладке Dependencies отображены все ресурсы (виртуальные диски, ISO-образы, RunAs аккаунты и т.п.) связанные с данным профилем.
На вкладке Access можно редактировать список ролей пользователей, которым позволено использовать данный профиль. Возможно указать как всю роль целиком, так и одного конкретного пользователя с этой ролью.
И еще, при наличии ошибок стоит заглянуть на вкладку Validation Errors. На ней подробно отображаются все проблемы с профилем, а также пути их решения. Например, в нашем случае профиль оборудования не прошел валидацию по причине несовместимости настроек процесcора и памяти с профилем совместимости LowProfile.
Использование профиля оборудования
Для того, чтобы применить созданные профиль оборудования при создании ВМ, на этапе конфигурирования оборудования просто выбираем из списка нужный профиль.
Пока все 🙂 Более подробно создание ВМ с использованием профиля оборудования рассмотрим в следующий раз.