SMF. Das Service Management Facility. Detlef Drewanz. Ambassador Operating Systems Sun Microsystems GmbH



Ähnliche Dokumente
Solaris 10 SMF ( Service Management Facility )

Solaris Service Management Facility

Service Management Facility (smf)

Solaris Services. Sebastian Pasewaldt, Martin Koeleman, Robert Reicherdt

Agenda. Ziel Problematik OS-Installation Softwareverteilung Inventarisierung Stufenplan

Ora Education GmbH. Lehrgang: Oracle Application Server 10g R2: Administration I

Kurzeinführung Excel2App. Version 1.0.0

SSH Authentifizierung über Public Key

HMK Open Day 28. Januar 2009 Kronberg. Hierarchisches Storage Management mit SUN SAM-FS

Umbenennen eines NetWorker 7.x Servers (UNIX/ Linux)

OP-LOG

Kurzanweisung für Google Analytics

Ora Education GmbH. Lehrgang: Oracle Application Server 10g R3: Administration

Business Application Framework für SharePoint Der Kern aller PSC-Lösungen

bizsoft Rechner (Server) Wechsel

Oracle Solaris 11 Zones - Tipps und Tricks

Upgrade-Leitfaden. Apparo Fast Edit. Wechsel von Version 2 auf Version oder Wechsel von Version auf Version 3.0.

Dipl. Inf. Marten Wenzel URZ-S. Tel Remote Installation für LINUX-PCs

Linux Cluster mit Pacemaker und Heartbeat 3

Übung - Festplattenwartung in Windows Vista

ADDISON Aktenlösung Automatischer Rewe-Import. Technische Beschreibung

OS-Virtualisierung mit Solaris Zonen in der Praxis

Upgrade auf die Standalone Editionen von Acronis Backup & Recovery 10. Technische Informationen (White Paper)

KONFIGURATIONSMANAGEMENT MIT PUPPET TIM SCHMELING. 4b:65:72:73:74:69:6e:2c:20:69:63:68:20:6c:69:65:62:65:20:64:69:63:68:21

Die Zertifizierungsstelle der TÜV Informationstechnik GmbH bescheinigt hiermit dem Unternehmen

Dieses Dokument soll dem Administrator helfen, die ENiQ-Software als Client auf dem Zielrechner zu installieren und zu konfigurieren.

Windows Server 2008 für die RADIUS-Authentisierung einrichten

Lokale Installation von DotNetNuke 4 ohne IIS

Fragen zur GridVis MSSQL-Server

TimeMachine. Installation und Konfiguration. Version 1.4. Stand Dokument: installcentos.odt

Linux vs. Solaris als Fileserver

Installation der SAS Foundation Software auf Windows

