SlideShare a Scribd company logo
1 of 69
Download to read offline
Hello Redfish, Goodbye IPMI
Die Zukunft des Hardware-Monitorings (DE)
(oder auch)
Server-Management mit HTTPS, REST, JSON & ODATA
@tk_tniedermeier – Thomas Niedermeier, Thomas-Krenn.AG
Verwenden Sie Server Remote
Management?
Verwenden Sie Server Remote
Management?
ipmitool, freeipmi, ...?
Setzen Sie Redfish ein?
_ Warum Remote
Management?
_ Was gibt es bereits? (IPMI)
_ Warum Redfish?
_ Datenmodell
_ Operationen
_ Authentifizierung
_ Server
_ Clients
_ Python Beispiel
_ Redfish Tools
_ Was kommt dann?
TOC
Warum Remote
Management?
Datacenter:
sind kalt & laut,
kein Vitamin D
Sysadmins
möchten von
überall arbeiten
Was gibt es
bereits?
Status Quo
BMC(IPMI Baseboard
Management Controller)
Chassis board
Motherboard
Processor
board
Memory
board
Baseboard
Management
Controller
(BMC)
System bus
NVS Storage
SDR
SEL
FRU
Chassis
mgmt.
(Satellite
Controller)
Sensors & Controls
Fan sensor
Temp. sensor
Power control
Reset control
…
FRU
Temp. s.
FRU
private mgmt. busses
IPMB
M/B
Serial
Controller
Serial
Port
Sharing
BMC
Serial
Controller
Serial/Modem
interface
LAN
interface
Serial
Connector
LAN
Connector
PCI mgmt. bus
Network
(LAN)
Controller
Remote Mmgt. Card
(KVM over IP, ...)
Auxillary
IPMB Connector
ICMB
ICMB
bridge
System
interface
Redundant Power
board
FRU Temp.
sensor
…
FRU
Zugriff
als root
Benutzer
Zugriff mit
Usernamen & Passwort
(UDP Port 623)
IPMI Authentication
Type “None”
IPMI Cipher 0
IPMI RAKP+
Dump Hashes
Why always me?
(Warum Redfish?)
Die Redfish Initiative startete im
September 2014
The scope of this specification is to
define the protocols, data model,
and behaviors [...] for an inter-
operable, cross-vendor, remote and
out-of-band capable interface that
meets the expectations of Cloud
and Web-based IT professionals [...]
Ziele (1 von 2):
_ API für das System Management
_ Mit Clientapplikationen und Browser-
basierten GUIs verwendbar
_ Sicherer, Multi-Node-fähiger Ersatz für
IPMI-over-LAN
Ziele (2 von 2):
_ Schema-basierte, aber Menschen-
lesbare Ausgabe
_ Deckt beliebte Use-Cases ab
_ Erfüllung der “OCP Open Compute
Project Machine Mgmt. requirements“
Design:
_ TLS-verschlüsseltes HTTP (HTTPS)
_ REST (Representational State Transfer)
_ JSON (JavaScript Object Notation)
_ ODATA / schema-basiertes Datenmodell
_ Für Entwickler / Benutzer sollten es nicht brauchen (müssen)
_ Datenmodell ist vom Protokoll getrennt
_ BMC: Implementierbar in bestehender
Firmware
Warum DMTF?
(Distributed Management Task Force)
Redfish Initiative → Standard Body: DMTF
Scalable Platforms Management Forum (SPMF)
Momentan 12 Promoting Members, 12 Supporting Members
Open Virtualization Format (OVF)
System Management BIOS (SMBIOS)
Common Interface Model (CIM)
Weitere DMTF Standards
„Openness“ - dmtf.org/join/spmf
Promoter Supporter
DMTF Level min. Leadership
$12.000 p. a.
min. Participation
$6.000 p. a.
SPMF Level $25.000 für erste 2 J.,
danach $4,500 p. a.
$4.500 p. a.
Aber auf jeden Fall kann man den Standard,
Mockups, Schemas frei downloaden und
eigene OSS bauen ;-)
Datenmodell
/redfish/v1
Root + Version
/redfish/v1/Systems
“Logische” Sicht
/redfish/v1/Chassis
“Physische” Sicht
/redfish/v1/Managers
BMC Funktionen
Collections
/redfish/v1 /redfish/v1/Systems
/redfish/v1/Chassis
/redfish/v1/Managers
/redfish/v1/TaskService
/redfish/v1/SessionService
/redfish/v1/AccountService
/redfish/v1/EventService
/redfish/v1/Registries
/redfish/v1/JsonSchemas
Collections
/Thermal
/Power
/Processor
/BootOrder
/...
/...
https://<BMC-IP>/redfish/v1/Systems/1/Processors/1
/redfish /v1 /Systems /1 /Processors /1
Root Version Collection ID Sub-item 1 Sub-item n
Operationen
Redfish Client Managed Server
GET https://<BMC-IP>/redfish/v1/...
JSON Response
POST https://<BMC-IP>/redfish/v1/...
JSON Response
 Create POST Ress. erzeugen / Aktionen
 Read GET Daten anzeigen
 Update PATCH Einst. einer Ress. ändern
 PUT Ressource ersetzen
 Delete DELETE Ressource entfernen
