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

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

Более 6470 заметок о 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 Enterprise Offtopic Broadcom VMachines Veeam Microsoft Cloud StarWind NAKIVO vStack Gartner Vinchin Nakivo IT-Grad Teradici VeeamON VMworld PowerCLI Citrix VSAN GDPR 5nine Hardware Nutanix vSphere RVTools 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 VCF Operations Certification Memory Kubernetes NVMe AI vSAN VMConAWS vDefend VCDX Explore Tanzu Workstation Private AI Update Russian Ports HCX Live Recovery CloudHealth NSX Labs Backup Chargeback Aria VCP Intel Community Ransomware Stretched Network VMUG VCPP Data Protection ONE V2V DSM DPU Omnissa EUC Avi Skyline Host Client GenAI Horizon SASE Workspace ONE Networking Tools Performance Lifecycle AWS API USB SDDC Fusion Whitepaper SD-WAN Mobile SRM ARM HCI Converter Photon OS VEBA App Volumes Workspace Imager SplinterDB DRS SAN vMotion Open Source iSCSI Partners HA Monterey RDMA vForum Learning vRNI UAG Support Log Insight AMD vCSA NSX-T Graphics 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 Availability 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 Capacity KB VirtualCenter NFS ThinPrint VCAP Upgrade Orchestrator ML Director SIOC Troubleshooting Bugs ESA Android Python Hub Guardrails CLI Driver Foundation HPC Optimization SVMotion Diagram 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.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Интервью:

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 - 2026, Александр Самойленко. Правила перепечатки материалов.
vExpert Badge