Windows Server Dieses Dokument beschreibt einige Details zum Aufsetzen eines Windows Server 2003 (Andres Bohren /

SOLID EDGE INSTALLATION STANDARD PARTS am Client. INSTALLATION Standard Parts am Client

MSSQL Server Fragen GridVis

Tanuki Service Wrapper 101. JVM Verwaltung mit der Community Edition. Alexander Pacnik Karlsruhe,

Die Installation des GeoShop Redirector für IIS (Internet Information Server, Version 4.0, 5.0 und 6.0) umfasst folgende Teilschritte:

The linux container engine. Peter Daum

Get Started with. Version 0.7, / 12

Wine - Windows unter Linux

a.sign Client Lotus Notes Konfiguration

SolarWinds Engineer s Toolset

Praktikum Ingenieurinformatik (PI)

Task: Nmap Skripte ausführen

Übung: Verwendung von Java-Threads

COSA. Portal Client Installation JAVA J2SE / JRE Version 1.4.2_09, Stand Copyright

WINGS ENGINE BACKUP MANAGER

Scripting Framework PowerShell Toolkit Quick-Install a Workplace for Packaging and Test

Switching. Übung 2 System Management. 2.1 Szenario

Bearbeiten elektronische Rechnungen (Invoices)

Virtual Desktop Infrasstructure - VDI

Document Management. Überblick DM

Installation Microsoft SQL Server 2008 Express

Reporting Services und SharePoint 2010 Teil 1

Senden von strukturierten Berichten über das SFTP Häufig gestellte Fragen

Joomla 1.5. Einführung in die Installation und Benützung

IDA ICE - Konvertieren und Importieren von mit TRY_Effekte_aufpraegen.exe erzeugten Datensätzen

Intelligente Updateverwaltung Inventarisierung von Softwareprodukten Remoteunterstützung, mobile Endgeräte u.v.m.

ecaros-update 8.2 Update 8.2 procar informatik AG 1 Stand: DP 02/2014 Eschenweg Weiterstadt

Teamschool Installation/ Konvertierungsanleitung

Entwicklungen bei der Linux Clustersoftware

MSDE 2000 mit Service Pack 3a

Oracle Real Application Clusters: Requirements

Die Projek*ools. Files, Git, Tickets & Time

Benutzer und Rechte Teil 1

Installation des GeoShop Redirector für Apache (Stand ) ================================================================

Installation SQL- Server 2012 Single Node

Quickstep Server Update

Patchmanagement. Jochen Schlichting Jochen Schlichting

Databear Software Installer

Benutzerhandbuch bintec R4100 / R4300 Configuration Management. Copyright 17. Juli 2006 Funkwerk Enterprise Communications GmbH Version 1.

Oracle GridControl Tuning Pack. best Open Systems Day April Unterföhring. Marco Kühn best Systeme GmbH

git Änderungen verwalten mit git

Oracle Solaris Unified Archives

Der Product Activation Manager (PAM) dient dazu Software-Lizenzen anzuzeigen, zu verwalten und abzurufen.

LDAP Konfiguration nach einem Update auf Version 6.3 Version 1.2 Stand: 23. Januar 2012 Copyright MATESO GmbH

Im Kapitel Resourc Manager werden die verschiedenen Möglichkeiten der Überwachung von Messwerten eines Server oder Benutzers erläutert.

Thomas Wagner 2009 (im Rahmen der TA) Installation von MySQL 5.0 und Tomcat 5.5

Microsoft Dynamics NAV 2013 R/2 Installationsanleitung. Inhalt: Begleitmaterial des ERP Übungsbuchs:

<Insert Picture Here>

Inhaltsverzeichnis. 1 Einleitung. Literatur. 1.1 CVS (Concurrent Version System) [Pru03, Zee02, Ced05]

Standardisiert aber flexibel

Installation und Konfiguration von X-Server Xming auf Windows XP

Installationsanleitung für pcvisit Server (pcvisit 12.0)

R-BACKUP MANAGER v5.5. Installation

Treffpunkt Internet Reutlingen, B.Schüle 1

1CONFIGURATION MANAGEMENT

ERP Cloud Tutorial. E-Commerce ECM ERP SFA EDI. Backup. Materialbuchungen erfassen und importieren.

Benachrichtigungsmöglichkeiten in SMC 2.6

Albert HAYR Linux, IT and Open Source Expert and Solution Architect. Open Source professionell einsetzen

peer-to-peer Dateisystem Synchronisation

Agenda. Begrüßung und Einführung. ACT! 2011 Highlights und Features. Live-Demo. Systemvoraussetzungen / Gut zu wissen. Fragen und Antworten

Modul C: Konversion von physischen PC in VM

CMS.R. Bedienungsanleitung. Modul Cron. Copyright CMS.R Revision 1

IT. Menschen. Leidenschaft. Fallbeispiel - Recovery NGZ. (1)

Adami CRM - Outlook Replikation User Dokumentation

Titel. System Center Configuration Manager 2012 R2 Anleitung Installation Softwareupdatepunkt und WSUS Integration

Transkript:

SMF Das Service Management Facility Detlef Drewanz Ambassador Operating Systems Sun Microsystems GmbH

SMF Service Management Facility Neue Technologie in Solaris 10 Fester Bestandteil - sichert Grundfunktionalitäten Funktionen von SMF > Service Livecycle Management > Service Beschreibung > Service Management > Service Entwicklungsmodell Services administrieren > da ist mehr als nur Prozesse

Agenda Überblick Funktionsweisen Administration Security Fehlersuche Eigene Services erstellen

Agenda Überblick Funktionsweisen Administration Security Fehlersuche Eigene Services erstellen

Warum ein Service Manager? Ein Service ist mehr als ein Prozess Kaum Betriebssystem-Unterstützung für Services > Keine Beziehungen von rc.d-services untereinander und zu inetd-services erkennbar > Abhängigkeiten zwischen Services kaum darstellbar > eine Vielzahl von Konfigurationsdateien > automatische Fehlerbehandlung nur mit Clustersoftware > sequentieller Start der Services beim Boot > Fehlerhafte Services können Boot behindern

Aufgaben von SMF Einheitliches Lifecycle Management von Diensten > Starten aller Dienste in Solaris > Darstellung und Überwachung von Abhängigkeiten zwischen Diensten > Überwachung der Dienste zur Laufzeit > Konsolidierung von Konfigurationsdateien > Erzeugung und Verwaltung eines zentralen Repository mit Eigenschaften von Services Integration der Services in den Boot Prozess Parallelisierung des Bootprozesses

Was ist ein Service? Laufende Applikation, System Daemons Software Status von Geräten Eine Gruppen von Services = Milestone erreichen Definiert durch > Manifest in /var/svc/manifest > Start Methode in /lib/svc/method Charakterisiert durch Service Status > in /etc/svc/repository.db

Agenda Überblick Funktionsweisen Administration Security Fehlersuche Eigene Services

SMF - Architektur Commands Observability/ Management Agent inet-service Delegated Service Service Repository API svc.configd(1m) inetd(1m) Delegated Restarter svc.startd(1m) Process Contract Repository Client init(1m) KERNEL Contracts

Solaris 10 inittab SMF ändert den Solaris Boot Prozess init(1m) started nur noch den Master Restarter weitere Services werden von svc.startd gestarted -bash-2.05b# cat /etc/inittab ap::sysinit:/sbin/autopush -f /etc/iu.ap sp::sysinit:/sbin/soconfig -f /etc/sock2path smf::sysinit:/lib/svc/bin/svc.startd >/dev/msglog 2<>/dev/msglog </dev/console p3:s1234:powerfail:/usr/sbin/shutdown -y -i5 -g0 >/dev/msglog 2<>/dev/msglog

Restarter Master Restarter > svc.startd(1m) Delegated Internet Restarter > inetd(1m) inittab(4) Restarter > init(1m) # ps -ef grep ssh root 395 1 0 11:46:04? 0:00 /usr/lib/ssh/sshd root 883 878 0 15:13:36 pts/6 0:00 grep ssh # kill 395 # ps -ef grep ssh root 886 1 0 15:13:46? 0:00 /usr/lib/ssh/sshd

Repository enthält alle importierten Services, Properties und Zustände von Services /etc/svc/repository.db > snapshots des Repositories > Kopien des Repositories Zugriff über svc.configd(1m) API libscf(3lib)

Design-Prinzip Everything still works SMF ist in Solaris 10 immer aktiv Kompatibilität > Anwendungen funtionieren wie gewohnt > Aufruf /etc/rc.d Skripte gewährleistet > Konfigurationsdateien der Dienste unverändert Überführung von rc-scripten in SMF-Services > einfach und schrittweise realisierbar > Service-Manifest erzeugen > rc*.d Skripte werden zu Service-Methoden

Runlevel und Milestones Runlevel waren Systemzustände Milestones sind Zielpunkte, die erreicht werden Run Level SMF Milestone 0 milestone none S milestone/single-user 2 milestone/multi-user 3 milestone/multi-user-server Wechsel zwischen Milestones mit svcadm milestone milestone/single-user boot in einen Milestone boot -m milestone=multi-user

Manifeste und Profile Service Manifeste (XML) definieren die Services > FMRI als Name des Service > Abhängigkeiten und Eigenschaften > Start-/Stop-/Restart-Methoden > /var/svc/manifest/* Service-Profile gelten für eine Gruppe von Diensten > für einheitliche Service Festlegungen > z.b. nutzbar bei Jumstart Installationen > /var/svc/profile/platform_*.xml Platform-spezifisch > /var/svc/profile/site.xml Site-spezifisch

Manifeste und Profile Beispiel bash # cat /var/svc/manifest/network/ssh.xml <service name='network/ssh' <create_default_instance enabled='false' /> <dependency name='fs-local' <exec_method name='start' exec='/lib/svc/method/sshd start' bash # cat /var/svc/profile/generic_limited_net.xml <service name='network/ssh' version='1' type='service'> <instance name='default' enabled='true'/> </service>

Komponenten eines Service Beispiel ssh Manifest /var/svc/manifest/network/ssh.xml Daemon /usr/lib/ssh/sshd FMRI network/ssh:default svc:/network/ssh:default Start script /lib/svc/method/sshd Log file /var/svc/log/network-ssh:default.log

Agenda Überblick Funktionsweisen Administration Security Fehlersuche Eigene Services erstellen

SMF Kommandos Allgemeine Komandos > svcs(1) Service Status Anzeigen, Diagnose > svcadm(1m) Service Administration > svccfg(1m) Online Modifikation von Service Properties > svcprop(1) Anzeige von Service Properties inetd(1m) - Specifisch > inetadm(1m) Service Administration, Properties ändern > inetconv(1m) Konvertierung von inetd.conf Einträgen

Service Status Anzeige bash # svcs -a STATE legacy_run legacy_run legacy_run disabled disabled disabled online online maintenance STIME FMRI 11:47:58 lrc:/etc/rcs_d/s50sk98sol 11:48:13 lrc:/etc/rc3_d/s76snmpdx 11:48:14 lrc:/etc/rc3_d/s77dmi 11:47:47 svc:/network/nfs/server:default 11:47:47 svc:/network/dhcp-server:default 11:47:47 svc:/application/management/webmin:default 11:48:07 svc:/network/inetd:default 11:48:07 svc:/system/console-login:default 11:48:08 svc:/network/ssh:default

Service Status Anzeige - Details bash # svcs -p ssh STATE STIME FMRI online 11:48:08 svc:/network/ssh:default 11:48:08 301 sshd Prozesse eines Service Abhängig wovon? bash # svcs -d ssh STATE STIME FMRI disabled 11:47:47 svc:/system/filesystem/autofs:default online 11:47:49 svc:/network/loopback:default online 11:47:51 svc:/network/physical:default online 11:47:55 svc:/system/cryptosvc:default online 11:48:01 svc:/system/filesystem/local:default online 11:48:07 svc:/system/utmp:default Erforderlich für wen? bash # svcs -D ssh STATE STIME FMRI online 11:48:14 svc:/milestone/multi-user-server:default

Service Status Anzeige - Gesamtsicht Details und Instanzen bash # svcs -l ssh fmri svc:/network/ssh:default name SSH server enabled true state online next_state none state_time Mon Sep 19 11:48:08 2005 logfile /var/svc/log/network-ssh:default.log restarter svc:/system/svc/restarter:default contract_id 51 dependency require_all/none svc:/system/filesystem/local (online) dependency optional_all/none svc:/system/filesystem/autofs (disabled) dependency require_all/none svc:/network/loopback (online) dependency require_all/none svc:/network/physical (online) dependency require_all/none svc:/system/cryptosvc (online) dependency require_all/none svc:/system/utmp (online) dependency require_all/restart file://localhost/etc/ssh/sshd_config (online)

SMF Statusänderungen STATE STIME FMRI -bash-3.00# svcs ssh online 14:17:44 svc:/network/ssh:default -bash-3.00# svcadm disable ssh -bash-3.00# svcs ssh STATE STIME FMRI disabled 14:20:46 svc:/network/ssh:default -bash-3.00# svcadm enable ssh -bash-3.00# svcs ssh STATE STIME FMRI online 14:21:01 svc:/network/ssh:default Disable Service Enable Service

Anzeige von Properties bash # svcprop general/action_authorization astring solaris.smf.manage.ssh config_data/entities fmri file://localhost/etc/ssh/sshd_config stop/exec astring :kill stop/timeout_seconds count 60 restarter/logfile astring /var/svc/log/network-ssh:default.log restarter/contract count 97 restarter/start_pid count 17449 restarter/start_method_timestamp time 1127135334.822590000

Zeigen und Ändern von Properties bash # svccfg svc:> select ssh svc:/network/ssh> listprop start method start/exec astring "/lib/svc/method/sshd start" start/timeout_seconds count 60 stop method stop/exec astring :kill stop/timeout_seconds count 60 refresh method refresh/exec astring "/lib/svc/method/sshd restart" refresh/timeout_seconds count 60 svc:/network/ssh> editprop /* Properties werden direkt mit $EDITOR verändert */ svc:/network/ssh> exit

Agenda Überblick Funktionsweisen Administration Security Fehlersuche Eigene Services erstellen

SMF Security Starten und Ausführen von Services > mit unterschiedlichen User-ID > mit unterschiedlichen Privilegien > Festlegung im Service Manifest Administration von Services > feine Granularität möglich > Global, per Service, per Service Property Gruppe > Festlegung in /etc/user_attr oder per RBAC > z.b. solaris.smf.manage.ssh

SMF Security Beispiel bash # svcprop finger inetd_start/user astring noaccess bash # svcprop ldap/client start/privileges astring basic,file_dac_write bash # svcprop ssh general/action_authorization astring solaris.smf.manage.ssh

Agenda Überblick Funktionsweisen Administration Security Fehlersuche Eigene Services erstellen

Zuordnung von SMF Services Welcher Service macht was? docs.sun.com - smf Manual Aus man page (Notes Sektion) ermitteln Aus SMF Properties ermitteln > Nach Kommando in Methode suchen > Welcher Service benutzt die Methode > find /lib/svc/method -exec grep "sendmail" {} /dev/null \; -print > svcprop *:* grep exec grep smtp-sendmail > Ergebnis: svc:/network/smtp:sendmail Erfahrung

Anzeige und Analyse von Fehlern bash # svcs ssh STATE STIME FMRI maintenance 14:40:49 svc:/network/ssh:default bash # svcs -x svc:/network/ssh:default (SSH server) State: maintenance since Mon Sep 19 14:40:49 2005 Reason: Start method failed repeatedly, last exited with status 1. See: http://sun.com/msg/smf-8000-ks See: sshd(1m) See: /var/svc/log/network-ssh:default.log Impact: This service is not running. Fehlerstatus anzeigen Logfile bash # tail /var/svc/log/network-ssh:default.log [ Sep 19 14:40:49 Executing start method ("/lib/svc/method/sshd start") ] /lib/svc/method/sshd: /usr/lib/ssh/sshd: not found [ Sep 19 14:40:49 Method "start" exited with status 1 ]

Fehlerkorrektur und Restart bash # ls -l /usr/lib/ssh/sshd* -r-xr-xr-x 1 root bin 319588 Jun 24 03:05 /usr/lib/ssh/sshd.generate-error bash # mv sshd.generate-error sshd bash # svcadm clear ssh bash # svcs ssh STATE STIME FMRI online 15:08:54 svc:/network/ssh:default bash # svcs -p ssh STATE STIME FMRI online 15:08:54 svc:/network/ssh:default 15:08:54 17451 sshd Fehler korrigieren Zustand zurücksetzen

Wiederherstellung Repository siehe auch http://www.sun.com/msg/smf-8000-my System bleibt im single-user milestone > / ist read-only > keymap nicht gesetzt Fehlerursache prüfen > cat /etc/svc/volatile/db_errors Filesysteme remount read-write > ( /lib/svc/method/keymap ) > /lib/svc/method/fs-root > /lib/svc/method/fs-usr Backup Kopie des Repositoty einspielen > /lib/svc/bin/restore_repository

Agenda Überblick Funktionsweisen Administration Security Fehlersuche Eigene Services erstellen

Überblick: Eigene Services Erstellen Quickstart und Developer Dokumentation > http://www.sun.com/bigadmin/content/selfheal/sdev_intro.html Service Lifecycle > Service Manifest erstellen > Service Methode erstellen > Manifest importieren > Test > Packaging Manifest, Methoden, Binaries > Install Service > Konfiguration/Modifikation von Services > Entfernen von Services

Service Manifest XML-Datei enthält die Service Beschreibung > frei wählbarer Name des Service > Abhängigkeiten > Start-/Stop-/Restart-Methoden > Festlegung von Eigenschaften Manifeste unter /var/svc/manifest (Sun) /var/svc/manifest/<directory> (ISVs) /var/svc/manifest/site (lokale Manifeste) Template > /usr/share/lib/xml/dtd/service_bundle.dtd.1 > oder Manifest eines bestehenden Dienstes als Basis

Manifest Beispiel ( /var/svc/manifest/network/ssh.xml ) <service name='network/ssh' <create_default_instance enabled='false' /> <dependency name='fs-local' <service_fmri value='svc:/system/filesystem/local' /> <exec_method name='start' exec='/lib/svc/method/sshd start' <exec_method name='stop' exec=':kill' <property_group name='general' type='framework'> <propval name='action_authorization' type='astring' value='solaris.smf.manage.ssh' />

Service Methode und Manifest Import bash # cat /lib/svc/method/my_service_method. /lib/svc/share/smf_include.sh 'start') /opt/local/my_service/my_service_daemon ;; exit $SMF_EXIT_OK bash # svccfg import /var/svc/manifest/site/my_service_manifest.xml bash # svccfg enable my_service bash # svcs -a grep my_service online 10:57:11 svc:/site/my_service:default

Zusammenfassung SMF - Services Lifecycle Management Einfache und sichere Systemadministration > Vermeidung falscher configs > undo button für den Administrator > disaster recovery durch Snapshots > Administration mit fein granulierten Privilegien self-healing Solaris services > automatisierte Fehlerdiagnose, Meldung und Restart Schaffung einer Abstraktionsschicht für Services > Einheitliches Administrationsmodell (svcadm) > Einheitliches Entwicklermodell (manifest)

SMF Spickzettel Anzeigen: Fehler/Abhängigkeiten svcs (Anzeige) svcs -x (Fehler) svcs -d FMRI (abhängig von) svcs -D FMRI (Erforderlich für) FMRI: Fault Managed Resource Identifier system/cron svc:/system/cron /svc:/system/cron:default Booten: Single User/Debug Boot -m milestone=single boot -m debug Recovery/Daemons/files/directory svc.startd - Master Restarter svc.configd - Repository Daemon /etc/svc/repository.db - Repository /var/svc; /etc/svc; /lib/svc /lib/svc/bin/restore_repository Network Anzeigen/Ändern Properties svcprop system/cron (Properties anzeigen) svccfg (Properties ändern) svccfg import /var/svc/manifest/network/slp.xml!!: Nach Änderungen: svcadm (refresh,restart) inetadm admin/propeties inetconv convert legacy inetd.conf Enable/Disable/Refresh/Clear svcadm enable <FMRI> svcadm disable <FMRI> svcadm clear <FMRI>

Weitere Informationen Sun Product Dokumentation > http://docs.sun.com/ Open Solaris SMF Community > http://www.opensolaris.org/os/community/smf/ Sun BigAdmin SMF Portal > http://www.sun.com/bigadmin/content/selfheal/ Blogs > Stephen Hahn - http://blogs.sun.com/roller/page/sch > Liane Praza - http://blogs.sun.com/lianep/

Vielen Dank Detlef Drewanz Detlef.Drewanz@Sun.COM