Das Leben nach Jumpstart Customized Solaris 11 Installation mit AI Heiko Stein Senior Architekt etomer GmbH Detlef Drewanz Principal Sales Consultant Oracle Deutschland B.V. & Co. KG etomer GmbH 01.03.2012 / Folie 1
etomer GmbH das ganzheitliche Systemhaus aus Berlin Beratungsorientiert. Fokus auf Technik, Prozesse und Menschen. Hochspezialisiert. Kernkompetenz auf Technologien und Prozesse im Umfeld produktionskritischer und hochverfügbarer IT-Infrastrukturen. Projekterfahren. Mehr als 12 Jahre Erfahrung in Projekten bei Enterprise-Kunden verschiedenster Branchen. Verbindlich. Leitbild - Zentrum unserer Aktivitäten. Wir übernehmen Verantwortung für unsere Beratung, unser Tun und Handeln. Herstellerneutral. Technologie- und herstellerübergreifende Beratung zur lösungsorientierten Arbeit mit unseren Kunden. etomer GmbH 13.09.2012 / Folie 2
Agenda Motivation Warum gibt es eigentlich den AI ( ich möchte Jumpstart )? Überblick und Struktur AI Solaris 11 Dokumentiertes Fallbeispiel Zusammenfassung und Ausblick etomer GmbH 13.09.2012 / Folie 3
Motivation Mit der Einführung von Oracle Solaris 11 wurde ein neuer, auf netzwerkbasierter Softwareverteilung (IPS), servicezentrierter Installationsmechanismus Automated Installer (AI) eingeführt Ablösung der bisherigen Jumpstart-Technologie und verschiedener Tools, beispielsweise Jumpstart Enterprise Toolkit -> JET Mittlerweile existieren erste Erfahrungen mit unterschiedlichen Konfigurationsvarianten aus dem Feld Was ist in produktiven Umgebungen zu beachten? Dieser Vortrag spiegelt einen Teil dieser Erfahrungen und Möglichkeiten wieder, soll aber keine Enführung in AI sein (!) der Versuch einer sehr einfachen, kurzen Konfiguration mit trotzdem hohem Customizinggrad etomer GmbH 13.09.2012 / Folie 4
Warum gibt es eigentlich den AI ( ich möchte Jumpstart )? AI stellt eine Weiterenwicklung des bisherigen Installationsmechnismus (Jumpstart) dar Besonderes Augenmerk wurde auf folgende Funktionalitäten gelegt: Automatische Installation, schnell und einfach zu benutzen WAN-Boot für SPARC PXE für X86 Ein Kommando für alles - installadm(1m) Erweiterbare Konfigurationsdateien - XML Integrierte Installation von Zonen Auch im WAN nutzbar Installation via http -> definierte Ports Installation aus verteilten und skalierbaren IPS-Repositories Weniger "selbstgebaute" Erweiterungen notwendig Erweiterungen in eigenen Paketen oder First-Boot SMF Services etomer GmbH 13.09.2012 / Folie 5
Überblick und Struktur AI Solaris 11 Übersicht AI. Der Installservice ist als SMF-Service implementiert und kann in der globalen oder lokalen Zone konfiguriert werden. Die Manifeste und das Profile legen die zu installierenden Pakete und die Client-Konfiguration fest. Das AI-Image dient als Laufzeitumgebung für den zu installierenden Client während der Installation. Ein oder mehrere zentrale SW-Repository. Das Repository enthält die zu installierenden Pakete. Zentraler DHCP-Service (ISC) etomer GmbH 13.09.2012 / Folie 6
Überblick und Struktur AI Solaris 11 Was ist was? Terminologien AI-Installservice Eigenständige Installations-/Bootumgebung installadm(1m) als zentrales Tool zum Management von AI etomer GmbH 13.09.2012 / Folie 7
Überblick und Struktur AI Solaris 11 Was ist was? Terminologien Manifeste ( profile ) Definiert den Installationsumfang Statische Manifeste Package Repositories Welche Packages werden installiert? Disk Konfiguration/-Target Locales Derived Manifests ( begin script ) Generiert dynamisch Manifeste aus Script zum Installationzeitpunkt Reduktion der Anzahl der durch den Admin zu verwaltenden Manifeste Effektives Modell: Lade Template Manifest und modifiziere einzelne Elemente Scripte nutzen aimanifest(1m) als Interface zur Erzeugung von AI Manifesten etomer GmbH 13.09.2012 / Folie 8
Überblick und Struktur AI Solaris 11 Was ist was? Terminologien Profile ( sysidcfg ) SC-profile für die System Konfiguration User/root account, password, timezone, locale, hostname Terminal/keyboard type, network configuration, naming Vorbereitung mit sysconfig create-profile -o myprofile.xml Criterias ( rules ) Zuweisung von Manifesten und Profile zu Clients anhand Entscheidungskriterien ARCH/CPU/IPV4/MAC/MEM/PLATFORM Festlegung von Werten oder Mengen als Criteria aber jumpstart konnte doch mehr Abbildung der Solaris Jumpstart Finish-Script Funktionalität First-Boot Service etomer GmbH 13.09.2012 / Folie 9
Überblick und Struktur AI Solaris 11 Ablauf AI Netboot 1. DHCP 2. IP-Adresse + Name des Boot-Programm 3. PXE (x86) oder WANboot (SPARC) Bootloader 4. Download Solaris Boot-Archive Installation Download AI-Installationsprogramm (http) Download Installations-Manifest Auswahl des Installations- Services Auswahl des IPS- Repository basierend auf dem Installations-Manifest Installation des Clients etomer GmbH 13.09.2012 / Folie 10
Überblick und Struktur AI Solaris 11 Setup AI - 1 Vorbereitende Schritte (einmalige Aufwände) svc:/application/pkg/server:default svc:/network/dhcp/server:ipv4 svc:/system/install/server:default Benötigte Services/SW installieren und überprüfen pkg:/service/network/dhcp/isc-dhcp pkg:/install/installadm Filesystem für Repository bereitstellen Lokales Repository erstellen # zpool create # zfs create Paket-Server konfigurieren # pkgrecv Publisher konfigurieren # svccfg # svcadm # pkg set-publisher etomer GmbH 13.09.2012 / Folie 11
Überblick und Struktur AI Solaris 11 Setup AI - 2 Setup Service/Manifests/Clients und Profile (teilweise nur einmalige Aufwände) First-Boot-Service implementieren Installservice Derived Manifest und an Installservice binden Manifest und an Installservice binden # installadm create-service OPTIONAL Installclient # installadm export # installadm create-manifest Aufwand pro Client Client in DHCP-Server konfigurieren Profile und einbinden # installadm create-client # vi /etc/inet/dhcpd4.conf # sysconfig create-profile # installadm create-profile etomer GmbH 13.09.2012 / Folie 12
Dokumentiertes Fallbeispiel Ansatz: Standardisierung der Installation und Konfiguration der Installclients Standards durch Nutzung von: generischen Manifest für alle Clients/Systemklassen generischen Templates zur Profilerstellung generischen First-Boot-Service Spezielle Fälle werden durch derived Manifest abgedeckt etomer GmbH 13.09.2012 / Folie 13
Dokumentiertes Fallbeispiel Kurze Übersicht über das Testsystem Benötigte Services/SW installieren und überprüfen Filesystem für Repository bereitstellen Lokales Repository erstellen Paket-Server konfigurieren Alles da? installsrv > pkg info installadm installsrv > pkg info dhcp/isc-dhcp installsrv > svcs pkg/server installsrv > svcs dhcp/server:ipv4 installsrv > svcs install/server installsrv > pkg publisher PUBLISHER TYPE STATUS P LOCATION solaris origin online F file:///install/repo-s11u1-x86/repo/ custom origin online F file:///install/repo-custom/repo/ installsrv > installadm list Pulisher konfigurieren etomer GmbH 13.09.2012 / Folie 14
Dokumentiertes Fallbeispiel First-Boot-Service implementieren/installservice First-Boot- Service implementier en Installservice Erstellung First-Boot Service Neuen Installservice Derived Manifest und an Installservice binden Manifest und an Installservice binden Installclient Client in DHCP-Server konfigurieren Profile und einbinden Customizing Deaktivierung des DHCP-Servers für unbekannte Clients Deaktivierung Default Installservice etomer GmbH 13.09.2012 / Folie 15
Dokumentiertes Fallbeispiel Manifest/ Derived Manifest und an Installservice First-Boot- Service implementier en Derived Manifest und an Installservice binden Installservice Manifest und an Installservice binden Manifest Template aus generischem Manifest (einmalig) Angepasstes Manifest am Installservice binden (als Default-Manifest) Installclient Client in DHCP-Server konfigurieren Profile und einbinden Customizing Manifest editieren Layout rpool Installquellen (Repositories) Installumfang Script zur Erstellung des derived Manifest etomer GmbH 13.09.2012 / Folie 16
Dokumentiertes Fallbeispiel Installclient /Client in DHCP-Server konfigurieren First-Boot- Service implementier en Installservice Installclient Criteria MAC Derived Manifest und an Installservice binden Manifest und an Installservice binden Anpassung DHCP Konfiguration Zuordnung MAC <-> IP Installclient Client in DHCP-Server konfigurieren Profile und einbinden Customizing vi /etc/inet/dhcpd4.conf Bootreihenfolge Bootloader (Grub) ändern X86 etomer GmbH 13.09.2012 / Folie 17
Dokumentiertes Fallbeispiel Profile und einbinden First-Boot- Service implementier en Installservice Profile Template (einmalig) Angepasstes Profile via Criteria (MAC) dem Client zuordnen Derived Manifest und an Installservice binden Manifest und an Installservice binden Installclient Client in DHCP-Server konfigurieren Profile und einbinden Customizing Editieren des Profiles mit den clientspezifischen Einstellung (Hostname, IP, usw.) Installation etomer GmbH 13.09.2012 / Folie 18
Hinweis Logging Wenn mal was nicht funktioniert hat Logging Logs/Sonstige Wo Ablage Install-Log während der Installation AI_Client /system/volatile/install_log. Während der Installation verwendetes Manifest AI_Client /system/volatile/install_log /ai.xml Während der Installation verwendetes derived Manifest AI_Client /system/volatile/manifest.xml Während der Installation verwendete Profile AI_Client /system/volatile/profile/* Ablage der AI-Service Liste AI_Client /system/volatile/service_list SMF Service Log für Manifest/Profile-Locator AI_Client /var/svc/log/application-manifest-locator:default.log SMF service für AI Applikation AI_Client /var/svc/log/application-auto-installer:default.log Ablage der Logs nach der Installation AI_Client /var/sadm/system/logs AI Webserver Logs AI Server /var/ai/image-server/logs/access_log /var/ai/image-server/logs/error_log AI install server SMF Service log AI Server /var/svc/log/system-install-server:default.log Boot Konfiguration files AI Server /etc/netboot/ etomer GmbH 13.09.2012 / Folie 19
Hinweis Debugging Wenn mal was nicht funktioniert hat Debugging Sparc ok> boot net:dhcp - install install_debug X86 In Grub kernel$... -B install_media=...,install_debug=enable Am Installclient # installadm create-client -e <mac> -n <service_name> -b install_debug=enable etomer GmbH 13.09.2012 / Folie 20
Beispiel Ablage AI/Manifeste/Profile Filesystemstruktur Testsystem AI /install/ai Zentrale Ablage AI Images./sol11-x86 Ablage Image Installservice "sol11-x86"./sol11-x86-config Ablage Konfiguration (Manifeste/Profile) für Installservice "sol11-x86"./generic./template./client generisch genutzte Konfigurationsfiles (Manifeste)./m_generic.xml./m_generic_derived.xml Templates (Profile/Manifeste) als Quelle für generische Konfigfiles bzw. für clientrelevante Konfiguration./m_template.xml./p_template.xml Ablage der clientrelevanten Konfiguration(Profile)./<hostname>./p_<mac>.xml etomer GmbH 13.09.2012 / Folie 21
Zusammenfassung und Ausblick Vorteile Einfach zu konfigurieren Schnell aufgesetzt Hohes Standardisierungspotenzial Komplett scriptbar Verbesserungsmöglichkeiten Setup Wizard Anpassung DHCP (MAC <-> IP) per CLI/Kommando-Option AI via https etomer GmbH 13.09.2012 / Folie 22
Fragen? Gern. etomer GmbH 01.03.2012 / Folie 23
etomer GmbH Vielen Dank für Ihre Aufmerksamkeit. heiko.stein@etomer.com detlef.drewanz@oracle.com etomer GmbH 01.03.2012 / Folie 24