Всем огненного понедельника, коллеги и энтузиасты!
Сегодня, 29 апреля, понедельник — до праздников осталось совсем немного — и почему бы немного не пополнить багаж знаний перед долгожданным отдыхом (ну в формате лайт — без жестких и заумных нравоучений). На этот раз хотелось бы немного поговорить про то, как устроена функции Bare-Metal развертывания гипервизоров на сервера — или, другими словами — как обеспечить автоматизацию эластичности вашего частного облака на базе System Center 2012 SP1.
Более подробно под катом.
Немного об облаке, об эластичности
Прежде чем подробно и детально рассказать про процесс «голо-железного развертывания», стоит немного уделить внимания, той характеристике, той особенности облачной модели, которую покрывает данный процесс. Давайте вспомним про основные характеристики облачной модели согласно NIST (National Institute of Standards and Technology). Чтобы не нагонять тоску, перечислю сразу все основные отличительные особенности облака от традиционной модели потребления ИТ.
1) Измеряемы услуги. Подразумевается, что любая услуга которая предоставляется через облака должна быть измеряема, что в конечном счете ведет к тому, что у услуги появляется стоимость — в результате измеряемость служит инструментом для билинга ИТ-сервисов.
2) Моментальная эластичность. Данный компонент подразумевает то, что облако, независимо от уровня модели услуг (IaaS, PaaS или SaaS), должно быть способным к моментальному (относительно моментальному) увеличению или уменьшению объема своих ресурсов. Именно про увеличение объема ресурсов с точки зрения эластичности мы сегодня с вами и поговорим в контексте SCVMM 2012 SP1. Ведь автоматизация процесса развертывания гипервизоров и включения их в хост-группы и облака является ничем иным как обеспечением эластичности в сторону увеличения объема ресурсов.
3) Пул ресурсов. Очень важной особенностью облака является абстракция от физических хостов, как ресурсов, до уровня их вычислительных мощностей. Иными словами теперь для получения сервиса или услуги вы учитываете не количество серверов, но объем их ресурсов, которые сгруппированы по категориям — ЦП, ОЗУ, Дисковые ресурсы и сети передачи данных — все основные объекты виртуализации, которые нам давно известны.
4) Широкополосный доступ. Вещь вполне естественная, так как мы с вами говорим про «очень клиент-серверную», даже правильнее сказать сервис-ориентированную архитектуру (SOA) — то нагрузка и требования к каналу передачи данных сильно возрастает — причем это справедливо как для провайдера (ему нужно обеспечить множество качественных подключений), так и со стороны клиента (объем трафика для обмена сильно возрастает при такой модели).
5) Самообслуживание по требованию. Под данным постулатом подразумевается наличие инструмента для либо автоматизированного, либо полностью автоматического процесса предоставления услуги или сервиса конечному пользователю. Обычно этим инструментом служит веб-портал, который служит интерфейсом между конечным пользователем и процессами оркестрации (автоматизации рабочего потока), вовлеченных в предоставление и развертывание конкретного сервиса или услуги.
Bare-Metal или «Голожелезяк»
Теперь, когда мы с вами вспомнили про основные характеристики облака, мы поняли также какое место в облачных характеристиках занимает процесс BMD (Bare-Metal Deployment), самое время рассмотреть его более подробно.
Что можно, а что нет?
Прежде чем разобрать процесс развертывания гипервизора на голое железо, неполохо было бы ознакомиться с требованиями к данному процессу.
Вкратце — нам нужны сервера с BMC-котроллером (например, iLO, iDRAC, SMASH, IPMI и прочие), а также учетные данные для доступу к серверу через этот самый контроллер.
PXE-сервер на базе Windows Server 2008 R2 или Windows Server 2012 также будет далеко не лишним, а необходимым компонентом.
Также нам очень будет нужен установленный пакет WAIK — Windows Automation and Installation Toolkit.
Также нам понадобиться генерализированный образ гипервизора (Windows Server 2008 R2 или Windows Server 2012 — Hyper-V Server тоже подойдет) в формате виртуального жесткого диска VHD.
Не стоит также забывать, что вы должны включить функции виртуализации на процессорах вашего сервера, активировать BMC-контроллер и знать его учетные данные для доступа, а также настроить сервер на загрузку через сеть с помощью PXE.
Если взглянуть на процесс последовательно, то картина будет такая.
1) VMM-серверу необходим компонент WAIK c подготовленным образом WInPE.
2) Далее нам, как я уже говорил, понадобиться развернутый сервер WDS (Windows Deployment Services).
3) DHCP-сервер также нам понадобиться для выдачи IP-адресов.
4) Далее необходимо добавить в VMM-сервер наш вышеупомянутый WDS-сервер с помощью мастера (Add Resources -> PXE Server Wizard).
5) Далее VMM установит своего агента на сервере WDS.
6) Далее на WDS-сервере будет создана папка %WDS_Image_Source%RemoteInstall (т.е. в директории где у вас хранятся образы на WDS-сервере будет создана поддиректория RemoteInstall для служебных целей).
7) Далее кастомизированный образ WInPE от VMM-сервера публикуется на сервере WDS — под процессом публикации подразумевается внедрение в образ VMM-агента и сертификата безопасности).
На данный момент времени мы рассмотрели с вами процесс настройки конфигурации.
Сам процесс
1) Перезагрузка через OOB (Out-of-Band Management). Здесь как раз сервер VMM использует свои нативные возможности общения с внешними BMC-контроллерами серверов — конкретно он отправляет сигнал на перезагрузку сервера.
2) Далее целевой сервер загружается через PXE и хочет получить загрузку с нашего WDS-сервера.
3) Прежде чем предоставить возможность целевому серверу через PXE, WDS-сервер авторизует загрузку в VMM-сервере.
4) После этого целевой сервер получает от WDS-сервера кастомизированный WinPE-образ.
5) После этого целевой сервер запускает скрипты на исполнение команд общего назначения (GCE-скрипты — General Command Execution). Этот момент очень важный, так как включает в себя обновление прошивок вашего сервера в автоматическом режиме, управление RAID-контроллером вашего сервера для создания разделов жесткого диска и прочее. Все эти параметры задаются в профиле хоста в VMM-сервере.
6) Далее происходит загрузка VHD-образа с необходимым нам гипервизором из библиотеки VMM.
7) После добавляются драйвера необходимые для конкретной модели оборудования.
8) Далее происходит процесс установки сервера, его настройки и включения в домен.
9) Установка VMM-агента и включение роли Hyper-V.
10) Исполнение дополнительных пост-инсталляционных скриптов. Примерами таких скриптов могут служить механизмы объединения сетевых адаптеров в агрегаты, настройки iSCSI-соединений. Такими примерами могут служить любые команды на удаленное исполнение.
Я упомянул по ходу статьи такие слова, хост-профили или профили хостов, а также про VHD-диск, который необходим для развертывания.
Давайте более подробно посмотрим как настроить профиль хоста и связать его с VHD-диском.
1) Для начала в VMM зайдите а раздел Library -> Profiles -> Host Profiles -> правый щелчок мыши и Create Host profile.
2) Введите имя профиля.
3) Выберите необходимый VHD-образ с гипервизором Hyper-V нужной версии (кстати, для развертывания на голое железо VMM может похвастаться только поддержкой Hyper-V — другие гипревизоры он не может разворачивать).
4) В области настройки оборудования перейдите к пункту фильтрации драйверов Driver filter и укажите метку драйвера для ваших серверов.
5) Во вкладке настройки ОС укажите всю необходимую информацию.
6) В поле настроек хоста можно ничего не трогать и нажать клавишу Next и на вкладке Summary — нажмите клавишу Fininsh для завершения процесса создания профиля хоста.
Теперь давайте рассмотрим процесс развертывания хоста на железку в данном случае на Dell R710.
1) Сперва перейдите в меню Fabric -> Home -> Add Resources -> Hyper-V Hosts and Clusters.
2) В пункте расположения ресурсов выберите “Physical computer to be provisioned into Hyper-V” и нажмите Next.
3) Далее введите данные для получения административного уровня доступа к вашему BMC-контроллеру (рекомендую даже создать «Run As» учетку для того чтобы руками это постоянно не делать — я про производственную среду).
В данном случае я выбираю протокол IPMI.
4) В области обнаружения (Discovery Scope) укажите IP-адрес, сконфигурированный на BMC-контроллере.
5) На целевых ресурсах (Target Resources) VMM должен сказать «сервере детектед!»
6) После этого в опциях развертывания (Deployment Options) укажите имя, которое вы вводили или у вас оно задано для BMC-адаптера.
7) После этого проверьте все данные на валидность и нажмите Finish для того, чтобы приступить к процессу развертывания сервера — можно идти и пить кофе!
Небольшой итог
Итак, коллеги, — мы с вами рассмотрели как работает функция автоматического развертывания гипервизора Hyper-V на голое железо с помощью инструментов SC VMM и компонентов Windows Server. Также мы с вами обсудили какую важную задачу с точки зрения облачной модели предоставления и потребления услуг решает данный механизм. Остается надеется, что в будущих версиях можно будет и сторониие гипервизоры также заливать на железо — это на случай гетерогенных сценариев. Но, невозможных вещей не бывает — на сегодняшний день вы сможете решить эту задачу с помощью System Center Configuration Manager, но это уже другая история…
С уважением,
человек-огонь
Георгий А. Гаджиев
Эксперт по информационной инфраструктуре
Microsoft Corporation.
Автор: GeorgyGadzhiev