Новости Статьи VMware Veeam StarWind Microsoft ИТ-ГРАД Citrix Symantec 5nine События Релизы Видео Контакты Авторы RSS
Виртуализация и виртуальные машины

Виртуализация vSphere, Hyper-V, XenServer и Red Hat

Более 4800 заметок о виртуализации и виртуальных машинах VMware, Microsoft, Citrix, Red Hat

VM Guru / Articles / Полностью автоматическая установка ESXi хостов на серверах Dell. Часть 1.

Полностью автоматическая установка ESXi хостов на серверах Dell. Часть 1.

Полностью автоматическая установка ESXi хостов на серверах Dell. Часть 1.

Автор: Алексей Гончаров
Дата: 21/12/2018

Реклама:



Статья:

С удовольствием представляем статью нового автора VM Guru Алексея Гончарова. Для связи с автором используйте вкладку "Авторы".

На написание этого поста меня вдохновила достаточно старая, но лично мною обнаруженная совсем недавно статья Романа Гельмана "PowerShell скрипт для автоматической установки ESXi хостов на серверах IBM/Lenovo".

Какое-то время назад появилась необходимость автоматизировать процесс развертывания новой инфраструктуры для vSphere для клиента, и, не найдя готового решения которое бы меня полностью удовлетворяло, я решил написать скрипт сам (конечно, используя блоки готовых функций/модулей для промежуточных задач).

В целом, мой процесс подобен подходу Романа, с несколькими различиями:

  • Заказчик использует серверы Dell PowerEdge 14G.
  • Решение учитывает установку на множественных сайтах заказчика по всему миру и различные конфигурации серверов.
  • Решение полностью автоматизировано, включая конфигурацию BIOS/RAID-контроллеров серверов.

По моему (скромному, конечно) мнению, оно в чем-то превосходит VMware Statefull Autodeploy, при этом требует лишь лицензию vSphere Standard. В качестве параметров скрипту передается: пароль root, имя хоста, IP-адреса для сервисных интерфейсов (vMotion, SAN и т.п.).

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

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

После того, как сервер физически установлен в стойку, и сетевые кабели подключены к сетевым интерфейсам, персонал на сайте в моем случае должен вручную настроить IP-адрес для iDRAC (если вы не сталкивались с серверами Dell – это название интерфейса удаленного управления, аналог iLO у HP, либо CIMC у CISCO) интерфейса.

На самом деле, этот шаг тоже можно автоматизировать, оставив персоналу на сайтах только установку сервера в стойку и подключение кабелей. Сделать это можно следующим образом. По умолчанию, iDRAC настроен на получение IP-адреса с DHCP-сервера. Если ваш DHCP-сервер настроен на регистрацию имен на DNS-сервере, то вскоре после подключения сервера к питанию и подключении сетевого интерфейса iDRAC зарегистрирует свое имя на DNS-сервере. Дефолтное имя состоит из префикса (idrac-) и серийного номера сервера.

Таким образом, вам лишь нужно узнать серийный номер сервера, чтобы знать адрес “первого” подключения. В моем же случае в связи со спецификой сайтов клиента IP-адрес задавался вручную, и я мог получить его из DNS.

Следующим шагом в установке является опциональная конфигурация железа (настройки BIOS, RAID-контроллеры и т.п.) и подключение кастомизированного загрузочного ISO-образа с дистрибутивом ESXi, включение сервера и, собственно, загрузка с данного образа.

Для этого вам понадобится PS Module DellPEWSMANTools, который можно найти здесь:

https://github.com/dell/DellPEWSMANTools

Одного модуля недостаточно для осуществления всего задуманного, также вам понадобится следующая функция:

Function New-PEBIOSConfigJob
{
    [CmdletBinding(SupportsShouldProcess=$true)]
    [CmdletBinding()]
    param
    (
        [Parameter(Mandatory)]
        [Alias("s")]
        [ValidateNotNullOrEmpty()]
        $iDRACSession,

        [Parameter()]
        [ValidateSet(1,2,3)]
        [Int]
        $RebootType = 1,

        [Parameter()]
        [String]
        $ScheduledStartTime = 'TIME_NOW',

        [Parameter()]
        [String]
        $UntilTime
    )

    Begin
    {
        #$CimOptions = New-CimSessionOption -SkipCACheck -SkipCNCheck -SkipRevocationCheck -Encoding Utf8 -UseSsl
        $properties=@{SystemCreationClassName="DCIM_ComputerSystem";SystemName="DCIM:ComputerSystem";CreationClassName="DCIM_BIOSService";Name="DCIM:BIOSService";}
        $instance = New-CimInstance -ClassName DCIM_BIOSService -Namespace root/dcim -ClientOnly -Key @($properties.keys) -Property $properties
    }

    Process
    {
        if ($PSCmdlet.ShouldProcess($($iDRACSession.ComputerName),'Set BIOS attribute'))
        {
            $params = @{
                'Target'             = 'BIOS.Setup.1-1'
                'RebootType'         = $RebootType
                'ScheduledStartTime' = $ScheduledStartTime
            }

            if ($UntilTime)
            {
                $params.Add('UntilTime', $UntilTime)
            }

            $responseData = Invoke-CimMethod -InputObject $instance -MethodName CreateTargetedConfigJob -CimSession $iDRACsession -Arguments $params

            if ($responseData.ReturnValue -eq 4096)
            {
                return $responseData
            }

            return $responseData
        }
    }
}

