Upload
quinn-valenzuela
View
18
Download
0
Embed Size (px)
DESCRIPTION
Intelligens rendszerfelügyelet. Konfigurációkezelés. Kocsis Imre http://mit.bme.hu/~ikocsis. Forgatókönyv 1. Megérkezett a bérszámfejtő program frissítése (új GUI) – telepíteni kellene. …hova?. Munkavállalói emlékezet „Kockás füzet” Visio (Konfiguráció) adatbázis?. - PowerPoint PPT Presentation
Citation preview
Budapesti Műszaki és Gazdaságtudományi EgyetemMéréstechnika és Információs Rendszerek Tanszék
Konfigurációkezelés
Kocsis Imrehttp://mit.bme.hu/~ikocsis
Intelligens rendszerfelügyelet
Forgatókönyv 1.
Nézzük végig a munkaállomásokat. Azokról van valami
listánk…?
…hova?
Megérkezett a bérszámfejtő program frissítése (új GUI) – telepíteni kellene.
1. Munkavállalói emlékezet2. „Kockás füzet”3. Visio4. (Konfiguráció) adatbázis?
Forgatókönyv 1.
Rendben; melyiken is van bérszámfejtő szoftver és milyen verziójú?
1. Munkavállalói emlékezet2. „Kockás füzet”3. Visio4. (Konfiguráció) adatbázis?
Forgatókönyv 1.
És ha nem frissek az adatok?
1. Odamegyünk2. ssh/RDP/VNC/…3. Házilagos „varázslat”…4. Platformtámogatás?
Forgatókönyv 1.
Ok, akkor kezdjünk neki; távoli MSI install…
?!?@#!
1. Délután három van; nem elég hogy nem tudok dolgozni, a mai munkám elveszett.
Forgatókönyv 1.
2. Negyedéves zárás holnap.
3. A GUI szép, csak egy pár dolog most nem megy. Tesztelte ezt valaki? Ki engedélyezte? Álljunk gyorsan vissza mentésre!
…?
Forgatókönyv 2.
?!?@#!Nem megy a
vállalati portál!!!
Melyik gépek is szolgálják ki?
Ühm… 15 szerver, 2 hálózat…Monitorozó rendszer
mérései?
1. konfiguráció-adatbázisok Igény: konfiguráció adatbázisok
o Nem triviális méretű rendszerek
Területek és „silók” szerint több adatbázis lesz!o HWo Hálózati eszközök és topológia (~IP szintig)o OS platformok és szoftverek – leltáro SW licenszek!o OS és alkalmazás/kiszolgáló beállításoko Szolgáltatások erőforrásoko …
Ha tényleg adatbázis: modellezni is kell… Minden esetben új adatmodell? Common Information Model
2. szabványosítás Igény: konfigurációs aspektusok távoli
lekérdezése/módosítása
Kitérő: mikor és miért nem optimális?o SSH + $foo parancso SSH + expecto…oWindows…?
A „konfigurációkezelés” koncepcionálisan erősen keveredik egyéb operatív feladatokkal!
2. szabványosítás Mi szabványosítható?
Hordozóprotokollo Ötletek?
Üzenet-típusok és paraméterezésüko Feltételezve a kérdés/válasz + események modellt
Üzenetekben szállított adatok modelljeoMiért ≠ az előbbi adatmodellel?
Létező szabványok?o SNMP, CIM-XML, WMI, WS-Management (WinRM),
WSDM, JMX, …
Konfigurációkezelés – architektúra?
Konfigurációs adatbázis/Konfiguráció-menedzser
Form TitleForm Title
DB ...
Tárolás vagy igény esetén lekérdezés?
Beavatkozás?
Konfigurációkezelés – architektúra?
Konfigurációs adatbázis/Konfiguráció-menedzser
Relációs adatbázis, OO adatbázis/modelltér, nem OO
memóriastruktúrák, …
Export/import:AdatmodellAdatok
Form TitleForm Title
DB ...
Jól szabványosítható:Adatmodell/modell leírónyelv
Adatmodellek
Konfigurációkezelés – architektúra?
Konfigurációs adatbázis/Konfiguráció-menedzser
Form TitleForm Title
DB ...
Kliens Hordozóprotokoll
OperációkAdatok
Jól szabványosíthatók
Konfigurációkezelés – architektúra?
Konfigurációs adatbázis/Konfiguráció-menedzser
Form TitleForm Title
DB ...
Kliens
Jellemző hoszt határ
Technológiafüggő
lib/tool
Praktikum…
Az architektúra, amire szabványokat illesztünk
Konfigurációs adatbázis/Konfiguráció-menedzser
Form TitleForm Title
DB ...
Kliens
lib/tool
Kliens
„Provider”„Provider”„Provider”„Provider”
Hordozóprotokoll
OperációkAdatok
Jellemzően nem szabványos
3. folyamatok Igény: megfelelő folyamatok
o Konfiguráció-változás bevezetéséreo Eltérés monitorozására és kezelésére
Mennyire jól szabványosítható?
„best practice” gyűjtemények: mintákoMinimálisan: fogalmi keretrendszero ITIL – „adapt & adopt”
4. CMDB Igény: konfigurációs adatbázisok között kapcsolat
o Pl.: fizikai hely, IP cím és szolgáltatás más DB-beno Egyesítés? Federáció?oMetamodell harmonizáció és egyesítés?
Hiányzó kapcsolatoko Az igazi hozzáadott érték…o… cserébe nehéz feladat
ITIL v3: „Configuration Management DataBase”
Konfigurációkezelés - tematika
•szabványos modellezés•szabványos távoli hozzáférés•eszközök, szabványos „provider”-ek
1. Alapok, modellezés, szabványok
•WMI: alapok, architektúra•WMI: eszközök, PowerShell•WS-Management, mint WinRM
2. Windows konfigurációkez
elés
•Az ITIL CMDB fogalma; modellezés•Funkcionális és architekturális jellemzők•Felderítés
3. CMDB-k
CIM (Common Information Model)Kibocsájtó: Distributed Management Task Force (OMG)Megalkotók: IBM, HP, EMC, VMware, Symantec, …Verziók: CIM Schema: 2.20 (2008)CIM Infrastructure Specification: 2.5 (preliminary, 2008)Cél: menedzsment információk objektum-orientált modellezése és szabványos modellek megadása
Rendszermenedzsment és modellezés Rendszermenedzsment: az objektum orientált
modellezés adódiko Különösen a konfiguráció-menedzsmentben
WindowsService
+Account: String+Started: Boolean+ProcessId: Integer
+forceStateChange(toState: integer): boolean
SoftwareService
+Manufacturer: String+Name: String+SoftwareVersion: String
WindowsOperatingSystem
serviceToOS
+os
+services
1
*
Entitás-jellemzők modellezése
Menedzsment akciók
modellezése
Kapcsolatok, tartalmazások modellezése
OO modellezés és menedzsment célok “standalone” menedzsment eszköz belső OO adatmodellel
o szokásos modellvezérelt fejlesztés
Menedzsment eszközök OO adatcseréjeo „Mely számítógépeken van Windows OS, és ezek mikor lettek utoljára frissítve”
A távoli menedzsment operációi mint objektumtér módosításoko Példányosítás: „hozzunk létre új felhasználót”o Metódushívás: „indítsuk újra az OS-t”o …
A Common Information Model Szabványos, kiterjeszthető rendszermenedzsment
adatmodell („információs modell”)oWindows Management Instrumentation!
Core Model: általános fogalmako Példák: ManagedElement, Setting, Location, FRU
Common Model: szokásos területek technológia-független modelljeio Példák: Application, Database, Device
Extension Schemas: technológiaspecifikus kiterjesztések
A CIM jellemző alkalmazásai
„CIM Object Manager”(CIMOM)
Kliens
lib/tool
Kliens
„Provider”„Provider”„Provider”„Provider”
Szabvány/kiterj.metamodell és modellek, .mofformátumban
A CIM jellemző alkalmazásai
„CIM Object Manager”(CIMOM)
Kliens
lib/tool
Kliens
„Provider”„Provider”„Provider”„Provider”
Hordozóprotokoll
OperációkAdatok
Szabvány/kiterjesztettmetamodell és modellek, valamilyen „konkrét szintaxissal”
A CIM Meta Schema Metametamodell: „CIM Meta Schema” Szokásos fogalmak
o Osztály, példány, metódus, tulajdonság, asszociáció CIM specifikus fogalmak
o Séma, trigger, jelzés, minősítő (qualifier)
UML-ben részlegesen felrajzolható A (meta)modelleket is (kvázi) UML-ben szokás
vizualizálnio A szabványos konkrét szintaxis szöveges
A CIM Meta Schemaegy osztálynév egy
sémában egyedi kell legyen
nincs többszörös öröklés
referencia típusa
példány állapotváltás vagy hozzáférés
felismerése Trigger eredményeként jön létre
Metaadat-típusok kontrollált bővíthetőségéért
(pl. Units = „bytes”)
CIM Meta Schema Példányosítás
o Def.: „egy osztály azon példányok halmaza, melyek ugyanazon metódusokkal és tulajdonságokkal rendelkeznek”
o A definiáló osztály tulajdonságaihoz értékeko NEM nevesített elemek! (minősítő)o Kulcs ([key]) tulajdonságok
Értékadás: adattípusok?o Tulajdonságok, referenciák, paraméterek, visszatérési
értékek, minősítőko Csak a beépített típusok vagy azok tömbjei
{u/s}int{8/16/32/64}, string, boolean, real{32/64}, Datetime,
char 16+
<classname> ref – erősen típusos!
Példa: CIM_Core részlet
LogicalElement
(See Core Model (Managed System Element))
ManagedSystemElement
(See Core Model (Managed System Element))
PhysicalElement
(See Core Model (Physical & Logical Device))
*Caption : string Description : stringElementName : string
ManagedElement DependencyComponent
**
*ConcreteDependency
**
ConcreteComponent **
LogicalIdentity **
ConcreteIdentity
* *
SoftwareIdentity
(See Core Model (Product, FRU & SoftwareID))
HostedDependency0..1
*
EnabledLogicalElement
(See Core Model (Enabled Logical Element))
Job
(See Core Model (Managed System Element))
OrderedComponent
* *
Példa: CIM_System részlet
(See Core Model)
EnabledLogicalElement
System
(See Core Model)
ComputerSystem
(See System Model (Computer System))
OperatingSystem
CreationClassName : string {key}Name : string {override, key}OSType : uint16 {enum}OtherTypeDescription : stringVersion : stringLastBootUpTime : datetimeLocalDateTime : datetimeCurrentTimeZone : sint16 NumberOfLicensedUsers : uint32NumberOfUsers : uint32NumberOfProcesses : uint32MaxNumberOfProcesses : uint32TotalSwapSpaceSize : uint64 {units}TotalVirtualMemorySize : uint64 {units}FreeVirtualMemory : unit64 {units}FreePhysicalMemory : uint64 {units}TotalVisibleMemorySize : uint64 {units}SizeStoredInPagingFiles : uint64 {units}FreeSpaceInPagingFiles : uint64 {units}MaxProcessMemorySize : uint64 {units}Distributed : booleanMaxProcessesPerUser : uint32
Reboot() : uint32Shutdown() : uint32
InstalledOS
*
RunningOS
FileSystem
See System Model (File Systems))
BootOSFromFS
*
10..1
0..1
w *
Példa: CIM_Network részletProtocolEndpoint
(See Core Model)
IPv4Address: stringIPv6Address: stringAddress: string {D}SubnetMask: stringPrefixLength: uint8AddressType: uint16 {D,enum}IPVersionSupport: uint16 {D,enum}AddressOrigin: uint16 {E}
IPProtocolEndpoint
Address: string
IPXProtocolEndpoint
PortNumber: uint32
TCPProtocolEndpoint
PortNumber: uint32
UDPProtocolEndpoint
PortNumber: uint16
SwitchPort
Name stringConnectionType uint16Role uint16TargetRelativePortNumber uint32OtherConnectionType string
SCSIProtocolEndpoint
Name stringRole uint16
ISCSIProtocolEndpoint
OverruleLSR: booleanTotalBandwidth: uint32 {units}AvailableBandwidth: uint32 {units}ResourceClasses: uint32
MPLSProtocolEndpoint {E}
SSID: stringWEPEnabled: booleanWEPKeyMixEnabled: boolean
WirelessLANEndpoint {E}
A CIM Schema (V2.20) struktúrája CIM_Schema
o CIM_Application o CIM_Application-J2eeAppServero CIM_Coreo CIM_Databaseo CIM_Deviceo CIM_Evento CIM_InteropCIM_IPsecPolicyo CIM_Metricso CIM_Networko CIM_Physical o CIM_Policy o CIM_Security o CIM_Support o CIM_System o CIM_User
A teljes modell hatalmas.
Viszont: egy eszköz „CIM megfelelősége” pusztán a képesség MOF állományok
betöltésére és exportálására
DEMO
http://www.dmtf.org
CIM_System megtekintése (Visio)
wbemtest.exe ( a Windows mélyén tényleg van ilyen)o „show MOF”
Messze nem csak konfigurációkezelés: Win32_Process
CIM
Managed Object Format Managed Object Format: szöveges leírónyelv
o Felfogható a CIM Meta Schema konkrét szintaxisaként Menedzsment információk deklaratív leírása Egy „MOF specifikáció”:
mofSpecification = *mofProductionmofProduction = compilerDirective|
classDeclaration | assocDeclaration | indicDeclaration | qualifierDeclaration | instanceDeclaration
Modell és példány-információ akár
együtt is!
Osztálydeklaráció//This is the MOF specification for our //custom temperature sensor.
[Description("temp. sensor class")]class Sensor_TempSensor : CIM_ManagedElement{
[Description("Meas. station ID"), MaxLen(64)] string StationID = "UNDEFINED";
sint8 GetCentigrade([IN] datetime AtTime); boolean IsComponentOK([IN]
Sensor_SensorComponent REF Component);};
Osztály minősítők
Séma neve (az _ előtt)
Öröklés
MOF állomány alapú adatcseremodell.mof
Definíció...
csakpeldany.mof
Példánya...
modellpeldannyal.mof
Definíció…Példánya...
Névtér
Objektum manager vagy
adatbázis implementáció
Fordítás
Fordítás és importálás
ImportálásNévtér: „olyan objektum, amely által megadott hatókörben az objektumok kulcsaik szerint
egyediek”
\default
Objektum manager
implementáció
Implementáció több névtérrel
\default\old
\local
CIM objektumok megnevezéseTeljes mértékben
implementációfüggőImplementáció-
független
N.B. 1. A névterek átlapolódhatnak tartalmukat nézve.N.B.2. Két azonos „model path”-ú objektum két különböző névtérben referálhat a valóságban különböző entitásokra
DEMO
A különböző CIMOM-implementációk szokásosan tárolnak önmagukra vonatkozó metaadatokat
Wbemtest.exeo root névtérhez csatlakozáso __NAMESPACE osztály példányai
• Rekurzív!o root\MSAPPS12 névtér megnyitása,
Win32_PowerpointPresentation példányok
CIM névterek
Összefoglaló A Common Information Model:
o Definiál egy nyelvet menedzsment adatok objektum orientált modellezésére (MOF)
oMegadja modelleknek egy igen tág, konkrét technológiáktól független, hierarchikus, kiterjeszthető halmazát
A modellek UML-ben jól vizualizálhatóak A modellek (sémák) MOF és grafikus
formátumban is elérhetőek
Linkek CIM Schema: 2.20 (2008)
o http://www.dmtf.org/standards/cim/cim_schema_v220
CIM Infrastructure Specification: 2.5 (preliminary, 2008)o http://www.dmtf.org/standards/published_documents
/DSP0004_2.5.0.pdf CIM szabványos leképezése UML-re (nem
tárgyaltuk, preliminary):owww.dmtf.org/standards/published_documents
/DSP0219.pdf
Web Based Enterprise Management (WBEM)
Kibocsájtó: Distributed Management Task Force (OMG)Cél: CIM-et támogató rendszermenedzsment
protokollok
Szabványos adatmodelltől a protokollokig A CIM a saját felhasználásával kapcsolatban több
kérdést szándékoltan nyitva hagy
Hozzáférési protokollo Egy CIMOM, mint kiszolgáló milyen kéréseket
értelmezzen?o Hogyan válaszoljon?oMi legyen a hordozóprotokoll és mi a beágyazás?
Lekérdezőnyelv? Szolgáltatás-felderítés? WMI: COM/DCOM, zárt
Web Based Enterprise Management A WBEM nem egy szabvány, hanem szabvány-
készlet
Protokoll: CIM-XML vagy WS-Management
Lekérdezőnyelv: CIM Query Language
Szolgáltatás-felderítés: WBEM Discovery Using the Service Location Protocol (SLP)
WBEM
„CIM Object Manager”(CIMOM)
Kliens
lib/tool
Kliens
„Provider”„Provider”„Provider”„Provider”
Hordozóprotokoll
OperációkAdatok
A WS-Management nem csak CIM beágyazását engedi meg
Linkek Web Based Enterprise Management
o http://www.dmtf.org/standards/wbem/ CIM-XML protocol
o http://www.dmtf.org/standards/wbem/CIM-XML Web Services for Management
o http://www.dmtf.org/standards/wsman/ CIM Query Language Specification
o http://www.dmtf.org/standards/published_documents/DSP0202_1.0.0.pdf
CIM-XMLKibocsájtó: Distributed Management Task Force
Verzió: XML DTD: 2.2.0 (final, 2007)Representation of CIM in XML: 2.2.0 (final, 2007)
CIM Operations over HTTP: 1.2.0 (final, 2007)Cél: CIM hordozó és interop. protokoll
CIM-XML Cél: XML-ben reprezentált CIM információ-csere
HTTP felett
Információ-reprezentáció XML-beno Egy XML DTD + dokumentáció („Representation of CIM
in XML”) HTTP mint „wire protocol”
o „CIM Operations over HTTP” CIM Query Language mint lekérdezőnyelv
o „CIM Query Language Specification”
WBEM: CIM-XML
„CIM Object Manager”(CIMOM)
Kliens
lib/tool
Kliens
„Provider”„Provider”„Provider”„Provider”
HTTP
„Operations”„CIM in XML”
CIM reprezentálása XML-ben Szabványos XML DTD
o Kifejezőerő: MOF fedőhalmaza
A DTD részben a CIM metasémát írja leo A MOF-hoz hasonlóan: osztály, referencia, tulajdonság, …
elemeko A „metaséma-leképezés” helyett a „séma-leképezés”
kezelhetetlen lenne (minden sémához külön DTD, XML névterek, …)
Teljes DTD:o Deklarációs elemek (MOF)o + üzenet (message) elemek
WBEM (CIM-XML): eszköztámogatás OpenPegasus
o Red Hat Enterprise Linuxo VMware ESX Servero IBM AIX Pegasus CIM Servero HP WBEM Serviceso Microsoft System Center Operations Manager 2007 Cross Platform
Extensions Beta (csak kliens)o …
openWBEMo SUSE Linux Enterprise Server
WBEM Serviceso Solaris WBEM Services
SBLIM („sublime”): Standards Based Linux Instrumentation pyWBEM
Standards Based Linux Instrumentation Nyílt forrású, ingyenes projekt
o Eredetileg IBM fejlesztéso Több részprojekt; itt: néhány kiemelt
CIM Client for Javao JSR 48 implementáció (~ WBEM Java API)o Service Location Protocol (SLP) kliens (IETF RFC)
Linux CMPI Provider-ek (lásd CMPI)o cmpi-base, cmpi-network, cmpi-rpm, cmpi-service, smpi-syslog, …o távoli CMPI-hez proxy provider és távoli démono Perl CMPI provider
Néhány SBLIM alprojekt
„CIM Object Manager”(CIMOM)
Kliens
JSR 48 impl.
wbemcli
„Provider”„Provider”„Provider”SBLIM CMPI
HTTP
„Operations”„CIM in XML”
Standards Based Linux Instrumentation Small Footprint CIM Broker (SFCB)
o Egyszerű, robosztus Linux CIMOM• Szabványtámogatás: MOF, CIM-XML, CMPI
o Alacsony tárhely (< 1MB) és memória-igényo Beágyazott környezetben is használhatóo SFCC kliens: XML (de)kódolás kihagyása
Extensible CIM UML Tooling Environment (ECUTE)o Modeler
• CIM modellezés UML-ben; MOF import/export• Rational Software Architect/Modeler 7
o Explorer• Grafikus CIMOM böngészés, lekérdezés, jelzések• CIMOM felderítés SLP-vel
DEMO
Környezet: CentOS 5o OpenPegasus, SBLIM provider-ek és wbemcli
repository-ból
Provider-ek listázása
wbemclio Szolgáltatott osztályok listázásao Linux_OperatingSystemo Linux_UnixProcess; xml nézet
OpenPegasus + wbemcli
Linkek CIM-XML protocol
o http://www.dmtf.org/standards/wbem/CIM-XML XML DTD: 2.2.0 (final, 2007)
o http://www.dmtf.org/standards/published_documents/cim.dtd Representation of CIM in XML: 2.2.0 (final, 2007)
o http://www.dmtf.org/standards/published_documents/DSP201.html
CIM Operations over HTTP: 1.2.0 (final, 2007)o http://www.dmtf.org/standards/published_documents/DSP200.
html CIM Query Language Specification
o http://www.dmtf.org/standards/published_documents/DSP0202_1.0.0.pdf
Linkek OpenPegasus
o http://www.openpegasus.org/ OpenWBEM
o http://www.openwbem.org/ WBEM Services
o http://wbemservices.sourceforge.net/ SBLIM
o http://sblim.wiki.sourceforge.net/ pyWBEM
o http://pywbem.wiki.sourceforge.net/
Common Manageability Programming Interface (CMPI)
Kibocsájtó: The Open GroupMegalkotók: IBM, Oracle, Sun, …
Verzió: -, 2004Cél: szabványos CIMOM Provider csatolófelület
CIMOM Provider-ek A CIMOM-ok „Provider”-eket használnak a
technológia-specifikus feladatok delegálásárao „példány szolgáltató”: futó Linux folyamatoko „metódus szolgáltató”: Linux folyamat leállításao…
CIM Client CIM Object Manager Repository
CIM over HTTP
Provider Provider
\dev\hda2
Dynamic Objects(Instrumentation)
CIMOM Provider-ek CIMOM Provider: WBEM-nek nem része
o Még a „Provider” fogalom sem jelenik meg
Következmény: CIMOM-onként eltérő…o Támogatott programozási nyelveko Illesztőfelület-logikao Provider-struktúra
Hiába a WBEM szabvány, az instrumentáció megvalósítója…o Vagy adott CIMOM-hoz köti magát;o Vagy többhöz is implementál
Válasz: interfész szabványosítása
CMPI
„CIM Object Manager”(CIMOM)
Kliens
lib/tool
Kliens
„Provider”„Provider”„Provider”„Provider”
CMPI
CMPI Alapfogalmak
o „Management Broker” (MB)o „Management Instrumentation” (MI)
MI fejlesztés: adott ANSI C header állományok Akár bináris kompatibilitás Nincs szükség semmilyen linkelt könyvtárra CIMOM adattípus-implementációjának fedése Támogatás:
o OpenPegasuso openWBEMo SFCB
Linkek CMPI technical standard & corrigenda
o http://www.opengroup.org/bookstore/catalog/c051.htm
Egy áttekintő előadás (IBM Linux Technology Center)o http://download.boulder.ibm.com/ibmdl/pub/softwar
e/dw/library/os-ltc-systemsmanagement/cmpi-overview.pdf