Новости Статьи VMware Veeam StarWind vStack Microsoft Nakivo Citrix Symantec События Релизы Видео Контакты Авторы RSS
Виртуализация и виртуальные машины

Все самое нужное о виртуализации и облаках

Более 6300 заметок о VMware, AWS, Azure, Veeam, Kubernetes и других

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

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

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

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

Поддержите VM Guru!

USDT / TRC20, адрес: TCDP7d9hBM4dhU2mBt5oX2x5REPtq9QdU1




Статья:

С удовольствием представляем статью нового автора 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. В следующей статье я расскажу несколько моментов которые мне кажутся интересными в процессе установки.

Интересное:





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

Быстрый переход:
VMware Broadcom Offtopic Microsoft Veeam Cloud StarWind VMachines NAKIVO vStack Gartner Vinchin Nakivo IT-Grad Teradici VeeamON VMworld PowerCLI Citrix VSAN GDPR 5nine Hardware Nutanix vSphere RVTools Enterprise Security Code Cisco vGate SDRS Parallels IaaS HP VMFS VM Guru Oracle Red Hat Azure KVM VeeamOn 1cloud DevOps Docker Storage NVIDIA Partnership Dell Virtual SAN Virtualization VMTurbo vRealize VirtualBox Symantec Softline EMC Login VSI Xen Amazon NetApp VDI Linux Hyper-V IBM Google VSI Security Windows vCenter Webinar View VKernel Events Windows 7 Caravan Apple TPS Hyper9 Nicira Blogs IDC Sun VMC Xtravirt Novell IntelVT Сравнение VirtualIron XenServer CitrixXen ESXi ESX ThinApp Books P2V HCX vSAN Private AI VCPP VCF Workstation Labs Backup Explore vDefend Data Protection ONE Tanzu AI Intel Live Recovery VCP V2V Aria NSX DPU Update EUC Avi Community Skyline Host Client Chargeback Horizon SASE Workspace ONE Networking Ransomware Tools Performance Lifecycle Network AWS API USB SDDC Fusion Whitepaper SD-WAN Mobile VMUG SRM ARM HCI Converter Photon OS Operations VEBA App Volumes Certification VMConAWS Workspace Imager SplinterDB DRS SAN vMotion Open Source iSCSI Partners HA Monterey Kubernetes vForum Learning vRNI UAG Support Log Insight AMD vCSA NSX-T Graphics NVMe HCIBench SureBackup Docs Carbon Black vCloud Обучение Web Client vExpert OpenStack UEM CPU PKS vROPs Stencils Bug VTL Forum Video Update Manager VVols DR Cache Storage DRS Visio Manager Virtual Appliance PowerShell LSFS Client Datacenter Agent esxtop Book Photon Cloud Computing SSD Comparison Blast Encryption Nested XenDesktop VSA vNetwork SSO VMDK Appliance VUM HoL Automation Replication Desktop Fault Tolerance Vanguard SaaS Connector Event Free SQL Sponsorship Finance FT Containers XenApp Snapshots vGPU Auto Deploy SMB RDM Mirage XenClient MP iOS SC VMM VDP PCoIP RHEV vMA Award Licensing Logs Server Demo vCHS Calculator Бесплатно Beta Exchange MAP DaaS Hybrid Monitoring VPLEX UCS GPU SDK Poster VSPP Receiver 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 KB VirtualCenter NFS ThinPrint Director Memory SIOC Troubleshooting Stretched Bugs ESA Android Python Upgrade ML Hub Guardrails CLI Driver Foundation HPC Orchestrator Optimization SVMotion Diagram Ports Plugin Helpdesk VIC VDS Migration Air DPM Flex Mac SSH VAAI Heartbeat MSCS Composer
Полезные постеры:

Постер VMware vSphere PowerCLI 10

Постер VMware Cloud Foundation 4 Architecture

Постер VMware vCloud Networking

Постер VMware Cloud on AWS Logical Design Poster for Workload Mobility

Постер Azure VMware Solution Logical Design

Постер Google Cloud VMware Engine Logical Design

Постер Multi-Cloud Application Mobility

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

Постер VMware vCloud SDK:

Постер VMware vCloud Suite:

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

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

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

 

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

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

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

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

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

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

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

Диски RDM (Raw Device Mapping) для виртуальных машин VMware vSphere и серверов ESX.

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

Где скачать последнюю версию VMware Tools для виртуальных машин на VMware ESXi.

Подключение локальных SATA-дисков сервера VMware ESXi в качестве хранилищ RDM для виртуальных машин.

Как перенести виртуальную машину VirtualBox в VMware Workstation и обратно

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

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

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

Интервью:

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

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


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

Последние 100 утилит VMware Labs

Новые возможности VMware vSphere 8.0 Update 1

Новые возможности VMware vSAN 8.0 Update 1

Новые документы от VMware

Новые технологии и продукты на VMware Explore 2022

Анонсы VMware весной 2021 года

Новые технологии и продукты на VMware VMworld 2021

Новые технологии и продукты на VMware VMworld 2020

Новые технологии и продукты на VMware VMworld Europe 2019

Новые технологии и продукты на VMware VMworld US 2019

Новые технологии и продукты на VMware VMworld 2019

Новые технологии и продукты на VMware VMworld 2018

Новые технологии и продукты на VMware VMworld 2017



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