Импортировав модуль и добавив функцию в ваш скрипт, задаем переменные и выполняем подготовку. Вам нужны будут логин и пароль для авторизации на iDRAC в виде PS Credentials, подготавливаем:

Имя пользователя iDRAC:

$iDRACUser = “Username”

Пароль iDRAC. Для простоты здесь запрашивается ввод с консоли, и сразу шифруется. Я же передаю пароль в виде параметра и позже шифрую.

$iDRACSecurePass = Read-Host "Enter your password" -AsSecureString

Создаем PS Credential object:

$iDRACCreds = New-Object -Typename System.Management.Automation.PSCredential -Argumentlist $iDRACUser, $iDRACSecurePass  # PS Credentials object

Инициируем подключение к iDRAC:

$iDRACSession = New-PEDRACSession -Credential $iDRACCreds -IPAddress $iDRACIP

По моей инструкции сервер должен быть выключен после настройки, но мы не надеемся на то, что персонал на сайте читает инструкции, поэтому сначала выключаем сервер:

Set-PEPowerState -iDRACSession $iDRACSession -Confirm:$False -Force -State PowerOff

Монтируем ISO-образ с сетевого диска:

Переменные. Имя пользователя с доступом к сетевому диску:

$Username = “Username”

Пароль пользователя. Как и выше, здесь для простоты запрашивается ввод с консоли.

$UserSecurePass = Read-Host "Enter your password" -AsSecureString

Создаем PS Credential object:

$UserCreds = New-Object -Typename System.Management.Automation.PSCredential -Argumentlist $Username, $UserSecurePass

MD5 hash ISO-образа. Нужно вычислить заранее любым привычным для вас инструментом. Например, WinMD5:

$ISOHASH = “2ff82b7db83983858a99fae289637765”

Имя файла с ISO-образом:

$ESXiImageName = “VMware-VMvisor-Installer-6.5.0.update02-10719125.x86_64-DellEMC_Customized-A07-ALEXEY.iso”

IP сервера с сетевым диском:

$NASIP = “10.10.10.10”

Путь к образу на сетевом диске:

$NetworkShareName = "Images/VMware"

Собственно, монтируем образ:

Connect-PERFSISOImage -Credential $UserCreds -HashType MD5 -HashValue $ISOHASH -iDRACSession $iDRACSession -ImageName $ESXiImageName -IPAddress $NASIP -ShareName $NetworkShareName

Даем время на завершение задания. Тут я явно перестраховываюсь, ввиду того что с ранними версиями IDRAC firmware были проблемы с медленным выполнением задачи.

Start-Sleep -Seconds 60

Включаем сервер чтобы Virtual CD-ROM с примонтированным образом зарегестрировался в качестве загрузочного устройства и даем ему загрузиться:

Set-PEPowerState -iDRACSession $iDRACSession -Confirm:$False -Force -State PowerOn
Start-Sleep -Seconds 180

Задаем виртуальный CD-ROM в качестве загрузочного устройства на следующую загрузку:

Set-PESystemOneTimeBootSetting -iDRACSession $iDRACSession -OneTimeBootDevice "Optical.iDRACVirtual.1-1"

Выключаем сервер и как обычно немного ждем:

Set-PEPowerState -iDRACSession $iDRACSession -Confirm:$False -Force -State PowerOff
Start-Sleep -Seconds 10

Выполняем задачу на конфигурирование загрузочного устройства и ждем..

New-PEBIOSConfigJob -iDRACSession $iDRACSession | out-null
Start-Sleep -Seconds 20

Включаем сервер. При загрузке он выполнит задачу на конфигурацию BIOS и загрузится с ISO образа находящегося на сетевом диске.

Set-PEPowerState -iDRACSession $iDRACSession -Confirm:$False -Force -State PowerOn
Start-Sleep -Seconds 900

15-минутное ожидание необходимо для нескольких перезагрузок и установки ESXi. В следующей статье я расскажу несколько моментов которые мне кажутся интересными в процессе установки.

Реклама







Зал Славы Рекламодателя
Ближайшие события в области виртуализации:

24/04/2019:  VMware vForum Online 2019
29/05/2019:  IT&SECURITY FORUM 2019
05/06/2019:  IT Management Forum 2019

