= Лучшие инструменты инициализации «голого железа» для серверов Dell? знак равно ![ ](httpswww.redditstatic.com/desktop2x/img/renderTimingPixel.png) Я ищу инструмент для обнаружения «голого металла». По сути, мне нужен образ, который я могу загрузить по сети (PXE/Bios или UEFI), который может обнаружить все компоненты на сервере (ЦП/диски/память/модели сетевых карт/и т. д.), версии прошивки, порты коммутатора, к которым все подключено через LLDP. и сообщить обо всем этом в какой-нибудь инструмент инвентаризации, у которого есть API. Все это серверы Dell с корпоративной лицензией iDRAC, но плюсом является поддержка нескольких поставщиков. Когда у меня будут все эти данные, я хотел бы создать некоторую автоматизацию, чтобы я мог сказать, что создаю сервер с этим профилем, и он будет запрашивать API для сервера, соответствующего этим спецификациям, а затем идти и настраивать параметры BIOS, RAID, настраивать переключите порты (в канале портов), добавьте запись для установки PXE (в настоящее время мы используем cobbler, но открыты для альтернатив), затем загрузитесь PXE для установки ОС/желаемой конфигурации. Это почти наверняка будет основано на Ansible. Существует несколько инструментов подготовки «голого железа» с открытым исходным кодом, но у меня не было никакого опыта работы ни с одним из них, кроме небольшого Foreman, интеграция которого с нашей существующей марионеточной инфраструктурой и другими существующими инструментами потребовала огромных усилий. Может ли любой из них делать то, что я хочу, или слегка измененный рабочий процесс, который может достичь того же конечного результата? Информация LLDP имеет решающее значение, потому что в настоящее время мы полагаемся на запись этого вручную в нашем инструменте инвентаризации, когда мы устанавливаем новое оборудование в стойку (до установки ОС, и в этот момент автоматически сообщается, поддерживает ли установка ОС), и эти записанные вручную данные слишком часто неверны. /missing, и мы должны искать его на коммутаторе, чтобы выяснить, где что на самом деле подключено. Я думал о том, чтобы просто создать живое изображение, которое может делать то, что мы хотим, у нас уже есть инструмент инвентаризации, который мы можем использовать для отчетов, но это может быть просто дополнительной работой с нашей стороны, которой можно избежать с помощью существующего инструмента. ![ ](httpswww.redditstatic.com/desktop2x/img/renderTimingPixel.png) Вы можете посмотреть на Digital Rebar. Он был запущен как внутренний проект Dell, а позже был выделен в отдельную компанию. Средство подготовки Suse OpenStack основано на версии 1.0, а ветвь 2.0 более обобщена. Так что теперь это не просто проект OpenStack. httpsrebar.digital Я настоятельно рекомендую Digital Rebar (httpsrebar.digital). Он делает именно то, что вы ищете. Разработан для интеграции всех протоколов подготовки в один статически скомпилированный двоичный файл Golang (без кошмарной настройки дюжины внешних сервисов, чтобы все заработало). Он поддерживает компонуемые (настраиваемые) рабочие процессы, имеет интегрированные компоненты инвентаризации, классификации и проверки. Инвентаризация может быть перенесена во внешний SoR (системы записи, базы данных управления активами и т. д., и в первую очередь это 100% API, с очень сильным интерфейсом командной строки и отличным веб-порталом. Установку ОС можно выполнить с помощью кикстарта/preseed на основе PXE или с помощью отдельных образов артефактов. Он также имеет полное управление жизненным циклом оборудования (BIOS, встроенное ПО, RAID-контроллеры). Вы можете использовать пошаговые/этапные рабочие процессы для выполнения всего, или вы можете создать полный рабочий процесс автоматизации с нулевым касанием, если вы знаете, как вы хотите классифицировать свои машины. Tinkerbell не является полностью автоматизированным инструментом - НЕ предлагаю этого; и чтобы извлечь из этого что-то полезное, вам потребуются 4 отдельных и разных микросервиса, больше проблем с интеграцией и управлением. Foreman нацелен исключительно на подготовку, и для того, чтобы действительно сделать что-то полезное, требуется настроить массу внешних сервисов. Он хрупкий и ломкий. MaaS также в значительной степени ориентирован на предоставление ресурсов и наиболее эффективен, если вы покупаете только Ubuntu — однако это не эксклюзивно для Ubuntu. Digital Rebar — это платформа автоматизации инфраструктуры, разработанная как современный сервис с полным набором возможностей управления жизненным циклом центра обработки данных. Он не требует интеграции на стороне, как большинство существующих инструментов — интеграция с вашими инструментами и инфраструктурой является основой дизайна. Управление жизненным циклом оборудования имеет свои собственные требования, и опять же, оно было разработано с нуля для поддержки гетерогенных систем и сложных инфраструктурных сред. [EDIT] — Digital Rebar поддерживает запрос LLDP как часть этапов инвентаризации, поэтому вы можете определить коммутатор и порты, к которым подключены ваши серверы. Существует глубокая поддержка оборудования Dell для полного управления жизненным циклом, а также оборудования других поставщиков. Мы используем Digital Rebar, и нам нравится, что команда, стоящая за ним, очень отзывчива в Slack, и их цены разумны, если вы идете в этом направлении. Нам просто нравится с ними работать. У него есть немного кривой обучения, но он очень гибкий. Кроме того, у них много кода с открытым исходным кодом, что очень полезно при отладке. В прошлом я неплохо работал с Puppet/Foreman, хотя, по общему признанию, не я довел его до рабочего состояния. В настоящее время я становлюсь поклонником MAAS (httpsmaas.io). Если вы находитесь в магазине Ubuntu, обязательно попробуйте. Foreman в целом довольно крут, вы можете использовать плагин для обнаружения Foreman, чтобы достичь того, что вы ищете. Вы можете сделать некоторую автоматизацию, но, черт возьми, это королевская боль в настройке? Я думаю, что столкнулся со всеми возможными проблемами. Мне пришлось выполнять автономную установку и настройку, что еще больше усложняло работу с серверами, к которым я не мог физически получить доступ. На мой взгляд, это классный инструмент, если вам действительно нужно его использовать и у вас есть бюджет, выберите Redhat Satellite с поддержкой (Forman — это версия Satellite для сообщества). Хотя MaaS выглядел многообещающе, но я не играл с ним (также я автоматизировал установку CentOS/RHEL) Я использую встроенные API-интерфейсы Redfish iDRAC. Большинство корпоративных поставщиков уже предоставляют Redfish с уровня управления. У Dell есть неофициальный репозиторий на github с коллекцией полезных скриптов Python, позволяющих выполнять почти все задачи по подготовке. Я использую этот скрипт вместе с Ansible для подготовки «голого железа». httpsgithub.com/dell/iDRAC-Redfish-Scripting Важно отметить, что не все производители одинаково поддерживают Redfish. У нас есть большой опыт работы с мультивендорными средами. BMC (контроллеры управления основной платой) разных производителей (например, iDRAC) поддерживают разные версии протоколов Redfish, а некоторые реализуют их по-разному. Если вы являетесь магазином одного поставщика, то эта стратегия может работать, но если вы представляете другого поставщика или более новую версию BMC (или обновление прошивки), которая изменяет поддержку/поведение Redfish, вам необходимо соответствующим образом настроить свои инструменты. Вам также остается настраивать ОС с помощью сложных для управления процессов, поскольку у вас нет никаких встроенных в ОС инструментов, если только вы не «запишете» их в свои образы ISO. Если вы хотите заменить существующую плоскость отчетности/управления и сразу перейти к установке ОС гипервизора, всегда есть httpsdocs.vmware.com/en/VMware-vSphere/6.5/com.vmware.vsphere.install.doc/GUID- 8C221180-8B56-4E07-88BE-789B25BA372A.html