Redfish Operationen - CRUD
{
  "@odata.context": "/redfish/v1/$metadata#ServiceRoot.ServiceRoot",
  "@odata.type": "#ServiceRoot.ServiceRoot",
  "@odata.id": "/redfish/v1",
  "Id": "RootService",
  "Name": "Root Service",
  "RedfishVersion": "1.0.1",
  "UUID": "00000000­0000­0000­0000­002590D4DD70",
  "Systems":        {  "@odata.id": "/redfish/v1/Systems"  },
  "Chassis":        {  "@odata.id": "/redfish/v1/Chassis"  },
  "Managers":       {  "@odata.id": "/redfish/v1/Managers"  },
  "SessionService": {  "@odata.id": "/redfish/v1/SessionService"  },
  "AccountService": {  "@odata.id": "/redfish/v1/AccountService"  },
  "EventService":   {  "@odata.id": "/redfish/v1/EventService"  },
  "Registries":     {  "@odata.id": "/redfish/v1/Registries"  },
  "JsonSchemas":    {  "@odata.id": "/redfish/v1/JsonSchemas"  },
  "Links":          {  "Sessions": {"@odata.id": "/redfish/v1/SessionService/Sessions"}},
  "Oem":            {}
}
GET https://<BMC-IP>/redfish/v1
{
  "@odata.context": "/redfish/v1/$metadata#ComputerSystem.ComputerSystem",
  "@odata.type": "#ComputerSystem.ComputerSystem",
  "@odata.id": "/redfish/v1/Systems/1",
  "Id": "1",
  "Name": "System",
  "Description": "Description of server",
  "Status": {
    "State": "Enabled",
    "Health": "OK"
  },
  "SerialNumber": "2590D4DEB2",
  "PartNumber": "",
  "SystemType": "Physical",
  "BiosVersion": "3.0",
  "Manufacturer": "Supermicro",
  "Model": "X10SLH­F/X10SLM+­F",
[...]
GET https://<BMC-IP>/redfish/v1/systems/1
… erste Festplatte #1 des Hosts
srv4711.server-farm.com
ersetzen...
PATCH
https://<BMC-IP>/redfish/v1/Systems/1
{"IndicatorLED": "Lit"}
Authentifizierung
& Rollen
Redfish Authentifizierung
_ HTTP Basic Auth
_ RFC2617
_ Usernamen & Passwort bei jedem Request gesendet
_ Session-basierte Authentifizierung
_ Session Login wird durch Aufruf der Create session URI ausgelöst
_ Antwort enthält einen “X-Auth-Token” Header mit einem Session Token
_ Session Logout wird durch Aufruf von DELETE bei der Session Ressource ausgelöst
Rollen → Administrator Operator ReadOnly
Login x x x
ConfigureSelf x x x
ConfigureComponents x x
ConfigureManager x
ConfigureUsers x
Server
Thomas-Krenn
basierend auf Supermicro
X10: BMC Firmware >= 3.0
X11: BMC Firmware >= 1.14
OOB License
HPE
basierend auf Gen9 mit iLO 4
BMC Firmware >= 2.30
Lizenzanforderungen prüfen
Dell
mit iDRAC7 / iDRAC8
BMC Firmware >= 2.30.30.30
Lizenzanforderungen prüfen
Clients
Redfish Clients
_ Chrome
_ Postman
_ Advanced REST Client
_ Firefox
_ RESTClient
_ REST Easy
Python Code
Beispiel
import json, requests
url='https://10.1.102.120/redfish/v1/Systems/1'
userid='redfishuser'
password='Lc9AcnLcQq2'
r = requests.get(url, auth=(userid, password), verify=False)
jsonData = r.json()
print "Manufacturer:", (jsonData['Manufacturer'])
print "Model:", (jsonData['Model'])
print "PowerState:", (jsonData['PowerState'])
print "BiosVersion:", (jsonData['BiosVersion'])
print "Description:", (jsonData['Description'])
redfish-example.py Quellcode
$ python redfish­example.py 
Manufacturer: Supermicro
Model: X10SLH­F/X10SLM+­F
PowerState: On
BiosVersion: 3.0
Description: Description of server
redfish-example.py ausgeführt
Neue Redfish
Tools!
Neue Redfish Tools auf GitHub
_ New Redfish™ Tools Released on GitHub
_ https://github.com/DMTF
_ Redfish-Tools
_ Redfishtool
_ Redfish-Interface-Emulator
_ Redfish-Service-Conformance-Check
_ Redfish-Profile-Simulator
_ Redfish-Mockup-Creator
_ Redfish-Service-Validator
_ Redfish-Mockup-Server
Redfishtool
_ Kommandozeilentool
_ Implementiert die Client-Seite der Redfish API
_ Für das Data Center Hardware Management
_ Python
_ JSON Ausgabewerte zu gängigen Use-Cases
_ Skripting per Bash oder interaktive Nutzung per CLI
_ Anwendung
_ python3 redfishtool [Optionen] [Subkommandos] [Operationen] [Andere Argumente]
_ python3 redfishtool.py -r <IP-des-BMC> -u <USER> -p <PASSWORT> -I <ID>
Beispielausgaben
_ $ python3 redfishtool.py -V
redfishtool Version: 0.9.1
_ cat README.md
_ Viele Beispiele zu den Queries
_ Hello World
_ $ python3 redfishtool.py hello
#
# Hello World
#
übersicht über die Systeme
_ Übersicht über alle Systeme
_ Systems list
{
"@odata.id": "/redfish/v1/Systems/1",
"Members": [
{
"Id": "1",
"@odata.id": "/redfish/v1/Systems/1",
"AssetTag": null
}
],
"Members@odata.count": 1
}
_ Detaillierte Ausgabe über ein spezifisches System
_ Systems -I <ID>
User konfigurieren
_ AccountService Roles list
_ zeigt alle verfügbaren Rollen an
"Members": [
{
"IsPredefined": true,
"Id": "Admin",
"@odata.id": "/redfish/v1/AccountService/Roles/Admin"
},
[…]
],
[…]
"Members@odata.count": 3
[...]
}
_ User anlegen
_ AccountService adduser <Username> <Passwort> <Rolle>
_ In-Band Redfish innerhalb des Betriebssystems
_ Firmware Update
_ Breitere Storage Unterstützung
_ Sicherheit: Höhere Granularität erlauben
_ AMI Announces Out-of-Band BIOS Configuration through Redfish
Source: Jeff Autor, SPMF Forum Chair, OCP US Summit 2016
youtube.com/watch?v=qF5XI1geKbQ
Redfish zukünftige Pläne
What's next?
Reach for the Sky
X10- oder X11-basierte Thomas-
Krenn-Server?
Aktualisierung der
BMC Firmware
X10: Version >= 3.27
X11: Version >=1.14
und
OOB Lizenz aktivieren
HPE Gen9 Servers MIT iLO4?
Aktualisierung der
BMC Firmware
Version auf >= v2.30
and prüfen Sie die
Lizenzanforderungen
Dell Server mit iDRAC7 / iDRAC8?
Aktualisierung der
BMC Firmware
Version auf >= 2.30.30.30
und lesen Sie den
iDRAC Users
Guide bezüglich
der Lizenzierung
andere Server?
ersetzt sie mit X10 oder
X11-basierten
Thomas-Krenn-Servern
;-)
VerlosungHoffentlich mitgemacht?Wenn nicht ganz schnellnoch ausfüllen!Ziehung gleich im Anschluss

