= Beste Bare-Metal-Bereitstellungstools für Dell-Server? = ![ ](httpswww.redditstatic.com/desktop2x/img/renderTimingPixel.png) Ich bin auf der Suche nach einem Tool für die Bare-Metal-Discovery. Im Wesentlichen brauche ich ein Image, das ich über das Netzwerk booten kann (PXE/Bios oder UEFI), das alle Komponenten auf dem Server (CPU/Festplatten/Speicher/NIC-Modelle/usw.), Firmware-Versionen und die Switch-Ports erkennen kann, mit denen alles über LLDP verkabelt ist , und melden Sie all dies an eine Art Inventartool zurück, das über eine API verfügt. Dies sind alles Dell-Server mit einer Unternehmens-iDRAC-Lizenz, aber die Unterstützung mehrerer Anbieter ist ein Plus. Sobald ich all diese Daten habe, möchte ich eine Automatisierung aufbauen, damit ich sagen kann, einen Server mit diesem Profil zu bauen, und es wird die API nach einem Server abfragen, der diese Spezifikationen erfüllt, und dann gehen und die BIOS-Optionen, RAID, konfigurieren Switch-Ports (in einem Portkanal), fügen Sie einen Eintrag für eine PXE-Installation hinzu (wir verwenden derzeit Cobbler, sind aber offen für Alternativen), dann PXE-Boot, um das Betriebssystem/die gewünschte Konfiguration zu installieren. Das wäre mit ziemlicher Sicherheit Ansible-basiert. Es gibt mehrere Open-Source-Bare-Metal-Bereitstellungstools, aber ich habe mit keinem von ihnen Erfahrungen gemacht, außer mit einem kleinen Foreman, dessen Integration in unsere vorhandene Puppet-Infrastruktur und andere vorhandene Tools ein großer Aufwand zu sein schien. Kann einer von ihnen das tun, was ich will, oder ein leicht modifizierter Arbeitsablauf, der das gleiche Endergebnis erzielen kann? LLDP-Informationen sind von entscheidender Bedeutung, da wir uns derzeit darauf verlassen, diese manuell in unserem Inventarisierungstool aufzuzeichnen, wenn wir neue Geräte montieren (vor der Installation des Betriebssystems, zu diesem Zeitpunkt wird automatisch gemeldet, ob die Installation des Betriebssystems dies unterstützt) und dass manuell aufgezeichnete Daten allzu oft falsch sind /missing und wir müssen auf dem Switch danach suchen, um herauszufinden, wo die Dinge tatsächlich verkabelt sind. Ich habe darüber nachgedacht, einfach ein Live-Image zu erstellen, das tun kann, was wir wollen. Wir haben bereits ein Inventartool, mit dem wir Berichte erstellen können, aber das könnte nur zusätzliche Arbeit unsererseits sein, die mit einem vorhandenen Tool vermieden werden kann. ![ ](httpswww.redditstatic.com/desktop2x/img/renderTimingPixel.png) Sie könnten sich Digital Rebar ansehen. Es wurde als internes Dell-Projekt gestartet und später als eigenes Unternehmen ausgegliedert. Suses OpenStack-Provisioner basiert auf der 1.0-Version, mit dem 2.0-Zweig wurde mehr verallgemeinert. Es ist also jetzt nicht nur ein OpenStack-Projekt. httpsrebar.digital Ich würde Digital Rebar (httpsrebar.digital) sehr empfehlen. Es macht genau das, wonach Sie suchen. Entwickelt, um alle Bereitstellungsprotokolle in eine einzige statisch kompilierte Golang-Binärdatei zu integrieren (keine Alptraumeinrichtung von einem Dutzend externer Dienste, um die Dinge zum Laufen zu bringen). Es unterstützt zusammensetzbare (anpassbare) Arbeitsabläufe und verfügt über integrierte Bestands-, Klassifizierungs- und Validierungskomponenten. Das Inventar kann auf externe SoR (Systems of Record, Asset Management DBS usw.) ausgeschaufelt werden, und es ist zunächst eine 100%ige API mit einer sehr starken CLI und einem hervorragenden Webportal. Betriebssysteminstallationen können über Kickstart/Preseed PXE-basiert oder über einzelne Artefakt-Images erfolgen. Es verfügt auch über ein vollständiges Hardware-Lebenszyklusmanagement (BIOS, Firmware, RAID-Controller). Sie können Schritt-/Stufen-Workflows verwenden, um alles zu erreichen, oder Sie können einen vollständigen Zero-Touch-Automatisierungsworkflow erstellen, wenn Sie wissen, wie Sie Ihre Maschinen klassifizieren möchten. Tinkerbell ist kein vollständig automatisierungsfähiges Tool - würde das NICHT vorschlagen; und um etwas Nützliches daraus zu machen, benötigen Sie 4 separate und unterschiedliche Mikrodienste, mehr Integrations- und Verwaltungsaufwand. Foreman zielt auf reine Bereitstellung ab und erfordert die Einrichtung einer Menge externer Dienste, um tatsächlich etwas Nützliches zu tun. Es ist zerbrechlich und spröde. MaaS konzentriert sich auch stark auf die Bereitstellung und ist am stärksten, wenn Sie nur Ubuntu kaufen - es ist jedoch nicht exklusiv für Ubuntu. Digital Rebar ist eine Plattform für die Infrastrukturautomatisierung, die als moderner Service mit umfassenden Funktionen für das Lifecycle-Management von Rechenzentren konzipiert wurde. Es erfordert keine Integrationen nebenbei wie die meisten bestehenden Tools – die Integration in Ihre Tools und Infrastruktur ist der Kern des Designs. Das Hardware-Lifecycle-Management hat seine eigenen Anforderungen und wurde von Grund auf neu entwickelt, um heterogene Systeme und komplexe Infrastrukturumgebungen zu unterstützen. [BEARBEITEN] – Digital Rebar unterstützt LLDP-Abfragen als Teil der Inventarisierungsphasen, sodass Sie Switches und Ports ermitteln können, mit denen Ihre Server verbunden sind. Es gibt umfassende Unterstützung für Dell-Hardware für das vollständige Lifecycle-Management sowie für Hardware anderer Anbieter. Wir verwenden Digital Rebar und mögen es, das Team dahinter ist in Slack sehr reaktionsschnell und die Preise sind angemessen, wenn Sie in diese Richtung gehen. Wir arbeiten einfach gerne mit ihnen zusammen. Es hat eine gewisse Lernkurve, ist aber super flexibel. Außerdem haben sie viele Codes aus offenen Quellen, was sehr hilfreich ist, wenn man versucht, Dinge zu debuggen. Ich hatte in der Vergangenheit ziemlich gute Erfahrungen mit Puppet/Foreman gemacht, aber zugegebenermaßen war es nicht ich, der es zum Laufen gebracht hat. Derzeit werde ich Fan von MAAS (httpsmaas.io). Wenn Sie im Ubuntu-Shop sind, probieren Sie es auf jeden Fall aus. Foreman ist insgesamt ziemlich cool, Sie können das Foreman Discovery-Plugin verwenden, um das zu erreichen, wonach Sie suchen. Sie können etwas automatisieren, aber heilige Kuh, ist es ein königlicher Schmerz in der Einrichtung. Ich glaube, ich bin auf jedes mögliche Problem gestoßen. Ich musste eine Offline-Installation und -Einrichtung durchführen, was die Dinge noch komplizierter machte und mit Servern arbeitete, auf die ich physisch nicht zugreifen konnte. Meiner Meinung nach ist es ein cooles Tool, wenn Sie es wirklich brauchen und das Budget haben, gehen Sie mit Redhat Satellite mit Support (Foreman ist die Community-Version von Satellite). MaaS sah zwar vielversprechend aus, aber ich habe nicht damit herumgespielt (außerdem habe ich CentOS/RHEL-Installationen automatisiert). Ich verwende die integrierten Redfish-APIs des iDRAC. Die meisten Unternehmensanbieter stellen Redfish bereits von der Verwaltungsebene aus zur Verfügung. Dell hat ein inoffizielles Github-Repo mit einer Sammlung hilfreicher Python-Skripts, um so ziemlich alles für die Bereitstellung zu erreichen. Ich verwende dieses Skript zusammen mit Ansible, um Bare Metal bereitzustellen. httpsgithub.com/dell/iDRAC-Redfish-Scripting Es ist wichtig zu beachten, dass nicht alle Anbieter Redfish gleichermaßen unterstützen. Wir haben viel Erfahrung mit den Problemen von Multi-Vendor-Umgebungen. BMCs (Baseboard Management Controller) verschiedener Anbieter (z. B. iDRAC) unterstützen unterschiedliche Versionen der Redfish-Protokolle, und einige implementieren Dinge unterschiedlich. Wenn Sie ein Einzelanbieter-Shop sind, kann diese Strategie funktionieren, aber wenn Sie einen anderen Anbieter oder eine neuere Version des BMC (oder Firmware-Upgrade) einführen, die die Redfish-Unterstützung / das Verhalten ändern, müssen Sie Ihre Werkzeuge entsprechend anpassen. Sie müssen das Betriebssystem auch durch schwer zu verwaltende Prozesse anpassen - da Sie keine Tools im Betriebssystem haben -, es sei denn, Sie "brennen"es in Ihre ISO-Images ein. Wenn Sie die vorhandene Berichts-/Verwaltungsebene ersetzen und direkt zur Installation des Hypervisor-Betriebssystems springen möchten, gibt es immer httpsdocs.vmware.com/en/VMware-vSphere/6.5/com.vmware.vsphere.install.doc/GUID- 8C221180-8B56-4E07-88BE-789B25BA372A.html