Быстрый переход:
StarWind VMware IT-Grad Veeam PowerCLI Offtopic Gartner Citrix VSAN 5nine Hardware VeeamON Nutanix vSphere RVTools Enterprise Security Code Cisco vGate Microsoft Cloud SDRS Parallels IaaS HP VMFS VM Guru Oracle Red Hat Azure KVM VeeamOn 1cloud Docker Storage NVIDIA Partnership Dell Virtual SAN Virtualization VMTurbo vRealize VirtualBox Symantec Softline EMC Login VSI Xen Teradici Amazon NetApp VDI Linux Hyper-V IBM Google VSI Security Windows vCenter VMachines Webinar View VKernel Events Windows 7 Caravan Apple TPS Hyper9 Nicira Blogs Sun VMC Xtravirt Novell IntelVT Сравнение VirtualIron XenServer CitrixXen ESXi ESX ThinApp Books P2V HCI Labs vSAN App Volumes Tools Video vROPs Workspace ONE Backup Horizon VMUG vCloud NSX vRNI HA Update Manager VCP VVols Workstation Update UEM DR Networking Cache Storage DRS VMworld Workspace DRS Fusion Lifecycle Visio SRM Log Insight Operations Manager SDDC Virtual Appliance OpenStack Forum PowerShell LSFS Client vCSA Datacenter Intel Agent esxtop Book Photon Cloud Computing SSD Comparison Blast Performance Nested AWS XenDesktop VSA vNetwork SSO Host Client VMDK VTL iSCSI Whitepaper Appliance VUM V2V Support Обучение Web Client Mobile Automation Replication Desktop Fault Tolerance Vanguard SaaS Connector Event Free SQL Sponsorship Finance FT Containers Converter XenApp Snapshots vGPU Auto Deploy SMB RDM Mirage XenClient MP SC VMM Certification VDP Partners PCoIP RHEV vMA Award Network USB Licensing Logs Server Demo vCHS Calculator Бесплатно vExpert Beta SAN Exchange MAP ONE DaaS Monitoring VPLEX UCS SDK Poster VSPP Receiver vMotion VDI-in-a-Box Deduplication Reporter vShield ACE Go nworks iPad XCP Data Recovery Documentation Sizing Pricing VMotion Snapshot FlexPod VMsafe Enteprise Monitor vStorage Essentials Live Migration SCVMM TCO Studio AMD-V VirtualCenter NFS ThinPrint CLI Helpdesk Troubleshooting VIC Upgrade VDS Bug Migration Director Stencils Memory API Android Graphics Diagram Air Plugin DPM SIOC Flex Mac Open Source SSH VAAI Chargeback Heartbeat MSCS Ports SVMotion Bugs Composer
Интересные плакаты:

Постер VMware vSphere PowerCLI 6.3:

Постер VMware ESXi 5.1:

Постер VMware Hands-on Labs 2015:

Постер VMware Platform Services Controller 6.0:

Постер VMware vCloud Networking:

Постер VMware NSX (референсный):

Постер VMware vCloud SDK:

Постер VMware vCloud Suite:

Постер VMware vCenter Server Appliance:

Порты и соединения VMware vSphere 6:

Порты и соединения VMware Horizon 7:

Порты и соединения VMware NSX:

Управление памятью в VMware vSphere 5:

Как работает кластер VMware High Availability:

Постер VMware vSphere 5.5 ESXTOP (обзорный):

Постер Veeam Backup & Replication v8 for VMware:

Постер Microsoft Windows Server 2012 Hyper-V R2:

 

Популярные статьи:
Как установить VMware ESXi. Инструкция по установке сервера ESXi 4 из состава vSphere.

Включение поддержки технологии Intel VT на ноутбуках Sony VAIO, Toshiba, Lenovo и других.

Как настроить запуск виртуальных машин VMware Workstation и Server при старте Windows

Как работают виртуальные сети VLAN на хостах VMware ESX / ESXi.

Что такое и как работает виртуальная машина Windows XP Mode в Windows 7.

Типы виртуальных дисков vmdk виртуальных машин на VMware vSphere / ESX 4.

Сравнение Oracle VirtualBox и VMware Workstation.

Инфраструктура виртуальных десктопов VMware View 3 (VDI)

Бесплатные утилиты для виртуальных машин на базе VMware ESX / ESXi.

Как использовать возможности VMware vSphere Management Assistant (vMA).

Проектирование инфраструктуры виртуализации VMware vSphere 4.

Как поднять программный iSCSI Target на Windows 2003 Server для ESX

Бесплатные программы для VMware ESX / ESXi в среде Virtual Infrastructure / vSphere (часть 2).

Работа с дисками виртуальных машин VMware.

Новые возможности VMware vSphere 5.0 - официально.

Все ресурсы о виртуализации:
Интервью:

Alessandro Perilli
virtualization.info
Основатель

Ратмир Тимашев
Veeam Software
Президент


Купить:

VMware vSphere 6.5


Veeam Backup 9.5


Полезные ресурсы:


Видео компании VMware

Видео про Citrix Xen

Видео о виртуализации Microsoft

Утилиты для виртуальных машин Microsoft.

Книги на английском языке

Блоги на английском языке

Блоги на русском языке

Агрегация статей в твиттере VMC:


Copyright VM Guru 2006 - 2019, Александр Самойленко. Правила перепечатки материалов.