More Related Content

Similar to OSMC 2016 | Hello Redfish, goodbye IPMI - Die Zukunft des Hardware-Monitorings

High Security PHP Applications
High Security PHP ApplicationsHigh Security PHP Applications
High Security PHP Applications
guest0e6d5e
 

Similar to OSMC 2016 | Hello Redfish, goodbye IPMI - Die Zukunft des Hardware-Monitorings (20)

SLAC 2008 RPMs selber bauen
SLAC 2008 RPMs selber bauenSLAC 2008 RPMs selber bauen
SLAC 2008 RPMs selber bauen
 
High Security PHP Applications
High Security PHP ApplicationsHigh Security PHP Applications
High Security PHP Applications
 
C/ C++ for Notes & Domino Developers
C/ C++ for Notes & Domino DevelopersC/ C++ for Notes & Domino Developers
C/ C++ for Notes & Domino Developers
 
systemd im Alltag
systemd im Alltagsystemd im Alltag
systemd im Alltag
 
Das dreckige Dutzend - ADF Migration nach 12c in der IKB - DOAG 2014.
Das dreckige Dutzend - ADF Migration nach 12c in der IKB - DOAG 2014.Das dreckige Dutzend - ADF Migration nach 12c in der IKB - DOAG 2014.
Das dreckige Dutzend - ADF Migration nach 12c in der IKB - DOAG 2014.
 
WildFly als Plattform moderner Enterprise-Anwendungen
WildFly als Plattform moderner Enterprise-AnwendungenWildFly als Plattform moderner Enterprise-Anwendungen
WildFly als Plattform moderner Enterprise-Anwendungen
 
Templates, Code & Tools
Templates, Code & ToolsTemplates, Code & Tools
Templates, Code & Tools
 
Gewinnung von OPEN SOURCE Techniken für junge Unternehmen
Gewinnung von OPEN SOURCE Techniken für junge UnternehmenGewinnung von OPEN SOURCE Techniken für junge Unternehmen
Gewinnung von OPEN SOURCE Techniken für junge Unternehmen
 
Keine Angst vor Sametime 8.5.1
Keine Angst vor Sametime 8.5.1Keine Angst vor Sametime 8.5.1
Keine Angst vor Sametime 8.5.1
 
SLAC 2008 Mit SUSE Linux glücklich werden
SLAC 2008 Mit SUSE Linux glücklich werdenSLAC 2008 Mit SUSE Linux glücklich werden
SLAC 2008 Mit SUSE Linux glücklich werden
 
check_sap_health
check_sap_healthcheck_sap_health
check_sap_health
 
Lotus Foundations Branch Office
Lotus Foundations Branch OfficeLotus Foundations Branch Office
Lotus Foundations Branch Office
 
IBM License Metric Tool 9.2.x (edcom 2017)
IBM License Metric Tool 9.2.x (edcom 2017)IBM License Metric Tool 9.2.x (edcom 2017)
IBM License Metric Tool 9.2.x (edcom 2017)
 
Webanwendungen - Installation, Konfiguration und Administration
Webanwendungen - Installation, Konfiguration und AdministrationWebanwendungen - Installation, Konfiguration und Administration
Webanwendungen - Installation, Konfiguration und Administration
 
C / C++ Api for Beginners
C / C++ Api for BeginnersC / C++ Api for Beginners
C / C++ Api for Beginners
 
Developer Week 2019: Identity & Access Management in der Realitaet
Developer Week 2019: Identity & Access Management in der RealitaetDeveloper Week 2019: Identity & Access Management in der Realitaet
Developer Week 2019: Identity & Access Management in der Realitaet
 
FMK2018- Virtuelle Server Peter Schubert
FMK2018- Virtuelle Server Peter SchubertFMK2018- Virtuelle Server Peter Schubert
FMK2018- Virtuelle Server Peter Schubert
 
JUG Luzern: Open Source BPM mit BPMN 2.0 und Java
JUG Luzern: Open Source BPM mit BPMN 2.0 und JavaJUG Luzern: Open Source BPM mit BPMN 2.0 und Java
JUG Luzern: Open Source BPM mit BPMN 2.0 und Java
 
DWX 2016 - Monitoring 2.0 - Monitoring 2.0: Alles im Lot?
DWX 2016 - Monitoring 2.0 - Monitoring 2.0: Alles im Lot?DWX 2016 - Monitoring 2.0 - Monitoring 2.0: Alles im Lot?
DWX 2016 - Monitoring 2.0 - Monitoring 2.0: Alles im Lot?
 
Rsyslog deutsche Qualitätsarbeit für Linux Roman Gächter
Rsyslog deutsche Qualitätsarbeit für Linux Roman GächterRsyslog deutsche Qualitätsarbeit für Linux Roman Gächter
Rsyslog deutsche Qualitätsarbeit für Linux Roman Gächter
 

OSMC 2016 | Hello Redfish, goodbye IPMI - Die Zukunft des Hardware-Monitorings